<?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>48919</bug_id>
          
          <creation_ts>2010-11-03 09:23:31 -0700</creation_ts>
          <short_desc>[Web Timing] Rename interfaces</short_desc>
          <delta_ts>2010-11-12 14:51:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>30685</blocked>
    
    <blocked>48922</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>simonjam</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>304059</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-11-03 09:23:31 -0700</bug_when>
    <thetext>Currently Web Timing has 3 interfaces:
Performance
  +- Timing
  +- Navigation

These have just been renamed in the spec to:
Performance
  +- PerformanceTiming
  +- PerformanceNavigation

We should rename WebCore/page/Timing to WebCore/page/PerformanceTiming and WebCore/page/Navigation to WebCore/page/PerformanceNavigation.

Details: http://dvcs.w3.org/hg/webperf/rev/5d546ada8927</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306383</commentid>
    <comment_count>1</comment_count>
      <attachid>73288</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-11-08 14:37:29 -0800</bug_when>
    <thetext>Created attachment 73288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306386</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-11-08 14:41:14 -0800</bug_when>
    <thetext>This looks correct to me. Dimitri might be able to r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306388</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-08 14:48:31 -0800</bug_when>
    <thetext>Attachment 73288 did not build on gtk:
Build output: http://queues.webkit.org/results/5559041</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306390</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-08 14:50:24 -0800</bug_when>
    <thetext>Attachment 73288 did not build on qt:
Build output: http://queues.webkit.org/results/5548035</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306404</commentid>
    <comment_count>5</comment_count>
      <attachid>73293</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-11-08 15:28:02 -0800</bug_when>
    <thetext>Created attachment 73293
Patch

Manually created patch. webkit-patch ignored the renamed files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306414</commentid>
    <comment_count>6</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-08 15:36:10 -0800</bug_when>
    <thetext>Attachment 73293 did not build on qt:
Build output: http://queues.webkit.org/results/5529040</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306423</commentid>
    <comment_count>7</comment_count>
      <attachid>73299</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-11-08 15:54:59 -0800</bug_when>
    <thetext>Created attachment 73299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307090</commentid>
    <comment_count>8</comment_count>
      <attachid>73448</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-11-09 17:44:56 -0800</bug_when>
    <thetext>Created attachment 73448
Patch

Merged with other WebTiming changes from yesterday.

I think this is ready to go in. I fixed the issues with Qt and GTK and they&apos;re both green now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308244</commentid>
    <comment_count>9</comment_count>
      <attachid>73677</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-11-11 16:14:41 -0800</bug_when>
    <thetext>Created attachment 73677
Patch

Updated for EFL and Android.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308760</commentid>
    <comment_count>10</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2010-11-12 13:47:54 -0800</bug_when>
    <thetext>This has an LGTM. Can I get an R+? Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308789</commentid>
    <comment_count>11</comment_count>
      <attachid>73677</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-12 14:51:47 -0800</bug_when>
    <thetext>Comment on attachment 73677
Patch

Clearing flags on attachment: 73677

Committed r71951: &lt;http://trac.webkit.org/changeset/71951&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308791</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-12 14:51:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73288</attachid>
            <date>2010-11-08 14:37:29 -0800</date>
            <delta_ts>2010-11-08 15:28:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48919-20101108143728.patch</filename>
            <type>text/plain</type>
            <size>45222</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwNjAyN2JkMjdlOWQwYjRjMTc0Nzc2MGU2ODlmODFkMTM4OTkzNjJiLi5iYmI4ZTc4
OGE0MjBjNWNhZDkwZGQ1MDlmOTM2MzFmY2ZmYmUyNDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTEtMDggIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXZWIgVGltaW5n
XSBSZW5hbWUgaW50ZXJmYWNlczoKKyAgICAgICAgLSBOYXZpZ2F0aW9uIC0+IFBlcmZvcm1hbmNl
TmF2aWdhdGlvbgorICAgICAgICAtIFRpbWluZyAtPiBQZXJmb3JtYW5jZVRpbWluZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5MTkKKworICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3Rl
ZC50eHQ6IENsYXNzIG5hbWVzIGNoYW5nZWQuCisKIDIwMTAtMTEtMDggIEphbWVzIFJvYmluc29u
ICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEds
YXprb3YuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtcGVyZm9ybWFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLWV4cGVjdGVkLnR4dAppbmRleCA4
YmJhYmIwMmVhZTk2ZGI3M2I1MTA1NjAwMzdhOTMwY2NlMDk1NzQyLi4xOGIzY2RlZDFmMTk4MGRi
NDQzYTI4NmNiNzNkMzUyODM5NWU0YjQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtcGVyZm9ybWFuY2UtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5j
ZS1leHBlY3RlZC50eHQKQEAgLTQsMTMgKzQsMTMgQEAgd2luZG93LndlYmtpdFBlcmZvcm1hbmNl
IFtvYmplY3QgUGVyZm9ybWFuY2VdCiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubWVtb3J5IFtv
YmplY3QgTWVtb3J5SW5mb10KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5tZW1vcnkudG90YWxK
U0hlYXBTaXplIFtudW1iZXJdCiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubWVtb3J5LnVzZWRK
U0hlYXBTaXplIFtudW1iZXJdCi13aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubmF2aWdhdGlvbiBb
b2JqZWN0IE5hdmlnYXRpb25dCit3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubmF2aWdhdGlvbiBb
b2JqZWN0IFBlcmZvcm1hbmNlTmF2aWdhdGlvbl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLkJBQ0tfRk9SV0FSRCBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNl
Lm5hdmlnYXRpb24uTkFWSUdBVEUgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLlJFTE9BRCBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmln
YXRpb24ucmVkaXJlY3RDb3VudCBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5h
dmlnYXRpb24udHlwZSBbbnVtYmVyXQotd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLnRpbWluZyBb
b2JqZWN0IFRpbWluZ10KK3dpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcgW29iamVjdCBQ
ZXJmb3JtYW5jZVRpbWluZ10KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcuY29ubmVj
dEVuZCBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3Rh
cnQgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUg
W251bWJlcl0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggOGNlNmFiMzEwOWVmNzkzOWUwOGQ2OWEwZThhYmI4MGY4MjlhZTczOS4uODMwNWIx
ZGMyMDExY2YzOGYxZjI4N2ZiYjY3YjgzOTk5NGE5MzllZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0x
MS0wOCAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1dlYiBUaW1pbmddIFJlbmFt
ZSBpbnRlcmZhY2VzOgorICAgICAgICAtIE5hdmlnYXRpb24gLT4gUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uCisgICAgICAgIC0gVGltaW5nIC0+IFBlcmZvcm1hbmNlVGltaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODkxOQorCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpuYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlOjp0aW1pbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5jcHA6IFJlbmFtZWQgZnJvbSBXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5jcHAu
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb246OlBlcmZvcm1hbmNlTmF2
aWdhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb246OmZyYW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6ZGlzY29ubmVjdEZy
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6dHlwZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb246OnJlZGlyZWN0Q291bnQpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmg6IFJlbmFtZWQgZnJvbSBXZWJD
b3JlL3BhZ2UvTmF2aWdhdGlvbi5oLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZp
Z2F0aW9uOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlk
bDogUmVuYW1lZCBmcm9tIFdlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmlkbC4KKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcDogUmVuYW1lZCBmcm9tIFdlYkNvcmUvcGFnZS9UaW1p
bmcuY3BwLgorICAgICAgICAoV2ViQ29yZTo6dG9JbnRlZ2VyTWlsbGlzZWNvbmRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OmdldFBvc3NpYmx5U2tld2VkVGltZUluS25vd25SYW5nZSk6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6UGVyZm9ybWFuY2VUaW1pbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlVGltaW5nOjpkaXNjb25uZWN0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6Om5hdmlnYXRpb25TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVRpbWluZzo6dW5sb2FkRXZlbnRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
VGltaW5nOjpmZXRjaFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5n
Ojpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWlu
Zzo6ZG9tYWluTG9va3VwRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5n
Ojpjb25uZWN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmNv
bm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlcXVlc3RT
dGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6cmVxdWVzdEVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VTdGFydCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VFbmQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRvbUxvYWRpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRvbUludGVyYWN0aXZlKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21Db250ZW50TG9hZGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21Db21wbGV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVRpbWluZzo6bG9hZEV2ZW50U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VUaW1pbmc6OmxvYWRFdmVudEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVRpbWluZzo6ZG9jdW1lbnRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VUaW1pbmc6OmRvY3VtZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
VGltaW5nOjpkb2N1bWVudExvYWRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VUaW1pbmc6OnJlc291cmNlTG9hZFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVRpbWluZzo6cmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZSk6CisgICAgICAg
ICogcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oOiBSZW5hbWVkIGZyb20gV2ViQ29yZS9wYWdlL1Rp
bWluZy5oLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmNyZWF0ZSk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGw6IFJlbmFtZWQgZnJvbSBXZWJDb3Jl
L3BhZ2UvVGltaW5nLmlkbC4KKwogMjAxMC0xMS0wOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFt
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBjb3JyZWN0aW9uIGFmdGVy
IEA3MDM2OS9ANzA4NDYuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBi
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGRjZDBlMjJhYzZjNmE2OGFlZDJjMzU1
MWRmMmIzODY4MzgzMWRjY2YuLjMwZmQyOTlhYWI1Y2M4NzY4ZjI4ZDNjNTZjYTZkZmI5M2RkOGNm
MGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yMzQsNyArMjM0LDYgQEAKICNpbmNsdWRlICJKU01vdXNl
RXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNO
YW1lZE5vZGVNYXAuY3BwIgotI2luY2x1ZGUgIkpTTmF2aWdhdGlvbi5jcHAiCiAjaW5jbHVkZSAi
SlNOYXZpZ2F0b3IuY3BwIgogI2luY2x1ZGUgIkpTTm9kZS5jcHAiCiAjaW5jbHVkZSAiSlNOb2Rl
RmlsdGVyLmNwcCIKQEAgLTI0Niw2ICsyNDUsOCBAQAogI2luY2x1ZGUgIkpTT3ZlcmZsb3dFdmVu
dC5jcHAiCiAjaW5jbHVkZSAiSlNQYWdlVHJhbnNpdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJK
U1BlcmZvcm1hbmNlLmNwcCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAi
CisjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAiCiAjaW5jbHVkZSAiSlNQb3BTdGF0
ZUV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1Bvc2l0aW9uRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpT
UHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCIKQEAgLTQxNCw3ICs0MTUsNiBAQAogI2luY2x1ZGUg
IkpTVGV4dEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1RleHRNZXRyaWNzLmNwcCIKICNpbmNsdWRl
ICJKU1RpbWVSYW5nZXMuY3BwIgotI2luY2x1ZGUgIkpTVGltaW5nLmNwcCIKICNpbmNsdWRlICJK
U1RvdWNoLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTVG91
Y2hMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlZjIyYzgzMjMwMzk0MzEzMzRiNzBmYjMz
Y2RiMDU1YzQxYmYxODlmLi45ZWMzNzA5NjI4MjIyODA5NzJkNmQ2NTBjOWVmNDZhYWZkMDdjNmMx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNzgsNyArMjc4LDYgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgTW91c2VFdmVudCBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTmFtZWROb2RlTWFwIFwK
LSAgICBOYXZpZ2F0aW9uIFwKICAgICBOYXZpZ2F0b3IgXAogICAgIE5vZGUgXAogICAgIE5vZGVG
aWx0ZXIgXApAQCAtMjkwLDYgKzI4OSw4IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE92ZXJmbG93
RXZlbnQgXAogICAgIFBhZ2VUcmFuc2l0aW9uRXZlbnQgXAogICAgIFBlcmZvcm1hbmNlIFwKKyAg
ICBQZXJmb3JtYW5jZU5hdmlnYXRpb24gXAorICAgIFBlcmZvcm1hbmNlVGltaW5nIFwKICAgICBQ
b3BTdGF0ZUV2ZW50IFwKICAgICBQb3NpdGlvbkVycm9yIFwKICAgICBQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24gXApAQCAtNDY5LDcgKzQ3MCw2IEBAIERPTV9DTEFTU0VTID0gXAogICAgIFRleHRFdmVu
dCBcCiAgICAgVGV4dE1ldHJpY3MgXAogICAgIFRpbWVSYW5nZXMgXAotICAgIFRpbWluZyBcCiAg
ICAgVG91Y2ggXAogICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNoTGlzdCBcCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA1
M2QyZmI0NDM5OWM2NTU5ZDI1MDAxMzM5MTY4YTY5Y2ZkNWNjYmVjLi5hMzM1ZjU0YmMyMWU5MGYx
YTkwZDE2MjA2Nzk3MGMzZmQ4ZmQ5ZWEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ0Nyw4ICs0NDcsNiBAQCB3ZWJj
b3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlv
bkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuY3BwIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2RlTWFwLmggXAotCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0aW9uLmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05vZGUuY3BwIFwKQEAgLTQ3MSw2ICs0NjksMTAgQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGFnZVRyYW5zaXRpb25F
dmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1BlcmZvcm1hbmNlVGltaW5nLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bl
cmZvcm1hbmNlVGltaW5nLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3BTdGF0ZUV2
ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BvcFN0YXRlRXZlbnQuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3IuY3BwIFwKQEAgLTUxMiw4ICs1
MTQsNiBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNUZXh0TWV0cmljcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVGltZVJhbmdl
cy5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUaW1lUmFuZ2VzLmggXAotCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNUaW1pbmcuY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTVGltaW5nLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaC5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1RvdWNoRXZlbnQuaCBcCkBAIC0yMTIyLDggKzIxMjIsNiBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVdlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmggXAogCVdlYkNvcmUvcGFnZS9N
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCBcCiAJV2ViQ29yZS9wYWdlL01vdXNlRXZl
bnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCi0JV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3BwIFwK
LQlXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5oIFwKIAlXZWJDb3JlL3BhZ2UvTmF2aWdhdG9yQmFz
ZS5jcHAgXAogCVdlYkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmggXAogCVdlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuY3BwIFwKQEAgLTIxMzgsNiArMjEzNiwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVdlYkNvcmUvcGFnZS9QYWdlLmggXAogCVdlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAg
XAogCVdlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIFwKKwlXZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmNwcCBcCisJV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5o
IFwKKwlXZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKKwlXZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlckNsaWVudC5o
IFwKIAlXZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmNwcCBcCiAJV2ViQ29yZS9wYWdlL1BsdWdp
bkhhbHRlci5oIFwKQEAgLTIxNjQsOCArMjE2Niw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
V2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0LmggXAogCVdlYkNvcmUvcGFnZS9TdXNwZW5k
YWJsZVRpbWVyLmNwcCBcCiAJV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBcCi0JV2Vi
Q29yZS9wYWdlL1RpbWluZy5jcHAgXAotCVdlYkNvcmUvcGFnZS9UaW1pbmcuaCBcCiAJV2ViQ29y
ZS9wYWdlL1VzZXJDb250ZW50VHlwZXMuaCBcCiAJV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50VVJM
UGF0dGVybi5jcHAgXAogCVdlYkNvcmUvcGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uaCBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IDFiNmZiNTEwYjlkZjU2Njc2N2VlYmE4NGQ3YzM5ODc0MmVjNTMwNzMuLmU0Y2U4YTM0NjQy
NjRmODgxMjljNmM5OTA3MmYyMzE0ZGNkMDljYzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNDUsMTIgKzI0NSwxMiBAQAog
ICAgICAgICAgICAgJ3BhZ2UvSGlzdG9yeS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRp
b24uaWRsJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaWRsJywKLSAgICAgICAgICAg
ICdwYWdlL05hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5pZGwn
LAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2UuaWRsJywKKyAgICAgICAgICAgICdwYWdl
L1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsJywKICAgICAgICAgICAgICdwYWdlL1Bvc2l0aW9uRXJyb3IuaWRsJywKICAg
ICAgICAgICAgICdwYWdlL1NjcmVlbi5pZGwnLAotICAgICAgICAgICAgJ3BhZ2UvVGltaW5nLmlk
bCcsCiAgICAgICAgICAgICAncGFnZS9XZWJLaXRQb2ludC5pZGwnLAogICAgICAgICAgICAgJ3Bh
Z2UvV29ya2VyTmF2aWdhdG9yLmlkbCcsCiAgICAgICAgICAgICAncGx1Z2lucy9ET01NaW1lVHlw
ZS5pZGwnLApAQCAtMjI1NSw4ICsyMjU1LDYgQEAKICAgICAgICAgICAgICdwYWdlL01lbW9yeUlu
Zm8uaCcsCiAgICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNw
cCcsCiAgICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmgnLAot
ICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdGlvbi5jcHAnLAotICAgICAgICAgICAgJ3BhZ2UvTmF2
aWdhdGlvbi5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5jcHAnLAogICAgICAgICAg
ICAgJ3BhZ2UvTmF2aWdhdG9yLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yQmFzZS5j
cHAnLApAQCAtMjI3MSw2ICsyMjY5LDEwIEBACiAgICAgICAgICAgICAncGFnZS9QYWdlR3JvdXBM
b2FkRGVmZXJyZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZS5jcHAnLAogICAg
ICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2UuaCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdh
dGlvbi5oJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCcsCisgICAg
ICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICdwYWdlL1Bs
dWdpbkhhbHRlci5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGx1Z2luSGFsdGVyLmgnLAogICAg
ICAgICAgICAgJ3BhZ2UvUGx1Z2luSGFsdGVyQ2xpZW50LmgnLApAQCAtMjI5Nyw4ICsyMjk5LDYg
QEAKICAgICAgICAgICAgICdwYWdlL1NwZWVjaElucHV0UmVzdWx0LmgnLAogICAgICAgICAgICAg
J3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oJywKLSAgICAgICAgICAgICdwYWdlL1RpbWluZy5jcHAnLAotICAgICAgICAgICAg
J3BhZ2UvVGltaW5nLmgnLAogICAgICAgICAgICAgJ3BhZ2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmNwcCcsCiAgICAgICAgICAgICAncGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uaCcsCiAgICAg
ICAgICAgICAncGFnZS9Vc2VyQ29udGVudFR5cGVzLmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKaW5kZXggODY4YTVkNjg1MjIzZGFhNTM0OTZkNzM4YTE2NWIwYmVjY2IwNDc3
ZC4uZWVjYzEyM2YwYTQyMTE4NGU2ZWE2Nzk4ZWYzNGM5YmNmZWQ3YTEwNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0xMDYzNiw3ICsxMDYzNiw3IEBACiAJCQkJPg0K
IAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0aW9uLmNwcCIN
CisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTEwNjg4LDExICsxMDY4OCwx
MSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQot
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU05hdmlnYXRpb24uaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9y
LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIk
KFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2
aWdhdG9yLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMDc0NCwxMSAr
MTA3NDQsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8
RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3IuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIk
KFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9k
ZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05v
ZGUuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlRmlsdGVyLmNwcCINCiAJCQkJPg0KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTEwODAwLDEx
ICsxMDgwMCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGUuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUZp
bHRlci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U05vZGVGaWx0ZXIuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlSXRlcmF0b3IuY3BwIg0KIAkJ
CQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpA
QCAtMTA4NTYsMTEgKzEwODU2LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8
L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUZpbHRlci5oIg0KKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNOb2RlSXRlcmF0b3IuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlSXRlcmF0b3IuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNO
b2RlTGlzdC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiINCkBAIC0xMDkxMiwxMSArMTA5MTIsMTEgQEAKIAkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2Rl
SXRlcmF0b3IuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUxpc3QuaCINCiAJCQkJPg0KIAkJCTwv
RmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlTGlzdC5jcHAiDQorCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU05vdGF0aW9uLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTEwOTY4LDExICsxMDk2OCwxMSBAQAogCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU05vZGVMaXN0LmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGF0aW9uLmgiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90YXRpb24uY3BwIg0K
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb24uY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTEwMjQsMTEgKzExMDI0
LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
Ci0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTTm90YXRpb24uaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0
aW9uLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
Tm90aWZpY2F0aW9uLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uQ2VudGVyLmNw
cCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIg0KQEAgLTExMDgwLDExICsxMTA4MCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvbi5o
Ig0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25DZW50ZXIuaCINCiAJCQkJPg0KIAkJCTwv
RmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25DZW50ZXIuY3Bw
Ig0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNPdmVyZmxvd0V2ZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTExMTM2LDExICsx
MTEzNiwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvbkNlbnRlci5oIg0KKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNPdmVyZmxvd0V2ZW50LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0J
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTT3ZlcmZsb3dFdmVudC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BhZ2VU
cmFuc2l0aW9uRXZlbnQuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTExOTIsMTEgKzExMTkyLDExIEBACiAJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTT3ZlcmZsb3dFdmVudC5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQYWdlVHJhbnNpdGlvbkV2ZW50
LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIk
KFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGFn
ZVRyYW5zaXRpb25FdmVudC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlLmNwcCIN
CiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KQEAgLTExMjQ4LDExICsxMTI0OCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BhZ2VUcmFuc2l0aW9uRXZl
bnQuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGVyZm9ybWFuY2UuaCINCiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQZXJmb3JtYW5jZS5jcHAiDQorCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMTMwNCw3ICsxMTMw
NCw2MyBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVs
ZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIN
CisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlVGltaW5nLmgiDQogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCkBAIC0yMDIyMCw2MiArMjAyNzYsNiBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTVGltaW5nLmNwcCINCi0JCQkJPg0KLQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
LQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8
V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxU
b29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm98V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4N
Ci0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQot
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
LQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0
aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0K
LQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1RpbWluZy5oIg0KLQkJCQk+DQotCQkJPC9GaWxl
Pg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1RyZWVXYWxrZXIuY3BwIg0KIAkJCQk+DQog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTIzNDI0LDE0ICsyMzQyNCw2IEBACiAJCQkJPg0K
IAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdh
dGlvbi5jcHAiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwYWdlXE5hdmlnYXRpb24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8Rmls
ZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yLmNwcCINCiAJCQkJPg0KIAkJ
CTwvRmlsZT4NCkBAIC0yMzQ4NCw2ICsyMzQ3NiwyMiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlTmF2aWdhdGlv
bi5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxwYWdlXFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVRpbWluZy5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwYWdlXFBlcmZvcm1hbmNlVGltaW5nLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBsdWdpbkhhbHRlci5jcHAiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQpAQCAtMjM1NzYsMTQgKzIzNTg0LDYgQEAKIAkJCQk+DQogCQkJPC9GaWxl
Pg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxUaW1pbmcuY3BwIg0KLQkJ
CQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxU
aW1pbmcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBhZ2VcVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCINCiAJCQkJPg0KIAkJCTwvRmls
ZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYxZTlk
ZTMyODJkMjI5Zjk5MTU5MDc0MTlmYzI4ZjI1NzcwNTZmN2EuLjE5Zjc0YWY5NDJmYjY5MjU5NmQx
MzMzYzc5ODA5MTViOWE3OTUzMjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0yNjI3LDE3ICsyNjI3LDE3IEBACiAJCThBODFCRjg1MTFEQ0ZEOTAwMERB
MkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhBODFCRjg0MTFEQ0ZEOTAwMERBMkI5OCAvKiBSZXNvdXJjZUxv
YWRUaW1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk4QTg0NEQwNDExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE4NDREMDExMUQzQzE4RTAw
MTQwNjVDIC8qIFBlcmZvcm1hbmNlLmNwcCAqLzsgfTsKIAkJOEE4NDREMDUxMUQzQzE4RTAwMTQw
NjVDIC8qIFBlcmZvcm1hbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4QTg0NEQwMjExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaCAqLzsg
fTsKLQkJOEE5QTU4NzAxMUU4NEMzNjAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlBNTg2RTExRTg0QzM1
MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKLQkJOEE5QTU4NzExMUU4NEMzNjAw
OEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEE5QTU4NkYxMUU4NEMzNjAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5o
ICovOyB9OworCQk4QTlBNTg3MDExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmln
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAq
LzsgfTsKKwkJOEE5QTU4NzExMUU4NEMzNjAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlB
NTg2RjExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLzsgfTsK
IAkJOEE5QTU4NzQxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NzIxMUU4NEM4MTAw
OEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuY3BwICovOyB9OwogCQk4QTlBNTg3NTExRTg0QzgxMDA4
QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEE5QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2Uu
aCAqLzsgfTsKLQkJOEE5QTU4ODcxMUU4NEYzNzAwOEFDRkQxIC8qIEpTVGltaW5nLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODc2MTFFODRD
OTgwMDhBQ0ZEMSAvKiBKU1RpbWluZy5jcHAgKi87IH07Ci0JCThBOUE1ODg4MTFFODRGMzcwMDhB
Q0ZEMSAvKiBKU1RpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEE5QTU4NzcxMUU4NEM5ODAwOEFDRkQxIC8qIEpTVGltaW5nLmggKi87IH07CisJ
CThBOUE1ODg3MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODc2MTFFODRD
OTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCAqLzsgfTsKKwkJOEE5QTU4ODgx
MUU4NEYzNzAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODc3MTFFODRDOTgwMDhBQ0ZEMSAv
KiBKU1BlcmZvcm1hbmNlVGltaW5nLmggKi87IH07CiAJCThBQjRCQzc3MTI2RkRCNzEwMERFQjcy
NyAvKiBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFCNEJDNzYxMjZGREI3MTAwREVC
NzI3IC8qIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggKi87IH07Ci0J
CThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTUyMTFEQzVBMzYwMDBFRDNE
RSAvKiBOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKLQkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8q
IE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmggKi87IH07Ci0JCThB
RjRFNTVCMTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1NTgxMURDNUE2MzAwMEVEM0RFIC8qIFRp
bWluZy5jcHAgKi87IH07Ci0JCThBRjRFNTVDMTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTU5MTFE
QzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuaCAqLzsgfTsKKwkJOEFGNEU1NTUxMURDNUEzNjAwMEVE
M0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKKwkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8q
IFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEFGNEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2
aWdhdGlvbi5oICovOyB9OworCQk4QUY0RTU1QjExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFu
Y2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOEFGNEU1NTgxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCAqLzsg
fTsKKwkJOEFGNEU1NUMxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QUY0RTU1OTExREM1
QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuaCAqLzsgfTsKIAkJOEM2RUE2MTkxMUVG
N0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2RUE2MTcxMUVGN0UwNDAwRkQ4RUUz
IC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwICovOyB9OwogCQk4QzZFQTYxQTExRUY3RTA0
MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2RUE2MTgxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsgfTsKIAkJOEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0
IC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4RjkzNEQ4NDExODlGMUVFMDA1MDhENUQgLyogSlNNYWluVGhy
ZWFkRXhlY1N0YXRlLmNwcCAqLzsgfTsKQEAgLTg3NDEsMTkgKzg3NDEsMTkgQEAKIAkJOEE4NDRE
MDExMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOEE4NDREMDIxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCThBODQ0RDAzMTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2UuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZE
MSAvKiBKU05hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNO
YXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBOUE1ODZFMTFFODRD
MzUwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BlcmZvcm1hbmNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOEE5QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFu
Y2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QTlBNTg3NjExRTg0Qzk4MDA4QUNGRDEgLyog
SlNUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUaW1p
bmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QTlBNTg3NzExRTg0Qzk4MDA4
QUNGRDEgLyogSlNUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNU
aW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEE5QTU4NzYxMUU4NEM5ODAw
OEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNQZXJmb3JtYW5jZVRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCThBOUE1ODc3MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGlt
aW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUGVyZm9ybWFuY2VUaW1p
bmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEFCNEJDNzYxMjZGREI3MTAwREVC
NzI3IC8qIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3Jl
bWVudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBRjRFNTUyMTFEQzVBMzYw
MDBFRDNERSAvKiBOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE5hdmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QUY0
RTU1MzExREM1QTM2MDAwRUQzREUgLyogTmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBOYXZpZ2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OEFGNEU1NTgxMURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk4QUY0RTU1QTExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QUY0RTU1
MjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThB
RjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTU4MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5j
ZVRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3Jt
YW5jZVRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTU5MTFE
QzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4QUY0RTU1QTExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlVGltaW5nLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEM2RUE2MTcxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA7IHBhdGggPSBnZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QzZFQTYxODExRUY3
RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg7IHBhdGggPSBnZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OEY5MzREODMxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01haW5UaHJlYWRFeGVjU3RhdGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjc2LDkgKzEzMjc2LDYgQEAKIAkJCQk5RkZF
M0U3QzExQjU5QzZFMDAzNzg3NEUgLyogTWVtb3J5SW5mby5pZGwgKi8sCiAJCQkJOTNFQjM1NUUw
OUUzN0ZENjAwRjQzNzk5IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwICovLAog
CQkJCTkzNUM0NzYyMDlBQzRDRTYwMEE2QUFCNCAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1
bHRzLmggKi8sCi0JCQkJOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRpb24uY3Bw
ICovLAotCQkJCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmggKi8sCi0J
CQkJOEFGNEU1NTQxMURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRpb24uaWRsICovLAogCQkJCUE5
QzZFNUEzMEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuY3BwICovLAogCQkJCUE5QzZFNUE0
MEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuaCAqLywKIAkJCQlBOUM2RTY1RDBENzQ2Njk0
MDA2NDQyRTkgLyogTmF2aWdhdG9yLmlkbCAqLywKQEAgLTEzMjk1LDYgKzEzMjkyLDEyIEBACiAJ
CQkJOEE4NDREMDExMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmNwcCAqLywKIAkJCQk4
QTg0NEQwMjExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaCAqLywKIAkJCQk4QTg0NEQw
MzExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaWRsICovLAorCQkJCThBRjRFNTUyMTFE
QzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwICovLAorCQkJCThBRjRF
NTUzMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLywKKwkJCQk4
QUY0RTU1NDExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCAqLywK
KwkJCQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICov
LAorCQkJCThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oICov
LAorCQkJCThBRjRFNTVBMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5pZGwg
Ki8sCiAJCQkJNzY5M0JBQ0YxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5jcHAgKi8s
CiAJCQkJNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovLAogCQkJ
CTc2OTNCQUQxMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXJDbGllbnQuaCAqLywKQEAg
LTEzMzIzLDkgKzEzMzI2LDYgQEAKIAkJCQk3NTg5NzhFQjEyNzA5MEQ2MDA3NkQ1QTkgLyogU3Bl
ZWNoSW5wdXRSZXN1bHQuaCAqLywKIAkJCQk2MkMxMjE3QTExQUI5RTc2MDAzQzQ2MkMgLyogU3Vz
cGVuZGFibGVUaW1lci5jcHAgKi8sCiAJCQkJNjJDMTIxN0IxMUFCOUU3NzAwM0M0NjJDIC8qIFN1
c3BlbmRhYmxlVGltZXIuaCAqLywKLQkJCQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogVGlt
aW5nLmNwcCAqLywKLQkJCQk4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmggKi8s
Ci0JCQkJOEFGNEU1NUExMURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5pZGwgKi8sCiAJCQkJMDAz
RjFGRTkxMUU2QUI0MzAwODI1OEQ5IC8qIFVzZXJDb250ZW50VHlwZXMuaCAqLywKIAkJCQlCQ0FD
RjNCQTEwNzI5MjFBMDBDMEM4QTMgLyogVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCAqLywKIAkJ
CQlCQ0FDRjNCQjEwNzI5MjFBMDBDMEM4QTMgLyogVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8s
CkBAIC0xNzIzNCwxNiArMTcyMzQsMTYgQEAKIAkJCQlCQ0UxQzQzQTBEOTgzMEQzMDAzQjAyRjIg
LyogSlNMb2NhdGlvbi5oICovLAogCQkJCTlGRkUzRUEzMTFCNUE0MzkwMDM3ODc0RSAvKiBKU01l
bW9yeUluZm8uY3BwICovLAogCQkJCTlGRkUzRUE0MTFCNUE0MzkwMDM3ODc0RSAvKiBKU01lbW9y
eUluZm8uaCAqLywKLQkJCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9u
LmNwcCAqLywKLQkJCQk4QTlBNTg2RjExRTg0QzM2MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmgg
Ki8sCiAJCQkJQTlEMjQ3RjUwRDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmNwcCAqLywK
IAkJCQlBOUQyNDdGNjBENzU3RTMzMDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuaCAqLywKIAkJCQk4
QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5jcHAgKi8sCiAJCQkJOEE5
QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuaCAqLywKKwkJCQk4QTlBNTg2
RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwICovLAorCQkJ
CThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICov
LAorCQkJCThBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNw
cCAqLywKKwkJCQk4QTlBNTg3NzExRTg0Qzk4MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZVRpbWlu
Zy5oICovLAogCQkJCUJDRUMwMUMwMEMyNzREREQwMDlGNEVDOSAvKiBKU1NjcmVlbi5jcHAgKi8s
CiAJCQkJQkNFQzAxQzEwQzI3NERERDAwOUY0RUM5IC8qIEpTU2NyZWVuLmggKi8sCi0JCQkJOEE5
QTU4NzYxMUU4NEM5ODAwOEFDRkQxIC8qIEpTVGltaW5nLmNwcCAqLywKLQkJCQk4QTlBNTg3NzEx
RTg0Qzk4MDA4QUNGRDEgLyogSlNUaW1pbmcuaCAqLywKIAkJCQk0OTRCRDc5QjBGNTVDOTRDMDA3
NDc4MjggLyogSlNXZWJLaXRQb2ludC5jcHAgKi8sCiAJCQkJNDk0QkQ3OUMwRjU1Qzk0QzAwNzQ3
ODI4IC8qIEpTV2ViS2l0UG9pbnQuaCAqLywKIAkJCSk7CkBAIC0yMDE2MCw3ICsyMDE2MCw2IEBA
CiAJCQkJQTg2NjI5RDEwOURBMkI0ODAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNjVERjMxRkMwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEOUMyQzEwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWRO
b2RlTWFwLmggaW4gSGVhZGVycyAqLywKLQkJCQk4QTlBNTg3MTExRTg0QzM2MDA4QUNGRDEgLyog
SlNOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOUQyNDdGODBENzU3RTM0MDBGREY5
NTkgLyogSlNOYXZpZ2F0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTQzOUMzMTE2Q0Y0OTQw
MDQ4Qzc1MCAvKiBKU05vZGVDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MTE1QjczMDlG
ODRDRDYwMENBNEZDMSAvKiBKU05vZGVGaWx0ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjAxNzQs
NiArMjAxNzMsOCBAQAogCQkJCTFBMEQ1NzQxMEE1Qzc4NjcwMDdFREQ0QyAvKiBKU092ZXJmbG93
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjg0QkIxMTA0NDlGRkEwMEVBRUI1MiAvKiBK
U1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCThBOUE1ODc1MTFFODRD
ODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4QTlBNTg3
MTExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovLAorCQkJCThBOUE1ODg4MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5n
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0I3MEQ2QzA5RUIwQzdDMDA5RDg0NjggLyogSlNQbHVn
aW5FbGVtZW50RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg5RjAxRTEwQjM3QkQ5
MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTgwREE3
MjBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggaW4gSGVhZGVycyAqLywKQEAg
LTIwMzQ2LDcgKzIwMzQ3LDYgQEAKIAkJCQk5MzNBMTRCOTBCN0QxRDUyMDBBNTNGRkQgLyogSlNU
ZXh0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUY0NUY2MEU2ODdCNUMwMDFDMTI4NyAv
KiBKU1RleHRNZXRyaWNzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTQxQjBDRDY4MjY5MDBG
QURBNzUgLyogSlNUaW1lUmFuZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQk4QTlBNTg4ODExRTg0
RjM3MDA4QUNGRDEgLyogSlNUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNzUwRDVEMEE5
MERFRTEwMDBGRjIxNSAvKiBKU1RyZWVXYWxrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYy
OUNGMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5
RUVDRjBEMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLywK
QEAgLTIwNDY1LDcgKzIwNDY1LDYgQEAKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyog
TmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIxRTA5NzdEM0MwMDA1ODI2
RDkgLyogTmFtZU5vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTBCOUI2QzBCNzQ3NTk5
MDAzRUQ4OTAgLyogTmF0aXZlWFBhdGhOU1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk4
QUY0RTU1NjExREM1QTM2MDAwRUQzREUgLyogTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTNDQ0YwMjcwQUY2QzUyOTAwMDE4RTg5IC8qIE5hdmlnYXRpb25BY3Rpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3OUY0M0Q0MTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9uU2NoZWR1
bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOUM2RTVBNjBENzQ2NDU4MDA2NDQyRTkgLyogTmF2
aWdhdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTIwNTM0LDYgKzIwNTMzLDggQEAKIAkJCQlCMjc1
MzU4MjBCMDUzODE0MDAyQ0U2NEYgLyogUGVuLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTdDQzk2
QjEyMDc2RDczMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OEE4NDREMDUxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmggaW4gSGVhZGVycyAqLywK
KwkJCQk4QUY0RTU1NjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk4QUY0RTU1QzExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFu
Y2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAv
KiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDBG
RjJBNUUxMUY4QzQ1QTAwN0U3NEUwIC8qIFBpbmdMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTM3N0M0Q0RGMTAxNEU5RjYwMEI5QUU0MiAvKiBQbGFjZWhvbGRlckRvY3VtZW50LmggaW4gSGVh
ZGVycyAqLywKQEAgLTIxMTUyLDcgKzIxMTUzLDYgQEAKIAkJCQk3NTUzQ0ZFODEwOEY0NzNGMDBF
QTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzA1
QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYx
M0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQk4
QUY0RTU1QzExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
OUU5MTJBRTBFRkFDOTA2MDA5RDBDQUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTQ5RTkxMUM0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQ0UwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9y
bU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMjgzNSw3ICsyMjgzNSw2IEBACiAJCQkJ
NjVERjMxRkIwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQ0Q5QzJDMDBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEOUMyNjMwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFtZWRO
b2RlTWFwQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCThBOUE1ODcwMTFFODRDMzYwMDhB
Q0ZEMSAvKiBKU05hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTlEMjQ3RjcwRDc1
N0UzNDAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE5QzZF
NjQ5MEQ3NDY1RDgwMDY0NDJFOSAvKiBKU05hdmlnYXRvckN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxNERDMEQzNzA5RkVEMDczMDA3QjAyMzUgLyogSlNOb2RlLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMjI4NTQsNiArMjI4NTMsOCBAQAogCQkJCTFBMEQ1NzQwMEE1Qzc4NjcwMDdFREQ0
QyAvKiBKU092ZXJmbG93RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyODRCQjIxMDQ0
OUZGQTAwRUFFQjUyIC8qIEpTUGFnZVRyYW5zaXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk4QTlBNTg3NDExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk4QTlBNTg3MDExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEE5QTU4ODcxMUU4NEYzNzAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNCNzBENkIw
OUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTg5RjAxRDEwQjM3QkQ5MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUxODlGMDE4MTBCMzc4MTMwMEYzQzczOSAvKiBKU1BvcFN0
YXRlRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMzAzOSw3ICsyMzA0MCw2IEBA
CiAJCQkJOTMzQTE0QjgwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDRUY0NUY1MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxNDFBMENENjgyNjkwMEZBREE3NSAvKiBKU1RpbWVS
YW5nZXMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOEE5QTU4ODcxMUU4NEYzNzAwOEFDRkQxIC8q
IEpTVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNzUwRDVDMEE5MERFRTEwMDBGRjIx
NSAvKiBKU1RyZWVXYWxrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2QkI3OTQwQ0U5MUU2
ODAwNTEyRjc5IC8qIEpTVHJlZVdhbGtlckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
ODY2MjlEMDA5REEyQjQ4MDA5NjMzQTUgLyogSlNVSUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMjMxNjcsNyArMjMxNjcsNiBAQAogCQkJCUJDRjM0QTM3MTFBMjMxQ0QwMEM3MTgwNCAvKiBO
YW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgxODcyMjQwOTc3RDNDMDAwNTgy
NkQ5IC8qIE5hbWVOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTBCOUI2RDBCNzQ3
NTk5MDAzRUQ4OTAgLyogTmF0aXZlWFBhdGhOU1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzQ0NGMDYwMEFGNkNBNzYwMDAxOEU4OSAvKiBOYXZpZ2F0aW9uQWN0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTk3OUY0M0QzMTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE5QzZFNUE1MEQ3NDY0NTgwMDY0
NDJFOSAvKiBOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMzIxOCw2ICsyMzIxNyw4
IEBACiAJCQkJQjI3NTM1ODEwQjA1MzgxNDAwMkNFNjRGIC8qIFBlbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk4QTdDQzk3MDEyMDc2RjhBMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk4QTg0NEQwNDExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QUY0RTU1QjExREM1QTYz
MDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlE
NURDMkQwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUQwRkYyQTVEMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9h
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3N0M0Q0UwMTAxNEU5RjYwMEI5QUU0MiAvKiBQ
bGFjZWhvbGRlckRvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjM3NDgsNyArMjM3NDks
NiBAQAogCQkJCTc1NTNDRkU5MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3Rv
cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlFQTQwOTlFQjc4QzAwNTZFNTgxIC8qIFRp
bWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBU
aW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCThBRjRFNTVCMTFEQzVBNjMwMDBFRDNE
RSAvKiBUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlFOTExQzMwRUY4NkQ0NzAwOUQw
Q0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUz
NTU4MEIwNTM4MTQwMDJDRTY0RiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeENHLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQ5RTkxMUNGMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRp
b25zLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmNwcCBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKaW5kZXggYzQyMzRhNzE3ODI2
ZmQ0ZjlkYTJhYWE4NmI0NGZlZTk2YzM5NjVlYS4uNGUxMzBlYThmMTQwN2NmMjQ4NGNlYTI0NjZi
Y2JlNmJkMGExNTBlMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAor
KysgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zMiw4ICszMiw4IEBACiAjaW5j
bHVkZSAiUGVyZm9ybWFuY2UuaCIKIAogI2luY2x1ZGUgIk1lbW9yeUluZm8uaCIKLSNpbmNsdWRl
ICJOYXZpZ2F0aW9uLmgiCi0jaW5jbHVkZSAiVGltaW5nLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKIAogI2lmIEVO
QUJMRShXRUJfVElNSU5HKQogCkBAIC03MiwxOCArNzIsMTggQEAgTWVtb3J5SW5mbyogUGVyZm9y
bWFuY2U6Om1lbW9yeSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbWVtb3J5LmdldCgpOwogfQogCi1O
YXZpZ2F0aW9uKiBQZXJmb3JtYW5jZTo6bmF2aWdhdGlvbigpIGNvbnN0CitQZXJmb3JtYW5jZU5h
dmlnYXRpb24qIFBlcmZvcm1hbmNlOjpuYXZpZ2F0aW9uKCkgY29uc3QKIHsKICAgICBpZiAoIW1f
bmF2aWdhdGlvbikKLSAgICAgICAgbV9uYXZpZ2F0aW9uID0gTmF2aWdhdGlvbjo6Y3JlYXRlKG1f
ZnJhbWUpOworICAgICAgICBtX25hdmlnYXRpb24gPSBQZXJmb3JtYW5jZU5hdmlnYXRpb246OmNy
ZWF0ZShtX2ZyYW1lKTsKIAogICAgIHJldHVybiBtX25hdmlnYXRpb24uZ2V0KCk7CiB9CiAKLVRp
bWluZyogUGVyZm9ybWFuY2U6OnRpbWluZygpIGNvbnN0CitQZXJmb3JtYW5jZVRpbWluZyogUGVy
Zm9ybWFuY2U6OnRpbWluZygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3RpbWluZykKLSAgICAgICAg
bV90aW1pbmcgPSBUaW1pbmc6OmNyZWF0ZShtX2ZyYW1lKTsKKyAgICAgICAgbV90aW1pbmcgPSBQ
ZXJmb3JtYW5jZVRpbWluZzo6Y3JlYXRlKG1fZnJhbWUpOwogCiAgICAgcmV0dXJuIG1fdGltaW5n
LmdldCgpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCA5NzM2ZmU3OGE1NzJmZjk4MWVkNzkwOTc2NWY5
MDQwY2JmYjZiOGE4Li5iZTllMTI0ZTBlZWZhNTdjNzFiZDAzNDFkOTEzODlhMjgyZTM3OTQyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2UuaApAQCAtMzQsOCArMzQsOCBAQAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQog
CiAjaW5jbHVkZSAiTWVtb3J5SW5mby5oIgotI2luY2x1ZGUgIk5hdmlnYXRpb24uaCIKLSNpbmNs
dWRlICJUaW1pbmcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKKyNpbmNs
dWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC01
MCwxNSArNTAsMTUgQEAgcHVibGljOgogICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CiAKICAg
ICBNZW1vcnlJbmZvKiBtZW1vcnkoKSBjb25zdDsKLSAgICBOYXZpZ2F0aW9uKiBuYXZpZ2F0aW9u
KCkgY29uc3Q7Ci0gICAgVGltaW5nKiB0aW1pbmcoKSBjb25zdDsKKyAgICBQZXJmb3JtYW5jZU5h
dmlnYXRpb24qIG5hdmlnYXRpb24oKSBjb25zdDsKKyAgICBQZXJmb3JtYW5jZVRpbWluZyogdGlt
aW5nKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgUGVyZm9ybWFuY2UoRnJhbWUqKTsKIAogICAg
IG11dGFibGUgUmVmUHRyPE1lbW9yeUluZm8+IG1fbWVtb3J5OwotICAgIG11dGFibGUgUmVmUHRy
PE5hdmlnYXRpb24+IG1fbmF2aWdhdGlvbjsKLSAgICBtdXRhYmxlIFJlZlB0cjxUaW1pbmc+IG1f
dGltaW5nOworICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4gbV9uYXZp
Z2F0aW9uOworICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlVGltaW5nPiBtX3RpbWluZzsK
ICAgICBGcmFtZSogbV9mcmFtZTsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5pZGwgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCmluZGV4IGZmZThiNmZj
YWI5ZWM2MGU5OTM3MmEzNGQ3ODJlMDIxMTUzODJhYzQuLmM3MmY0YmMyZGI0NGVkZjE2ZjVkMmVm
YTBhMGU2ZjQxMWE0NGM2MDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5p
ZGwKKysrIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbApAQCAtMzIsOCArMzIsOCBAQCBt
b2R1bGUgd2luZG93IHsKIAogICAgIC8vIFNlZTogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJh
cGkvV2ViVGltaW5nLwogICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VCX1RJTUlORywgT21p
dENvbnN0cnVjdG9yXSBQZXJmb3JtYW5jZSB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBO
YXZpZ2F0aW9uIG5hdmlnYXRpb247Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1pbmcg
dGltaW5nOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
IG5hdmlnYXRpb247CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJmb3JtYW5jZVRpbWlu
ZyB0aW1pbmc7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZW1vcnlJbmZvIG1lbW9yeTsK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2ODY3NzE0Njg1Yzg1YzUyYTlmYjg0MjA4YzUxZGI0
NDk4MWFiZTQwLi5iMTdhMTEwODgzYTllZjcyYjZhODc3YjJiZTY2YzczNmJkZjc3ZDkzIDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0wOCAgSmFtZXMgU2ltb25zZW4gIDxz
aW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1dlYiBUaW1pbmddIFJlbmFtZSBpbnRlcmZhY2VzOgorICAgICAgICAt
IE5hdmlnYXRpb24gLT4gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uCisgICAgICAgIC0gVGltaW5nIC0+
IFBlcmZvcm1hbmNlVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00ODkxOQorCisgICAgICAgICogc3JjL1dlYlBlcmZvcm1hbmNlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGVyZm9ybWFuY2U6Om5hdmlnYXRpb25UeXBlKToKKwogMjAxMC0x
MS0wOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UGVyZm9ybWFuY2UuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAK
aW5kZXggZjAxOTc5M2VkNjQ3ZGFiOTg2NzM0M2NhNjdmN2IyODAyOGUyMWExYS4uOTE3OTk3MjQ2
YzhjMGI2Njg4MjEyZWJlOTE3ZjlkMWEwYTllOGQxMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
ZXJmb3JtYW5jZS5jcHAKQEAgLTUwLDExICs1MCwxMSBAQCB2b2lkIFdlYlBlcmZvcm1hbmNlOjph
c3NpZ24oY29uc3QgV2ViUGVyZm9ybWFuY2UmIG90aGVyKQogV2ViTmF2aWdhdGlvblR5cGUgV2Vi
UGVyZm9ybWFuY2U6Om5hdmlnYXRpb25UeXBlKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fcHJp
dmF0ZS0+bmF2aWdhdGlvbigpLT50eXBlKCkpIHsKLSAgICBjYXNlIE5hdmlnYXRpb246Ok5BVklH
QVRFOgorICAgIGNhc2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpOQVZJR0FURToKICAgICAgICAg
cmV0dXJuIFdlYk5hdmlnYXRpb25UeXBlT3RoZXI7Ci0gICAgY2FzZSBOYXZpZ2F0aW9uOjpSRUxP
QUQ6CisgICAgY2FzZSBQZXJmb3JtYW5jZU5hdmlnYXRpb246OlJFTE9BRDoKICAgICAgICAgcmV0
dXJuIFdlYk5hdmlnYXRpb25UeXBlUmVsb2FkOwotICAgIGNhc2UgTmF2aWdhdGlvbjo6QkFDS19G
T1JXQVJEOgorICAgIGNhc2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpCQUNLX0ZPUldBUkQ6CiAg
ICAgICAgIHJldHVybiBXZWJOYXZpZ2F0aW9uVHlwZUJhY2tGb3J3YXJkOwogICAgIH0KICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73293</attachid>
            <date>2010-11-08 15:28:02 -0800</date>
            <delta_ts>2010-11-08 15:54:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>96017</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwNjAyN2JkLi5iYmI4ZTc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMTEt
MDggIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXZWIgVGltaW5nXSBSZW5hbWUg
aW50ZXJmYWNlczoKKyAgICAgICAgLSBOYXZpZ2F0aW9uIC0+IFBlcmZvcm1hbmNlTmF2aWdhdGlv
bgorICAgICAgICAtIFRpbWluZyAtPiBQZXJmb3JtYW5jZVRpbWluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5MTkKKworICAgICAgICAqIGZhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQ6IENs
YXNzIG5hbWVzIGNoYW5nZWQuCisKIDIwMTAtMTEtMDggIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
cGVyZm9ybWFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLWV4cGVjdGVkLnR4dAppbmRleCA4YmJhYmIwLi4x
OGIzY2RlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtcGVyZm9ybWFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQKQEAg
LTQsMTMgKzQsMTMgQEAgd2luZG93LndlYmtpdFBlcmZvcm1hbmNlIFtvYmplY3QgUGVyZm9ybWFu
Y2VdCiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubWVtb3J5IFtvYmplY3QgTWVtb3J5SW5mb10K
IHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5tZW1vcnkudG90YWxKU0hlYXBTaXplIFtudW1iZXJd
CiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubWVtb3J5LnVzZWRKU0hlYXBTaXplIFtudW1iZXJd
Ci13aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubmF2aWdhdGlvbiBbb2JqZWN0IE5hdmlnYXRpb25d
Cit3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubmF2aWdhdGlvbiBbb2JqZWN0IFBlcmZvcm1hbmNl
TmF2aWdhdGlvbl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLkJBQ0tfRk9S
V0FSRCBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24uTkFWSUdB
VEUgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlJFTE9BRCBb
bnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3Vu
dCBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSBbbnVt
YmVyXQotd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLnRpbWluZyBbb2JqZWN0IFRpbWluZ10KK3dp
bmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcgW29iamVjdCBQZXJmb3JtYW5jZVRpbWluZ10K
IHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCBbbnVtYmVyXQogd2lu
ZG93LndlYmtpdFBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgW251bWJlcl0KIHdpbmRv
dy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgW251bWJlcl0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNlNmFiMy4u
ODMwNWIxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0xMS0wOCAgSmFtZXMgU2ltb25zZW4gIDxzaW1v
bmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW1dlYiBUaW1pbmddIFJlbmFtZSBpbnRlcmZhY2VzOgorICAgICAgICAtIE5h
dmlnYXRpb24gLT4gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uCisgICAgICAgIC0gVGltaW5nIC0+IFBl
cmZvcm1hbmNlVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00ODkxOQorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpu
YXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp0aW1pbmcpOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlk
bDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHA6IFJlbmFtZWQgZnJv
bSBXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZU5hdmlnYXRpb246OlBlcmZvcm1hbmNlTmF2aWdhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZU5hdmlnYXRpb246OmZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlTmF2aWdhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlTmF2aWdhdGlvbjo6dHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZU5hdmlnYXRpb246OnJlZGlyZWN0Q291bnQpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmg6IFJlbmFtZWQgZnJvbSBXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5oLgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpjcmVhdGUpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbDogUmVuYW1lZCBmcm9tIFdlYkNvcmUvcGFn
ZS9OYXZpZ2F0aW9uLmlkbC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcDog
UmVuYW1lZCBmcm9tIFdlYkNvcmUvcGFnZS9UaW1pbmcuY3BwLgorICAgICAgICAoV2ViQ29yZTo6
dG9JbnRlZ2VyTWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OmdldFBvc3NpYmx5U2tl
d2VkVGltZUluS25vd25SYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWlu
Zzo6UGVyZm9ybWFuY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1p
bmc6OmZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkaXNjb25u
ZWN0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6Om5hdmlnYXRp
b25TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6dW5sb2FkRXZl
bnRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0U3Rh
cnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpmZXRjaFN0YXJ0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpjb25uZWN0U3RhcnQpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVRpbWluZzo6cmVxdWVzdEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVRpbWluZzo6cmVzcG9uc2VTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVRpbWluZzo6cmVzcG9uc2VFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1p
bmc6OmRvbUxvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRv
bUludGVyYWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21D
b250ZW50TG9hZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21D
b21wbGV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6bG9hZEV2ZW50
U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmxvYWRFdmVudEVu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6ZG9jdW1lbnRMb2FkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRvY3VtZW50VGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb2N1bWVudExvYWRUaW1pbmcp
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlc291cmNlTG9hZFRpbWlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6cmVzb3VyY2VMb2FkVGlt
ZVJlbGF0aXZlVG9BYnNvbHV0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5o
OiBSZW5hbWVkIGZyb20gV2ViQ29yZS9wYWdlL1RpbWluZy5oLgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5pZGw6IFJlbmFtZWQgZnJvbSBXZWJDb3JlL3BhZ2UvVGltaW5nLmlkbC4KKwogMjAxMC0x
MS0wOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBidWlsZCBjb3JyZWN0aW9uIGFmdGVyIEA3MDM2OS9ANzA4NDYuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CmluZGV4IGRjZDBlMjIuLjMwZmQyOTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yMzQsNyArMjM0LDYg
QEAKICNpbmNsdWRlICJKU01vdXNlRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVu
dC5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXAuY3BwIgotI2luY2x1ZGUgIkpTTmF2aWdh
dGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNOYXZpZ2F0b3IuY3BwIgogI2luY2x1ZGUgIkpTTm9kZS5j
cHAiCiAjaW5jbHVkZSAiSlNOb2RlRmlsdGVyLmNwcCIKQEAgLTI0Niw2ICsyNDUsOCBAQAogI2lu
Y2x1ZGUgIkpTT3ZlcmZsb3dFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNQYWdlVHJhbnNpdGlvbkV2
ZW50LmNwcCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlLmNwcCIKKyNpbmNsdWRlICJKU1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAi
CiAjaW5jbHVkZSAiSlNQb3BTdGF0ZUV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1Bvc2l0aW9uRXJy
b3IuY3BwIgogI2luY2x1ZGUgIkpTUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCIKQEAgLTQxNCw3
ICs0MTUsNiBAQAogI2luY2x1ZGUgIkpTVGV4dEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1RleHRN
ZXRyaWNzLmNwcCIKICNpbmNsdWRlICJKU1RpbWVSYW5nZXMuY3BwIgotI2luY2x1ZGUgIkpTVGlt
aW5nLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoRXZlbnQu
Y3BwIgogI2luY2x1ZGUgIkpTVG91Y2hMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlZjIy
YzgzLi45ZWMzNzA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNzgsNyArMjc4LDYgQEAgRE9NX0NM
QVNTRVMgPSBcCiAgICAgTW91c2VFdmVudCBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTmFt
ZWROb2RlTWFwIFwKLSAgICBOYXZpZ2F0aW9uIFwKICAgICBOYXZpZ2F0b3IgXAogICAgIE5vZGUg
XAogICAgIE5vZGVGaWx0ZXIgXApAQCAtMjkwLDYgKzI4OSw4IEBAIERPTV9DTEFTU0VTID0gXAog
ICAgIE92ZXJmbG93RXZlbnQgXAogICAgIFBhZ2VUcmFuc2l0aW9uRXZlbnQgXAogICAgIFBlcmZv
cm1hbmNlIFwKKyAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24gXAorICAgIFBlcmZvcm1hbmNlVGlt
aW5nIFwKICAgICBQb3BTdGF0ZUV2ZW50IFwKICAgICBQb3NpdGlvbkVycm9yIFwKICAgICBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24gXApAQCAtNDY5LDcgKzQ3MCw2IEBAIERPTV9DTEFTU0VTID0gXAog
ICAgIFRleHRFdmVudCBcCiAgICAgVGV4dE1ldHJpY3MgXAogICAgIFRpbWVSYW5nZXMgXAotICAg
IFRpbWluZyBcCiAgICAgVG91Y2ggXAogICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNoTGlzdCBc
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQppbmRleCA1M2QyZmI0Li5hMzM1ZjU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ0Nyw4ICs0NDcsNiBAQCB3
ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRh
dGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2RlTWFwLmggXAotCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0aW9uLmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05vZGUuY3BwIFwKQEAgLTQ3MSw2ICs0NjksMTAgQEAgd2ViY29yZV9i
dWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGFnZVRyYW5zaXRp
b25FdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuY3BwIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1BlcmZvcm1hbmNlVGltaW5nLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1BlcmZvcm1hbmNlVGltaW5nLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3BTdGF0
ZUV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BvcFN0YXRlRXZlbnQuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3IuY3BwIFwKQEAgLTUxMiw4
ICs1MTQsNiBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNUZXh0TWV0cmljcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVGltZVJh
bmdlcy5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUaW1lUmFuZ2VzLmggXAotCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUaW1pbmcuY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVGltaW5nLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaC5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1RvdWNoRXZlbnQuaCBcCkBAIC0yMTIyLDggKzIxMjIsNiBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmggXAogCVdlYkNvcmUvcGFn
ZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCBcCiAJV2ViQ29yZS9wYWdlL01vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCi0JV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3Bw
IFwKLQlXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5oIFwKIAlXZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
QmFzZS5jcHAgXAogCVdlYkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmggXAogCVdlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3IuY3BwIFwKQEAgLTIxMzgsNiArMjEzNiwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVdlYkNvcmUvcGFnZS9QYWdlLmggXAogCVdlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5j
cHAgXAogCVdlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIFwKKwlXZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisJV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5oIFwKKwlXZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKKwlXZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlckNsaWVu
dC5oIFwKIAlXZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmNwcCBcCiAJV2ViQ29yZS9wYWdlL1Bs
dWdpbkhhbHRlci5oIFwKQEAgLTIxNjQsOCArMjE2Niw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0LmggXAogCVdlYkNvcmUvcGFnZS9TdXNw
ZW5kYWJsZVRpbWVyLmNwcCBcCiAJV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBcCi0J
V2ViQ29yZS9wYWdlL1RpbWluZy5jcHAgXAotCVdlYkNvcmUvcGFnZS9UaW1pbmcuaCBcCiAJV2Vi
Q29yZS9wYWdlL1VzZXJDb250ZW50VHlwZXMuaCBcCiAJV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50
VVJMUGF0dGVybi5jcHAgXAogCVdlYkNvcmUvcGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uaCBc
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IDFiNmZiNTEuLmU0Y2U4YTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNDUsMTIgKzI0NSwxMiBAQAogICAgICAg
ICAgICAgJ3BhZ2UvSGlzdG9yeS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaWRs
JywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaWRsJywKLSAgICAgICAgICAgICdwYWdl
L05hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5pZGwnLAogICAg
ICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2UuaWRsJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuaWRsJywKICAgICAgICAgICAgICdwYWdlL1Bvc2l0aW9uRXJyb3IuaWRsJywKICAgICAgICAg
ICAgICdwYWdlL1NjcmVlbi5pZGwnLAotICAgICAgICAgICAgJ3BhZ2UvVGltaW5nLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9XZWJLaXRQb2ludC5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvV29y
a2VyTmF2aWdhdG9yLmlkbCcsCiAgICAgICAgICAgICAncGx1Z2lucy9ET01NaW1lVHlwZS5pZGwn
LApAQCAtMjI1NSw4ICsyMjU1LDYgQEAKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaCcs
CiAgICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCcsCiAg
ICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmgnLAotICAgICAg
ICAgICAgJ3BhZ2UvTmF2aWdhdGlvbi5jcHAnLAotICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdGlv
bi5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5jcHAnLAogICAgICAgICAgICAgJ3Bh
Z2UvTmF2aWdhdG9yLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yQmFzZS5jcHAnLApA
QCAtMjI3MSw2ICsyMjY5LDEwIEBACiAgICAgICAgICAgICAncGFnZS9QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZS5jcHAnLAogICAgICAgICAg
ICAgJ3BhZ2UvUGVyZm9ybWFuY2UuaCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5o
JywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCcsCisgICAgICAgICAg
ICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICdwYWdlL1BsdWdpbkhh
bHRlci5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGx1Z2luSGFsdGVyLmgnLAogICAgICAgICAg
ICAgJ3BhZ2UvUGx1Z2luSGFsdGVyQ2xpZW50LmgnLApAQCAtMjI5Nyw4ICsyMjk5LDYgQEAKICAg
ICAgICAgICAgICdwYWdlL1NwZWVjaElucHV0UmVzdWx0LmgnLAogICAgICAgICAgICAgJ3BhZ2Uv
U3VzcGVuZGFibGVUaW1lci5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oJywKLSAgICAgICAgICAgICdwYWdlL1RpbWluZy5jcHAnLAotICAgICAgICAgICAgJ3BhZ2Uv
VGltaW5nLmgnLAogICAgICAgICAgICAgJ3BhZ2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCcs
CiAgICAgICAgICAgICAncGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uaCcsCiAgICAgICAgICAg
ICAncGFnZS9Vc2VyQ29udGVudFR5cGVzLmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggODY4YTVkNi4uZWVjYzEyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCkBAIC0xMDYzNiw3ICsxMDYzNiw3IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJ
CQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0aW9uLmNwcCINCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTmF2aWdhdG9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTEwNjg4LDExICsxMDY4OCwxMSBAQAogCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U05hdmlnYXRpb24uaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yLmgiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yLmNwcCINCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTTm9kZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMDc0NCwxMSArMTA3NDQsMTEgQEAKIAkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNOYXZpZ2F0b3IuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZS5oIg0KIAkJCQk+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGUuY3BwIg0KKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNOb2RlRmlsdGVyLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTEwODAwLDExICsxMDgwMCwxMSBAQAog
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU05vZGUuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUZpbHRlci5oIg0KIAkJCQk+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGVGaWx0ZXIuY3Bw
Ig0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlSXRlcmF0b3IuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTA4NTYsMTEgKzEw
ODU2LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUZpbHRlci5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2Rl
SXRlcmF0b3IuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNOb2RlSXRlcmF0b3IuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlTGlzdC5jcHAiDQog
CQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIN
CkBAIC0xMDkxMiwxMSArMTA5MTIsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJ
CTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlSXRlcmF0b3IuaCINCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTTm9kZUxpc3QuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlTGlzdC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGF0
aW9uLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIg0KQEAgLTEwOTY4LDExICsxMDk2OCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGVMaXN0
LmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGF0aW9uLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90YXRpb24uY3BwIg0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNOb3RpZmljYXRpb24uY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTEwMjQsMTEgKzExMDI0LDExIEBACiAJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTm90YXRpb24uaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uLmgiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uLmNw
cCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCINCiAJCQkJPg0KIAkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTExMDgw
LDExICsxMTA4MCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvbi5oIg0KKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNOb3RpZmljYXRpb25DZW50ZXIuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIg0KKwkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNPdmVyZmxvd0V2ZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTExMTM2LDExICsxMTEzNiwxMSBAQAogCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU05vdGlmaWNhdGlvbkNlbnRlci5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNPdmVyZmxvd0V2
ZW50LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
T3ZlcmZsb3dFdmVudC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BhZ2VUcmFuc2l0aW9uRXZlbnQu
Y3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8
V2luMzIiDQpAQCAtMTExOTIsMTEgKzExMTkyLDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91
dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTT3ZlcmZsb3dFdmVu
dC5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQYWdlVHJhbnNpdGlvbkV2ZW50LmgiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGFnZVRyYW5zaXRpb25FdmVu
dC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlLmNwcCINCiAJCQkJPg0KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTExMjQ4LDEx
ICsxMTI0OCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCINCisJCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTUGVyZm9ybWFuY2UuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNQZXJmb3JtYW5jZS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQog
CQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMTMwNCw3ICsxMTMwNCw2MyBAQAogCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU1BlcmZvcm1hbmNlLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Bl
cmZvcm1hbmNlVGltaW5nLmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJ
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4z
MiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wN
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU1BlcmZvcm1hbmNlVGltaW5nLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
CkBAIC0yMDIyMCw2MiArMjAyNzYsNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
Ci0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTVGltaW5nLmNwcCINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQotCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIi
DQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQot
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZV9D
YWlyb3xXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJ
CQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1l
PSJEZWJ1Z19BbGx8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJ
CT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+
DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJ
CVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU1RpbWluZy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQog
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU1RyZWVXYWxrZXIuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KQEAgLTIzNDI0LDE0ICsyMzQyNCw2IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJ
CQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdGlvbi5jcHAiDQotCQkJ
CT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5h
dmlnYXRpb24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0y
MzQ4NCw2ICsyMzQ3NiwyMiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZv
cm1hbmNlTmF2aWdhdGlvbi5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVRpbWluZy5jcHAiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1h
bmNlVGltaW5nLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwYWdlXFBsdWdpbkhhbHRlci5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpA
QCAtMjM1NzYsMTQgKzIzNTg0LDYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxUaW1pbmcuY3BwIg0KLQkJCQk+DQotCQkJPC9GaWxl
Pg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxUaW1pbmcuaCINCi0JCQkJ
Pg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYxZTlkZTMuLjE5Zjc0YWYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjI3LDE3ICsy
NjI3LDE3IEBACiAJCThBODFCRjg1MTFEQ0ZEOTAwMERBMkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1p
bmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBODFC
Rjg0MTFEQ0ZEOTAwMERBMkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4QTg0NEQwNDExRDNDMThFMDAx
NDA2NUMgLyogUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEE4NDREMDExMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmNw
cCAqLzsgfTsKIAkJOEE4NDREMDUxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTg0NEQwMjExRDND
MThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaCAqLzsgfTsKLQkJOEE5QTU4NzAxMUU4NEMzNjAw
OEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9u
LmNwcCAqLzsgfTsKLQkJOEE5QTU4NzExMUU4NEMzNjAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NkYx
MUU4NEMzNjAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5oICovOyB9OworCQk4QTlBNTg3MDExRTg0
QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKKwkJOEE5QTU4NzExMUU4NEMz
NjAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlBNTg2RjExRTg0QzM2MDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLzsgfTsKIAkJOEE5QTU4NzQxMUU4NEM4MTAwOEFD
RkQxIC8qIEpTUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEE5QTU4NzIxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2Uu
Y3BwICovOyB9OwogCQk4QTlBNTg3NTExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NzMx
MUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuaCAqLzsgfTsKLQkJOEE5QTU4ODcxMUU4
NEYzNzAwOEFDRkQxIC8qIEpTVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1RpbWluZy5j
cHAgKi87IH07Ci0JCThBOUE1ODg4MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1RpbWluZy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NzcxMUU4NEM5
ODAwOEFDRkQxIC8qIEpTVGltaW5nLmggKi87IH07CisJCThBOUE1ODg3MTFFODRGMzcwMDhBQ0ZE
MSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1h
bmNlVGltaW5nLmNwcCAqLzsgfTsKKwkJOEE5QTU4ODgxMUU4NEYzNzAwOEFDRkQxIC8qIEpTUGVy
Zm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDhBOUE1ODc3MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmgg
Ki87IH07CiAJCThBQjRCQzc3MTI2RkRCNzEwMERFQjcyNyAvKiBJZ25vcmVEZXN0cnVjdGl2ZVdy
aXRlQ291bnRJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOEFCNEJDNzYxMjZGREI3MTAwREVCNzI3IC8qIElnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudEluY3JlbWVudGVyLmggKi87IH07Ci0JCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNE
RSAvKiBOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDhBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmNwcCAqLzsg
fTsKLQkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTUzMTFEQzVBMzYwMDBF
RDNERSAvKiBOYXZpZ2F0aW9uLmggKi87IH07Ci0JCThBRjRFNTVCMTFEQzVBNjMwMDBFRDNERSAv
KiBUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOEFGNEU1NTgxMURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5jcHAgKi87IH07Ci0JCThBRjRF
NTVDMTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcu
aCAqLzsgfTsKKwkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdh
dGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLzsg
fTsKKwkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1NTMx
MURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICovOyB9OworCQk4QUY0
RTU1QjExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1NTgxMURDNUE2MzAwMEVE
M0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCAqLzsgfTsKKwkJOEFGNEU1NUMxMURDNUE2MzAw
MEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFu
Y2VUaW1pbmcuaCAqLzsgfTsKIAkJOEM2RUE2MTkxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEM2RUE2MTcxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuY3BwICovOyB9OwogCQk4QzZFQTYxQTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOEM2RUE2MTgxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAq
LzsgfTsKIAkJOEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Rjkz
NEQ4NDExODlGMUVFMDA1MDhENUQgLyogSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcCAqLzsgfTsK
QEAgLTg3NDEsMTkgKzg3NDEsMTkgQEAKIAkJOEE4NDREMDExMUQzQzE4RTAwMTQwNjVDIC8qIFBl
cmZvcm1hbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZv
cm1hbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEE4NDREMDIxMUQzQzE4
RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFBlcmZvcm1hbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBODQ0RDAz
MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QTlBNTg2
RTExRTg0QzM1MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCThBOUE1ODZFMTFFODRDMzUwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1h
bmNlTmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEg
LyogSlNQZXJmb3JtYW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1BlcmZvcm1hbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEE5QTU4
NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk4QTlBNTg3NjExRTg0Qzk4MDA4QUNGRDEgLyogSlNUaW1pbmcuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk4QTlBNTg3NzExRTg0Qzk4MDA4QUNGRDEgLyogSlNUaW1pbmcuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOEE5QTU4NzYxMUU4NEM5ODAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VU
aW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZXJmb3Jt
YW5jZVRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBOUE1ODc3MTFF
ODRDOTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTUGVyZm9ybWFuY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOEFCNEJDNzYxMjZGREI3MTAwREVCNzI3IC8qIElnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudEluY3JlbWVudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCThBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QUY0RTU1MzExREM1QTM2MDAwRUQzREUgLyog
TmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNE
RSAvKiBOYXZpZ2F0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0aW9uLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOEFGNEU1NTgxMURDNUE2MzAwMEVEM0RF
IC8qIFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaW1p
bmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QUY0RTU1OTExREM1QTYzMDAw
RUQzREUgLyogVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWlu
Zy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QUY0RTU1QTExREM1QTYzMDAwRUQz
REUgLyogVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUaW1pbmcuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAv
KiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZv
cm1hbmNlTmF2aWdhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRF
NTU4MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZVRpbWluZy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3Jt
YW5jZVRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5j
ZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QUY0RTU1QTExREM1QTYz
MDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFBlcmZvcm1hbmNlVGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEM2
RUE2MTcxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUnVudGltZUVuYWJsZWRGZWF0dXJlcy5j
cHA7IHBhdGggPSBnZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4QzZFQTYxODExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmg7IHBhdGggPSBnZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEY5MzREODMxMTg5RjFFRTAwNTA4RDVE
IC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU01haW5UaHJlYWRFeGVjU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTEzMjc2LDkgKzEzMjc2LDYgQEAKIAkJCQk5RkZFM0U3QzExQjU5QzZFMDAzNzg3NEUgLyog
TWVtb3J5SW5mby5pZGwgKi8sCiAJCQkJOTNFQjM1NUUwOUUzN0ZENjAwRjQzNzk5IC8qIE1vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwICovLAogCQkJCTkzNUM0NzYyMDlBQzRDRTYwMEE2
QUFCNCAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggKi8sCi0JCQkJOEFGNEU1NTIx
MURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRpb24uY3BwICovLAotCQkJCThBRjRFNTUzMTFEQzVB
MzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmggKi8sCi0JCQkJOEFGNEU1NTQxMURDNUEzNjAwMEVE
M0RFIC8qIE5hdmlnYXRpb24uaWRsICovLAogCQkJCUE5QzZFNUEzMEQ3NDY0NTgwMDY0NDJFOSAv
KiBOYXZpZ2F0b3IuY3BwICovLAogCQkJCUE5QzZFNUE0MEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZp
Z2F0b3IuaCAqLywKIAkJCQlBOUM2RTY1RDBENzQ2Njk0MDA2NDQyRTkgLyogTmF2aWdhdG9yLmlk
bCAqLywKQEAgLTEzMjk1LDYgKzEzMjkyLDEyIEBACiAJCQkJOEE4NDREMDExMUQzQzE4RTAwMTQw
NjVDIC8qIFBlcmZvcm1hbmNlLmNwcCAqLywKIAkJCQk4QTg0NEQwMjExRDNDMThFMDAxNDA2NUMg
LyogUGVyZm9ybWFuY2UuaCAqLywKIAkJCQk4QTg0NEQwMzExRDNDMThFMDAxNDA2NUMgLyogUGVy
Zm9ybWFuY2UuaWRsICovLAorCQkJCThBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwICovLAorCQkJCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLywKKwkJCQk4QUY0RTU1NDExREM1QTM2MDAwRUQzREUg
LyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCAqLywKKwkJCQk4QUY0RTU1ODExREM1QTYzMDAw
RUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovLAorCQkJCThBRjRFNTU5MTFEQzVBNjMw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oICovLAorCQkJCThBRjRFNTVBMTFEQzVBNjMw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5pZGwgKi8sCiAJCQkJNzY5M0JBQ0YxMDZDMkRD
QTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5jcHAgKi8sCiAJCQkJNzY5M0JBRDAxMDZDMkRDQTAw
N0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovLAogCQkJCTc2OTNCQUQxMTA2QzJEQ0EwMDdCMDgy
MyAvKiBQbHVnaW5IYWx0ZXJDbGllbnQuaCAqLywKQEAgLTEzMzIzLDkgKzEzMzI2LDYgQEAKIAkJ
CQk3NTg5NzhFQjEyNzA5MEQ2MDA3NkQ1QTkgLyogU3BlZWNoSW5wdXRSZXN1bHQuaCAqLywKIAkJ
CQk2MkMxMjE3QTExQUI5RTc2MDAzQzQ2MkMgLyogU3VzcGVuZGFibGVUaW1lci5jcHAgKi8sCiAJ
CQkJNjJDMTIxN0IxMUFCOUU3NzAwM0M0NjJDIC8qIFN1c3BlbmRhYmxlVGltZXIuaCAqLywKLQkJ
CQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmNwcCAqLywKLQkJCQk4QUY0RTU1
OTExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmggKi8sCi0JCQkJOEFGNEU1NUExMURDNUE2MzAw
MEVEM0RFIC8qIFRpbWluZy5pZGwgKi8sCiAJCQkJMDAzRjFGRTkxMUU2QUI0MzAwODI1OEQ5IC8q
IFVzZXJDb250ZW50VHlwZXMuaCAqLywKIAkJCQlCQ0FDRjNCQTEwNzI5MjFBMDBDMEM4QTMgLyog
VXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCAqLywKIAkJCQlCQ0FDRjNCQjEwNzI5MjFBMDBDMEM4
QTMgLyogVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8sCkBAIC0xNzIzNCwxNiArMTcyMzQsMTYg
QEAKIAkJCQlCQ0UxQzQzQTBEOTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlvbi5oICovLAogCQkJ
CTlGRkUzRUEzMTFCNUE0MzkwMDM3ODc0RSAvKiBKU01lbW9yeUluZm8uY3BwICovLAogCQkJCTlG
RkUzRUE0MTFCNUE0MzkwMDM3ODc0RSAvKiBKU01lbW9yeUluZm8uaCAqLywKLQkJCQk4QTlBNTg2
RTExRTg0QzM1MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmNwcCAqLywKLQkJCQk4QTlBNTg2RjEx
RTg0QzM2MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmggKi8sCiAJCQkJQTlEMjQ3RjUwRDc1N0Uz
MzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmNwcCAqLywKIAkJCQlBOUQyNDdGNjBENzU3RTMzMDBG
REY5NTkgLyogSlNOYXZpZ2F0b3IuaCAqLywKIAkJCQk4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEg
LyogSlNQZXJmb3JtYW5jZS5jcHAgKi8sCiAJCQkJOEE5QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8q
IEpTUGVyZm9ybWFuY2UuaCAqLywKKwkJCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwICovLAorCQkJCThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZE
MSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICovLAorCQkJCThBOUE1ODc2MTFFODRDOTgw
MDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCAqLywKKwkJCQk4QTlBNTg3NzExRTg0
Qzk4MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5oICovLAogCQkJCUJDRUMwMUMwMEMy
NzREREQwMDlGNEVDOSAvKiBKU1NjcmVlbi5jcHAgKi8sCiAJCQkJQkNFQzAxQzEwQzI3NERERDAw
OUY0RUM5IC8qIEpTU2NyZWVuLmggKi8sCi0JCQkJOEE5QTU4NzYxMUU4NEM5ODAwOEFDRkQxIC8q
IEpTVGltaW5nLmNwcCAqLywKLQkJCQk4QTlBNTg3NzExRTg0Qzk4MDA4QUNGRDEgLyogSlNUaW1p
bmcuaCAqLywKIAkJCQk0OTRCRDc5QjBGNTVDOTRDMDA3NDc4MjggLyogSlNXZWJLaXRQb2ludC5j
cHAgKi8sCiAJCQkJNDk0QkQ3OUMwRjU1Qzk0QzAwNzQ3ODI4IC8qIEpTV2ViS2l0UG9pbnQuaCAq
LywKIAkJCSk7CkBAIC0yMDE2MCw3ICsyMDE2MCw2IEBACiAJCQkJQTg2NjI5RDEwOURBMkI0ODAw
OTYzM0E1IC8qIEpTTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRkMwOUQx
Q0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNE
OUMyQzEwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywK
LQkJCQk4QTlBNTg3MTExRTg0QzM2MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOUQyNDdGODBENzU3RTM0MDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDOTQzOUMzMTE2Q0Y0OTQwMDQ4Qzc1MCAvKiBKU05vZGVDdXN0b20u
aCBpbiBIZWFkZXJzICovLAogCQkJCTE0MTE1QjczMDlGODRDRDYwMENBNEZDMSAvKiBKU05vZGVG
aWx0ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjAxNzQsNiArMjAxNzMsOCBAQAogCQkJCTFBMEQ1
NzQxMEE1Qzc4NjcwMDdFREQ0QyAvKiBKU092ZXJmbG93RXZlbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxMjg0QkIxMTA0NDlGRkEwMEVBRUI1MiAvKiBKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCThBOUE1ODc1MTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1h
bmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4QTlBNTg3MTExRTg0QzM2MDA4QUNGRDEgLyogSlNQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCThBOUE1ODg4MTFFODRG
MzcwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
M0I3MEQ2QzA5RUIwQzdDMDA5RDg0NjggLyogSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTg5RjAxRTEwQjM3QkQ5MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTgwREE3MjBFOUM0NzJGMDAwRDZGNzUgLyogSlNQ
b3NpdGlvbkVycm9yLmggaW4gSGVhZGVycyAqLywKQEAgLTIwMzQ2LDcgKzIwMzQ3LDYgQEAKIAkJ
CQk5MzNBMTRCOTBCN0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDRUY0NUY2MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFNDQ2MTQxQjBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmgg
aW4gSGVhZGVycyAqLywKLQkJCQk4QTlBNTg4ODExRTg0RjM3MDA4QUNGRDEgLyogSlNUaW1pbmcu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBNzUwRDVEMEE5MERFRTEwMDBGRjIxNSAvKiBKU1RyZWVX
YWxrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYyOUNGMDlEQTJCNDcwMDk2MzNBNSAvKiBK
U1VJRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjBEMTA1MDcwQzQwMDA5OUZBQiAv
KiBKU1VpbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLywKQEAgLTIwNDY1LDcgKzIwNDY1LDYgQEAK
IAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODE4NzIxRTA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMTBCOUI2QzBCNzQ3NTk5MDAzRUQ4OTAgLyogTmF0aXZlWFBhdGhO
U1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk4QUY0RTU1NjExREM1QTM2MDAwRUQzREUg
LyogTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDQ0YwMjcwQUY2QzUyOTAwMDE4
RTg5IC8qIE5hdmlnYXRpb25BY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTk3OUY0M0Q0MTA3
NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOUM2RTVBNjBENzQ2NDU4MDA2NDQyRTkgLyogTmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywK
QEAgLTIwNTM0LDYgKzIwNTMzLDggQEAKIAkJCQlCMjc1MzU4MjBCMDUzODE0MDAyQ0U2NEYgLyog
UGVuLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTdDQzk2QjEyMDc2RDczMDAxRDQ1ODggLyogUGVu
ZGluZ1NjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEE4NDREMDUxMUQzQzE4RTAwMTQwNjVD
IC8qIFBlcmZvcm1hbmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4QUY0RTU1NjExREM1QTM2MDAw
RUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk4QUY0
RTU1QzExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQ5RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9w
ZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDBGRjJBNUUxMUY4QzQ1QTAwN0U3NEUwIC8q
IFBpbmdMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3N0M0Q0RGMTAxNEU5RjYwMEI5QUU0
MiAvKiBQbGFjZWhvbGRlckRvY3VtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTIxMTUyLDcgKzIx
MTUzLDYgQEAKIAkJCQk3NTUzQ0ZFODEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRG
YWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyog
VGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBU
aW1lUmFuZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQk4QUY0RTU1QzExREM1QTYzMDAwRUQzREUg
LyogVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBDQUYg
LyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM0MEVGODZENDcw
MDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlF
OTExQ0UwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yMjgzNSw3ICsyMjgzNSw2IEBACiAJCQkJNjVERjMxRkIwOUQxQ0M2MDAwMEJFMzI1
IC8qIEpTTXV0YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzJDMDBDMTdC
NjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNE
OUMyNjMwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCThBOUE1ODcwMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTlEMjQ3RjcwRDc1N0UzNDAwRkRGOTU5IC8qIEpTTmF2aWdh
dG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE5QzZFNjQ5MEQ3NDY1RDgwMDY0NDJFOSAvKiBK
U05hdmlnYXRvckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNERDMEQzNzA5RkVEMDcz
MDA3QjAyMzUgLyogSlNOb2RlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjI4NTQsNiArMjI4NTMs
OCBAQAogCQkJCTFBMEQ1NzQwMEE1Qzc4NjcwMDdFREQ0QyAvKiBKU092ZXJmbG93RXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyODRCQjIxMDQ0OUZGQTAwRUFFQjUyIC8qIEpTUGFnZVRy
YW5zaXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QTlBNTg3NDExRTg0QzgxMDA4
QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QTlBNTg3MDEx
RTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJOEE5QTU4ODcxMUU4NEYzNzAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNCNzBENkIwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1
Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg5RjAxRDEwQjM3
QkQ5MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUx
ODlGMDE4MTBCMzc4MTMwMEYzQzczOSAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0yMzAzOSw3ICsyMzA0MCw2IEBACiAJCQkJOTMzQTE0QjgwQjdEMUQ1MjAw
QTUzRkZEIC8qIEpTVGV4dEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUY0NUY1MEU2
ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0
NDYxNDFBMENENjgyNjkwMEZBREE3NSAvKiBKU1RpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJOEE5QTU4ODcxMUU4NEYzNzAwOEFDRkQxIC8qIEpTVGltaW5nLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBNzUwRDVDMEE5MERFRTEwMDBGRjIxNSAvKiBKU1RyZWVXYWxrZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTE2QkI3OTQwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTVHJlZVdhbGtl
ckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlEMDA5REEyQjQ4MDA5NjMzQTUg
LyogSlNVSUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjMxNjcsNyArMjMxNjcsNiBAQAog
CQkJCUJDRjM0QTM3MTFBMjMxQ0QwMEM3MTgwNCAvKiBOYW1lZE5vZGVNYXAuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTgxODcyMjQwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVOb2RlTGlzdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFMTBCOUI2RDBCNzQ3NTk5MDAzRUQ4OTAgLyogTmF0aXZlWFBh
dGhOU1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCThBRjRFNTU1MTFEQzVBMzYwMDBF
RDNERSAvKiBOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQ0NGMDYwMEFGNkNB
NzYwMDAxOEU4OSAvKiBOYXZpZ2F0aW9uQWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3
OUY0M0QzMTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE5QzZFNUE1MEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yMzIxOCw2ICsyMzIxNyw4IEBACiAJCQkJQjI3NTM1ODEwQjA1Mzgx
NDAwMkNFNjRGIC8qIFBlbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QTdDQzk3MDEyMDc2RjhB
MDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QTg0NEQw
NDExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
OEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4QUY0RTU1QjExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VU
aW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlENURDMkQwRjQyM0E3MzAwOEYyMEZEIC8q
IFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQw
RkYyQTVEMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTM3N0M0Q0UwMTAxNEU5RjYwMEI5QUU0MiAvKiBQbGFjZWhvbGRlckRvY3VtZW50LmNwcCBp
biBTb3VyY2VzICovLApAQCAtMjM3NDgsNyArMjM3NDksNiBAQAogCQkJCTc1NTNDRkU5MTA4RjQ3
M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOTMzMDlFQTQwOTlFQjc4QzAwNTZFNTgxIC8qIFRpbWVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCThBRjRFNTVCMTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDlFOTExQzMwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0
cml4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUzNTU4MEIwNTM4MTQwMDJDRTY0RiAvKiBU
cmFuc2Zvcm1hdGlvbk1hdHJpeENHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RTkxMUNGMEVG
ODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3BwIGIvV2ViQ29yZS9wYWdlL05h
dmlnYXRpb24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDkzYjQ3Li4wMDAw
MDAwCi0tLSBhL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDkxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1l
dDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTmF2aWdhdGlvbi5oIgot
Ci0jaWYgRU5BQkxFKFdFQl9USU1JTkcpCi0KLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgot
I2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLU5hdmlnYXRpb246Ok5hdmlnYXRpb24oRnJhbWUqIGZyYW1lKQot
ICAgIDogbV9mcmFtZShmcmFtZSkKLXsKLX0KLQotRnJhbWUqIE5hdmlnYXRpb246OmZyYW1lKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gbV9mcmFtZTsKLX0KLQotdm9pZCBOYXZpZ2F0aW9uOjpkaXNj
b25uZWN0RnJhbWUoKQotewotICAgIG1fZnJhbWUgPSAwOwotfQotCi11bnNpZ25lZCBzaG9ydCBO
YXZpZ2F0aW9uOjp0eXBlKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZnJhbWUpCi0gICAgICAgIHJl
dHVybiBOQVZJR0FURTsKLQotICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlciA9IG1f
ZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOwotICAgIGlmICghZG9jdW1lbnRMb2Fk
ZXIpCi0gICAgICAgIHJldHVybiBOQVZJR0FURTsKLQotICAgIFdlYkNvcmU6Ok5hdmlnYXRpb25U
eXBlIG5hdmlnYXRpb25UeXBlID0gZG9jdW1lbnRMb2FkZXItPnRyaWdnZXJpbmdBY3Rpb24oKS50
eXBlKCk7Ci0gICAgc3dpdGNoIChuYXZpZ2F0aW9uVHlwZSkgewotICAgIGNhc2UgTmF2aWdhdGlv
blR5cGVSZWxvYWQ6Ci0gICAgICAgIHJldHVybiBSRUxPQUQ7Ci0gICAgY2FzZSBOYXZpZ2F0aW9u
VHlwZUJhY2tGb3J3YXJkOgotICAgICAgICByZXR1cm4gQkFDS19GT1JXQVJEOwotICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHJldHVybiBOQVZJR0FURTsKLSAgICB9Ci19Ci0KLXVuc2lnbmVkIHNob3J0
IE5hdmlnYXRpb246OnJlZGlyZWN0Q291bnQoKSBjb25zdAotewotICAgIGlmICghbV9mcmFtZSkK
LSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gbV9mcmFt
ZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAg
IHJldHVybiAwOwotCi0gICAgcmV0dXJuIGxvYWRlci0+dGltaW5nKCktPnJlZGlyZWN0Q291bnQ7
Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJfVElN
SU5HKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaCBiL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0aW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhNjhmZjMuLjAw
MDAwMDAKLS0tIGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaAorKysgL2Rldi9udWxsCkBAIC0x
LDY4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1l
dDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIE5hdmlnYXRpb25faAotI2RlZmluZSBOYXZpZ2F0aW9uX2gKLQot
I2lmIEVOQUJMRShXRUJfVElNSU5HKQotCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IEZyYW1lOwotCi1jbGFzcyBOYXZpZ2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdGlv
bj4gewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRpb24+IGNyZWF0ZShG
cmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBOYXZpZ2F0aW9uKGZyYW1lKSk7IH0K
LQotICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OwotICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7
Ci0KLSAgICBlbnVtIE5hdmlnYXRpb25UeXBlIHsKLSAgICAgICAgTkFWSUdBVEUsCi0gICAgICAg
IFJFTE9BRCwKLSAgICAgICAgQkFDS19GT1JXQVJECi0gICAgfTsKLQotICAgIHVuc2lnbmVkIHNo
b3J0IHR5cGUoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBzaG9ydCByZWRpcmVjdENvdW50KCkgY29u
c3Q7Ci0KLXByaXZhdGU6Ci0gICAgTmF2aWdhdGlvbihGcmFtZSopOwotCi0gICAgRnJhbWUqIG1f
ZnJhbWU7Ci19OwotCi19Ci0KLSNlbmRpZiAvLyAhRU5BQkxFKFdFQl9USU1JTkcpCi0jZW5kaWYg
Ly8gIWRlZmluZWQoTmF2aWdhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL05hdmln
YXRpb24uaWRsIGIvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaWRsCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiMDIyN2YzLi4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
aW9uLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgot
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUgd2luZG93IHsKLQot
ICAgIC8vIFNlZTogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLwotICAg
IGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VCX1RJTUlORywgT21pdENvbnN0cnVjdG9yXSBOYXZp
Z2F0aW9uIHsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTkFWSUdBVEUgPSAwOwotICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBSRUxPQUQgPSAxOwotICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBCQUNLX0ZPUldBUkQgPSAyOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgdHlwZTsKLQotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgc2hvcnQgcmVkaXJlY3RDb3VudDsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRl
eCBjNDIzNGE3Li40ZTEzMGVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
Y3BwCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKQEAgLTMyLDggKzMyLDggQEAK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogCiAjaW5jbHVkZSAiTWVtb3J5SW5mby5oIgotI2lu
Y2x1ZGUgIk5hdmlnYXRpb24uaCIKLSNpbmNsdWRlICJUaW1pbmcuaCIKKyNpbmNsdWRlICJQZXJm
b3JtYW5jZU5hdmlnYXRpb24uaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgogCiAj
aWYgRU5BQkxFKFdFQl9USU1JTkcpCiAKQEAgLTcyLDE4ICs3MiwxOCBAQCBNZW1vcnlJbmZvKiBQ
ZXJmb3JtYW5jZTo6bWVtb3J5KCkgY29uc3QKICAgICByZXR1cm4gbV9tZW1vcnkuZ2V0KCk7CiB9
CiAKLU5hdmlnYXRpb24qIFBlcmZvcm1hbmNlOjpuYXZpZ2F0aW9uKCkgY29uc3QKK1BlcmZvcm1h
bmNlTmF2aWdhdGlvbiogUGVyZm9ybWFuY2U6Om5hdmlnYXRpb24oKSBjb25zdAogewogICAgIGlm
ICghbV9uYXZpZ2F0aW9uKQotICAgICAgICBtX25hdmlnYXRpb24gPSBOYXZpZ2F0aW9uOjpjcmVh
dGUobV9mcmFtZSk7CisgICAgICAgIG1fbmF2aWdhdGlvbiA9IFBlcmZvcm1hbmNlTmF2aWdhdGlv
bjo6Y3JlYXRlKG1fZnJhbWUpOwogCiAgICAgcmV0dXJuIG1fbmF2aWdhdGlvbi5nZXQoKTsKIH0K
IAotVGltaW5nKiBQZXJmb3JtYW5jZTo6dGltaW5nKCkgY29uc3QKK1BlcmZvcm1hbmNlVGltaW5n
KiBQZXJmb3JtYW5jZTo6dGltaW5nKCkgY29uc3QKIHsKICAgICBpZiAoIW1fdGltaW5nKQotICAg
ICAgICBtX3RpbWluZyA9IFRpbWluZzo6Y3JlYXRlKG1fZnJhbWUpOworICAgICAgICBtX3RpbWlu
ZyA9IFBlcmZvcm1hbmNlVGltaW5nOjpjcmVhdGUobV9mcmFtZSk7CiAKICAgICByZXR1cm4gbV90
aW1pbmcuZ2V0KCk7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBi
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IDk3MzZmZTcuLmJlOWUxMjQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5oCkBAIC0zNCw4ICszNCw4IEBACiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAKICNp
bmNsdWRlICJNZW1vcnlJbmZvLmgiCi0jaW5jbHVkZSAiTmF2aWdhdGlvbi5oIgotI2luY2x1ZGUg
IlRpbWluZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgorI2luY2x1ZGUg
IlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUwLDE1
ICs1MCwxNSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKIAogICAgIE1l
bW9yeUluZm8qIG1lbW9yeSgpIGNvbnN0OwotICAgIE5hdmlnYXRpb24qIG5hdmlnYXRpb24oKSBj
b25zdDsKLSAgICBUaW1pbmcqIHRpbWluZygpIGNvbnN0OworICAgIFBlcmZvcm1hbmNlTmF2aWdh
dGlvbiogbmF2aWdhdGlvbigpIGNvbnN0OworICAgIFBlcmZvcm1hbmNlVGltaW5nKiB0aW1pbmco
KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBQZXJmb3JtYW5jZShGcmFtZSopOwogCiAgICAgbXV0
YWJsZSBSZWZQdHI8TWVtb3J5SW5mbz4gbV9tZW1vcnk7Ci0gICAgbXV0YWJsZSBSZWZQdHI8TmF2
aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOwotICAgIG11dGFibGUgUmVmUHRyPFRpbWluZz4gbV90aW1p
bmc7CisgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRp
b247CisgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOwogICAg
IEZyYW1lKiBtX2ZyYW1lOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmlkbCBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKaW5kZXggZmZlOGI2Zi4uYzcy
ZjRiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCkBAIC0zMiw4ICszMiw4IEBAIG1vZHVsZSB3aW5kb3cg
ewogCiAgICAgLy8gU2VlOiBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcv
CiAgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJfVElNSU5HLCBPbWl0Q29uc3RydWN0b3Jd
IFBlcmZvcm1hbmNlIHsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5hdmlnYXRpb24gbmF2
aWdhdGlvbjsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRpbWluZyB0aW1pbmc7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJmb3JtYW5jZU5hdmlnYXRpb24gbmF2aWdhdGlvbjsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFBlcmZvcm1hbmNlVGltaW5nIHRpbWluZzsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lbW9yeUluZm8gbWVtb3J5OwogICAgIH07CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGIvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZDU3MDU2MQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgiCisKKyNpZiBFTkFCTEUoV0VCX1RJ
TUlORykKKworI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIK
KyNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpQZXJmb3JtYW5jZU5hdmlnYXRpb24oRnJhbWUqIGZyYW1l
KQorICAgIDogbV9mcmFtZShmcmFtZSkKK3sKK30KKworRnJhbWUqIFBlcmZvcm1hbmNlTmF2aWdh
dGlvbjo6ZnJhbWUoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZyYW1lOworfQorCit2b2lkIFBl
cmZvcm1hbmNlTmF2aWdhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKCkKK3sKKyAgICBtX2ZyYW1lID0g
MDsKK30KKwordW5zaWduZWQgc2hvcnQgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjp0eXBlKCkgY29u
c3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBOQVZJR0FURTsKKworICAg
IERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlciA9IG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1
bWVudExvYWRlcigpOworICAgIGlmICghZG9jdW1lbnRMb2FkZXIpCisgICAgICAgIHJldHVybiBO
QVZJR0FURTsKKworICAgIFdlYkNvcmU6Ok5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBlID0g
ZG9jdW1lbnRMb2FkZXItPnRyaWdnZXJpbmdBY3Rpb24oKS50eXBlKCk7CisgICAgc3dpdGNoIChu
YXZpZ2F0aW9uVHlwZSkgeworICAgIGNhc2UgTmF2aWdhdGlvblR5cGVSZWxvYWQ6CisgICAgICAg
IHJldHVybiBSRUxPQUQ7CisgICAgY2FzZSBOYXZpZ2F0aW9uVHlwZUJhY2tGb3J3YXJkOgorICAg
ICAgICByZXR1cm4gQkFDS19GT1JXQVJEOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBO
QVZJR0FURTsKKyAgICB9Cit9CisKK3Vuc2lnbmVkIHNob3J0IFBlcmZvcm1hbmNlTmF2aWdhdGlv
bjo6cmVkaXJlY3RDb3VudCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBtX2ZyYW1lLT5sb2FkZXIo
KS0+ZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuIDA7
CisKKyAgICByZXR1cm4gbG9hZGVyLT50aW1pbmcoKS0+cmVkaXJlY3RDb3VudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggYi9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uMmJhOWI5YwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQZXJmb3JtYW5jZU5hdmlnYXRp
b25faAorI2RlZmluZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25faAorCisjaWYgRU5BQkxFKFdFQl9U
SU1JTkcpCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWU7CisKK2NsYXNz
IFBlcmZvcm1hbmNlTmF2aWdhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlTmF2
aWdhdGlvbj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlTmF2
aWdhdGlvbj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZv
cm1hbmNlTmF2aWdhdGlvbihmcmFtZSkpOyB9CisKKyAgICBGcmFtZSogZnJhbWUoKSBjb25zdDsK
KyAgICB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOworCisgICAgZW51bSBQZXJmb3JtYW5jZU5hdmln
YXRpb25UeXBlIHsKKyAgICAgICAgTkFWSUdBVEUsCisgICAgICAgIFJFTE9BRCwKKyAgICAgICAg
QkFDS19GT1JXQVJECisgICAgfTsKKworICAgIHVuc2lnbmVkIHNob3J0IHR5cGUoKSBjb25zdDsK
KyAgICB1bnNpZ25lZCBzaG9ydCByZWRpcmVjdENvdW50KCkgY29uc3Q7CisKK3ByaXZhdGU6Cisg
ICAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uKEZyYW1lKik7CisKKyAgICBGcmFtZSogbV9mcmFtZTsK
K307CisKK30KKworI2VuZGlmIC8vICFFTkFCTEUoV0VCX1RJTUlORykKKyNlbmRpZiAvLyAhZGVm
aW5lZChQZXJmb3JtYW5jZU5hdmlnYXRpb25faCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdh
dGlvbi5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWMwNjA1MAotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCkBA
IC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIC8vIFNlZTogaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9
V0VCX1RJTUlORywgT21pdENvbnN0cnVjdG9yXSBQZXJmb3JtYW5jZU5hdmlnYXRpb24geworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOQVZJR0FURSA9IDA7CisgICAgICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IFJFTE9BRCA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEJB
Q0tfRk9SV0FSRCA9IDI7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCB0eXBlOworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCByZWRp
cmVjdENvdW50OworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZVRpbWluZy5jcHAgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZTQ3ZTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCkBAIC0wLDAgKzEsMzYyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCisKKyNpZiBF
TkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgIkRvY3VtZW50TG9hZFRpbWluZy5oIgorI2lu
Y2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRUaW1pbmcuaCIKKyNp
bmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1
ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMg
dW5zaWduZWQgbG9uZyBsb25nIHRvSW50ZWdlck1pbGxpc2Vjb25kcyhkb3VibGUgc2Vjb25kcykK
K3sKKyAgICBBU1NFUlQoc2Vjb25kcyA+PSAwKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5z
aWduZWQgbG9uZyBsb25nPihzZWNvbmRzICogMTAwMC4wKTsKK30KKworc3RhdGljIGRvdWJsZSBn
ZXRQb3NzaWJseVNrZXdlZFRpbWVJbktub3duUmFuZ2UoZG91YmxlIHNrZXdlZFRpbWUsIGRvdWJs
ZSBsb3dlckJvdW5kLCBkb3VibGUgdXBwZXJCb3VuZCkKK3sKKyNpZiBQTEFURk9STShDSFJPTUlV
TSkKKyAgICAvLyBUaGUgY2hyb21pdW0gcG9ydCdzIGN1cnJlbnRUaW1lKCkgaW1wbGVtZW50YXRp
b24gb25seSBzeW5jcyB3aXRoIHRoZQorICAgIC8vIHN5c3RlbSBjbG9jayBldmVyeSA2MCBzZWNv
bmRzLiBTbyBpdCBpcyBwb3NzaWJsZSBmb3IgdGltaW5nIG1hcmtzCisgICAgLy8gY29sbGVjdGVk
IGluIGRpZmZlcmVudCB0aHJlYWRzIG9yIHByb2Nlc3NlcyB0byBoYXZlIGEgc21hbGwgc2tldy4K
KyAgICAvLyBGSVhNRTogSXQgbWF5IGJlIHBvc3NpYmxlIHRvIGFkZCBhIGN1cnJlbnRUaW1lRnJv
bVN5c3RlbVRpbWUoKSBtZXRob2QKKyAgICAvLyB0aGF0IGVsaW1pbmF0ZXMgdGhlIHNrZXcuCisg
ICAgaWYgKHNrZXdlZFRpbWUgPD0gbG93ZXJCb3VuZCkKKyAgICAgICAgcmV0dXJuIGxvd2VyQm91
bmQ7CisKKyAgICBpZiAoc2tld2VkVGltZSA+PSB1cHBlckJvdW5kKQorICAgICAgICByZXR1cm4g
dXBwZXJCb3VuZDsKKyNlbHNlCisgICAgQVNTRVJUX1VOVVNFRChsb3dlckJvdW5kLCBza2V3ZWRU
aW1lID49IGxvd2VyQm91bmQpOworICAgIEFTU0VSVF9VTlVTRUQodXBwZXJCb3VuZCwgc2tld2Vk
VGltZSA8PSB1cHBlckJvdW5kKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIHNrZXdlZFRpbWU7Cit9
CisKK1BlcmZvcm1hbmNlVGltaW5nOjpQZXJmb3JtYW5jZVRpbWluZyhGcmFtZSogZnJhbWUpCisg
ICAgOiBtX2ZyYW1lKGZyYW1lKQoreworfQorCitGcmFtZSogUGVyZm9ybWFuY2VUaW1pbmc6OmZy
YW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZTsKK30KKwordm9pZCBQZXJmb3JtYW5j
ZVRpbWluZzo6ZGlzY29ubmVjdEZyYW1lKCkKK3sKKyAgICBtX2ZyYW1lID0gMDsKK30KKwordW5z
aWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpuYXZpZ2F0aW9uU3RhcnQoKSBjb25z
dAoreworICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5n
KCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRv
SW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPm5hdmlnYXRpb25TdGFydCk7Cit9CisKK3Vuc2ln
bmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6dW5sb2FkRXZlbnRFbmQoKSBjb25zdAor
eworICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7
CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50
ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPnVubG9hZEV2ZW50RW5kKTsKK30KKwordW5zaWduZWQg
bG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAg
ICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOworICAg
IGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJN
aWxsaXNlY29uZHModGltaW5nLT5yZWRpcmVjdFN0YXJ0KTsKK30KKwordW5zaWduZWQgbG9uZyBs
b25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0Cit7CisgICAgRG9jdW1l
bnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRp
bWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNv
bmRzKHRpbWluZy0+cmVkaXJlY3RFbmQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9y
bWFuY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZFRpbWlu
ZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmct
PmZldGNoU3RhcnQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6
OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKK3sKKyAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRp
bWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIC8vIFRoaXMgd2lsbCBiZSAtMSB3aGVuIGEgRE5TIHJlcXVlc3QgaXMg
bm90IHBlcmZvcm1lZC4KKyAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwgdmFs
dWUgdGhhdCBpbmRpY2F0ZXMgbm8gRE5TLCB3ZSAiYmFja2ZpbGwiIHdpdGggZmV0Y2hTdGFydC4K
KyAgICBpbnQgZG5zU3RhcnQgPSB0aW1pbmctPmRuc1N0YXJ0OworICAgIGlmIChkbnNTdGFydCA8
IDApCisgICAgICAgIHJldHVybiBmZXRjaFN0YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VM
b2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZShkbnNTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcg
bG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKK3sKKyAgICBS
ZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOworICAgIGlm
ICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIFRoaXMgd2lsbCBiZSAtMSB3
aGVuIGEgRE5TIHJlcXVlc3QgaXMgbm90IHBlcmZvcm1lZC4KKyAgICAvLyBSYXRoZXIgdGhhbiBl
eHBvc2luZyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8gRE5TLCB3ZSAiYmFja2Zp
bGwiIHdpdGggZG9tYWluTG9va3VwU3RhcnQuCisgICAgaW50IGRuc0VuZCA9IHRpbWluZy0+ZG5z
RW5kOworICAgIGlmIChkbnNFbmQgPCAwKQorICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwU3Rh
cnQoKTsKKworICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKGRu
c0VuZCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6Y29ubmVj
dFN0YXJ0KCkgY29uc3QKK3sKKyAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gZG9jdW1lbnRM
b2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBSZXNv
dXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IGxvYWRlci0+cmVzcG9uc2UoKS5yZXNvdXJjZUxvYWRU
aW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBj
b25uZWN0U3RhcnQgd2lsbCBiZSAtMSB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRl
LgorICAgIC8vIFJhdGhlciB0aGFuIGV4cG9zaW5nIGEgc3BlY2lhbCB2YWx1ZSB0aGF0IGluZGlj
YXRlcyBubyBuZXcgY29ubmVjdGlvbiwgd2UgImJhY2tmaWxsIiB3aXRoIGRvbWFpbkxvb2t1cEVu
ZC4KKyAgICBpbnQgY29ubmVjdFN0YXJ0ID0gdGltaW5nLT5jb25uZWN0U3RhcnQ7CisgICAgaWYg
KGNvbm5lY3RTdGFydCA8IDAgfHwgbG9hZGVyLT5yZXNwb25zZSgpLmNvbm5lY3Rpb25SZXVzZWQo
KSkKKyAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cEVuZCgpOworCisgICAgLy8gUmVzb3VyY2VM
b2FkVGltaW5nJ3MgY29ubmVjdCBwaGFzZSBpbmNsdWRlcyBETlMgYW5kIFNTTCwgaG93ZXZlciBX
ZWIgVGltaW5nJ3MKKyAgICAvLyBjb25uZWN0IHBoYXNlIHNob3VsZCBub3QuIFNvIGlmIHRoZXJl
IGlzIEROUyB0aW1lLCB0cmltIGl0IGZyb20gdGhlIHN0YXJ0LgorICAgIGlmICh0aW1pbmctPmRu
c0VuZCA+PSAwICYmIHRpbWluZy0+ZG5zRW5kID4gY29ubmVjdFN0YXJ0KQorICAgICAgICBjb25u
ZWN0U3RhcnQgPSB0aW1pbmctPmRuc0VuZDsKKworICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1l
UmVsYXRpdmVUb0Fic29sdXRlKGNvbm5lY3RTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9u
ZyBQZXJmb3JtYW5jZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRM
b2FkZXIqIGxvYWRlciA9IGRvY3VtZW50TG9hZGVyKCk7CisgICAgaWYgKCFsb2FkZXIpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSBsb2FkZXIt
PnJlc3BvbnNlKCkucmVzb3VyY2VMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgLy8gY29ubmVjdEVuZCB3aWxsIGJlIC0xIHdoZW4gYSBuZXR3
b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUuCisgICAgLy8gUmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBz
cGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNhdGVzIG5vIG5ldyBjb25uZWN0aW9uLCB3ZSAiYmFja2Zp
bGwiIHdpdGggY29ubmVjdFN0YXJ0LgorICAgIGludCBjb25uZWN0RW5kID0gdGltaW5nLT5jb25u
ZWN0RW5kOworICAgIGlmIChjb25uZWN0RW5kIDwgMCB8fCBsb2FkZXItPnJlc3BvbnNlKCkuY29u
bmVjdGlvblJldXNlZCgpKQorICAgICAgICByZXR1cm4gY29ubmVjdFN0YXJ0KCk7CisKKyAgICAv
LyBSZXNvdXJjZUxvYWRUaW1pbmcncyBjb25uZWN0IHBoYXNlIGluY2x1ZGVzIEROUyBhbmQgU1NM
LCBob3dldmVyIFdlYiBUaW1pbmcncworICAgIC8vIGNvbm5lY3QgcGhhc2Ugc2hvdWxkIG5vdC4g
U28gaWYgdGhlcmUgaXMgU1NMIHRpbWUsIHRyaW0gaXQgZnJvbSB0aGUgZW5kLgorICAgIGlmICh0
aW1pbmctPnNzbFN0YXJ0ID49IDAgJiYgdGltaW5nLT5zc2xTdGFydCA8IGNvbm5lY3RFbmQpCisg
ICAgICAgIGNvbm5lY3RFbmQgPSB0aW1pbmctPnNzbFN0YXJ0OworCisgICAgcmV0dXJuIHJlc291
cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUoY29ubmVjdEVuZCk7Cit9CisKK3Vuc2lnbmVk
IGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKK3sKKyAg
ICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOworICAg
IGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIEFTU0VSVCh0aW1pbmctPnNl
bmRTdGFydCA+PSAwKTsKKyAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNv
bHV0ZSh0aW1pbmctPnNlbmRTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3Jt
YW5jZVRpbWluZzo6cmVxdWVzdEVuZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHJlc3BvbnNlU3Rh
cnQoKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZXNwb25z
ZVN0YXJ0KCkgY29uc3QKK3sKKyAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJlc291
cmNlTG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIC8vIEZJWE1FOiBSZXNwb25zZSBzdGFydCBuZWVkcyB0byBiZSB0aGUgdGltZSBvZiB0aGUg
Zmlyc3QgcmVjZWl2ZWQgYnl0ZS4KKyAgICAvLyBIb3dldmVyLCB0aGUgUmVzb3VyY2VMb2FkVGlt
aW5nIEFQSSBjdXJyZW50bHkgb25seSBzdXBwb3J0cyB0aGUgdGltZQorICAgIC8vIHRoZSBsYXN0
IGhlYWRlciBieXRlIHdhcyByZWNlaXZlZC4gRm9yIG1hbnkgcmVzcG9uc2VzIHdpdGggcmVhc29u
YWJsZQorICAgIC8vIHNpemVkIGNvb2tpZXMsIHRoZSBIVFRQIGhlYWRlcnMgZml0IGludG8gYSBz
aW5nbGUgcGFja2V0IHNvIHRoaXMgdGltZQorICAgIC8vIGlzIGJhc2ljYWxseSBlcXVpdmFsZW50
LiBCdXQgZm9yIHNvbWUgcmVzcG9uc2VzLCBwYXJ0aWN1bGFybHkgdGhvc2Ugd2l0aAorICAgIC8v
IGhlYWRlcnMgbGFyZ2VyIHRoYW4gYSBzaW5nbGUgcGFja2V0LCB0aGlzIHRpbWUgd2lsbCBiZSB0
b28gbGF0ZS4KKyAgICBBU1NFUlQodGltaW5nLT5yZWNlaXZlSGVhZGVyc0VuZCA+PSAwKTsKKyAg
ICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZSh0aW1pbmctPnJlY2Vp
dmVIZWFkZXJzRW5kKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5n
OjpyZXNwb25zZUVuZCgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcg
PSBkb2N1bWVudExvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+cmVzcG9uc2VF
bmQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OmRvbUxvYWRp
bmcoKSBjb25zdAoreworICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcgPSBkb2N1bWVu
dFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJl
dHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5kb21Mb2FkaW5nKTsKK30KKwordW5z
aWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpkb21JbnRlcmFjdGl2ZSgpIGNvbnN0
Cit7CisgICAgY29uc3QgRG9jdW1lbnRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50VGltaW5nKCk7
CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50
ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmRvbUludGVyYWN0aXZlKTsKK30KKwordW5zaWduZWQg
bG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpkb21Db250ZW50TG9hZGVkKCkgY29uc3QKK3sK
KyAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmcoKTsKKyAg
ICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRlZ2Vy
TWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tQ29udGVudExvYWRlZCk7Cit9CisKK3Vuc2lnbmVkIGxv
bmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6ZG9tQ29tcGxldGUoKSBjb25zdAoreworICAgIGNv
bnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudFRpbWluZygpOworICAgIGlmICgh
dGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNl
Y29uZHModGltaW5nLT5kb21Db21wbGV0ZSk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJm
b3JtYW5jZVRpbWluZzo6bG9hZEV2ZW50U3RhcnQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9h
ZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcp
CisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0
aW1pbmctPmxvYWRFdmVudFN0YXJ0KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1h
bmNlVGltaW5nOjpsb2FkRXZlbnRFbmQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZFRpbWlu
ZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmct
PmxvYWRFdmVudEVuZCk7Cit9CisKK0RvY3VtZW50TG9hZGVyKiBQZXJmb3JtYW5jZVRpbWluZzo6
ZG9jdW1lbnRMb2FkZXIoKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7
Cit9CisKK2NvbnN0IERvY3VtZW50VGltaW5nKiBQZXJmb3JtYW5jZVRpbWluZzo6ZG9jdW1lbnRU
aW1pbmcoKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1bWVudCgpOworICAgIGlmICgh
ZG9jdW1lbnQpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIGRvY3VtZW50LT50aW1p
bmcoKTsKK30KKworRG9jdW1lbnRMb2FkVGltaW5nKiBQZXJmb3JtYW5jZVRpbWluZzo6ZG9jdW1l
bnRMb2FkVGltaW5nKCkgY29uc3QKK3sKKyAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gZG9j
dW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICByZXR1cm4gbG9hZGVyLT50aW1pbmcoKTsKK30KKworUmVzb3VyY2VMb2FkVGltaW5nKiBQZXJm
b3JtYW5jZVRpbWluZzo6cmVzb3VyY2VMb2FkVGltaW5nKCkgY29uc3QKK3sKKyAgICBEb2N1bWVu
dExvYWRlciogbG9hZGVyID0gZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gbG9hZGVyLT5yZXNwb25zZSgpLnJlc291cmNl
TG9hZFRpbWluZygpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6
OnJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUoaW50IHJlbGF0aXZlU2Vjb25kcykg
Y29uc3QKK3sKKyAgICBBU1NFUlQocmVsYXRpdmVTZWNvbmRzID49IDApOworICAgIFJlc291cmNl
TG9hZFRpbWluZyogcmVzb3VyY2VUaW1pbmcgPSByZXNvdXJjZUxvYWRUaW1pbmcoKTsKKyAgICBB
U1NFUlQocmVzb3VyY2VUaW1pbmcpOworICAgIERvY3VtZW50TG9hZFRpbWluZyogZG9jdW1lbnRU
aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKKyAgICBBU1NFUlQoZG9jdW1lbnRUaW1pbmcp
OworCisgICAgLy8gVGhlIFJlc291cmNlTG9hZFRpbWluZyBBUEkncyByZXF1ZXN0VGltZSBpcyB0
aGUgYmFzZSB0aW1lIHRvIHdoaWNoIGFsbAorICAgIC8vIG90aGVyIG1hcmtzIGFyZSByZWxhdGl2
ZS4gU28gdG8gZ2V0IGFuIGFic29sdXRlIHRpbWUsIHdlIG11c3QgYWRkIGl0IHRvCisgICAgLy8g
dGhlIHJlbGF0aXZlIG1hcmtzLgorICAgIC8vCisgICAgLy8gU2luY2UgUmVzb3VyY2VMb2FkVGlt
aW5ncyBjYW1lIGZyb20gdGhlIG5ldHdvcmsgcGxhdGZvcm0gbGF5ZXIsIHdlIG11c3QKKyAgICAv
LyBjaGVjayB0aGVtIGZvciBza2V3IGJlY2F1c2UgdGhleSBtYXkgYmUgZnJvbSBhbm90aGVyIHRo
cmVhZC9wcm9jZXNzLgorICAgIGRvdWJsZSBiYXNlVGltZSA9IGdldFBvc3NpYmx5U2tld2VkVGlt
ZUluS25vd25SYW5nZShyZXNvdXJjZVRpbWluZy0+cmVxdWVzdFRpbWUsIGRvY3VtZW50VGltaW5n
LT5mZXRjaFN0YXJ0LCBkb2N1bWVudFRpbWluZy0+cmVzcG9uc2VFbmQgLSAocmVzb3VyY2VUaW1p
bmctPnJlY2VpdmVIZWFkZXJzRW5kIC8gMTAwMC4wKSk7CisgICAgcmV0dXJuIHRvSW50ZWdlck1p
bGxpc2Vjb25kcyhiYXNlVGltZSkgKyByZWxhdGl2ZVNlY29uZHM7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmggYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDQ1YjU1Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmgKQEAgLTAs
MCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgUGVyZm9ybWFuY2VUaW1pbmdfaAorI2RlZmluZSBQZXJmb3JtYW5j
ZVRpbWluZ19oCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgRG9jdW1lbnRMb2FkVGltaW5nOworY2xhc3MgRG9jdW1lbnRMb2FkZXI7
CitzdHJ1Y3QgRG9jdW1lbnRUaW1pbmc7CitjbGFzcyBGcmFtZTsKK2NsYXNzIFJlc291cmNlTG9h
ZFRpbWluZzsKKworY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmcgOiBwdWJsaWMgUmVmQ291bnRlZDxQ
ZXJmb3JtYW5jZVRpbWluZz4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZv
cm1hbmNlVGltaW5nPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
UGVyZm9ybWFuY2VUaW1pbmcoZnJhbWUpKTsgfQorCisgICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7
CisgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKKworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBu
YXZpZ2F0aW9uU3RhcnQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgdW5sb2FkRXZl
bnRFbmQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RTdGFydCgpIGNv
bnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdEVuZCgpIGNvbnN0OworICAgIHVu
c2lnbmVkIGxvbmcgbG9uZyBmZXRjaFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBs
b25nIGRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRv
bWFpbkxvb2t1cEVuZCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBjb25uZWN0U3Rh
cnQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVjdEVuZCgpIGNvbnN0Owor
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXF1ZXN0U3RhcnQoKSBjb25zdDsKKyAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgcmVxdWVzdEVuZCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBy
ZXNwb25zZVN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlc3BvbnNlRW5k
KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbUxvYWRpbmcoKSBjb25zdDsKKyAg
ICB1bnNpZ25lZCBsb25nIGxvbmcgZG9tSW50ZXJhY3RpdmUoKSBjb25zdDsKKyAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgZG9tQ29udGVudExvYWRlZCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBkb21Db21wbGV0ZSgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkRXZl
bnRTdGFydCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkRXZlbnRFbmQoKSBj
b25zdDsKKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVRpbWluZyhGcmFtZSopOworCisgICAg
Y29uc3QgRG9jdW1lbnRUaW1pbmcqIGRvY3VtZW50VGltaW5nKCkgY29uc3Q7CisgICAgRG9jdW1l
bnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyKCkgY29uc3Q7CisgICAgRG9jdW1lbnRMb2FkVGltaW5n
KiBkb2N1bWVudExvYWRUaW1pbmcoKSBjb25zdDsKKyAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHJl
c291cmNlTG9hZFRpbWluZygpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNvdXJj
ZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKGludCkgY29uc3Q7CisKKyAgICBGcmFtZSogbV9m
cmFtZTsKK307CisKK30KKworI2VuZGlmIC8vICFFTkFCTEUoV0VCX1RJTUlORykKKyNlbmRpZiAv
LyAhZGVmaW5lZChQZXJmb3JtYW5jZVRpbWluZ19oKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVGltaW5nLmlkbCBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IxZDU5ZAotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKQEAgLTAsMCArMSw1
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK21vZHVsZSB3aW5kb3cgeworCisgICAgLy8gU2VlOiBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJUaW1pbmcvCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJfVElNSU5H
LCBPbWl0Q29uc3RydWN0b3JdIFBlcmZvcm1hbmNlVGltaW5nIHsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXZpZ2F0aW9uU3RhcnQ7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgdW5sb2FkRXZlbnRFbmQ7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RTdGFydDsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdEVu
ZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBmZXRjaFN0
YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbWFp
bkxvb2t1cFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBs
b25nIGRvbWFpbkxvb2t1cEVuZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgbG9uZyBjb25uZWN0U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGxvbmcgY29ubmVjdEVuZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbG9uZyByZXF1ZXN0U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVxdWVzdEVuZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZVN0YXJ0OworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlc3BvbnNlRW5kOworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUxvYWRpbmc7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tSW50ZXJhY3RpdmU7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29udGVudExvYWRlZDsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Db21wbGV0
ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkRXZl
bnRTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBs
b2FkRXZlbnRFbmQ7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1RpbWlu
Zy5jcHAgYi9XZWJDb3JlL3BhZ2UvVGltaW5nLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggM2Q5OGRjMi4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL3BhZ2UvVGltaW5nLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDM2MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
LSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IlRpbWluZy5oIgotCi0jaWYgRU5BQkxFKFdFQl9USU1JTkcpCi0KLSNpbmNsdWRlICJEb2N1bWVu
dExvYWRUaW1pbmcuaCIKLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgotI2luY2x1ZGUgIkRv
Y3VtZW50VGltaW5nLmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxv
YWRUaW1pbmcuaCIKLSNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyB0b0ludGVnZXJNaWxsaXNlY29u
ZHMoZG91YmxlIHNlY29uZHMpCi17Ci0gICAgQVNTRVJUKHNlY29uZHMgPj0gMCk7Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4oc2Vjb25kcyAqIDEwMDAuMCk7Ci19
Ci0KLXN0YXRpYyBkb3VibGUgZ2V0UG9zc2libHlTa2V3ZWRUaW1lSW5Lbm93blJhbmdlKGRvdWJs
ZSBza2V3ZWRUaW1lLCBkb3VibGUgbG93ZXJCb3VuZCwgZG91YmxlIHVwcGVyQm91bmQpCi17Ci0j
aWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgLy8gVGhlIGNocm9taXVtIHBvcnQncyBjdXJyZW50
VGltZSgpIGltcGxlbWVudGF0aW9uIG9ubHkgc3luY3Mgd2l0aCB0aGUKLSAgICAvLyBzeXN0ZW0g
Y2xvY2sgZXZlcnkgNjAgc2Vjb25kcy4gU28gaXQgaXMgcG9zc2libGUgZm9yIHRpbWluZyBtYXJr
cwotICAgIC8vIGNvbGxlY3RlZCBpbiBkaWZmZXJlbnQgdGhyZWFkcyBvciBwcm9jZXNzZXMgdG8g
aGF2ZSBhIHNtYWxsIHNrZXcuCi0gICAgLy8gRklYTUU6IEl0IG1heSBiZSBwb3NzaWJsZSB0byBh
ZGQgYSBjdXJyZW50VGltZUZyb21TeXN0ZW1UaW1lKCkgbWV0aG9kCi0gICAgLy8gdGhhdCBlbGlt
aW5hdGVzIHRoZSBza2V3LgotICAgIGlmIChza2V3ZWRUaW1lIDw9IGxvd2VyQm91bmQpCi0gICAg
ICAgIHJldHVybiBsb3dlckJvdW5kOwotCi0gICAgaWYgKHNrZXdlZFRpbWUgPj0gdXBwZXJCb3Vu
ZCkKLSAgICAgICAgcmV0dXJuIHVwcGVyQm91bmQ7Ci0jZWxzZQotICAgIEFTU0VSVF9VTlVTRUQo
bG93ZXJCb3VuZCwgc2tld2VkVGltZSA+PSBsb3dlckJvdW5kKTsKLSAgICBBU1NFUlRfVU5VU0VE
KHVwcGVyQm91bmQsIHNrZXdlZFRpbWUgPD0gdXBwZXJCb3VuZCk7Ci0jZW5kaWYKLQotICAgIHJl
dHVybiBza2V3ZWRUaW1lOwotfQotCi1UaW1pbmc6OlRpbWluZyhGcmFtZSogZnJhbWUpCi0gICAg
OiBtX2ZyYW1lKGZyYW1lKQotewotfQotCi1GcmFtZSogVGltaW5nOjpmcmFtZSgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG1fZnJhbWU7Ci19Ci0KLXZvaWQgVGltaW5nOjpkaXNjb25uZWN0RnJhbWUo
KQotewotICAgIG1fZnJhbWUgPSAwOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpu
YXZpZ2F0aW9uU3RhcnQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5n
ID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVy
biAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPm5hdmlnYXRp
b25TdGFydCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnVubG9hZEV2ZW50RW5k
KCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9h
ZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJl
dHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCk7Ci19Ci0K
LXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJlZGlyZWN0U3RhcnQoKSBjb25zdAotewotICAg
IERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0gICAg
aWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1p
bGxpc2Vjb25kcyh0aW1pbmctPnJlZGlyZWN0U3RhcnQpOwotfQotCi11bnNpZ25lZCBsb25nIGxv
bmcgVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5n
KiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAg
ICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+
cmVkaXJlY3RFbmQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpmZXRjaFN0YXJ0
KCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9h
ZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJl
dHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5mZXRjaFN0YXJ0KTsKLX0KLQotdW5z
aWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAotewotICAg
IFJlc291cmNlTG9hZFRpbWluZyogdGltaW5nID0gcmVzb3VyY2VMb2FkVGltaW5nKCk7Ci0gICAg
aWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgLy8gVGhpcyB3aWxsIGJlIC0x
IHdoZW4gYSBETlMgcmVxdWVzdCBpcyBub3QgcGVyZm9ybWVkLgotICAgIC8vIFJhdGhlciB0aGFu
IGV4cG9zaW5nIGEgc3BlY2lhbCB2YWx1ZSB0aGF0IGluZGljYXRlcyBubyBETlMsIHdlICJiYWNr
ZmlsbCIgd2l0aCBmZXRjaFN0YXJ0LgotICAgIGludCBkbnNTdGFydCA9IHRpbWluZy0+ZG5zU3Rh
cnQ7Ci0gICAgaWYgKGRuc1N0YXJ0IDwgMCkKLSAgICAgICAgcmV0dXJuIGZldGNoU3RhcnQoKTsK
LQotICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKGRuc1N0YXJ0
KTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29u
c3QKLXsKLSAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWlu
ZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIFRoaXMg
d2lsbCBiZSAtMSB3aGVuIGEgRE5TIHJlcXVlc3QgaXMgbm90IHBlcmZvcm1lZC4KLSAgICAvLyBS
YXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8gRE5T
LCB3ZSAiYmFja2ZpbGwiIHdpdGggZG9tYWluTG9va3VwU3RhcnQuCi0gICAgaW50IGRuc0VuZCA9
IHRpbWluZy0+ZG5zRW5kOwotICAgIGlmIChkbnNFbmQgPCAwKQotICAgICAgICByZXR1cm4gZG9t
YWluTG9va3VwU3RhcnQoKTsKLQotICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVU
b0Fic29sdXRlKGRuc0VuZCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OmNvbm5l
Y3RTdGFydCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGRvY3VtZW50
TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgUmVz
b3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSBsb2FkZXItPnJlc3BvbnNlKCkucmVzb3VyY2VMb2Fk
VGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgLy8g
Y29ubmVjdFN0YXJ0IHdpbGwgYmUgLTEgd2hlbiBhIG5ldHdvcmsgcmVxdWVzdCBpcyBub3QgbWFk
ZS4KLSAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBpbmRp
Y2F0ZXMgbm8gbmV3IGNvbm5lY3Rpb24sIHdlICJiYWNrZmlsbCIgd2l0aCBkb21haW5Mb29rdXBF
bmQuCi0gICAgaW50IGNvbm5lY3RTdGFydCA9IHRpbWluZy0+Y29ubmVjdFN0YXJ0OwotICAgIGlm
IChjb25uZWN0U3RhcnQgPCAwIHx8IGxvYWRlci0+cmVzcG9uc2UoKS5jb25uZWN0aW9uUmV1c2Vk
KCkpCi0gICAgICAgIHJldHVybiBkb21haW5Mb29rdXBFbmQoKTsKLQotICAgIC8vIFJlc291cmNl
TG9hZFRpbWluZydzIGNvbm5lY3QgcGhhc2UgaW5jbHVkZXMgRE5TIGFuZCBTU0wsIGhvd2V2ZXIg
V2ViIFRpbWluZydzCi0gICAgLy8gY29ubmVjdCBwaGFzZSBzaG91bGQgbm90LiBTbyBpZiB0aGVy
ZSBpcyBETlMgdGltZSwgdHJpbSBpdCBmcm9tIHRoZSBzdGFydC4KLSAgICBpZiAodGltaW5nLT5k
bnNFbmQgPj0gMCAmJiB0aW1pbmctPmRuc0VuZCA+IGNvbm5lY3RTdGFydCkKLSAgICAgICAgY29u
bmVjdFN0YXJ0ID0gdGltaW5nLT5kbnNFbmQ7Ci0KLSAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGlt
ZVJlbGF0aXZlVG9BYnNvbHV0ZShjb25uZWN0U3RhcnQpOwotfQotCi11bnNpZ25lZCBsb25nIGxv
bmcgVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRlciogbG9h
ZGVyID0gZG9jdW1lbnRMb2FkZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAgICAgcmV0dXJu
IDA7Ci0KLSAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IGxvYWRlci0+cmVzcG9uc2Uo
KS5yZXNvdXJjZUxvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJu
IDA7Ci0KLSAgICAvLyBjb25uZWN0RW5kIHdpbGwgYmUgLTEgd2hlbiBhIG5ldHdvcmsgcmVxdWVz
dCBpcyBub3QgbWFkZS4KLSAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwgdmFs
dWUgdGhhdCBpbmRpY2F0ZXMgbm8gbmV3IGNvbm5lY3Rpb24sIHdlICJiYWNrZmlsbCIgd2l0aCBj
b25uZWN0U3RhcnQuCi0gICAgaW50IGNvbm5lY3RFbmQgPSB0aW1pbmctPmNvbm5lY3RFbmQ7Ci0g
ICAgaWYgKGNvbm5lY3RFbmQgPCAwIHx8IGxvYWRlci0+cmVzcG9uc2UoKS5jb25uZWN0aW9uUmV1
c2VkKCkpCi0gICAgICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKLQotICAgIC8vIFJlc291cmNl
TG9hZFRpbWluZydzIGNvbm5lY3QgcGhhc2UgaW5jbHVkZXMgRE5TIGFuZCBTU0wsIGhvd2V2ZXIg
V2ViIFRpbWluZydzCi0gICAgLy8gY29ubmVjdCBwaGFzZSBzaG91bGQgbm90LiBTbyBpZiB0aGVy
ZSBpcyBTU0wgdGltZSwgdHJpbSBpdCBmcm9tIHRoZSBlbmQuCi0gICAgaWYgKHRpbWluZy0+c3Ns
U3RhcnQgPj0gMCAmJiB0aW1pbmctPnNzbFN0YXJ0IDwgY29ubmVjdEVuZCkKLSAgICAgICAgY29u
bmVjdEVuZCA9IHRpbWluZy0+c3NsU3RhcnQ7Ci0KLSAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGlt
ZVJlbGF0aXZlVG9BYnNvbHV0ZShjb25uZWN0RW5kKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25n
IFRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKLXsKLSAgICBSZXNvdXJjZUxvYWRUaW1pbmcq
IHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAg
ICByZXR1cm4gMDsKLQotICAgIEFTU0VSVCh0aW1pbmctPnNlbmRTdGFydCA+PSAwKTsKLSAgICBy
ZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZSh0aW1pbmctPnNlbmRTdGFy
dCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJlcXVlc3RFbmQoKSBjb25zdAot
ewotICAgIHJldHVybiByZXNwb25zZVN0YXJ0KCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBU
aW1pbmc6OnJlc3BvbnNlU3RhcnQoKSBjb25zdAotewotICAgIFJlc291cmNlTG9hZFRpbWluZyog
dGltaW5nID0gcmVzb3VyY2VMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAg
IHJldHVybiAwOwotCi0gICAgLy8gRklYTUU6IFJlc3BvbnNlIHN0YXJ0IG5lZWRzIHRvIGJlIHRo
ZSB0aW1lIG9mIHRoZSBmaXJzdCByZWNlaXZlZCBieXRlLgotICAgIC8vIEhvd2V2ZXIsIHRoZSBS
ZXNvdXJjZUxvYWRUaW1pbmcgQVBJIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHRoZSB0aW1lCi0g
ICAgLy8gdGhlIGxhc3QgaGVhZGVyIGJ5dGUgd2FzIHJlY2VpdmVkLiBGb3IgbWFueSByZXNwb25z
ZXMgd2l0aCByZWFzb25hYmxlCi0gICAgLy8gc2l6ZWQgY29va2llcywgdGhlIEhUVFAgaGVhZGVy
cyBmaXQgaW50byBhIHNpbmdsZSBwYWNrZXQgc28gdGhpcyB0aW1lCi0gICAgLy8gaXMgYmFzaWNh
bGx5IGVxdWl2YWxlbnQuIEJ1dCBmb3Igc29tZSByZXNwb25zZXMsIHBhcnRpY3VsYXJseSB0aG9z
ZSB3aXRoCi0gICAgLy8gaGVhZGVycyBsYXJnZXIgdGhhbiBhIHNpbmdsZSBwYWNrZXQsIHRoaXMg
dGltZSB3aWxsIGJlIHRvbyBsYXRlLgotICAgIEFTU0VSVCh0aW1pbmctPnJlY2VpdmVIZWFkZXJz
RW5kID49IDApOwotICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29sdXRl
KHRpbWluZy0+cmVjZWl2ZUhlYWRlcnNFbmQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGlt
aW5nOjpyZXNwb25zZUVuZCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1p
bmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0
dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+cmVzcG9u
c2VFbmQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpkb21Mb2FkaW5nKCkgY29u
c3QKLXsKLSAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmco
KTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9J
bnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tTG9hZGluZyk7Ci19Ci0KLXVuc2lnbmVkIGxv
bmcgbG9uZyBUaW1pbmc6OmRvbUludGVyYWN0aXZlKCkgY29uc3QKLXsKLSAgICBjb25zdCBEb2N1
bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykK
LSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRp
bWluZy0+ZG9tSW50ZXJhY3RpdmUpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpk
b21Db250ZW50TG9hZGVkKCkgY29uc3QKLXsKLSAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGlt
aW5nID0gZG9jdW1lbnRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJu
IDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tQ29udGVu
dExvYWRlZCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OmRvbUNvbXBsZXRlKCkg
Y29uc3QKLXsKLSAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1p
bmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4g
dG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tQ29tcGxldGUpOwotfQotCi11bnNpZ25l
ZCBsb25nIGxvbmcgVGltaW5nOjpsb2FkRXZlbnRTdGFydCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1l
bnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRp
bWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNv
bmRzKHRpbWluZy0+bG9hZEV2ZW50U3RhcnQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGlt
aW5nOjpsb2FkRXZlbnRFbmQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWluZyogdGlt
aW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmxvYWRF
dmVudEVuZCk7Ci19Ci0KLURvY3VtZW50TG9hZGVyKiBUaW1pbmc6OmRvY3VtZW50TG9hZGVyKCkg
Y29uc3QKLXsKLSAgICBpZiAoIW1fZnJhbWUpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0
dXJuIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOwotfQotCi1jb25zdCBEb2N1
bWVudFRpbWluZyogVGltaW5nOjpkb2N1bWVudFRpbWluZygpIGNvbnN0Ci17Ci0gICAgaWYgKCFt
X2ZyYW1lKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1f
ZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICByZXR1cm4gZG9jdW1lbnQtPnRpbWluZygpOwotfQotCi1Eb2N1bWVudExvYWRUaW1p
bmcqIFRpbWluZzo6ZG9jdW1lbnRMb2FkVGltaW5nKCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExv
YWRlciogbG9hZGVyID0gZG9jdW1lbnRMb2FkZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAg
ICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gbG9hZGVyLT50aW1pbmcoKTsKLX0KLQotUmVzb3Vy
Y2VMb2FkVGltaW5nKiBUaW1pbmc6OnJlc291cmNlTG9hZFRpbWluZygpIGNvbnN0Ci17Ci0gICAg
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGRvY3VtZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2Fk
ZXIpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIGxvYWRlci0+cmVzcG9uc2UoKS5y
ZXNvdXJjZUxvYWRUaW1pbmcoKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6cmVz
b3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZShpbnQgcmVsYXRpdmVTZWNvbmRzKSBjb25z
dAotewotICAgIEFTU0VSVChyZWxhdGl2ZVNlY29uZHMgPj0gMCk7Ci0gICAgUmVzb3VyY2VMb2Fk
VGltaW5nKiByZXNvdXJjZVRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOwotICAgIEFTU0VS
VChyZXNvdXJjZVRpbWluZyk7Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiBkb2N1bWVudFRpbWlu
ZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOwotICAgIEFTU0VSVChkb2N1bWVudFRpbWluZyk7Ci0K
LSAgICAvLyBUaGUgUmVzb3VyY2VMb2FkVGltaW5nIEFQSSdzIHJlcXVlc3RUaW1lIGlzIHRoZSBi
YXNlIHRpbWUgdG8gd2hpY2ggYWxsCi0gICAgLy8gb3RoZXIgbWFya3MgYXJlIHJlbGF0aXZlLiBT
byB0byBnZXQgYW4gYWJzb2x1dGUgdGltZSwgd2UgbXVzdCBhZGQgaXQgdG8KLSAgICAvLyB0aGUg
cmVsYXRpdmUgbWFya3MuCi0gICAgLy8KLSAgICAvLyBTaW5jZSBSZXNvdXJjZUxvYWRUaW1pbmdz
IGNhbWUgZnJvbSB0aGUgbmV0d29yayBwbGF0Zm9ybSBsYXllciwgd2UgbXVzdAotICAgIC8vIGNo
ZWNrIHRoZW0gZm9yIHNrZXcgYmVjYXVzZSB0aGV5IG1heSBiZSBmcm9tIGFub3RoZXIgdGhyZWFk
L3Byb2Nlc3MuCi0gICAgZG91YmxlIGJhc2VUaW1lID0gZ2V0UG9zc2libHlTa2V3ZWRUaW1lSW5L
bm93blJhbmdlKHJlc291cmNlVGltaW5nLT5yZXF1ZXN0VGltZSwgZG9jdW1lbnRUaW1pbmctPmZl
dGNoU3RhcnQsIGRvY3VtZW50VGltaW5nLT5yZXNwb25zZUVuZCAtIChyZXNvdXJjZVRpbWluZy0+
cmVjZWl2ZUhlYWRlcnNFbmQgLyAxMDAwLjApKTsKLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlz
ZWNvbmRzKGJhc2VUaW1lKSArIHJlbGF0aXZlU2Vjb25kczsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvVGltaW5nLmggYi9XZWJDb3JlL3BhZ2UvVGltaW5nLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDNlMzQ4NWYuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9wYWdlL1RpbWlu
Zy5oCisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
Ci0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
Ci0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgVGltaW5nX2gKLSNkZWZp
bmUgVGltaW5nX2gKLQotI2lmIEVOQUJMRShXRUJfVElNSU5HKQotCi0jaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLXN0cnVjdCBEb2N1bWVudExvYWRUaW1pbmc7Ci1jbGFzcyBEb2N1bWVudExvYWRl
cjsKLXN0cnVjdCBEb2N1bWVudFRpbWluZzsKLWNsYXNzIEZyYW1lOwotY2xhc3MgUmVzb3VyY2VM
b2FkVGltaW5nOwotCi1jbGFzcyBUaW1pbmcgOiBwdWJsaWMgUmVmQ291bnRlZDxUaW1pbmc+IHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaW1pbmc+IGNyZWF0ZShGcmFtZSogZnJh
bWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBUaW1pbmcoZnJhbWUpKTsgfQotCi0gICAgRnJhbWUq
IGZyYW1lKCkgY29uc3Q7Ci0gICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKLQotICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyBuYXZpZ2F0aW9uU3RhcnQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25n
IGxvbmcgdW5sb2FkRXZlbnRFbmQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVk
aXJlY3RTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdEVuZCgp
IGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmZXRjaFN0YXJ0KCkgY29uc3Q7Ci0gICAg
dW5zaWduZWQgbG9uZyBsb25nIGRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5zaWdu
ZWQgbG9uZyBsb25nIGRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBjb25uZWN0U3RhcnQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVj
dEVuZCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXF1ZXN0U3RhcnQoKSBjb25z
dDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVxdWVzdEVuZCgpIGNvbnN0OwotICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyByZXNwb25zZVN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBs
b25nIHJlc3BvbnNlRW5kKCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbUxvYWRp
bmcoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgZG9tSW50ZXJhY3RpdmUoKSBjb25z
dDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29udGVudExvYWRlZCgpIGNvbnN0OwotICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Db21wbGV0ZSgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyBsb2FkRXZlbnRTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBs
b2FkRXZlbnRFbmQoKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBUaW1pbmcoRnJhbWUqKTsKLQot
ICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiBkb2N1bWVudFRpbWluZygpIGNvbnN0OwotICAgIERv
Y3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlcigpIGNvbnN0OwotICAgIERvY3VtZW50TG9hZFRp
bWluZyogZG9jdW1lbnRMb2FkVGltaW5nKCkgY29uc3Q7Ci0gICAgUmVzb3VyY2VMb2FkVGltaW5n
KiByZXNvdXJjZUxvYWRUaW1pbmcoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVz
b3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZShpbnQpIGNvbnN0OwotCi0gICAgRnJhbWUq
IG1fZnJhbWU7Ci19OwotCi19Ci0KLSNlbmRpZiAvLyAhRU5BQkxFKFdFQl9USU1JTkcpCi0jZW5k
aWYgLy8gIWRlZmluZWQoVGltaW5nX2gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVGltaW5n
LmlkbCBiL1dlYkNvcmUvcGFnZS9UaW1pbmcuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMGQzZTI0Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLW1vZHVsZSB3aW5kb3cgewotCi0gICAgLy8gU2VlOiBo
dHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvCi0gICAgaW50ZXJmYWNlIFtD
b25kaXRpb25hbD1XRUJfVElNSU5HLCBPbWl0Q29uc3RydWN0b3JdIFRpbWluZyB7Ci0gICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgbmF2aWdhdGlvblN0YXJ0Owot
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHVubG9hZEV2ZW50
RW5kOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGly
ZWN0U3RhcnQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
cmVkaXJlY3RFbmQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxv
bmcgZmV0Y2hTdGFydDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bG9uZyBkb21haW5Mb29rdXBTdGFydDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBFbmQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVjdFN0YXJ0OwotICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGNvbm5lY3RFbmQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVxdWVzdFN0YXJ0OwotICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlcXVlc3RFbmQ7Ci0gICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VTdGFydDsKLSAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZUVuZDsKLSAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Mb2FkaW5nOwotICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUludGVyYWN0aXZl
OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUNvbnRl
bnRMb2FkZWQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
ZG9tQ29tcGxldGU7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxv
bmcgbG9hZEV2ZW50U3RhcnQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGxvbmcgbG9hZEV2ZW50RW5kOwotICAgIH07Ci0KLX0KZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDY4Njc3
MTQuLmIxN2ExMTAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTA4ICBK
YW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbV2ViIFRpbWluZ10gUmVuYW1lIGludGVy
ZmFjZXM6CisgICAgICAgIC0gTmF2aWdhdGlvbiAtPiBQZXJmb3JtYW5jZU5hdmlnYXRpb24KKyAg
ICAgICAgLSBUaW1pbmcgLT4gUGVyZm9ybWFuY2VUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4OTE5CisKKyAgICAgICAgKiBzcmMvV2ViUGVy
Zm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJmb3JtYW5jZTo6bmF2aWdhdGlv
blR5cGUpOgorCiAyMDEwLTExLTA4ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBlcmZvcm1hbmNlLmNwcAppbmRleCBmMDE5NzkzLi45MTc5OTcyIDEwMDY0NAotLS0gYS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBlcmZvcm1hbmNlLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlBlcmZvcm1hbmNlLmNwcApAQCAtNTAsMTEgKzUwLDExIEBAIHZvaWQgV2ViUGVyZm9y
bWFuY2U6OmFzc2lnbihjb25zdCBXZWJQZXJmb3JtYW5jZSYgb3RoZXIpCiBXZWJOYXZpZ2F0aW9u
VHlwZSBXZWJQZXJmb3JtYW5jZTo6bmF2aWdhdGlvblR5cGUoKSBjb25zdAogewogICAgIHN3aXRj
aCAobV9wcml2YXRlLT5uYXZpZ2F0aW9uKCktPnR5cGUoKSkgewotICAgIGNhc2UgTmF2aWdhdGlv
bjo6TkFWSUdBVEU6CisgICAgY2FzZSBQZXJmb3JtYW5jZU5hdmlnYXRpb246Ok5BVklHQVRFOgog
ICAgICAgICByZXR1cm4gV2ViTmF2aWdhdGlvblR5cGVPdGhlcjsKLSAgICBjYXNlIE5hdmlnYXRp
b246OlJFTE9BRDoKKyAgICBjYXNlIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6UkVMT0FEOgogICAg
ICAgICByZXR1cm4gV2ViTmF2aWdhdGlvblR5cGVSZWxvYWQ7Ci0gICAgY2FzZSBOYXZpZ2F0aW9u
OjpCQUNLX0ZPUldBUkQ6CisgICAgY2FzZSBQZXJmb3JtYW5jZU5hdmlnYXRpb246OkJBQ0tfRk9S
V0FSRDoKICAgICAgICAgcmV0dXJuIFdlYk5hdmlnYXRpb25UeXBlQmFja0ZvcndhcmQ7CiAgICAg
fQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73299</attachid>
            <date>2010-11-08 15:54:59 -0800</date>
            <delta_ts>2010-11-09 17:45:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>97488</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwNjAyN2JkLi5iYmI4ZTc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMTEt
MDggIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXZWIgVGltaW5nXSBSZW5hbWUg
aW50ZXJmYWNlczoKKyAgICAgICAgLSBOYXZpZ2F0aW9uIC0+IFBlcmZvcm1hbmNlTmF2aWdhdGlv
bgorICAgICAgICAtIFRpbWluZyAtPiBQZXJmb3JtYW5jZVRpbWluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5MTkKKworICAgICAgICAqIGZhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQ6IENs
YXNzIG5hbWVzIGNoYW5nZWQuCisKIDIwMTAtMTEtMDggIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
cGVyZm9ybWFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLWV4cGVjdGVkLnR4dAppbmRleCA4YmJhYmIwLi4x
OGIzY2RlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtcGVyZm9ybWFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQKQEAg
LTQsMTMgKzQsMTMgQEAgd2luZG93LndlYmtpdFBlcmZvcm1hbmNlIFtvYmplY3QgUGVyZm9ybWFu
Y2VdCiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubWVtb3J5IFtvYmplY3QgTWVtb3J5SW5mb10K
IHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5tZW1vcnkudG90YWxKU0hlYXBTaXplIFtudW1iZXJd
CiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubWVtb3J5LnVzZWRKU0hlYXBTaXplIFtudW1iZXJd
Ci13aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubmF2aWdhdGlvbiBbb2JqZWN0IE5hdmlnYXRpb25d
Cit3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubmF2aWdhdGlvbiBbb2JqZWN0IFBlcmZvcm1hbmNl
TmF2aWdhdGlvbl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLkJBQ0tfRk9S
V0FSRCBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24uTkFWSUdB
VEUgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlJFTE9BRCBb
bnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3Vu
dCBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSBbbnVt
YmVyXQotd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLnRpbWluZyBbb2JqZWN0IFRpbWluZ10KK3dp
bmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcgW29iamVjdCBQZXJmb3JtYW5jZVRpbWluZ10K
IHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCBbbnVtYmVyXQogd2lu
ZG93LndlYmtpdFBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgW251bWJlcl0KIHdpbmRv
dy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgW251bWJlcl0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNlNmFiMy4u
ODMwNWIxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0xMS0wOCAgSmFtZXMgU2ltb25zZW4gIDxzaW1v
bmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW1dlYiBUaW1pbmddIFJlbmFtZSBpbnRlcmZhY2VzOgorICAgICAgICAtIE5h
dmlnYXRpb24gLT4gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uCisgICAgICAgIC0gVGltaW5nIC0+IFBl
cmZvcm1hbmNlVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00ODkxOQorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpu
YXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp0aW1pbmcpOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlk
bDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHA6IFJlbmFtZWQgZnJv
bSBXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZU5hdmlnYXRpb246OlBlcmZvcm1hbmNlTmF2aWdhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZU5hdmlnYXRpb246OmZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlTmF2aWdhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlTmF2aWdhdGlvbjo6dHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZU5hdmlnYXRpb246OnJlZGlyZWN0Q291bnQpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmg6IFJlbmFtZWQgZnJvbSBXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5oLgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpjcmVhdGUpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbDogUmVuYW1lZCBmcm9tIFdlYkNvcmUvcGFn
ZS9OYXZpZ2F0aW9uLmlkbC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcDog
UmVuYW1lZCBmcm9tIFdlYkNvcmUvcGFnZS9UaW1pbmcuY3BwLgorICAgICAgICAoV2ViQ29yZTo6
dG9JbnRlZ2VyTWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OmdldFBvc3NpYmx5U2tl
d2VkVGltZUluS25vd25SYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWlu
Zzo6UGVyZm9ybWFuY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1p
bmc6OmZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkaXNjb25u
ZWN0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6Om5hdmlnYXRp
b25TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6dW5sb2FkRXZl
bnRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0U3Rh
cnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpmZXRjaFN0YXJ0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpjb25uZWN0U3RhcnQpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVRpbWluZzo6cmVxdWVzdEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVRpbWluZzo6cmVzcG9uc2VTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVRpbWluZzo6cmVzcG9uc2VFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1p
bmc6OmRvbUxvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRv
bUludGVyYWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21D
b250ZW50TG9hZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21D
b21wbGV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6bG9hZEV2ZW50
U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmxvYWRFdmVudEVu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6ZG9jdW1lbnRMb2FkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRvY3VtZW50VGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb2N1bWVudExvYWRUaW1pbmcp
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlc291cmNlTG9hZFRpbWlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6cmVzb3VyY2VMb2FkVGlt
ZVJlbGF0aXZlVG9BYnNvbHV0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5o
OiBSZW5hbWVkIGZyb20gV2ViQ29yZS9wYWdlL1RpbWluZy5oLgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5pZGw6IFJlbmFtZWQgZnJvbSBXZWJDb3JlL3BhZ2UvVGltaW5nLmlkbC4KKwogMjAxMC0x
MS0wOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBidWlsZCBjb3JyZWN0aW9uIGFmdGVyIEA3MDM2OS9ANzA4NDYuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CmluZGV4IGRjZDBlMjIuLjMwZmQyOTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yMzQsNyArMjM0LDYg
QEAKICNpbmNsdWRlICJKU01vdXNlRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVu
dC5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXAuY3BwIgotI2luY2x1ZGUgIkpTTmF2aWdh
dGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNOYXZpZ2F0b3IuY3BwIgogI2luY2x1ZGUgIkpTTm9kZS5j
cHAiCiAjaW5jbHVkZSAiSlNOb2RlRmlsdGVyLmNwcCIKQEAgLTI0Niw2ICsyNDUsOCBAQAogI2lu
Y2x1ZGUgIkpTT3ZlcmZsb3dFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNQYWdlVHJhbnNpdGlvbkV2
ZW50LmNwcCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlLmNwcCIKKyNpbmNsdWRlICJKU1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAi
CiAjaW5jbHVkZSAiSlNQb3BTdGF0ZUV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1Bvc2l0aW9uRXJy
b3IuY3BwIgogI2luY2x1ZGUgIkpTUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCIKQEAgLTQxNCw3
ICs0MTUsNiBAQAogI2luY2x1ZGUgIkpTVGV4dEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1RleHRN
ZXRyaWNzLmNwcCIKICNpbmNsdWRlICJKU1RpbWVSYW5nZXMuY3BwIgotI2luY2x1ZGUgIkpTVGlt
aW5nLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoRXZlbnQu
Y3BwIgogI2luY2x1ZGUgIkpTVG91Y2hMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlZjIy
YzgzLi45ZWMzNzA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNzgsNyArMjc4LDYgQEAgRE9NX0NM
QVNTRVMgPSBcCiAgICAgTW91c2VFdmVudCBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTmFt
ZWROb2RlTWFwIFwKLSAgICBOYXZpZ2F0aW9uIFwKICAgICBOYXZpZ2F0b3IgXAogICAgIE5vZGUg
XAogICAgIE5vZGVGaWx0ZXIgXApAQCAtMjkwLDYgKzI4OSw4IEBAIERPTV9DTEFTU0VTID0gXAog
ICAgIE92ZXJmbG93RXZlbnQgXAogICAgIFBhZ2VUcmFuc2l0aW9uRXZlbnQgXAogICAgIFBlcmZv
cm1hbmNlIFwKKyAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24gXAorICAgIFBlcmZvcm1hbmNlVGlt
aW5nIFwKICAgICBQb3BTdGF0ZUV2ZW50IFwKICAgICBQb3NpdGlvbkVycm9yIFwKICAgICBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24gXApAQCAtNDY5LDcgKzQ3MCw2IEBAIERPTV9DTEFTU0VTID0gXAog
ICAgIFRleHRFdmVudCBcCiAgICAgVGV4dE1ldHJpY3MgXAogICAgIFRpbWVSYW5nZXMgXAotICAg
IFRpbWluZyBcCiAgICAgVG91Y2ggXAogICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNoTGlzdCBc
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQppbmRleCA1M2QyZmI0Li5hMzM1ZjU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ0Nyw4ICs0NDcsNiBAQCB3
ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRh
dGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2RlTWFwLmggXAotCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0aW9uLmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05vZGUuY3BwIFwKQEAgLTQ3MSw2ICs0NjksMTAgQEAgd2ViY29yZV9i
dWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGFnZVRyYW5zaXRp
b25FdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuY3BwIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1BlcmZvcm1hbmNlVGltaW5nLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1BlcmZvcm1hbmNlVGltaW5nLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3BTdGF0
ZUV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BvcFN0YXRlRXZlbnQuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3IuY3BwIFwKQEAgLTUxMiw4
ICs1MTQsNiBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNUZXh0TWV0cmljcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVGltZVJh
bmdlcy5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUaW1lUmFuZ2VzLmggXAotCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUaW1pbmcuY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVGltaW5nLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaC5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1RvdWNoRXZlbnQuaCBcCkBAIC0yMTIyLDggKzIxMjIsNiBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmggXAogCVdlYkNvcmUvcGFn
ZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCBcCiAJV2ViQ29yZS9wYWdlL01vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCi0JV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3Bw
IFwKLQlXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5oIFwKIAlXZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
QmFzZS5jcHAgXAogCVdlYkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmggXAogCVdlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3IuY3BwIFwKQEAgLTIxMzgsNiArMjEzNiwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVdlYkNvcmUvcGFnZS9QYWdlLmggXAogCVdlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5j
cHAgXAogCVdlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIFwKKwlXZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisJV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5oIFwKKwlXZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKKwlXZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlckNsaWVu
dC5oIFwKIAlXZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmNwcCBcCiAJV2ViQ29yZS9wYWdlL1Bs
dWdpbkhhbHRlci5oIFwKQEAgLTIxNjQsOCArMjE2Niw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0LmggXAogCVdlYkNvcmUvcGFnZS9TdXNw
ZW5kYWJsZVRpbWVyLmNwcCBcCiAJV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBcCi0J
V2ViQ29yZS9wYWdlL1RpbWluZy5jcHAgXAotCVdlYkNvcmUvcGFnZS9UaW1pbmcuaCBcCiAJV2Vi
Q29yZS9wYWdlL1VzZXJDb250ZW50VHlwZXMuaCBcCiAJV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50
VVJMUGF0dGVybi5jcHAgXAogCVdlYkNvcmUvcGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uaCBc
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IDFiNmZiNTEuLmU0Y2U4YTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNDUsMTIgKzI0NSwxMiBAQAogICAgICAg
ICAgICAgJ3BhZ2UvSGlzdG9yeS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaWRs
JywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaWRsJywKLSAgICAgICAgICAgICdwYWdl
L05hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5pZGwnLAogICAg
ICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2UuaWRsJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuaWRsJywKICAgICAgICAgICAgICdwYWdlL1Bvc2l0aW9uRXJyb3IuaWRsJywKICAgICAgICAg
ICAgICdwYWdlL1NjcmVlbi5pZGwnLAotICAgICAgICAgICAgJ3BhZ2UvVGltaW5nLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9XZWJLaXRQb2ludC5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvV29y
a2VyTmF2aWdhdG9yLmlkbCcsCiAgICAgICAgICAgICAncGx1Z2lucy9ET01NaW1lVHlwZS5pZGwn
LApAQCAtMjI1NSw4ICsyMjU1LDYgQEAKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaCcs
CiAgICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCcsCiAg
ICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmgnLAotICAgICAg
ICAgICAgJ3BhZ2UvTmF2aWdhdGlvbi5jcHAnLAotICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdGlv
bi5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5jcHAnLAogICAgICAgICAgICAgJ3Bh
Z2UvTmF2aWdhdG9yLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yQmFzZS5jcHAnLApA
QCAtMjI3MSw2ICsyMjY5LDEwIEBACiAgICAgICAgICAgICAncGFnZS9QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZS5jcHAnLAogICAgICAgICAg
ICAgJ3BhZ2UvUGVyZm9ybWFuY2UuaCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5o
JywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCcsCisgICAgICAgICAg
ICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICdwYWdlL1BsdWdpbkhh
bHRlci5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGx1Z2luSGFsdGVyLmgnLAogICAgICAgICAg
ICAgJ3BhZ2UvUGx1Z2luSGFsdGVyQ2xpZW50LmgnLApAQCAtMjI5Nyw4ICsyMjk5LDYgQEAKICAg
ICAgICAgICAgICdwYWdlL1NwZWVjaElucHV0UmVzdWx0LmgnLAogICAgICAgICAgICAgJ3BhZ2Uv
U3VzcGVuZGFibGVUaW1lci5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oJywKLSAgICAgICAgICAgICdwYWdlL1RpbWluZy5jcHAnLAotICAgICAgICAgICAgJ3BhZ2Uv
VGltaW5nLmgnLAogICAgICAgICAgICAgJ3BhZ2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCcs
CiAgICAgICAgICAgICAncGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uaCcsCiAgICAgICAgICAg
ICAncGFnZS9Vc2VyQ29udGVudFR5cGVzLmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggOWQ5OTA2YS4uY2MwMzkzYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0z
MDcsMTIgKzMwNywxMiBAQCBJRExfQklORElOR1MgKz0gXAogICAgIHBhZ2UvSGlzdG9yeS5pZGwg
XAogICAgIHBhZ2UvTG9jYXRpb24uaWRsIFwKICAgICBwYWdlL01lbW9yeUluZm8uaWRsIFwKLSAg
ICBwYWdlL05hdmlnYXRpb24uaWRsIFwKICAgICBwYWdlL05hdmlnYXRvci5pZGwgXAogICAgIHBh
Z2UvUGVyZm9ybWFuY2UuaWRsIFwKKyAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwg
XAorICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKICAgICBwYWdlL1Bvc2l0aW9uRXJy
b3IuaWRsIFwKICAgICBwYWdlL1NjcmVlbi5pZGwgXAotICAgIHBhZ2UvVGltaW5nLmlkbCBcCiAg
ICAgcGFnZS9XZWJLaXRQb2ludC5pZGwgXAogICAgIHBhZ2UvV29ya2VyTmF2aWdhdG9yLmlkbCBc
CiAgICAgcGx1Z2lucy9ET01QbHVnaW4uaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDQ1OWU0ZmIuLmY1YTgwNzggMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAt
MTA4OSw3ICsxMDg5LDYgQEAgU09VUkNFUyArPSBcCiAgICAgcGFnZS9ET01TZWxlY3Rpb24uY3Bw
IFwKICAgICBwYWdlL0RPTVRpbWVyLmNwcCBcCiAgICAgcGFnZS9ET01XaW5kb3cuY3BwIFwKLSAg
ICBwYWdlL05hdmlnYXRpb24uY3BwIFwKICAgICBwYWdlL05hdmlnYXRvci5jcHAgXAogICAgIHBh
Z2UvTmF2aWdhdG9yQmFzZS5jcHAgXAogICAgIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIFwKQEAg
LTExMTIsNiArMTExMSw4IEBAIFNPVVJDRVMgKz0gXAogICAgIHBhZ2UvUGFnZUdyb3VwLmNwcCBc
CiAgICAgcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwIFwKICAgICBwYWdlL1BlcmZvcm1h
bmNlLmNwcCBcCisgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIFwKKyAgICBwYWdl
L1BlcmZvcm1hbmNlVGltaW5nLmNwcCBcCiAgICAgcGFnZS9QbHVnaW5IYWx0ZXIuY3BwIFwKICAg
ICBwYWdlL1ByaW50Q29udGV4dC5jcHAgXAogICAgIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwIFwK
QEAgLTExMTksNyArMTEyMCw2IEBAIFNPVVJDRVMgKz0gXAogICAgIHBhZ2UvU2V0dGluZ3MuY3Bw
IFwKICAgICBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcCBcCiAgICAgcGFnZS9TdXNwZW5kYWJs
ZVRpbWVyLmNwcCBcCi0gICAgcGFnZS9UaW1pbmcuY3BwIFwKICAgICBwYWdlL1VzZXJDb250ZW50
VVJMUGF0dGVybi5jcHAgXAogICAgIHBhZ2UvV2luZG93RmVhdHVyZXMuY3BwIFwKICAgICBwYWdl
L1hTU0F1ZGl0b3IuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IDg2OGE1ZDYuLmVlY2MxMjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpA
QCAtMTA2MzYsNyArMTA2MzYsNyBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0J
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTTmF2aWdhdGlvbi5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRv
ci5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiINCkBAIC0xMDY4OCwxMSArMTA2ODgsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0aW9u
LmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRvci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRvci5jcHAiDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU05vZGUuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiDQpAQCAtMTA3NDQsMTEgKzEwNzQ0LDExIEBACiAJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIk
KFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2
aWdhdG9yLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGUuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4N
CiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlLmNwcCINCisJCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
Tm9kZUZpbHRlci5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMDgwMCwxMSArMTA4MDAsMTEgQEAKIAkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNO
b2RlLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGVGaWx0ZXIuaCINCiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlRmlsdGVyLmNwcCINCisJCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTTm9kZUl0ZXJhdG9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTEwODU2LDExICsxMDg1NiwxMSBAQAog
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU05vZGVGaWx0ZXIuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUl0ZXJhdG9yLmgi
DQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUl0
ZXJhdG9yLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUxpc3QuY3BwIg0KIAkJCQk+DQogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTA5MTIs
MTEgKzEwOTEyLDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUl0ZXJhdG9yLmgiDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU05vZGVMaXN0LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTTm9kZUxpc3QuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RhdGlvbi5jcHAiDQog
CQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIN
CkBAIC0xMDk2OCwxMSArMTA5NjgsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJ
CTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlTGlzdC5oIg0KKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNOb3RhdGlvbi5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQot
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU05vdGF0aW9uLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0
aW9uLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIg0KQEAgLTExMDI0LDExICsxMTAyNCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGF0aW9u
LmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvbi5oIg0KIAkJCQk+DQogCQkJPC9GaWxl
Pg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvbi5jcHAiDQorCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU05vdGlmaWNhdGlvbkNlbnRlci5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMTA4MCwxMSArMTEwODAs
MTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb24uaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZp
Y2F0aW9uQ2VudGVyLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTT3ZlcmZs
b3dFdmVudC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiINCkBAIC0xMTEzNiwxMSArMTExMzYsMTEgQEAKIAkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3Rp
ZmljYXRpb25DZW50ZXIuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTT3ZlcmZsb3dFdmVudC5oIg0KIAkJ
CQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU092ZXJmbG93RXZl
bnQuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQYWdlVHJhbnNpdGlvbkV2ZW50LmNwcCINCiAJCQkJ
Pg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAg
LTExMTkyLDExICsxMTE5MiwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU092ZXJmbG93RXZlbnQuaCINCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTUGFnZVRyYW5zaXRpb25FdmVudC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIg0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNQZXJmb3JtYW5jZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMTI0OCwxMSArMTEyNDgsMTEg
QEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNQYWdlVHJhbnNpdGlvbkV2ZW50LmgiDQorCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Bl
cmZvcm1hbmNlLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTUGVyZm9ybWFuY2UuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQZXJmb3JtYW5jZU5hdmln
YXRpb24uY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0i
RGVidWd8V2luMzIiDQpAQCAtMTEzMDQsNyArMTEzMDQsNjMgQEAKIAkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQZXJmb3Jt
YW5jZS5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQZXJmb3JtYW5jZVRp
bWluZy5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1l
PSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+
DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0K
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQZXJmb3Jt
YW5jZVRpbWluZy5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQpAQCAtMjAyMjAs
NjIgKzIwMjc2LDYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1RpbWluZy5jcHAiDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJ
CQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJ
Lz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQot
CQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQot
CQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCi0JCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KLQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
LQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIi
DQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQot
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8
VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNUaW1pbmcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNUcmVlV2Fsa2VyLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBA
IC0yMzQyNCwxNCArMjM0MjQsNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRpb24uY3BwIg0KLQkJCQk+DQotCQkJPC9G
aWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxOYXZpZ2F0aW9uLmgi
DQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxw
YWdlXE5hdmlnYXRvci5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMjM0ODQsNiArMjM0
NzYsMjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccGFnZVxQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZU5hdmln
YXRpb24uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBhZ2VcUGVyZm9ybWFuY2VUaW1pbmcuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVRpbWluZy5o
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5c
cGFnZVxQbHVnaW5IYWx0ZXIuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTIzNTc2LDE0
ICsyMzU4NCw2IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHBhZ2VcVGltaW5nLmNwcCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcVGltaW5nLmgiDQotCQkJCT4NCi0JCQk8L0Zp
bGU+DQotCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFVzZXJDb250ZW50VVJM
UGF0dGVybi5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MWU5ZGUzLi4xOWY3NGFmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjYyNywxNyArMjYyNywxNyBAQAog
CQk4QTgxQkY4NTExRENGRDkwMDBEQTJCOTggLyogUmVzb3VyY2VMb2FkVGltaW5nLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTgxQkY4NDExRENGRDkw
MDBEQTJCOTggLyogUmVzb3VyY2VMb2FkVGltaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOEE4NDREMDQxMUQzQzE4RTAwMTQwNjVDIC8qIFBl
cmZvcm1hbmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhBODQ0RDAxMTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5jcHAgKi87IH07CiAJ
CThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE4NDREMDIxMUQzQzE4RTAwMTQwNjVD
IC8qIFBlcmZvcm1hbmNlLmggKi87IH07Ci0JCThBOUE1ODcwMTFFODRDMzYwMDhBQ0ZEMSAvKiBK
U05hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5jcHAgKi87IH07
Ci0JCThBOUE1ODcxMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODZGMTFFODRDMzYwMDhB
Q0ZEMSAvKiBKU05hdmlnYXRpb24uaCAqLzsgfTsKKwkJOEE5QTU4NzAxMUU4NEMzNjAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODZFMTFFODRDMzUwMDhBQ0ZEMSAvKiBKU1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAgKi87IH07CisJCThBOUE1ODcxMTFFODRDMzYwMDhBQ0ZEMSAv
KiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NkYxMUU4NEMzNjAwOEFDRkQxIC8qIEpTUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmggKi87IH07CiAJCThBOUE1ODc0MTFFODRDODEwMDhBQ0ZEMSAvKiBKU1Bl
cmZvcm1hbmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhBOUE1ODcyMTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmNwcCAqLzsgfTsK
IAkJOEE5QTU4NzUxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODczMTFFODRDODEwMDhB
Q0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmggKi87IH07Ci0JCThBOUE1ODg3MTFFODRGMzcwMDhBQ0ZE
MSAvKiBKU1RpbWluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4QTlBNTg3NjExRTg0Qzk4MDA4QUNGRDEgLyogSlNUaW1pbmcuY3BwICovOyB9Owot
CQk4QTlBNTg4ODExRTg0RjM3MDA4QUNGRDEgLyogSlNUaW1pbmcuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODc3MTFFODRDOTgwMDhBQ0ZEMSAv
KiBKU1RpbWluZy5oICovOyB9OworCQk4QTlBNTg4NzExRTg0RjM3MDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4QTlBNTg3NjExRTg0Qzk4MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5j
cHAgKi87IH07CisJCThBOUE1ODg4MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGlt
aW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlB
NTg3NzExRTg0Qzk4MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5oICovOyB9OwogCQk4
QUI0QkM3NzEyNkZEQjcxMDBERUI3MjcgLyogSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDhBQjRCQzc2MTI2RkRCNzEwMERFQjcyNyAvKiBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJ
bmNyZW1lbnRlci5oICovOyB9OwotCQk4QUY0RTU1NTExREM1QTM2MDAwRUQzREUgLyogTmF2aWdh
dGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogTmF2aWdhdGlvbi5jcHAgKi87IH07Ci0JCThBRjRF
NTU2MTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QUY0RTU1MzExREM1QTM2MDAwRUQzREUgLyogTmF2
aWdhdGlvbi5oICovOyB9OwotCQk4QUY0RTU1QjExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTU4
MTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuY3BwICovOyB9OwotCQk4QUY0RTU1QzExREM1QTYz
MDAwRUQzREUgLyogVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmggKi87IH07CisJ
CThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1NTIxMURD
NUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgKi87IH07CisJCThBRjRF
NTU2MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTUzMTFEQzVBMzYwMDBF
RDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLzsgfTsKKwkJOEFGNEU1NUIxMURDNUE2
MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTU4MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJm
b3JtYW5jZVRpbWluZy5jcHAgKi87IH07CisJCThBRjRFNTVDMTFEQzVBNjMwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEFGNEU1NTkxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmgg
Ki87IH07CiAJCThDNkVBNjE5MTFFRjdFMDQwMEZEOEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhD
NkVBNjE3MTFFRjdFMDQwMEZEOEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCAqLzsg
fTsKIAkJOEM2RUE2MUExMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhDNkVBNjE4
MTFFRjdFMDQwMEZEOEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggKi87IH07CiAJCThG
QUM3NzREMTE5ODcyQ0IwMDE1QUU5NCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEY5MzREODQxMTg5RjFF
RTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgKi87IH07CkBAIC04NzQxLDE5
ICs4NzQxLDE5IEBACiAJCThBODQ0RDAxMTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBODQ0RDAyMTFEM0MxOEUwMDE0MDY1QyAv
KiBQZXJmb3JtYW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3Jt
YW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTg0NEQwMzExRDNDMThFMDAx
NDA2NUMgLyogUGVyZm9ybWFuY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1h
bmNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOEE5QTU4NkUxMUU4NEMzNTAw
OEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU05hdmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4
QTlBNTg2RjExRTg0QzM2MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QTlBNTg2RjEx
RTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEE5QTU4NzIxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9y
bWFuY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZXJmb3Jt
YW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBOUE1ODczMTFFODRDODEw
MDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTUGVyZm9ybWFuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOEE5QTU4
NzYxMUU4NEM5ODAwOEFDRkQxIC8qIEpTVGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOEE5QTU4NzcxMUU4NEM5ODAwOEFDRkQxIC8qIEpTVGltaW5nLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTVGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCThBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGVyZm9ybWFuY2VUaW1pbmcu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QTlBNTg3NzExRTg0Qzk4MDA4QUNG
RDEgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1BlcmZvcm1hbmNlVGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CThBQjRCQzc2MTI2RkRCNzEwMERFQjcyNyAvKiBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJ
bmNyZW1lbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJZ25vcmVEZXN0
cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk4QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogTmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJOEFGNEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk4QUY0RTU1NDExREM1QTM2MDAwRUQzREUgLyogTmF2aWdh
dGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdGlvbi5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBRjRFNTU4MTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOEFGNEU1NTkxMURDNUE2MzAwMEVEM0RFIC8qIFRp
bWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1pbmcuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOEFGNEU1NUExMURDNUE2MzAwMEVEM0RFIC8qIFRpbWlu
Zy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2
aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QUY0RTU1
MzExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4QUY0RTU1NDExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZU5hdmln
YXRpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QUY0RTU1ODExREM1QTYz
MDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VUaW1pbmcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEFGNEU1NUExMURDNUE2MzAwMEVEM0RFIC8q
IFBlcmZvcm1hbmNlVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5j
ZVRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThDNkVBNjE3MTFFRjdF
MDQwMEZEOEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOyBwYXRoID0g
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOEM2RUE2MTgxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oOyBwYXRoID0gZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCThGOTM0RDgzMTE4OUYxRUUwMDUwOEQ1RCAvKiBKU01haW5U
aHJlYWRFeGVjU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzI3Niw5
ICsxMzI3Niw2IEBACiAJCQkJOUZGRTNFN0MxMUI1OUM2RTAwMzc4NzRFIC8qIE1lbW9yeUluZm8u
aWRsICovLAogCQkJCTkzRUIzNTVFMDlFMzdGRDYwMEY0Mzc5OSAvKiBNb3VzZUV2ZW50V2l0aEhp
dFRlc3RSZXN1bHRzLmNwcCAqLywKIAkJCQk5MzVDNDc2MjA5QUM0Q0U2MDBBNkFBQjQgLyogTW91
c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oICovLAotCQkJCThBRjRFNTUyMTFEQzVBMzYwMDBF
RDNERSAvKiBOYXZpZ2F0aW9uLmNwcCAqLywKLQkJCQk4QUY0RTU1MzExREM1QTM2MDAwRUQzREUg
LyogTmF2aWdhdGlvbi5oICovLAotCQkJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBOYXZp
Z2F0aW9uLmlkbCAqLywKIAkJCQlBOUM2RTVBMzBENzQ2NDU4MDA2NDQyRTkgLyogTmF2aWdhdG9y
LmNwcCAqLywKIAkJCQlBOUM2RTVBNDBENzQ2NDU4MDA2NDQyRTkgLyogTmF2aWdhdG9yLmggKi8s
CiAJCQkJQTlDNkU2NUQwRDc0NjY5NDAwNjQ0MkU5IC8qIE5hdmlnYXRvci5pZGwgKi8sCkBAIC0x
MzI5NSw2ICsxMzI5MiwxMiBAQAogCQkJCThBODQ0RDAxMTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJm
b3JtYW5jZS5jcHAgKi8sCiAJCQkJOEE4NDREMDIxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1h
bmNlLmggKi8sCiAJCQkJOEE4NDREMDMxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmlk
bCAqLywKKwkJCQk4QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uLmNwcCAqLywKKwkJCQk4QUY0RTU1MzExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmggKi8sCisJCQkJOEFGNEU1NTQxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5pZGwgKi8sCisJCQkJOEFGNEU1NTgxMURDNUE2MzAwMEVEM0RFIC8qIFBl
cmZvcm1hbmNlVGltaW5nLmNwcCAqLywKKwkJCQk4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyog
UGVyZm9ybWFuY2VUaW1pbmcuaCAqLywKKwkJCQk4QUY0RTU1QTExREM1QTYzMDAwRUQzREUgLyog
UGVyZm9ybWFuY2VUaW1pbmcuaWRsICovLAogCQkJCTc2OTNCQUNGMTA2QzJEQ0EwMDdCMDgyMyAv
KiBQbHVnaW5IYWx0ZXIuY3BwICovLAogCQkJCTc2OTNCQUQwMTA2QzJEQ0EwMDdCMDgyMyAvKiBQ
bHVnaW5IYWx0ZXIuaCAqLywKIAkJCQk3NjkzQkFEMTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2lu
SGFsdGVyQ2xpZW50LmggKi8sCkBAIC0xMzMyMyw5ICsxMzMyNiw2IEBACiAJCQkJNzU4OTc4RUIx
MjcwOTBENjAwNzZENUE5IC8qIFNwZWVjaElucHV0UmVzdWx0LmggKi8sCiAJCQkJNjJDMTIxN0Ex
MUFCOUU3NjAwM0M0NjJDIC8qIFN1c3BlbmRhYmxlVGltZXIuY3BwICovLAogCQkJCTYyQzEyMTdC
MTFBQjlFNzcwMDNDNDYyQyAvKiBTdXNwZW5kYWJsZVRpbWVyLmggKi8sCi0JCQkJOEFGNEU1NTgx
MURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5jcHAgKi8sCi0JCQkJOEFGNEU1NTkxMURDNUE2MzAw
MEVEM0RFIC8qIFRpbWluZy5oICovLAotCQkJCThBRjRFNTVBMTFEQzVBNjMwMDBFRDNERSAvKiBU
aW1pbmcuaWRsICovLAogCQkJCTAwM0YxRkU5MTFFNkFCNDMwMDgyNThEOSAvKiBVc2VyQ29udGVu
dFR5cGVzLmggKi8sCiAJCQkJQkNBQ0YzQkExMDcyOTIxQTAwQzBDOEEzIC8qIFVzZXJDb250ZW50
VVJMUGF0dGVybi5jcHAgKi8sCiAJCQkJQkNBQ0YzQkIxMDcyOTIxQTAwQzBDOEEzIC8qIFVzZXJD
b250ZW50VVJMUGF0dGVybi5oICovLApAQCAtMTcyMzQsMTYgKzE3MjM0LDE2IEBACiAJCQkJQkNF
MUM0M0EwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9jYXRpb24uaCAqLywKIAkJCQk5RkZFM0VBMzEx
QjVBNDM5MDAzNzg3NEUgLyogSlNNZW1vcnlJbmZvLmNwcCAqLywKIAkJCQk5RkZFM0VBNDExQjVB
NDM5MDAzNzg3NEUgLyogSlNNZW1vcnlJbmZvLmggKi8sCi0JCQkJOEE5QTU4NkUxMUU4NEMzNTAw
OEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5jcHAgKi8sCi0JCQkJOEE5QTU4NkYxMUU4NEMzNjAwOEFD
RkQxIC8qIEpTTmF2aWdhdGlvbi5oICovLAogCQkJCUE5RDI0N0Y1MEQ3NTdFMzMwMEZERjk1OSAv
KiBKU05hdmlnYXRvci5jcHAgKi8sCiAJCQkJQTlEMjQ3RjYwRDc1N0UzMzAwRkRGOTU5IC8qIEpT
TmF2aWdhdG9yLmggKi8sCiAJCQkJOEE5QTU4NzIxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9y
bWFuY2UuY3BwICovLAogCQkJCThBOUE1ODczMTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1h
bmNlLmggKi8sCisJCQkJOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmNwcCAqLywKKwkJCQk4QTlBNTg2RjExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZU5hdmlnYXRpb24uaCAqLywKKwkJCQk4QTlBNTg3NjExRTg0Qzk4MDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZVRpbWluZy5jcHAgKi8sCisJCQkJOEE5QTU4NzcxMUU4NEM5ODAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuaCAqLywKIAkJCQlCQ0VDMDFDMDBDMjc0REREMDA5RjRF
QzkgLyogSlNTY3JlZW4uY3BwICovLAogCQkJCUJDRUMwMUMxMEMyNzREREQwMDlGNEVDOSAvKiBK
U1NjcmVlbi5oICovLAotCQkJCThBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1RpbWluZy5j
cHAgKi8sCi0JCQkJOEE5QTU4NzcxMUU4NEM5ODAwOEFDRkQxIC8qIEpTVGltaW5nLmggKi8sCiAJ
CQkJNDk0QkQ3OUIwRjU1Qzk0QzAwNzQ3ODI4IC8qIEpTV2ViS2l0UG9pbnQuY3BwICovLAogCQkJ
CTQ5NEJENzlDMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktpdFBvaW50LmggKi8sCiAJCQkpOwpA
QCAtMjAxNjAsNyArMjAxNjAsNiBAQAogCQkJCUE4NjYyOUQxMDlEQTJCNDgwMDk2MzNBNSAvKiBK
U01vdXNlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZDMDlEMUNDNjAwMDBCRTMy
NSAvKiBKU011dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRDlDMkMxMEMxN0I2
OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOEE5QTU4
NzExMUU4NEMzNjAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTlEMjQ3RjgwRDc1N0UzNDAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzk0MzlDMzExNkNGNDk0MDA0OEM3NTAgLyogSlNOb2RlQ3VzdG9tLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxNDExNUI3MzA5Rjg0Q0Q2MDBDQTRGQzEgLyogSlNOb2RlRmlsdGVyLmggaW4g
SGVhZGVycyAqLywKQEAgLTIwMTc0LDYgKzIwMTczLDggQEAKIAkJCQkxQTBENTc0MTBBNUM3ODY3
MDA3RURENEMgLyogSlNPdmVyZmxvd0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI4NEJC
MTEwNDQ5RkZBMDBFQUVCNTIgLyogSlNQYWdlVHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk4QTlBNTg3NTExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJOEE5QTU4NzExMUU4NEMzNjAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk4QTlBNTg4ODExRTg0RjM3MDA4QUNGRDEg
LyogSlNQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNCNzBENkMwOUVC
MEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE4OUYwMUUxMEIzN0JEOTAwRjNDNzM5IC8qIEpTUG9wU3RhdGVFdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRkU4MERBNzIwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJv
ci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMDM0Niw3ICsyMDM0Nyw2IEBACiAJCQkJOTMzQTE0Qjkw
QjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VG
NDVGNjBFNjg3QjVDMDAxQzEyODcgLyogSlNUZXh0TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTQ0NjE0MUIwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTVGltZVJhbmdlcy5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJOEE5QTU4ODgxMUU4NEYzNzAwOEFDRkQxIC8qIEpTVGltaW5nLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTc1MEQ1RDBBOTBERUUxMDAwRkYyMTUgLyogSlNUcmVlV2Fsa2VyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODY2MjlDRjA5REEyQjQ3MDA5NjMzQTUgLyogSlNVSUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OUVFQ0YwRDEwNTA3MEM0MDAwOTlGQUIgLyogSlNVaW50MTZB
cnJheS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMDQ2NSw3ICsyMDQ2NSw2IEBACiAJCQkJQTgxODcy
MjMwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTgxODcyMUUwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTEwQjlCNkMwQjc0NzU5OTAwM0VEODkwIC8qIE5hdGl2ZVhQYXRoTlNSZXNvbHZlci5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQ0NGMDI3MEFGNkM1MjkwMDAxOEU4OSAvKiBOYXZp
Z2F0aW9uQWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzlGNDNENDEwNzVFNDRBMDAwMEY4
M0IgLyogTmF2aWdhdGlvblNjaGVkdWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTlDNkU1QTYw
RDc0NjQ1ODAwNjQ0MkU5IC8qIE5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMDUzNCw2
ICsyMDUzMyw4IEBACiAJCQkJQjI3NTM1ODIwQjA1MzgxNDAwMkNFNjRGIC8qIFBlbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOEE3Q0M5NkIxMjA3NkQ3MzAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQu
aCBpbiBIZWFkZXJzICovLAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3Jt
YW5jZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8qIFBl
cmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOEFGNEU1NUMxMURDNUE2
MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1
REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCUQwRkYyQTVFMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzdDNENERjEwMTRFOUY2MDBCOUFFNDIgLyogUGxhY2Vo
b2xkZXJEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTE1Miw3ICsyMTE1Myw2IEBACiAJ
CQkJNzU1M0NGRTgxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMwNUIyNEQwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFNDQ2MTNCMDBDRDYzMzEwMDBGQURBNzUgLyogVGltZVJhbmdlcy5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJOEFGNEU1NUMxMURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTEyQUUwRUZBQzkwNjAwOUQwQ0FGIC8qIFRpbWluZ0Z1
bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyog
VHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUNFMEVGODZE
NDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjI4
MzUsNyArMjI4MzUsNiBAQAogCQkJCTY1REYzMUZCMDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0
aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEOUMyQzAwQzE3QjY5RTAwNUM5MEEy
IC8qIEpTTmFtZWROb2RlTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDlDMjYzMEMxN0FB
NjcwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk4QTlBNTg3MDExRTg0QzM2MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE5RDI0N0Y3MEQ3NTdFMzQwMEZERjk1OSAvKiBKU05hdmlnYXRvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOUM2RTY0OTBENzQ2NUQ4MDA2NDQyRTkgLyogSlNOYXZpZ2F0b3JD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTREQzBEMzcwOUZFRDA3MzAwN0IwMjM1IC8q
IEpTTm9kZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTIyODU0LDYgKzIyODUzLDggQEAKIAkJCQkx
QTBENTc0MDBBNUM3ODY3MDA3RURENEMgLyogSlNPdmVyZmxvd0V2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxMjg0QkIyMTA0NDlGRkEwMEVBRUI1MiAvKiBKU1BhZ2VUcmFuc2l0aW9uRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEE5QTU4NzQxMUU4NEM4MTAwOEFDRkQxIC8qIEpT
UGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEE5QTU4NzAxMUU4NEMzNjAwOEFD
RkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThB
OUE1ODg3MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzQjcwRDZCMDlFQjBDN0MwMDlEODQ2OCAvKiBKU1BsdWdpbkVsZW1lbnRG
dW5jdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4OUYwMUQxMEIzN0JEOTAwRjNDNzM5
IC8qIEpTUG9wU3RhdGVFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg5RjAxODEwQjM3
ODEzMDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMjMwMzksNyArMjMwNDAsNiBAQAogCQkJCTkzM0ExNEI4MEI3RDFENTIwMEE1M0ZGRCAvKiBK
U1RleHRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VGNDVGNTBFNjg3QjVDMDAxQzEy
ODcgLyogSlNUZXh0TWV0cmljcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTQxQTBDRDY4
MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCThBOUE1
ODg3MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1RpbWluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QTc1MEQ1QzBBOTBERUUxMDAwRkYyMTUgLyogSlNUcmVlV2Fsa2VyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxNkJCNzk0MENFOTFFNjgwMDUxMkY3OSAvKiBKU1RyZWVXYWxrZXJDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDAwOURBMkI0ODAwOTYzM0E1IC8qIEpTVUlFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTIzMTY3LDcgKzIzMTY3LDYgQEAKIAkJCQlCQ0YzNEEz
NzExQTIzMUNEMDBDNzE4MDQgLyogTmFtZWROb2RlTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4MTg3MjI0MDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lTm9kZUxpc3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRTEwQjlCNkQwQjc0NzU5OTAwM0VEODkwIC8qIE5hdGl2ZVhQYXRoTlNSZXNvbHZl
ci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk4QUY0RTU1NTExREM1QTM2MDAwRUQzREUgLyogTmF2
aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0NDRjA2MDBBRjZDQTc2MDAwMThFODkg
LyogTmF2aWdhdGlvbkFjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzlGNDNEMzEwNzVF
NDRBMDAwMEY4M0IgLyogTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBOUM2RTVBNTBENzQ2NDU4MDA2NDQyRTkgLyogTmF2aWdhdG9yLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMjMyMTgsNiArMjMyMTcsOCBAQAogCQkJCUIyNzUzNTgxMEIwNTM4MTQwMDJDRTY0RiAv
KiBQZW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEE3Q0M5NzAxMjA3NkY4QTAwMUQ0NTg4IC8q
IFBlbmRpbmdTY3JpcHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEE4NDREMDQxMUQzQzE4RTAw
MTQwNjVDIC8qIFBlcmZvcm1hbmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThBRjRFNTU1MTFE
QzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJOEFGNEU1NUIxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTQ5RDVEQzJEMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2
ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEMEZGMkE1RDExRjhD
NDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzdDNENF
MDEwMTRFOUY2MDBCOUFFNDIgLyogUGxhY2Vob2xkZXJEb2N1bWVudC5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTIzNzQ4LDcgKzIzNzQ5LDYgQEAKIAkJCQk3NTUzQ0ZFOTEwOEY0NzNGMDBFQTI4MUUg
LyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5RUE0
MDk5RUI3OEMwMDU2RTU4MSAvKiBUaW1lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTNB
RjBDRDYzMzEwMDBGQURBNzUgLyogVGltZVJhbmdlcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk4
QUY0RTU1QjExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTQ5RTkxMUMzMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCMjc1MzU1ODBCMDUzODE0MDAyQ0U2NEYgLyogVHJhbnNmb3JtYXRp
b25NYXRyaXhDRy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUU5MTFDRjBFRjg2RDQ3MDA5RDBD
QUYgLyogVHJhbnNmb3JtT3BlcmF0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmNwcCBiL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ5M2I0Ny4uMDAwMDAwMAotLS0gYS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
Ci0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIk5hdmlnYXRpb24uaCIKLQotI2lmIEVOQUJM
RShXRUJfVElNSU5HKQotCi0jaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKLSNpbmNsdWRlICJG
cmFtZS5oIgotI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1OYXZpZ2F0aW9uOjpOYXZpZ2F0aW9uKEZyYW1lKiBmcmFtZSkKLSAgICA6IG1fZnJh
bWUoZnJhbWUpCi17Ci19Ci0KLUZyYW1lKiBOYXZpZ2F0aW9uOjpmcmFtZSgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG1fZnJhbWU7Ci19Ci0KLXZvaWQgTmF2aWdhdGlvbjo6ZGlzY29ubmVjdEZyYW1l
KCkKLXsKLSAgICBtX2ZyYW1lID0gMDsKLX0KLQotdW5zaWduZWQgc2hvcnQgTmF2aWdhdGlvbjo6
dHlwZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2ZyYW1lKQotICAgICAgICByZXR1cm4gTkFWSUdB
VEU7Ci0KLSAgICBEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIgPSBtX2ZyYW1lLT5sb2Fk
ZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKLSAgICBpZiAoIWRvY3VtZW50TG9hZGVyKQotICAgICAg
ICByZXR1cm4gTkFWSUdBVEU7Ci0KLSAgICBXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0
aW9uVHlwZSA9IGRvY3VtZW50TG9hZGVyLT50cmlnZ2VyaW5nQWN0aW9uKCkudHlwZSgpOwotICAg
IHN3aXRjaCAobmF2aWdhdGlvblR5cGUpIHsKLSAgICBjYXNlIE5hdmlnYXRpb25UeXBlUmVsb2Fk
OgotICAgICAgICByZXR1cm4gUkVMT0FEOwotICAgIGNhc2UgTmF2aWdhdGlvblR5cGVCYWNrRm9y
d2FyZDoKLSAgICAgICAgcmV0dXJuIEJBQ0tfRk9SV0FSRDsKLSAgICBkZWZhdWx0OgotICAgICAg
ICByZXR1cm4gTkFWSUdBVEU7Ci0gICAgfQotfQotCi11bnNpZ25lZCBzaG9ydCBOYXZpZ2F0aW9u
OjpyZWRpcmVjdENvdW50KCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZnJhbWUpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IG1fZnJhbWUtPmxvYWRlcigp
LT5kb2N1bWVudExvYWRlcigpOwotICAgIGlmICghbG9hZGVyKQotICAgICAgICByZXR1cm4gMDsK
LQotICAgIHJldHVybiBsb2FkZXItPnRpbWluZygpLT5yZWRpcmVjdENvdW50OwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmggYi9XZWJDb3JlL3BhZ2UvTmF2aWdhdGlv
bi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTY4ZmYzLi4wMDAwMDAwCi0tLSBh
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
Ci0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2lmbmRlZiBOYXZpZ2F0aW9uX2gKLSNkZWZpbmUgTmF2aWdhdGlvbl9oCi0KLSNpZiBFTkFCTEUo
V0VCX1RJTUlORykKLQotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBGcmFtZTsKLQot
Y2xhc3MgTmF2aWdhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRpb24+IHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0aW9uPiBjcmVhdGUoRnJhbWUqIGZyYW1l
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgTmF2aWdhdGlvbihmcmFtZSkpOyB9Ci0KLSAgICBGcmFt
ZSogZnJhbWUoKSBjb25zdDsKLSAgICB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOwotCi0gICAgZW51
bSBOYXZpZ2F0aW9uVHlwZSB7Ci0gICAgICAgIE5BVklHQVRFLAotICAgICAgICBSRUxPQUQsCi0g
ICAgICAgIEJBQ0tfRk9SV0FSRAotICAgIH07Ci0KLSAgICB1bnNpZ25lZCBzaG9ydCB0eXBlKCkg
Y29uc3Q7Ci0gICAgdW5zaWduZWQgc2hvcnQgcmVkaXJlY3RDb3VudCgpIGNvbnN0OwotCi1wcml2
YXRlOgotICAgIE5hdmlnYXRpb24oRnJhbWUqKTsKLQotICAgIEZyYW1lKiBtX2ZyYW1lOwotfTsK
LQotfQotCi0jZW5kaWYgLy8gIUVOQUJMRShXRUJfVElNSU5HKQotI2VuZGlmIC8vICFkZWZpbmVk
KE5hdmlnYXRpb25faCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmlkbCBi
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYjAyMjdmMy4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5pZGwKKysr
IC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
LSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotbW9kdWxlIHdpbmRvdyB7Ci0KLSAgICAvLyBTZWU6
IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8KLSAgICBpbnRlcmZhY2Ug
W0NvbmRpdGlvbmFsPVdFQl9USU1JTkcsIE9taXRDb25zdHJ1Y3Rvcl0gTmF2aWdhdGlvbiB7Ci0g
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5BVklHQVRFID0gMDsKLSAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgUkVMT0FEID0gMTsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
QkFDS19GT1JXQVJEID0gMjsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IHR5cGU7Ci0KLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHJl
ZGlyZWN0Q291bnQ7Ci0gICAgfTsKLQotfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmNwcCBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKaW5kZXggYzQyMzRhNy4u
NGUxMzBlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysgYi9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zMiw4ICszMiw4IEBACiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2UuaCIKIAogI2luY2x1ZGUgIk1lbW9yeUluZm8uaCIKLSNpbmNsdWRlICJOYXZp
Z2F0aW9uLmgiCi0jaW5jbHVkZSAiVGltaW5nLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKIAogI2lmIEVOQUJMRShX
RUJfVElNSU5HKQogCkBAIC03MiwxOCArNzIsMTggQEAgTWVtb3J5SW5mbyogUGVyZm9ybWFuY2U6
Om1lbW9yeSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbWVtb3J5LmdldCgpOwogfQogCi1OYXZpZ2F0
aW9uKiBQZXJmb3JtYW5jZTo6bmF2aWdhdGlvbigpIGNvbnN0CitQZXJmb3JtYW5jZU5hdmlnYXRp
b24qIFBlcmZvcm1hbmNlOjpuYXZpZ2F0aW9uKCkgY29uc3QKIHsKICAgICBpZiAoIW1fbmF2aWdh
dGlvbikKLSAgICAgICAgbV9uYXZpZ2F0aW9uID0gTmF2aWdhdGlvbjo6Y3JlYXRlKG1fZnJhbWUp
OworICAgICAgICBtX25hdmlnYXRpb24gPSBQZXJmb3JtYW5jZU5hdmlnYXRpb246OmNyZWF0ZSht
X2ZyYW1lKTsKIAogICAgIHJldHVybiBtX25hdmlnYXRpb24uZ2V0KCk7CiB9CiAKLVRpbWluZyog
UGVyZm9ybWFuY2U6OnRpbWluZygpIGNvbnN0CitQZXJmb3JtYW5jZVRpbWluZyogUGVyZm9ybWFu
Y2U6OnRpbWluZygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3RpbWluZykKLSAgICAgICAgbV90aW1p
bmcgPSBUaW1pbmc6OmNyZWF0ZShtX2ZyYW1lKTsKKyAgICAgICAgbV90aW1pbmcgPSBQZXJmb3Jt
YW5jZVRpbWluZzo6Y3JlYXRlKG1fZnJhbWUpOwogCiAgICAgcmV0dXJuIG1fdGltaW5nLmdldCgp
OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuaAppbmRleCA5NzM2ZmU3Li5iZTllMTI0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApA
QCAtMzQsOCArMzQsOCBAQAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogCiAjaW5jbHVkZSAiTWVt
b3J5SW5mby5oIgotI2luY2x1ZGUgIk5hdmlnYXRpb24uaCIKLSNpbmNsdWRlICJUaW1pbmcuaCIK
KyNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5j
ZVRpbWluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC01MCwxNSArNTAsMTUgQEAg
cHVibGljOgogICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CiAKICAgICBNZW1vcnlJbmZvKiBt
ZW1vcnkoKSBjb25zdDsKLSAgICBOYXZpZ2F0aW9uKiBuYXZpZ2F0aW9uKCkgY29uc3Q7Ci0gICAg
VGltaW5nKiB0aW1pbmcoKSBjb25zdDsKKyAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmln
YXRpb24oKSBjb25zdDsKKyAgICBQZXJmb3JtYW5jZVRpbWluZyogdGltaW5nKCkgY29uc3Q7CiAK
IHByaXZhdGU6CiAgICAgUGVyZm9ybWFuY2UoRnJhbWUqKTsKIAogICAgIG11dGFibGUgUmVmUHRy
PE1lbW9yeUluZm8+IG1fbWVtb3J5OwotICAgIG11dGFibGUgUmVmUHRyPE5hdmlnYXRpb24+IG1f
bmF2aWdhdGlvbjsKLSAgICBtdXRhYmxlIFJlZlB0cjxUaW1pbmc+IG1fdGltaW5nOworICAgIG11
dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOworICAgIG11
dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlVGltaW5nPiBtX3RpbWluZzsKICAgICBGcmFtZSogbV9m
cmFtZTsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwgYi9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCmluZGV4IGZmZThiNmYuLmM3MmY0YmMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmlkbApAQCAtMzIsOCArMzIsOCBAQCBtb2R1bGUgd2luZG93IHsKIAogICAgIC8v
IFNlZTogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLwogICAgIGludGVy
ZmFjZSBbQ29uZGl0aW9uYWw9V0VCX1RJTUlORywgT21pdENvbnN0cnVjdG9yXSBQZXJmb3JtYW5j
ZSB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOYXZpZ2F0aW9uIG5hdmlnYXRpb247Ci0g
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1pbmcgdGltaW5nOworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uIG5hdmlnYXRpb247CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBQZXJmb3JtYW5jZVRpbWluZyB0aW1pbmc7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBNZW1vcnlJbmZvIG1lbW9yeTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBiL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmQ1NzA1NjEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmNwcApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNp
bmNsdWRlICJEb2N1bWVudExvYWRlci5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAi
RnJhbWVMb2FkZXJUeXBlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNl
TmF2aWdhdGlvbjo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uKEZyYW1lKiBmcmFtZSkKKyAgICA6IG1f
ZnJhbWUoZnJhbWUpCit7Cit9CisKK0ZyYW1lKiBQZXJmb3JtYW5jZU5hdmlnYXRpb246OmZyYW1l
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZTsKK30KKwordm9pZCBQZXJmb3JtYW5jZU5h
dmlnYXRpb246OmRpc2Nvbm5lY3RGcmFtZSgpCit7CisgICAgbV9mcmFtZSA9IDA7Cit9CisKK3Vu
c2lnbmVkIHNob3J0IFBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6dHlwZSgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm4gTkFWSUdBVEU7CisKKyAgICBEb2N1bWVudExv
YWRlciogZG9jdW1lbnRMb2FkZXIgPSBtX2ZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIo
KTsKKyAgICBpZiAoIWRvY3VtZW50TG9hZGVyKQorICAgICAgICByZXR1cm4gTkFWSUdBVEU7CisK
KyAgICBXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSA9IGRvY3VtZW50TG9h
ZGVyLT50cmlnZ2VyaW5nQWN0aW9uKCkudHlwZSgpOworICAgIHN3aXRjaCAobmF2aWdhdGlvblR5
cGUpIHsKKyAgICBjYXNlIE5hdmlnYXRpb25UeXBlUmVsb2FkOgorICAgICAgICByZXR1cm4gUkVM
T0FEOworICAgIGNhc2UgTmF2aWdhdGlvblR5cGVCYWNrRm9yd2FyZDoKKyAgICAgICAgcmV0dXJu
IEJBQ0tfRk9SV0FSRDsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gTkFWSUdBVEU7Cisg
ICAgfQorfQorCit1bnNpZ25lZCBzaG9ydCBQZXJmb3JtYW5jZU5hdmlnYXRpb246OnJlZGlyZWN0
Q291bnQoKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gbV9mcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50
TG9hZGVyKCk7CisgICAgaWYgKCFsb2FkZXIpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0
dXJuIGxvYWRlci0+dGltaW5nKCktPnJlZGlyZWN0Q291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlTmF2aWdhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiYTli
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uX2gKKyNkZWZp
bmUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uX2gKKworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorCisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZyYW1lOworCitjbGFzcyBQZXJmb3JtYW5j
ZU5hdmlnYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IGNy
ZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZU5hdmln
YXRpb24oZnJhbWUpKTsgfQorCisgICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7CisgICAgdm9pZCBk
aXNjb25uZWN0RnJhbWUoKTsKKworICAgIGVudW0gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVHlwZSB7
CisgICAgICAgIE5BVklHQVRFLAorICAgICAgICBSRUxPQUQsCisgICAgICAgIEJBQ0tfRk9SV0FS
RAorICAgIH07CisKKyAgICB1bnNpZ25lZCBzaG9ydCB0eXBlKCkgY29uc3Q7CisgICAgdW5zaWdu
ZWQgc2hvcnQgcmVkaXJlY3RDb3VudCgpIGNvbnN0OworCitwcml2YXRlOgorICAgIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbihGcmFtZSopOworCisgICAgRnJhbWUqIG1fZnJhbWU7Cit9OworCit9CisK
KyNlbmRpZiAvLyAhRU5BQkxFKFdFQl9USU1JTkcpCisjZW5kaWYgLy8gIWRlZmluZWQoUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uX2gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmlkbCBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjMDYwNTAKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApAQCAtMCwwICsxLDQz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworbW9kdWxlIHdpbmRvdyB7CisKKyAgICAvLyBTZWU6IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYv
d2ViYXBpL1dlYlRpbWluZy8KKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVdFQl9USU1JTkcs
IE9taXRDb25zdHJ1Y3Rvcl0gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uIHsKKyAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgTkFWSUdBVEUgPSAwOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBSRUxPQUQgPSAxOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBCQUNLX0ZPUldBUkQg
PSAyOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgdHlwZTsKKwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcmVkaXJlY3RDb3VudDsK
KyAgICB9OworCit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcu
Y3BwIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi40MGU0N2U0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcApAQCAtMCwwICsxLDM2MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgorCisjaWYgRU5BQkxFKFdFQl9U
SU1JTkcpCisKKyNpbmNsdWRlICJEb2N1bWVudExvYWRUaW1pbmcuaCIKKyNpbmNsdWRlICJEb2N1
bWVudExvYWRlci5oIgorI2luY2x1ZGUgIkRvY3VtZW50VGltaW5nLmgiCisjaW5jbHVkZSAiRnJh
bWUuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRUaW1pbmcuaCIKKyNpbmNsdWRlICJSZXNvdXJj
ZVJlc3BvbnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIHVuc2lnbmVkIGxv
bmcgbG9uZyB0b0ludGVnZXJNaWxsaXNlY29uZHMoZG91YmxlIHNlY29uZHMpCit7CisgICAgQVNT
RVJUKHNlY29uZHMgPj0gMCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcg
bG9uZz4oc2Vjb25kcyAqIDEwMDAuMCk7Cit9CisKK3N0YXRpYyBkb3VibGUgZ2V0UG9zc2libHlT
a2V3ZWRUaW1lSW5Lbm93blJhbmdlKGRvdWJsZSBza2V3ZWRUaW1lLCBkb3VibGUgbG93ZXJCb3Vu
ZCwgZG91YmxlIHVwcGVyQm91bmQpCit7CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgLy8g
VGhlIGNocm9taXVtIHBvcnQncyBjdXJyZW50VGltZSgpIGltcGxlbWVudGF0aW9uIG9ubHkgc3lu
Y3Mgd2l0aCB0aGUKKyAgICAvLyBzeXN0ZW0gY2xvY2sgZXZlcnkgNjAgc2Vjb25kcy4gU28gaXQg
aXMgcG9zc2libGUgZm9yIHRpbWluZyBtYXJrcworICAgIC8vIGNvbGxlY3RlZCBpbiBkaWZmZXJl
bnQgdGhyZWFkcyBvciBwcm9jZXNzZXMgdG8gaGF2ZSBhIHNtYWxsIHNrZXcuCisgICAgLy8gRklY
TUU6IEl0IG1heSBiZSBwb3NzaWJsZSB0byBhZGQgYSBjdXJyZW50VGltZUZyb21TeXN0ZW1UaW1l
KCkgbWV0aG9kCisgICAgLy8gdGhhdCBlbGltaW5hdGVzIHRoZSBza2V3LgorICAgIGlmIChza2V3
ZWRUaW1lIDw9IGxvd2VyQm91bmQpCisgICAgICAgIHJldHVybiBsb3dlckJvdW5kOworCisgICAg
aWYgKHNrZXdlZFRpbWUgPj0gdXBwZXJCb3VuZCkKKyAgICAgICAgcmV0dXJuIHVwcGVyQm91bmQ7
CisjZWxzZQorICAgIEFTU0VSVF9VTlVTRUQobG93ZXJCb3VuZCwgc2tld2VkVGltZSA+PSBsb3dl
ckJvdW5kKTsKKyAgICBBU1NFUlRfVU5VU0VEKHVwcGVyQm91bmQsIHNrZXdlZFRpbWUgPD0gdXBw
ZXJCb3VuZCk7CisjZW5kaWYKKworICAgIHJldHVybiBza2V3ZWRUaW1lOworfQorCitQZXJmb3Jt
YW5jZVRpbWluZzo6UGVyZm9ybWFuY2VUaW1pbmcoRnJhbWUqIGZyYW1lKQorICAgIDogbV9mcmFt
ZShmcmFtZSkKK3sKK30KKworRnJhbWUqIFBlcmZvcm1hbmNlVGltaW5nOjpmcmFtZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fZnJhbWU7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2VUaW1pbmc6OmRp
c2Nvbm5lY3RGcmFtZSgpCit7CisgICAgbV9mcmFtZSA9IDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcg
bG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6bmF2aWdhdGlvblN0YXJ0KCkgY29uc3QKK3sKKyAgICBE
b2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOworICAgIGlm
ICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxs
aXNlY29uZHModGltaW5nLT5uYXZpZ2F0aW9uU3RhcnQpOworfQorCit1bnNpZ25lZCBsb25nIGxv
bmcgUGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kKCkgY29uc3QKK3sKKyAgICBEb2N1
bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOworICAgIGlmICgh
dGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNl
Y29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQ
ZXJmb3JtYW5jZVRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRM
b2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWlu
ZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRz
KHRpbWluZy0+cmVkaXJlY3RTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3Jt
YW5jZVRpbWluZzo6cmVkaXJlY3RFbmQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZFRpbWlu
ZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmct
PnJlZGlyZWN0RW5kKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5n
OjpmZXRjaFN0YXJ0KCkgY29uc3QKK3sKKyAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9
IGRvY3VtZW50TG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5mZXRjaFN0YXJ0
KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpkb21haW5Mb29r
dXBTdGFydCgpIGNvbnN0Cit7CisgICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSByZXNv
dXJjZUxvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICAvLyBUaGlzIHdpbGwgYmUgLTEgd2hlbiBhIEROUyByZXF1ZXN0IGlzIG5vdCBwZXJmb3Jt
ZWQuCisgICAgLy8gUmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5k
aWNhdGVzIG5vIEROUywgd2UgImJhY2tmaWxsIiB3aXRoIGZldGNoU3RhcnQuCisgICAgaW50IGRu
c1N0YXJ0ID0gdGltaW5nLT5kbnNTdGFydDsKKyAgICBpZiAoZG5zU3RhcnQgPCAwKQorICAgICAg
ICByZXR1cm4gZmV0Y2hTdGFydCgpOworCisgICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVSZWxh
dGl2ZVRvQWJzb2x1dGUoZG5zU3RhcnQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9y
bWFuY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0Cit7CisgICAgUmVzb3VyY2VMb2Fk
VGltaW5nKiB0aW1pbmcgPSByZXNvdXJjZUxvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykK
KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBUaGlzIHdpbGwgYmUgLTEgd2hlbiBhIEROUyBy
ZXF1ZXN0IGlzIG5vdCBwZXJmb3JtZWQuCisgICAgLy8gUmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBz
cGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNhdGVzIG5vIEROUywgd2UgImJhY2tmaWxsIiB3aXRoIGRv
bWFpbkxvb2t1cFN0YXJ0LgorICAgIGludCBkbnNFbmQgPSB0aW1pbmctPmRuc0VuZDsKKyAgICBp
ZiAoZG5zRW5kIDwgMCkKKyAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cFN0YXJ0KCk7CisKKyAg
ICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZShkbnNFbmQpOworfQor
Cit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OmNvbm5lY3RTdGFydCgpIGNv
bnN0Cit7CisgICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGRvY3VtZW50TG9hZGVyKCk7Cisg
ICAgaWYgKCFsb2FkZXIpCisgICAgICAgIHJldHVybiAwOworCisgICAgUmVzb3VyY2VMb2FkVGlt
aW5nKiB0aW1pbmcgPSBsb2FkZXItPnJlc3BvbnNlKCkucmVzb3VyY2VMb2FkVGltaW5nKCk7Cisg
ICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgLy8gY29ubmVjdFN0YXJ0
IHdpbGwgYmUgLTEgd2hlbiBhIG5ldHdvcmsgcmVxdWVzdCBpcyBub3QgbWFkZS4KKyAgICAvLyBS
YXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8gbmV3
IGNvbm5lY3Rpb24sIHdlICJiYWNrZmlsbCIgd2l0aCBkb21haW5Mb29rdXBFbmQuCisgICAgaW50
IGNvbm5lY3RTdGFydCA9IHRpbWluZy0+Y29ubmVjdFN0YXJ0OworICAgIGlmIChjb25uZWN0U3Rh
cnQgPCAwIHx8IGxvYWRlci0+cmVzcG9uc2UoKS5jb25uZWN0aW9uUmV1c2VkKCkpCisgICAgICAg
IHJldHVybiBkb21haW5Mb29rdXBFbmQoKTsKKworICAgIC8vIFJlc291cmNlTG9hZFRpbWluZydz
IGNvbm5lY3QgcGhhc2UgaW5jbHVkZXMgRE5TIGFuZCBTU0wsIGhvd2V2ZXIgV2ViIFRpbWluZydz
CisgICAgLy8gY29ubmVjdCBwaGFzZSBzaG91bGQgbm90LiBTbyBpZiB0aGVyZSBpcyBETlMgdGlt
ZSwgdHJpbSBpdCBmcm9tIHRoZSBzdGFydC4KKyAgICBpZiAodGltaW5nLT5kbnNFbmQgPj0gMCAm
JiB0aW1pbmctPmRuc0VuZCA+IGNvbm5lY3RTdGFydCkKKyAgICAgICAgY29ubmVjdFN0YXJ0ID0g
dGltaW5nLT5kbnNFbmQ7CisKKyAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9B
YnNvbHV0ZShjb25uZWN0U3RhcnQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFu
Y2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZGVyKiBsb2Fk
ZXIgPSBkb2N1bWVudExvYWRlcigpOworICAgIGlmICghbG9hZGVyKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIFJlc291cmNlTG9hZFRpbWluZyogdGltaW5nID0gbG9hZGVyLT5yZXNwb25zZSgp
LnJlc291cmNlTG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIC8vIGNvbm5lY3RFbmQgd2lsbCBiZSAtMSB3aGVuIGEgbmV0d29yayByZXF1ZXN0
IGlzIG5vdCBtYWRlLgorICAgIC8vIFJhdGhlciB0aGFuIGV4cG9zaW5nIGEgc3BlY2lhbCB2YWx1
ZSB0aGF0IGluZGljYXRlcyBubyBuZXcgY29ubmVjdGlvbiwgd2UgImJhY2tmaWxsIiB3aXRoIGNv
bm5lY3RTdGFydC4KKyAgICBpbnQgY29ubmVjdEVuZCA9IHRpbWluZy0+Y29ubmVjdEVuZDsKKyAg
ICBpZiAoY29ubmVjdEVuZCA8IDAgfHwgbG9hZGVyLT5yZXNwb25zZSgpLmNvbm5lY3Rpb25SZXVz
ZWQoKSkKKyAgICAgICAgcmV0dXJuIGNvbm5lY3RTdGFydCgpOworCisgICAgLy8gUmVzb3VyY2VM
b2FkVGltaW5nJ3MgY29ubmVjdCBwaGFzZSBpbmNsdWRlcyBETlMgYW5kIFNTTCwgaG93ZXZlciBX
ZWIgVGltaW5nJ3MKKyAgICAvLyBjb25uZWN0IHBoYXNlIHNob3VsZCBub3QuIFNvIGlmIHRoZXJl
IGlzIFNTTCB0aW1lLCB0cmltIGl0IGZyb20gdGhlIGVuZC4KKyAgICBpZiAodGltaW5nLT5zc2xT
dGFydCA+PSAwICYmIHRpbWluZy0+c3NsU3RhcnQgPCBjb25uZWN0RW5kKQorICAgICAgICBjb25u
ZWN0RW5kID0gdGltaW5nLT5zc2xTdGFydDsKKworICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1l
UmVsYXRpdmVUb0Fic29sdXRlKGNvbm5lY3RFbmQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcg
UGVyZm9ybWFuY2VUaW1pbmc6OnJlcXVlc3RTdGFydCgpIGNvbnN0Cit7CisgICAgUmVzb3VyY2VM
b2FkVGltaW5nKiB0aW1pbmcgPSByZXNvdXJjZUxvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWlu
ZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBBU1NFUlQodGltaW5nLT5zZW5kU3RhcnQgPj0g
MCk7CisgICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUodGltaW5n
LT5zZW5kU3RhcnQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6
OnJlcXVlc3RFbmQoKSBjb25zdAoreworICAgIHJldHVybiByZXNwb25zZVN0YXJ0KCk7Cit9CisK
K3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpIGNv
bnN0Cit7CisgICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSByZXNvdXJjZUxvYWRUaW1p
bmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBGSVhN
RTogUmVzcG9uc2Ugc3RhcnQgbmVlZHMgdG8gYmUgdGhlIHRpbWUgb2YgdGhlIGZpcnN0IHJlY2Vp
dmVkIGJ5dGUuCisgICAgLy8gSG93ZXZlciwgdGhlIFJlc291cmNlTG9hZFRpbWluZyBBUEkgY3Vy
cmVudGx5IG9ubHkgc3VwcG9ydHMgdGhlIHRpbWUKKyAgICAvLyB0aGUgbGFzdCBoZWFkZXIgYnl0
ZSB3YXMgcmVjZWl2ZWQuIEZvciBtYW55IHJlc3BvbnNlcyB3aXRoIHJlYXNvbmFibGUKKyAgICAv
LyBzaXplZCBjb29raWVzLCB0aGUgSFRUUCBoZWFkZXJzIGZpdCBpbnRvIGEgc2luZ2xlIHBhY2tl
dCBzbyB0aGlzIHRpbWUKKyAgICAvLyBpcyBiYXNpY2FsbHkgZXF1aXZhbGVudC4gQnV0IGZvciBz
b21lIHJlc3BvbnNlcywgcGFydGljdWxhcmx5IHRob3NlIHdpdGgKKyAgICAvLyBoZWFkZXJzIGxh
cmdlciB0aGFuIGEgc2luZ2xlIHBhY2tldCwgdGhpcyB0aW1lIHdpbGwgYmUgdG9vIGxhdGUuCisg
ICAgQVNTRVJUKHRpbWluZy0+cmVjZWl2ZUhlYWRlcnNFbmQgPj0gMCk7CisgICAgcmV0dXJuIHJl
c291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUodGltaW5nLT5yZWNlaXZlSGVhZGVyc0Vu
ZCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VF
bmQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRM
b2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAg
cmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPnJlc3BvbnNlRW5kKTsKK30KKwor
dW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpkb21Mb2FkaW5nKCkgY29uc3QK
K3sKKyAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmcoKTsK
KyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRl
Z2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tTG9hZGluZyk7Cit9CisKK3Vuc2lnbmVkIGxvbmcg
bG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6ZG9tSW50ZXJhY3RpdmUoKSBjb25zdAoreworICAgIGNv
bnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudFRpbWluZygpOworICAgIGlmICgh
dGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNl
Y29uZHModGltaW5nLT5kb21JbnRlcmFjdGl2ZSk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQ
ZXJmb3JtYW5jZVRpbWluZzo6ZG9tQ29udGVudExvYWRlZCgpIGNvbnN0Cit7CisgICAgY29uc3Qg
RG9jdW1lbnRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50VGltaW5nKCk7CisgICAgaWYgKCF0aW1p
bmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25k
cyh0aW1pbmctPmRvbUNvbnRlbnRMb2FkZWQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVy
Zm9ybWFuY2VUaW1pbmc6OmRvbUNvbXBsZXRlKCkgY29uc3QKK3sKKyAgICBjb25zdCBEb2N1bWVu
dFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWlu
Zy0+ZG9tQ29tcGxldGUpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1p
bmc6OmxvYWRFdmVudFN0YXJ0KCkgY29uc3QKK3sKKyAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRp
bWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5sb2Fk
RXZlbnRTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6
bG9hZEV2ZW50RW5kKCkgY29uc3QKK3sKKyAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9
IGRvY3VtZW50TG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5sb2FkRXZlbnRF
bmQpOworfQorCitEb2N1bWVudExvYWRlciogUGVyZm9ybWFuY2VUaW1pbmc6OmRvY3VtZW50TG9h
ZGVyKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcmV0dXJuIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOworfQorCitjb25z
dCBEb2N1bWVudFRpbWluZyogUGVyZm9ybWFuY2VUaW1pbmc6OmRvY3VtZW50VGltaW5nKCkgY29u
c3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiAwOworCisgICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBkb2N1bWVudC0+dGltaW5nKCk7Cit9CisK
K0RvY3VtZW50TG9hZFRpbWluZyogUGVyZm9ybWFuY2VUaW1pbmc6OmRvY3VtZW50TG9hZFRpbWlu
ZygpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGRvY3VtZW50TG9hZGVy
KCk7CisgICAgaWYgKCFsb2FkZXIpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIGxv
YWRlci0+dGltaW5nKCk7Cit9CisKK1Jlc291cmNlTG9hZFRpbWluZyogUGVyZm9ybWFuY2VUaW1p
bmc6OnJlc291cmNlTG9hZFRpbWluZygpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRMb2FkZXIqIGxv
YWRlciA9IGRvY3VtZW50TG9hZGVyKCk7CisgICAgaWYgKCFsb2FkZXIpCisgICAgICAgIHJldHVy
biAwOworCisgICAgcmV0dXJuIGxvYWRlci0+cmVzcG9uc2UoKS5yZXNvdXJjZUxvYWRUaW1pbmco
KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZXNvdXJjZUxv
YWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKGludCByZWxhdGl2ZVNlY29uZHMpIGNvbnN0Cit7Cisg
ICAgQVNTRVJUKHJlbGF0aXZlU2Vjb25kcyA+PSAwKTsKKyAgICBSZXNvdXJjZUxvYWRUaW1pbmcq
IHJlc291cmNlVGltaW5nID0gcmVzb3VyY2VMb2FkVGltaW5nKCk7CisgICAgQVNTRVJUKHJlc291
cmNlVGltaW5nKTsKKyAgICBEb2N1bWVudExvYWRUaW1pbmcqIGRvY3VtZW50VGltaW5nID0gZG9j
dW1lbnRMb2FkVGltaW5nKCk7CisgICAgQVNTRVJUKGRvY3VtZW50VGltaW5nKTsKKworICAgIC8v
IFRoZSBSZXNvdXJjZUxvYWRUaW1pbmcgQVBJJ3MgcmVxdWVzdFRpbWUgaXMgdGhlIGJhc2UgdGlt
ZSB0byB3aGljaCBhbGwKKyAgICAvLyBvdGhlciBtYXJrcyBhcmUgcmVsYXRpdmUuIFNvIHRvIGdl
dCBhbiBhYnNvbHV0ZSB0aW1lLCB3ZSBtdXN0IGFkZCBpdCB0bworICAgIC8vIHRoZSByZWxhdGl2
ZSBtYXJrcy4KKyAgICAvLworICAgIC8vIFNpbmNlIFJlc291cmNlTG9hZFRpbWluZ3MgY2FtZSBm
cm9tIHRoZSBuZXR3b3JrIHBsYXRmb3JtIGxheWVyLCB3ZSBtdXN0CisgICAgLy8gY2hlY2sgdGhl
bSBmb3Igc2tldyBiZWNhdXNlIHRoZXkgbWF5IGJlIGZyb20gYW5vdGhlciB0aHJlYWQvcHJvY2Vz
cy4KKyAgICBkb3VibGUgYmFzZVRpbWUgPSBnZXRQb3NzaWJseVNrZXdlZFRpbWVJbktub3duUmFu
Z2UocmVzb3VyY2VUaW1pbmctPnJlcXVlc3RUaW1lLCBkb2N1bWVudFRpbWluZy0+ZmV0Y2hTdGFy
dCwgZG9jdW1lbnRUaW1pbmctPnJlc3BvbnNlRW5kIC0gKHJlc291cmNlVGltaW5nLT5yZWNlaXZl
SGVhZGVyc0VuZCAvIDEwMDAuMCkpOworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHMo
YmFzZVRpbWUpICsgcmVsYXRpdmVTZWNvbmRzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVRpbWluZy5oIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA0NWI1NQotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oCkBAIC0wLDAgKzEsODkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIFBlcmZvcm1hbmNlVGltaW5nX2gKKyNkZWZpbmUgUGVyZm9ybWFuY2VUaW1pbmdfaAor
CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Ry
dWN0IERvY3VtZW50TG9hZFRpbWluZzsKK2NsYXNzIERvY3VtZW50TG9hZGVyOworc3RydWN0IERv
Y3VtZW50VGltaW5nOworY2xhc3MgRnJhbWU7CitjbGFzcyBSZXNvdXJjZUxvYWRUaW1pbmc7CisK
K2NsYXNzIFBlcmZvcm1hbmNlVGltaW5nIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2VU
aW1pbmc+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZVRpbWlu
Zz4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNl
VGltaW5nKGZyYW1lKSk7IH0KKworICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZvaWQg
ZGlzY29ubmVjdEZyYW1lKCk7CisKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgbmF2aWdhdGlvblN0
YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHVubG9hZEV2ZW50RW5kKCkgY29u
c3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0U3RhcnQoKSBjb25zdDsKKyAgICB1
bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RFbmQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25n
IGxvbmcgZmV0Y2hTdGFydCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5M
b29rdXBTdGFydCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBF
bmQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVjdFN0YXJ0KCkgY29uc3Q7
CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGNvbm5lY3RFbmQoKSBjb25zdDsKKyAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgcmVxdWVzdFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25n
IHJlcXVlc3RFbmQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VTdGFy
dCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZUVuZCgpIGNvbnN0Owor
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Mb2FkaW5nKCkgY29uc3Q7CisgICAgdW5zaWduZWQg
bG9uZyBsb25nIGRvbUludGVyYWN0aXZlKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25n
IGRvbUNvbnRlbnRMb2FkZWQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29t
cGxldGUoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2ZW50U3RhcnQoKSBj
b25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2ZW50RW5kKCkgY29uc3Q7CisKK3By
aXZhdGU6CisgICAgUGVyZm9ybWFuY2VUaW1pbmcoRnJhbWUqKTsKKworICAgIGNvbnN0IERvY3Vt
ZW50VGltaW5nKiBkb2N1bWVudFRpbWluZygpIGNvbnN0OworICAgIERvY3VtZW50TG9hZGVyKiBk
b2N1bWVudExvYWRlcigpIGNvbnN0OworICAgIERvY3VtZW50TG9hZFRpbWluZyogZG9jdW1lbnRM
b2FkVGltaW5nKCkgY29uc3Q7CisgICAgUmVzb3VyY2VMb2FkVGltaW5nKiByZXNvdXJjZUxvYWRU
aW1pbmcoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzb3VyY2VMb2FkVGltZVJl
bGF0aXZlVG9BYnNvbHV0ZShpbnQpIGNvbnN0OworCisgICAgRnJhbWUqIG1fZnJhbWU7Cit9Owor
Cit9CisKKyNlbmRpZiAvLyAhRU5BQkxFKFdFQl9USU1JTkcpCisjZW5kaWYgLy8gIWRlZmluZWQo
UGVyZm9ybWFuY2VUaW1pbmdfaCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVRpbWluZy5pZGwgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMWQ1OWQKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUg
d2luZG93IHsKKworICAgIC8vIFNlZTogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2Vi
VGltaW5nLworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VCX1RJTUlORywgT21pdENvbnN0
cnVjdG9yXSBQZXJmb3JtYW5jZVRpbWluZyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxvbmcgbmF2aWdhdGlvblN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHVubG9hZEV2ZW50RW5kOworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0U3RhcnQ7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RFbmQ7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZmV0Y2hTdGFydDsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBTdGFy
dDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5M
b29rdXBFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
Y29ubmVjdFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBs
b25nIGNvbm5lY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxvbmcgcmVxdWVzdFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsb25nIHJlcXVlc3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxvbmcgcmVzcG9uc2VTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZUVuZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Mb2FkaW5nOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUludGVyYWN0aXZlOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUNvbnRlbnRMb2FkZWQ7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29tcGxldGU7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2ZW50U3RhcnQ7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2ZW50RW5k
OworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuY3BwIGIvV2Vi
Q29yZS9wYWdlL1RpbWluZy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkOThk
YzIuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9wYWdlL1RpbWluZy5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSwzNjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQot
ICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQot
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
LSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUaW1pbmcuaCIK
LQotI2lmIEVOQUJMRShXRUJfVElNSU5HKQotCi0jaW5jbHVkZSAiRG9jdW1lbnRMb2FkVGltaW5n
LmgiCi0jaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudFRpbWlu
Zy5oIgotI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkVGltaW5nLmgi
Ci0jaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKGRvdWJsZSBz
ZWNvbmRzKQotewotICAgIEFTU0VSVChzZWNvbmRzID49IDApOwotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KHNlY29uZHMgKiAxMDAwLjApOwotfQotCi1zdGF0aWMg
ZG91YmxlIGdldFBvc3NpYmx5U2tld2VkVGltZUluS25vd25SYW5nZShkb3VibGUgc2tld2VkVGlt
ZSwgZG91YmxlIGxvd2VyQm91bmQsIGRvdWJsZSB1cHBlckJvdW5kKQotewotI2lmIFBMQVRGT1JN
KENIUk9NSVVNKQotICAgIC8vIFRoZSBjaHJvbWl1bSBwb3J0J3MgY3VycmVudFRpbWUoKSBpbXBs
ZW1lbnRhdGlvbiBvbmx5IHN5bmNzIHdpdGggdGhlCi0gICAgLy8gc3lzdGVtIGNsb2NrIGV2ZXJ5
IDYwIHNlY29uZHMuIFNvIGl0IGlzIHBvc3NpYmxlIGZvciB0aW1pbmcgbWFya3MKLSAgICAvLyBj
b2xsZWN0ZWQgaW4gZGlmZmVyZW50IHRocmVhZHMgb3IgcHJvY2Vzc2VzIHRvIGhhdmUgYSBzbWFs
bCBza2V3LgotICAgIC8vIEZJWE1FOiBJdCBtYXkgYmUgcG9zc2libGUgdG8gYWRkIGEgY3VycmVu
dFRpbWVGcm9tU3lzdGVtVGltZSgpIG1ldGhvZAotICAgIC8vIHRoYXQgZWxpbWluYXRlcyB0aGUg
c2tldy4KLSAgICBpZiAoc2tld2VkVGltZSA8PSBsb3dlckJvdW5kKQotICAgICAgICByZXR1cm4g
bG93ZXJCb3VuZDsKLQotICAgIGlmIChza2V3ZWRUaW1lID49IHVwcGVyQm91bmQpCi0gICAgICAg
IHJldHVybiB1cHBlckJvdW5kOwotI2Vsc2UKLSAgICBBU1NFUlRfVU5VU0VEKGxvd2VyQm91bmQs
IHNrZXdlZFRpbWUgPj0gbG93ZXJCb3VuZCk7Ci0gICAgQVNTRVJUX1VOVVNFRCh1cHBlckJvdW5k
LCBza2V3ZWRUaW1lIDw9IHVwcGVyQm91bmQpOwotI2VuZGlmCi0KLSAgICByZXR1cm4gc2tld2Vk
VGltZTsKLX0KLQotVGltaW5nOjpUaW1pbmcoRnJhbWUqIGZyYW1lKQotICAgIDogbV9mcmFtZShm
cmFtZSkKLXsKLX0KLQotRnJhbWUqIFRpbWluZzo6ZnJhbWUoKSBjb25zdAotewotICAgIHJldHVy
biBtX2ZyYW1lOwotfQotCi12b2lkIFRpbWluZzo6ZGlzY29ubmVjdEZyYW1lKCkKLXsKLSAgICBt
X2ZyYW1lID0gMDsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6bmF2aWdhdGlvblN0
YXJ0KCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50
TG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAg
IHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5uYXZpZ2F0aW9uU3RhcnQpOwot
fQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjp1bmxvYWRFdmVudEVuZCgpIGNvbnN0Ci17
Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsK
LSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRl
Z2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+dW5sb2FkRXZlbnRFbmQpOwotfQotCi11bnNpZ25lZCBs
b25nIGxvbmcgVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExv
YWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5n
KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHMo
dGltaW5nLT5yZWRpcmVjdFN0YXJ0KTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6
cmVkaXJlY3RFbmQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0g
ZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPnJlZGlyZWN0RW5k
KTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0Ci17
Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsK
LSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRl
Z2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZmV0Y2hTdGFydCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcg
bG9uZyBUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKLXsKLSAgICBSZXNvdXJjZUxv
YWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5n
KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIFRoaXMgd2lsbCBiZSAtMSB3aGVuIGEgRE5T
IHJlcXVlc3QgaXMgbm90IHBlcmZvcm1lZC4KLSAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBh
IHNwZWNpYWwgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8gRE5TLCB3ZSAiYmFja2ZpbGwiIHdpdGgg
ZmV0Y2hTdGFydC4KLSAgICBpbnQgZG5zU3RhcnQgPSB0aW1pbmctPmRuc1N0YXJ0OwotICAgIGlm
IChkbnNTdGFydCA8IDApCi0gICAgICAgIHJldHVybiBmZXRjaFN0YXJ0KCk7Ci0KLSAgICByZXR1
cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZShkbnNTdGFydCk7Ci19Ci0KLXVu
c2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0Ci17Ci0gICAg
UmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSByZXNvdXJjZUxvYWRUaW1pbmcoKTsKLSAgICBp
ZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAvLyBUaGlzIHdpbGwgYmUgLTEg
d2hlbiBhIEROUyByZXF1ZXN0IGlzIG5vdCBwZXJmb3JtZWQuCi0gICAgLy8gUmF0aGVyIHRoYW4g
ZXhwb3NpbmcgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNhdGVzIG5vIEROUywgd2UgImJhY2tm
aWxsIiB3aXRoIGRvbWFpbkxvb2t1cFN0YXJ0LgotICAgIGludCBkbnNFbmQgPSB0aW1pbmctPmRu
c0VuZDsKLSAgICBpZiAoZG5zRW5kIDwgMCkKLSAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cFN0
YXJ0KCk7Ci0KLSAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZShk
bnNFbmQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpjb25uZWN0U3RhcnQoKSBj
b25zdAotewotICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBkb2N1bWVudExvYWRlcigpOwot
ICAgIGlmICghbG9hZGVyKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIFJlc291cmNlTG9hZFRp
bWluZyogdGltaW5nID0gbG9hZGVyLT5yZXNwb25zZSgpLnJlc291cmNlTG9hZFRpbWluZygpOwot
ICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIGNvbm5lY3RTdGFy
dCB3aWxsIGJlIC0xIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUuCi0gICAgLy8g
UmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNhdGVzIG5vIG5l
dyBjb25uZWN0aW9uLCB3ZSAiYmFja2ZpbGwiIHdpdGggZG9tYWluTG9va3VwRW5kLgotICAgIGlu
dCBjb25uZWN0U3RhcnQgPSB0aW1pbmctPmNvbm5lY3RTdGFydDsKLSAgICBpZiAoY29ubmVjdFN0
YXJ0IDwgMCB8fCBsb2FkZXItPnJlc3BvbnNlKCkuY29ubmVjdGlvblJldXNlZCgpKQotICAgICAg
ICByZXR1cm4gZG9tYWluTG9va3VwRW5kKCk7Ci0KLSAgICAvLyBSZXNvdXJjZUxvYWRUaW1pbmcn
cyBjb25uZWN0IHBoYXNlIGluY2x1ZGVzIEROUyBhbmQgU1NMLCBob3dldmVyIFdlYiBUaW1pbmcn
cwotICAgIC8vIGNvbm5lY3QgcGhhc2Ugc2hvdWxkIG5vdC4gU28gaWYgdGhlcmUgaXMgRE5TIHRp
bWUsIHRyaW0gaXQgZnJvbSB0aGUgc3RhcnQuCi0gICAgaWYgKHRpbWluZy0+ZG5zRW5kID49IDAg
JiYgdGltaW5nLT5kbnNFbmQgPiBjb25uZWN0U3RhcnQpCi0gICAgICAgIGNvbm5lY3RTdGFydCA9
IHRpbWluZy0+ZG5zRW5kOwotCi0gICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRv
QWJzb2x1dGUoY29ubmVjdFN0YXJ0KTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6
Y29ubmVjdEVuZCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGRvY3Vt
ZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
UmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSBsb2FkZXItPnJlc3BvbnNlKCkucmVzb3VyY2VM
b2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
Ly8gY29ubmVjdEVuZCB3aWxsIGJlIC0xIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1h
ZGUuCi0gICAgLy8gUmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5k
aWNhdGVzIG5vIG5ldyBjb25uZWN0aW9uLCB3ZSAiYmFja2ZpbGwiIHdpdGggY29ubmVjdFN0YXJ0
LgotICAgIGludCBjb25uZWN0RW5kID0gdGltaW5nLT5jb25uZWN0RW5kOwotICAgIGlmIChjb25u
ZWN0RW5kIDwgMCB8fCBsb2FkZXItPnJlc3BvbnNlKCkuY29ubmVjdGlvblJldXNlZCgpKQotICAg
ICAgICByZXR1cm4gY29ubmVjdFN0YXJ0KCk7Ci0KLSAgICAvLyBSZXNvdXJjZUxvYWRUaW1pbmcn
cyBjb25uZWN0IHBoYXNlIGluY2x1ZGVzIEROUyBhbmQgU1NMLCBob3dldmVyIFdlYiBUaW1pbmcn
cwotICAgIC8vIGNvbm5lY3QgcGhhc2Ugc2hvdWxkIG5vdC4gU28gaWYgdGhlcmUgaXMgU1NMIHRp
bWUsIHRyaW0gaXQgZnJvbSB0aGUgZW5kLgotICAgIGlmICh0aW1pbmctPnNzbFN0YXJ0ID49IDAg
JiYgdGltaW5nLT5zc2xTdGFydCA8IGNvbm5lY3RFbmQpCi0gICAgICAgIGNvbm5lY3RFbmQgPSB0
aW1pbmctPnNzbFN0YXJ0OwotCi0gICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRv
QWJzb2x1dGUoY29ubmVjdEVuZCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJl
cXVlc3RTdGFydCgpIGNvbnN0Ci17Ci0gICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSBy
ZXNvdXJjZUxvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICBBU1NFUlQodGltaW5nLT5zZW5kU3RhcnQgPj0gMCk7Ci0gICAgcmV0dXJuIHJlc291
cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUodGltaW5nLT5zZW5kU3RhcnQpOwotfQotCi11
bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpyZXF1ZXN0RW5kKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gcmVzcG9uc2VTdGFydCgpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpyZXNw
b25zZVN0YXJ0KCkgY29uc3QKLXsKLSAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJl
c291cmNlTG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsK
LQotICAgIC8vIEZJWE1FOiBSZXNwb25zZSBzdGFydCBuZWVkcyB0byBiZSB0aGUgdGltZSBvZiB0
aGUgZmlyc3QgcmVjZWl2ZWQgYnl0ZS4KLSAgICAvLyBIb3dldmVyLCB0aGUgUmVzb3VyY2VMb2Fk
VGltaW5nIEFQSSBjdXJyZW50bHkgb25seSBzdXBwb3J0cyB0aGUgdGltZQotICAgIC8vIHRoZSBs
YXN0IGhlYWRlciBieXRlIHdhcyByZWNlaXZlZC4gRm9yIG1hbnkgcmVzcG9uc2VzIHdpdGggcmVh
c29uYWJsZQotICAgIC8vIHNpemVkIGNvb2tpZXMsIHRoZSBIVFRQIGhlYWRlcnMgZml0IGludG8g
YSBzaW5nbGUgcGFja2V0IHNvIHRoaXMgdGltZQotICAgIC8vIGlzIGJhc2ljYWxseSBlcXVpdmFs
ZW50LiBCdXQgZm9yIHNvbWUgcmVzcG9uc2VzLCBwYXJ0aWN1bGFybHkgdGhvc2Ugd2l0aAotICAg
IC8vIGhlYWRlcnMgbGFyZ2VyIHRoYW4gYSBzaW5nbGUgcGFja2V0LCB0aGlzIHRpbWUgd2lsbCBi
ZSB0b28gbGF0ZS4KLSAgICBBU1NFUlQodGltaW5nLT5yZWNlaXZlSGVhZGVyc0VuZCA+PSAwKTsK
LSAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZSh0aW1pbmctPnJl
Y2VpdmVIZWFkZXJzRW5kKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6cmVzcG9u
c2VFbmQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1l
bnRMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0g
ICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPnJlc3BvbnNlRW5kKTsKLX0K
LQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZG9tTG9hZGluZygpIGNvbnN0Ci17Ci0gICAg
Y29uc3QgRG9jdW1lbnRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50VGltaW5nKCk7Ci0gICAgaWYg
KCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxp
c2Vjb25kcyh0aW1pbmctPmRvbUxvYWRpbmcpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGlt
aW5nOjpkb21JbnRlcmFjdGl2ZSgpIGNvbnN0Ci17Ci0gICAgY29uc3QgRG9jdW1lbnRUaW1pbmcq
IHRpbWluZyA9IGRvY3VtZW50VGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmRvbUlu
dGVyYWN0aXZlKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZG9tQ29udGVudExv
YWRlZCgpIGNvbnN0Ci17Ci0gICAgY29uc3QgRG9jdW1lbnRUaW1pbmcqIHRpbWluZyA9IGRvY3Vt
ZW50VGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
cmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmRvbUNvbnRlbnRMb2FkZWQpOwot
fQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpkb21Db21wbGV0ZSgpIGNvbnN0Ci17Ci0g
ICAgY29uc3QgRG9jdW1lbnRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50VGltaW5nKCk7Ci0gICAg
aWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1p
bGxpc2Vjb25kcyh0aW1pbmctPmRvbUNvbXBsZXRlKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25n
IFRpbWluZzo6bG9hZEV2ZW50U3RhcnQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWlu
ZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAg
ICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmct
PmxvYWRFdmVudFN0YXJ0KTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6bG9hZEV2
ZW50RW5kKCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3Vt
ZW50TG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQot
ICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5sb2FkRXZlbnRFbmQpOwot
fQotCi1Eb2N1bWVudExvYWRlciogVGltaW5nOjpkb2N1bWVudExvYWRlcigpIGNvbnN0Ci17Ci0g
ICAgaWYgKCFtX2ZyYW1lKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBtX2ZyYW1l
LT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKLX0KLQotY29uc3QgRG9jdW1lbnRUaW1pbmcq
IFRpbWluZzo6ZG9jdW1lbnRUaW1pbmcoKSBjb25zdAotewotICAgIGlmICghbV9mcmFtZSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1
bWVudCgpOwotICAgIGlmICghZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0
dXJuIGRvY3VtZW50LT50aW1pbmcoKTsKLX0KLQotRG9jdW1lbnRMb2FkVGltaW5nKiBUaW1pbmc6
OmRvY3VtZW50TG9hZFRpbWluZygpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciA9IGRvY3VtZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgcmV0dXJuIGxvYWRlci0+dGltaW5nKCk7Ci19Ci0KLVJlc291cmNlTG9hZFRpbWlu
ZyogVGltaW5nOjpyZXNvdXJjZUxvYWRUaW1pbmcoKSBjb25zdAotewotICAgIERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIgPSBkb2N1bWVudExvYWRlcigpOwotICAgIGlmICghbG9hZGVyKQotICAgICAg
ICByZXR1cm4gMDsKLQotICAgIHJldHVybiBsb2FkZXItPnJlc3BvbnNlKCkucmVzb3VyY2VMb2Fk
VGltaW5nKCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJlc291cmNlTG9hZFRp
bWVSZWxhdGl2ZVRvQWJzb2x1dGUoaW50IHJlbGF0aXZlU2Vjb25kcykgY29uc3QKLXsKLSAgICBB
U1NFUlQocmVsYXRpdmVTZWNvbmRzID49IDApOwotICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVz
b3VyY2VUaW1pbmcgPSByZXNvdXJjZUxvYWRUaW1pbmcoKTsKLSAgICBBU1NFUlQocmVzb3VyY2VU
aW1pbmcpOwotICAgIERvY3VtZW50TG9hZFRpbWluZyogZG9jdW1lbnRUaW1pbmcgPSBkb2N1bWVu
dExvYWRUaW1pbmcoKTsKLSAgICBBU1NFUlQoZG9jdW1lbnRUaW1pbmcpOwotCi0gICAgLy8gVGhl
IFJlc291cmNlTG9hZFRpbWluZyBBUEkncyByZXF1ZXN0VGltZSBpcyB0aGUgYmFzZSB0aW1lIHRv
IHdoaWNoIGFsbAotICAgIC8vIG90aGVyIG1hcmtzIGFyZSByZWxhdGl2ZS4gU28gdG8gZ2V0IGFu
IGFic29sdXRlIHRpbWUsIHdlIG11c3QgYWRkIGl0IHRvCi0gICAgLy8gdGhlIHJlbGF0aXZlIG1h
cmtzLgotICAgIC8vCi0gICAgLy8gU2luY2UgUmVzb3VyY2VMb2FkVGltaW5ncyBjYW1lIGZyb20g
dGhlIG5ldHdvcmsgcGxhdGZvcm0gbGF5ZXIsIHdlIG11c3QKLSAgICAvLyBjaGVjayB0aGVtIGZv
ciBza2V3IGJlY2F1c2UgdGhleSBtYXkgYmUgZnJvbSBhbm90aGVyIHRocmVhZC9wcm9jZXNzLgot
ICAgIGRvdWJsZSBiYXNlVGltZSA9IGdldFBvc3NpYmx5U2tld2VkVGltZUluS25vd25SYW5nZShy
ZXNvdXJjZVRpbWluZy0+cmVxdWVzdFRpbWUsIGRvY3VtZW50VGltaW5nLT5mZXRjaFN0YXJ0LCBk
b2N1bWVudFRpbWluZy0+cmVzcG9uc2VFbmQgLSAocmVzb3VyY2VUaW1pbmctPnJlY2VpdmVIZWFk
ZXJzRW5kIC8gMTAwMC4wKSk7Ci0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyhiYXNl
VGltZSkgKyByZWxhdGl2ZVNlY29uZHM7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1Rp
bWluZy5oIGIvV2ViQ29yZS9wYWdlL1RpbWluZy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzZTM0ODVmLi4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaAorKysgL2Rl
di9udWxsCkBAIC0xLDg5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFRpbWluZ19oCi0jZGVmaW5lIFRpbWluZ19o
Ci0KLSNpZiBFTkFCTEUoV0VCX1RJTUlORykKLQotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1z
dHJ1Y3QgRG9jdW1lbnRMb2FkVGltaW5nOwotY2xhc3MgRG9jdW1lbnRMb2FkZXI7Ci1zdHJ1Y3Qg
RG9jdW1lbnRUaW1pbmc7Ci1jbGFzcyBGcmFtZTsKLWNsYXNzIFJlc291cmNlTG9hZFRpbWluZzsK
LQotY2xhc3MgVGltaW5nIDogcHVibGljIFJlZkNvdW50ZWQ8VGltaW5nPiB7Ci1wdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8VGltaW5nPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgVGltaW5nKGZyYW1lKSk7IH0KLQotICAgIEZyYW1lKiBmcmFtZSgpIGNv
bnN0OwotICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7Ci0KLSAgICB1bnNpZ25lZCBsb25nIGxv
bmcgbmF2aWdhdGlvblN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHVubG9h
ZEV2ZW50RW5kKCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0U3RhcnQo
KSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RFbmQoKSBjb25zdDsKLSAg
ICB1bnNpZ25lZCBsb25nIGxvbmcgZmV0Y2hTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyBkb21haW5Mb29rdXBTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9u
ZyBkb21haW5Mb29rdXBFbmQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVj
dFN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGNvbm5lY3RFbmQoKSBjb25z
dDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVxdWVzdFN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5z
aWduZWQgbG9uZyBsb25nIHJlcXVlc3RFbmQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxv
bmcgcmVzcG9uc2VTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25z
ZUVuZCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Mb2FkaW5nKCkgY29uc3Q7
Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbUludGVyYWN0aXZlKCkgY29uc3Q7Ci0gICAgdW5z
aWduZWQgbG9uZyBsb25nIGRvbUNvbnRlbnRMb2FkZWQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBs
b25nIGxvbmcgZG9tQ29tcGxldGUoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgbG9h
ZEV2ZW50U3RhcnQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2ZW50RW5k
KCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgVGltaW5nKEZyYW1lKik7Ci0KLSAgICBjb25zdCBE
b2N1bWVudFRpbWluZyogZG9jdW1lbnRUaW1pbmcoKSBjb25zdDsKLSAgICBEb2N1bWVudExvYWRl
ciogZG9jdW1lbnRMb2FkZXIoKSBjb25zdDsKLSAgICBEb2N1bWVudExvYWRUaW1pbmcqIGRvY3Vt
ZW50TG9hZFRpbWluZygpIGNvbnN0OwotICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VM
b2FkVGltaW5nKCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHJlc291cmNlTG9hZFRp
bWVSZWxhdGl2ZVRvQWJzb2x1dGUoaW50KSBjb25zdDsKLQotICAgIEZyYW1lKiBtX2ZyYW1lOwot
fTsKLQotfQotCi0jZW5kaWYgLy8gIUVOQUJMRShXRUJfVElNSU5HKQotI2VuZGlmIC8vICFkZWZp
bmVkKFRpbWluZ19oKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1RpbWluZy5pZGwgYi9XZWJD
b3JlL3BhZ2UvVGltaW5nLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDBkM2Uy
NC4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL3BhZ2UvVGltaW5nLmlkbAorKysgL2Rldi9udWxsCkBA
IC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAq
IG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0g
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi1tb2R1bGUgd2luZG93IHsKLQotICAgIC8vIFNlZTogaHR0cDovL2Rldi53
My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLwotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9
V0VCX1RJTUlORywgT21pdENvbnN0cnVjdG9yXSBUaW1pbmcgewotICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIG5hdmlnYXRpb25TdGFydDsKLSAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyB1bmxvYWRFdmVudEVuZDsKLSAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdFN0YXJ0Owot
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0RW5k
OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGZldGNoU3Rh
cnQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tYWlu
TG9va3VwU3RhcnQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxv
bmcgZG9tYWluTG9va3VwRW5kOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsb25nIGNvbm5lY3RTdGFydDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbG9uZyBjb25uZWN0RW5kOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsb25nIHJlcXVlc3RTdGFydDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbG9uZyByZXF1ZXN0RW5kOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlc3BvbnNlU3RhcnQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VFbmQ7Ci0gICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tTG9hZGluZzsKLSAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21JbnRlcmFjdGl2ZTsKLSAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Db250ZW50TG9hZGVkOwot
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUNvbXBsZXRl
OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRFdmVu
dFN0YXJ0OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGxv
YWRFdmVudEVuZDsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2ODY3NzE0Li5iMTdhMTEw
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0wOCAgSmFtZXMgU2ltb25z
ZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW1dlYiBUaW1pbmddIFJlbmFtZSBpbnRlcmZhY2VzOgorICAg
ICAgICAtIE5hdmlnYXRpb24gLT4gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uCisgICAgICAgIC0gVGlt
aW5nIC0+IFBlcmZvcm1hbmNlVGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00ODkxOQorCisgICAgICAgICogc3JjL1dlYlBlcmZvcm1hbmNlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGVyZm9ybWFuY2U6Om5hdmlnYXRpb25UeXBlKToKKwog
MjAxMC0xMS0wOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUGVyZm9ybWFuY2UuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQZXJmb3JtYW5j
ZS5jcHAKaW5kZXggZjAxOTc5My4uOTE3OTk3MiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQZXJm
b3JtYW5jZS5jcHAKQEAgLTUwLDExICs1MCwxMSBAQCB2b2lkIFdlYlBlcmZvcm1hbmNlOjphc3Np
Z24oY29uc3QgV2ViUGVyZm9ybWFuY2UmIG90aGVyKQogV2ViTmF2aWdhdGlvblR5cGUgV2ViUGVy
Zm9ybWFuY2U6Om5hdmlnYXRpb25UeXBlKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fcHJpdmF0
ZS0+bmF2aWdhdGlvbigpLT50eXBlKCkpIHsKLSAgICBjYXNlIE5hdmlnYXRpb246Ok5BVklHQVRF
OgorICAgIGNhc2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpOQVZJR0FURToKICAgICAgICAgcmV0
dXJuIFdlYk5hdmlnYXRpb25UeXBlT3RoZXI7Ci0gICAgY2FzZSBOYXZpZ2F0aW9uOjpSRUxPQUQ6
CisgICAgY2FzZSBQZXJmb3JtYW5jZU5hdmlnYXRpb246OlJFTE9BRDoKICAgICAgICAgcmV0dXJu
IFdlYk5hdmlnYXRpb25UeXBlUmVsb2FkOwotICAgIGNhc2UgTmF2aWdhdGlvbjo6QkFDS19GT1JX
QVJEOgorICAgIGNhc2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpCQUNLX0ZPUldBUkQ6CiAgICAg
ICAgIHJldHVybiBXZWJOYXZpZ2F0aW9uVHlwZUJhY2tGb3J3YXJkOwogICAgIH0KICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73448</attachid>
            <date>2010-11-09 17:44:56 -0800</date>
            <delta_ts>2010-11-11 16:14:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>97842</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNGEzZWE3Li41YjM3YTFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMTEt
MDkgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXZWIgVGltaW5nXSBSZW5hbWUg
aW50ZXJmYWNlczoKKyAgICAgICAgLSBOYXZpZ2F0aW9uIC0+IFBlcmZvcm1hbmNlTmF2aWdhdGlv
bgorICAgICAgICAtIFRpbWluZyAtPiBQZXJmb3JtYW5jZVRpbWluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5MTkKKworICAgICAgICAqIGZhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQ6IENs
YXNzIG5hbWVzIGNoYW5nZWQuCisKIDIwMTAtMTEtMDkgIE1paGFpIFBhcnBhcml0YSAgPG1paGFp
cEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBDaHJvbWl1bSB0ZXN0X2V4cGVj
dGF0aW9ucy50eHQgdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3Rl
ZC50eHQKaW5kZXggMWM1MmY0NC4uOGQyMjI5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtcGVyZm9y
bWFuY2UtZXhwZWN0ZWQudHh0CkBAIC00LDEzICs0LDEzIEBAIHdpbmRvdy53ZWJraXRQZXJmb3Jt
YW5jZSBbb2JqZWN0IFBlcmZvcm1hbmNlXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm1lbW9y
eSBbb2JqZWN0IE1lbW9yeUluZm9dCiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UubWVtb3J5LnRv
dGFsSlNIZWFwU2l6ZSBbbnVtYmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm1lbW9yeS51
c2VkSlNIZWFwU2l6ZSBbbnVtYmVyXQotd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRp
b24gW29iamVjdCBOYXZpZ2F0aW9uXQord2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRp
b24gW29iamVjdCBQZXJmb3JtYW5jZU5hdmlnYXRpb25dCiB3aW5kb3cud2Via2l0UGVyZm9ybWFu
Y2UubmF2aWdhdGlvbi5CQUNLX0ZPUldBUkQgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQZXJmb3Jt
YW5jZS5uYXZpZ2F0aW9uLk5BVklHQVRFIFtudW1iZXJdCiB3aW5kb3cud2Via2l0UGVyZm9ybWFu
Y2UubmF2aWdhdGlvbi5SRUxPQUQgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uLnR5cGUgW251bWJlcl0KLXdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1p
bmcgW29iamVjdCBUaW1pbmddCit3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UudGltaW5nIFtvYmpl
Y3QgUGVyZm9ybWFuY2VUaW1pbmddCiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UudGltaW5nLmNv
bm5lY3RFbmQgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcuY29ubmVj
dFN0YXJ0IFtudW1iZXJdCiB3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UudGltaW5nLmRvbUNvbXBs
ZXRlIFtudW1iZXJdCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDdiMTg5ZDcuLjIwOGE2YzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMTAtMTEtMDkg
IEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXZWIgVGltaW5nXSBSZW5hbWUgaW50
ZXJmYWNlczoKKyAgICAgICAgLSBOYXZpZ2F0aW9uIC0+IFBlcmZvcm1hbmNlTmF2aWdhdGlvbgor
ICAgICAgICAtIFRpbWluZyAtPiBQZXJmb3JtYW5jZVRpbWluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5MTkKKworICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6bmF2aWdhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZTo6dGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAg
ICogcGFnZS9QZXJmb3JtYW5jZS5pZGw6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmln
YXRpb24uY3BwOiBSZW5hbWVkIGZyb20gV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3BwLgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpQZXJmb3JtYW5jZU5hdmlnYXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpmcmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb246OmRpc2Nvbm5lY3RGcmFtZSk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb246OnR5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50KToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oOiBSZW5hbWVkIGZyb20gV2ViQ29yZS9w
YWdlL05hdmlnYXRpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlv
bjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGw6IFJl
bmFtZWQgZnJvbSBXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5pZGwuCisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZVRpbWluZy5jcHA6IFJlbmFtZWQgZnJvbSBXZWJDb3JlL3BhZ2UvVGltaW5nLmNw
cC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSW50ZWdlck1pbGxpc2Vjb25kcyk6CisgICAgICAgIChX
ZWJDb3JlOjpnZXRQb3NzaWJseVNrZXdlZFRpbWVJbktub3duUmFuZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OlBlcmZvcm1hbmNlVGltaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpmcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZVRpbWluZzo6ZGlzY29ubmVjdEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlVGltaW5nOjpuYXZpZ2F0aW9uU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
VGltaW5nOjpyZWRpcmVjdEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWlu
Zzo6ZmV0Y2hTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6ZG9t
YWluTG9va3VwU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRv
bWFpbkxvb2t1cEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6Y29u
bmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpjb25uZWN0
RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlcXVlc3RFbmQpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlc3BvbnNlRW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb21Mb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlVGltaW5nOjpkb21JbnRlcmFjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVRpbWluZzo6ZG9tQ29udGVudExvYWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVRpbWluZzo6ZG9tQ29tcGxldGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VUaW1pbmc6OmxvYWRFdmVudFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlVGltaW5nOjpsb2FkRXZlbnRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VU
aW1pbmc6OmRvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGlt
aW5nOjpkb2N1bWVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWlu
Zzo6ZG9jdW1lbnRMb2FkVGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGlt
aW5nOjpyZXNvdXJjZUxvYWRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VU
aW1pbmc6OnJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUpOgorICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2VUaW1pbmcuaDogUmVuYW1lZCBmcm9tIFdlYkNvcmUvcGFnZS9UaW1pbmcu
aC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpjcmVhdGUpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsOiBSZW5hbWVkIGZyb20gV2ViQ29yZS9wYWdl
L1RpbWluZy5pZGwuCisKIDIwMTAtMTEtMDkgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKaW5kZXggZGNkMGUyMi4uMzBmZDI5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTIzNCw3ICsyMzQs
NiBAQAogI2luY2x1ZGUgIkpTTW91c2VFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNNdXRhdGlvbkV2
ZW50LmNwcCIKICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcC5jcHAiCi0jaW5jbHVkZSAiSlNOYXZp
Z2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU05hdmlnYXRvci5jcHAiCiAjaW5jbHVkZSAiSlNOb2Rl
LmNwcCIKICNpbmNsdWRlICJKU05vZGVGaWx0ZXIuY3BwIgpAQCAtMjQ2LDYgKzI0NSw4IEBACiAj
aW5jbHVkZSAiSlNPdmVyZmxvd0V2ZW50LmNwcCIKICNpbmNsdWRlICJKU1BhZ2VUcmFuc2l0aW9u
RXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2UuY3BwIgorI2luY2x1ZGUgIkpTUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlVGltaW5nLmNw
cCIKICNpbmNsdWRlICJKU1BvcFN0YXRlRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTUG9zaXRpb25F
cnJvci5jcHAiCiAjaW5jbHVkZSAiSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIgpAQCAtNDE0
LDcgKzQxNSw2IEBACiAjaW5jbHVkZSAiSlNUZXh0RXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTVGV4
dE1ldHJpY3MuY3BwIgogI2luY2x1ZGUgIkpTVGltZVJhbmdlcy5jcHAiCi0jaW5jbHVkZSAiSlNU
aW1pbmcuY3BwIgogI2luY2x1ZGUgIkpTVG91Y2guY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hFdmVu
dC5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaExpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGVm
MjJjODMuLjllYzM3MDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI3OCw3ICsyNzgsNiBAQCBET01f
Q0xBU1NFUyA9IFwKICAgICBNb3VzZUV2ZW50IFwKICAgICBNdXRhdGlvbkV2ZW50IFwKICAgICBO
YW1lZE5vZGVNYXAgXAotICAgIE5hdmlnYXRpb24gXAogICAgIE5hdmlnYXRvciBcCiAgICAgTm9k
ZSBcCiAgICAgTm9kZUZpbHRlciBcCkBAIC0yOTAsNiArMjg5LDggQEAgRE9NX0NMQVNTRVMgPSBc
CiAgICAgT3ZlcmZsb3dFdmVudCBcCiAgICAgUGFnZVRyYW5zaXRpb25FdmVudCBcCiAgICAgUGVy
Zm9ybWFuY2UgXAorICAgIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiBcCisgICAgUGVyZm9ybWFuY2VU
aW1pbmcgXAogICAgIFBvcFN0YXRlRXZlbnQgXAogICAgIFBvc2l0aW9uRXJyb3IgXAogICAgIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbiBcCkBAIC00NjksNyArNDcwLDYgQEAgRE9NX0NMQVNTRVMgPSBc
CiAgICAgVGV4dEV2ZW50IFwKICAgICBUZXh0TWV0cmljcyBcCiAgICAgVGltZVJhbmdlcyBcCi0g
ICAgVGltaW5nIFwKICAgICBUb3VjaCBcCiAgICAgVG91Y2hFdmVudCBcCiAgICAgVG91Y2hMaXN0
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDBiOWFmMTQuLjk0YjA5NjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDQ3LDggKzQ0Nyw2IEBA
IHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011
dGF0aW9uRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hbWVkTm9kZU1hcC5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuaCBcCi0JRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRpb24uY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTmF2aWdhdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm9kZS5jcHAgXApAQCAtNDcxLDYgKzQ2OSwxMCBAQCB3ZWJjb3Jl
X2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQYWdlVHJhbnNp
dGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BvcFN0
YXRlRXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9wU3RhdGVFdmVudC5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25FcnJvci5jcHAgXApAQCAtNTEy
LDggKzUxNCw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1RleHRNZXRyaWNzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUaW1l
UmFuZ2VzLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RpbWVSYW5nZXMuaCBcCi0J
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RpbWluZy5jcHAgXAotCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNUaW1pbmcuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoLmNwcCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoRXZlbnQuY3BwIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTVG91Y2hFdmVudC5oIFwKQEAgLTIxMjMsOCArMjEyMyw2IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaCBcCiAJV2ViQ29yZS9w
YWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwIFwKIAlXZWJDb3JlL3BhZ2UvTW91
c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oIFwKLQlXZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5j
cHAgXAotCVdlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmggXAogCVdlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JCYXNlLmNwcCBcCiAJV2ViQ29yZS9wYWdlL05hdmlnYXRvckJhc2UuaCBcCiAJV2ViQ29yZS9w
YWdlL05hdmlnYXRvci5jcHAgXApAQCAtMjEzOSw2ICsyMTM3LDEwIEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJV2ViQ29yZS9wYWdlL1BhZ2UuaCBcCiAJV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmNwcCBcCiAJV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggXAorCVdlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwIFwKKwlXZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uLmggXAorCVdlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAgXAorCVdlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oIFwKIAlXZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyQ2xp
ZW50LmggXAogCVdlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuY3BwIFwKIAlXZWJDb3JlL3BhZ2Uv
UGx1Z2luSGFsdGVyLmggXApAQCAtMjE2NSw4ICsyMTY3LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlXZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRSZXN1bHQuaCBcCiAJV2ViQ29yZS9wYWdlL1N1
c3BlbmRhYmxlVGltZXIuY3BwIFwKIAlXZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oIFwK
LQlXZWJDb3JlL3BhZ2UvVGltaW5nLmNwcCBcCi0JV2ViQ29yZS9wYWdlL1RpbWluZy5oIFwKIAlX
ZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRUeXBlcy5oIFwKIAlXZWJDb3JlL3BhZ2UvVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmNwcCBcCiAJV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50VVJMUGF0dGVybi5o
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKaW5kZXggZjhmYTYyNC4uNmQ0Njg1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI0NSwxMiArMjQ1LDEyIEBACiAgICAg
ICAgICAgICAncGFnZS9IaXN0b3J5LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5p
ZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTWVtb3J5SW5mby5pZGwnLAotICAgICAgICAgICAgJ3Bh
Z2UvTmF2aWdhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZS5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUG9zaXRpb25FcnJvci5pZGwnLAogICAgICAg
ICAgICAgJ3BhZ2UvU2NyZWVuLmlkbCcsCi0gICAgICAgICAgICAncGFnZS9UaW1pbmcuaWRsJywK
ICAgICAgICAgICAgICdwYWdlL1dlYktpdFBvaW50LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9X
b3JrZXJOYXZpZ2F0b3IuaWRsJywKICAgICAgICAgICAgICdwbHVnaW5zL0RPTU1pbWVUeXBlLmlk
bCcsCkBAIC0yMjU2LDggKzIyNTYsNiBAQAogICAgICAgICAgICAgJ3BhZ2UvTWVtb3J5SW5mby5o
JywKICAgICAgICAgICAgICdwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwJywK
ICAgICAgICAgICAgICdwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCcsCi0gICAg
ICAgICAgICAncGFnZS9OYXZpZ2F0aW9uLmNwcCcsCi0gICAgICAgICAgICAncGFnZS9OYXZpZ2F0
aW9uLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmNwcCcsCiAgICAgICAgICAgICAn
cGFnZS9OYXZpZ2F0b3IuaCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCcs
CkBAIC0yMjcyLDYgKzIyNzAsMTAgQEAKICAgICAgICAgICAgICdwYWdlL1BhZ2VHcm91cExvYWRE
ZWZlcnJlci5oJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmNwcCcsCiAgICAgICAg
ICAgICAncGFnZS9QZXJmb3JtYW5jZS5oJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5jcHAnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmgnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwJywKKyAgICAgICAg
ICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmgnLAogICAgICAgICAgICAgJ3BhZ2UvUGx1Z2lu
SGFsdGVyLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9QbHVnaW5IYWx0ZXIuaCcsCiAgICAgICAg
ICAgICAncGFnZS9QbHVnaW5IYWx0ZXJDbGllbnQuaCcsCkBAIC0yMjk4LDggKzIzMDAsNiBAQAog
ICAgICAgICAgICAgJ3BhZ2UvU3BlZWNoSW5wdXRSZXN1bHQuaCcsCiAgICAgICAgICAgICAncGFn
ZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmgnLAotICAgICAgICAgICAgJ3BhZ2UvVGltaW5nLmNwcCcsCi0gICAgICAgICAgICAncGFn
ZS9UaW1pbmcuaCcsCiAgICAgICAgICAgICAncGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uY3Bw
JywKICAgICAgICAgICAgICdwYWdlL1VzZXJDb250ZW50VVJMUGF0dGVybi5oJywKICAgICAgICAg
ICAgICdwYWdlL1VzZXJDb250ZW50VHlwZXMuaCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCA5ZDk5MDZhLi5jYzAzOTNjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAg
LTMwNywxMiArMzA3LDEyIEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgcGFnZS9IaXN0b3J5Lmlk
bCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwgXAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwgXAot
ICAgIHBhZ2UvTmF2aWdhdGlvbi5pZGwgXAogICAgIHBhZ2UvTmF2aWdhdG9yLmlkbCBcCiAgICAg
cGFnZS9QZXJmb3JtYW5jZS5pZGwgXAorICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlk
bCBcCisgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogICAgIHBhZ2UvUG9zaXRpb25F
cnJvci5pZGwgXAogICAgIHBhZ2UvU2NyZWVuLmlkbCBcCi0gICAgcGFnZS9UaW1pbmcuaWRsIFwK
ICAgICBwYWdlL1dlYktpdFBvaW50LmlkbCBcCiAgICAgcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaWRs
IFwKICAgICBwbHVnaW5zL0RPTVBsdWdpbi5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggNzQ5NWJlNy4uNjYxYmNkMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBA
IC0xMDg5LDcgKzEwODksNiBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5j
cHAgXAogICAgIHBhZ2UvRE9NVGltZXIuY3BwIFwKICAgICBwYWdlL0RPTVdpbmRvdy5jcHAgXAot
ICAgIHBhZ2UvTmF2aWdhdGlvbi5jcHAgXAogICAgIHBhZ2UvTmF2aWdhdG9yLmNwcCBcCiAgICAg
cGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAgICAgcGFnZS9EcmFnQ29udHJvbGxlci5jcHAgXApA
QCAtMTExMiw2ICsxMTExLDggQEAgU09VUkNFUyArPSBcCiAgICAgcGFnZS9QYWdlR3JvdXAuY3Bw
IFwKICAgICBwYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAgXAogICAgIHBhZ2UvUGVyZm9y
bWFuY2UuY3BwIFwKKyAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgXAorICAgIHBh
Z2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKICAgICBwYWdlL1BsdWdpbkhhbHRlci5jcHAgXAog
ICAgIHBhZ2UvUHJpbnRDb250ZXh0LmNwcCBcCiAgICAgcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAg
XApAQCAtMTExOSw3ICsxMTIwLDYgQEAgU09VUkNFUyArPSBcCiAgICAgcGFnZS9TZXR0aW5ncy5j
cHAgXAogICAgIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwIFwKICAgICBwYWdlL1N1c3BlbmRh
YmxlVGltZXIuY3BwIFwKLSAgICBwYWdlL1RpbWluZy5jcHAgXAogICAgIHBhZ2UvVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmNwcCBcCiAgICAgcGFnZS9XaW5kb3dGZWF0dXJlcy5jcHAgXAogICAgIHBh
Z2UvWFNTQXVkaXRvci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggOWU0ODdlOS4uZWM4ODRiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC0xMDYzNiw3ICsxMDYzNiw3IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0aW9uLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdh
dG9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIg0KQEAgLTEwNjg4LDExICsxMDY4OCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRp
b24uaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yLmNwcCINCisJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTTm9kZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMDc0NCwxMSArMTA3NDQsMTEgQEAKIAkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNO
YXZpZ2F0b3IuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxl
Pg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGUuY3BwIg0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNOb2RlRmlsdGVyLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTEwODAwLDExICsxMDgwMCwxMSBAQAogCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U05vZGUuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUZpbHRlci5oIg0KIAkJCQk+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGVGaWx0ZXIuY3BwIg0KKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNOb2RlSXRlcmF0b3IuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTA4NTYsMTEgKzEwODU2LDExIEBA
CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJ
UmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTm9kZUZpbHRlci5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlSXRlcmF0b3Iu
aCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2Rl
SXRlcmF0b3IuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlTGlzdC5jcHAiDQogCQkJCT4NCiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMDkx
MiwxMSArMTA5MTIsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4N
CiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlSXRlcmF0b3IuaCINCisJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTTm9kZUxpc3QuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNOb2RlTGlzdC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vdGF0aW9uLmNwcCIN
CiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KQEAgLTEwOTY4LDExICsxMDk2OCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGVMaXN0LmgiDQorCQkJ
CVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU05vdGF0aW9uLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
Ci0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTTm90YXRpb24uY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmlj
YXRpb24uY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0i
RGVidWd8V2luMzIiDQpAQCAtMTEwMjQsMTEgKzExMDI0LDExIEBACiAJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90YXRp
b24uaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uLmgiDQogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uLmNwcCINCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTExMDgwLDExICsxMTA4
MCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvbi5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3Rp
ZmljYXRpb25DZW50ZXIuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNPdmVy
Zmxvd0V2ZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIg0KQEAgLTExMTM2LDExICsxMTEzNiwxMSBAQAogCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05v
dGlmaWNhdGlvbkNlbnRlci5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNPdmVyZmxvd0V2ZW50LmgiDQog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTT3ZlcmZsb3dF
dmVudC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIg0KIAkJ
CQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpA
QCAtMTExOTIsMTEgKzExMTkyLDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8
L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTT3ZlcmZsb3dFdmVudC5oIg0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNQYWdlVHJhbnNpdGlvbkV2ZW50LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGFnZVRyYW5zaXRpb25FdmVudC5jcHAiDQor
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTExMjQ4LDExICsxMTI0OCwx
MSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQot
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCINCisJCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
UGVyZm9ybWFuY2UuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNQZXJmb3JtYW5jZS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlTmF2
aWdhdGlvbi5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiINCkBAIC0xMTMwNCw3ICsxMTMwNCw2MyBAQAogCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZv
cm1hbmNlLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNl
VGltaW5nLmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZv
cm1hbmNlVGltaW5nLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkBAIC0yMDIy
MCw2MiArMjAyNzYsNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTVGltaW5nLmNwcCINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0J
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQot
CQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJ
CQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
Ci0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
Ci0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KLQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQotCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4z
MiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wN
Ci0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJ
CTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU1RpbWluZy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1RyZWVXYWxrZXIuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
QEAgLTIzNDI0LDE0ICsyMzQyNCw2IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdGlvbi5jcHAiDQotCQkJCT4NCi0JCQk8
L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRpb24u
aCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHBhZ2VcTmF2aWdhdG9yLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0yMzQ4NCw2ICsy
MzQ3NiwyMiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlTmF2
aWdhdGlvbi5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVRpbWluZy5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlVGltaW5n
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwYWdlXFBsdWdpbkhhbHRlci5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMjM1NzYs
MTQgKzIzNTg0LDYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5ccGFnZVxUaW1pbmcuY3BwIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxG
aWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxUaW1pbmcuaCINCi0JCQkJPg0KLQkJCTwv
RmlsZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQwM2JhNjkuLmY2MGIwZTYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjI4LDE3ICsyNjI4LDE3IEBA
CiAJCThBODFCRjg1MTFEQ0ZEOTAwMERBMkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBODFCRjg0MTFEQ0ZE
OTAwMERBMkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4QTg0NEQwNDExRDNDMThFMDAxNDA2NUMgLyog
UGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOEE4NDREMDExMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmNwcCAqLzsgfTsK
IAkJOEE4NDREMDUxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTg0NEQwMjExRDNDMThFMDAxNDA2
NUMgLyogUGVyZm9ybWFuY2UuaCAqLzsgfTsKLQkJOEE5QTU4NzAxMUU4NEMzNjAwOEFDRkQxIC8q
IEpTTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmNwcCAqLzsg
fTsKLQkJOEE5QTU4NzExMUU4NEMzNjAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NkYxMUU4NEMzNjAw
OEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5oICovOyB9OworCQk4QTlBNTg3MDExRTg0QzM2MDA4QUNG
RDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKKwkJOEE5QTU4NzExMUU4NEMzNjAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlBNTg2RjExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uaCAqLzsgfTsKIAkJOEE5QTU4NzQxMUU4NEM4MTAwOEFDRkQxIC8qIEpT
UGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOEE5QTU4NzIxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuY3BwICovOyB9
OwogCQk4QTlBNTg3NTExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NzMxMUU4NEM4MTAw
OEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuaCAqLzsgfTsKLQkJOEE5QTU4ODcxMUU4NEYzNzAwOEFD
RkQxIC8qIEpTVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDhBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1RpbWluZy5jcHAgKi87IH07
Ci0JCThBOUE1ODg4MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1RpbWluZy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NzcxMUU4NEM5ODAwOEFDRkQx
IC8qIEpTVGltaW5nLmggKi87IH07CisJCThBOUE1ODg3MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1Bl
cmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDhBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5n
LmNwcCAqLzsgfTsKKwkJOEE5QTU4ODgxMUU4NEYzNzAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VU
aW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhB
OUE1ODc3MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmggKi87IH07CiAJ
CThBQjRCQzc3MTI2RkRCNzEwMERFQjcyNyAvKiBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJ
bmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOEFCNEJDNzYxMjZGREI3MTAwREVCNzI3IC8qIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3Vu
dEluY3JlbWVudGVyLmggKi87IH07Ci0JCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBOYXZp
Z2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDhBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKLQkJOEFG
NEU1NTYxMURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBO
YXZpZ2F0aW9uLmggKi87IH07Ci0JCThBRjRFNTVCMTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1
NTgxMURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5jcHAgKi87IH07Ci0JCThBRjRFNTVDMTFEQzVB
NjMwMDBFRDNERSAvKiBUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDhBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuaCAqLzsgfTsK
KwkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QUY0RTU1MjEx
REM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKKwkJOEFG
NEU1NTYxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1NTMxMURDNUEzNjAw
MEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICovOyB9OworCQk4QUY0RTU1QjExREM1
QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1NTgxMURDNUE2MzAwMEVEM0RFIC8qIFBl
cmZvcm1hbmNlVGltaW5nLmNwcCAqLzsgfTsKKwkJOEFGNEU1NUMxMURDNUE2MzAwMEVEM0RFIC8q
IFBlcmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcu
aCAqLzsgfTsKIAkJOEM2RUE2MTkxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OEM2RUE2MTcxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwICov
OyB9OwogCQk4QzZFQTYxQTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2RUE2
MTgxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsgfTsKIAkJ
OEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4RjkzNEQ4NDExODlG
MUVFMDA1MDhENUQgLyogSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcCAqLzsgfTsKQEAgLTg3NDMs
MTkgKzg3NDMsMTkgQEAKIAkJOEE4NDREMDExMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEE4NDREMDIxMUQzQzE4RTAwMTQwNjVD
IC8qIFBlcmZvcm1hbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZv
cm1hbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBODQ0RDAzMTFEM0MxOEUw
MDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9y
bWFuY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QTlBNTg2RTExRTg0QzM1
MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCThBOUE1ODZFMTFFODRDMzUwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdh
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BlcmZvcm1h
bmNlTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBOUE1ODZG
MTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BlcmZv
cm1hbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEE5QTU4NzMxMUU4NEM4
MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNQZXJmb3JtYW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QTlB
NTg3NjExRTg0Qzk4MDA4QUNGRDEgLyogSlNUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk4QTlBNTg3NzExRTg0Qzk4MDA4QUNGRDEgLyogSlNUaW1pbmcuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOEE5QTU4NzYxMUU4NEM5ODAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZXJmb3JtYW5jZVRpbWlu
Zy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBOUE1ODc3MTFFODRDOTgwMDhB
Q0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTUGVyZm9ybWFuY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOEFCNEJDNzYxMjZGREI3MTAwREVCNzI3IC8qIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3Vu
dEluY3JlbWVudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElnbm9yZURl
c3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCThBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBOYXZpZ2F0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRpb24uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk4QUY0RTU1MzExREM1QTM2MDAwRUQzREUgLyogTmF2aWdhdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBOYXZp
Z2F0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0aW9uLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOEFGNEU1NTgxMURDNUE2MzAwMEVEM0RFIC8qIFRpbWlu
Zy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaW1pbmcuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyog
VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWluZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QUY0RTU1QTExREM1QTYzMDAwRUQzREUgLyogVGlt
aW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRF
NTUzMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlTmF2
aWdhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTU4MTFEQzVB
NjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZVRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWlu
Zy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZVRpbWluZy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QUY0RTU1QTExREM1QTYzMDAwRUQzREUg
LyogUGVyZm9ybWFuY2VUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1h
bmNlVGltaW5nLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEM2RUE2MTcxMUVG
N0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA7IHBhdGgg
PSBnZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4QzZFQTYxODExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmg7IHBhdGggPSBnZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEY5MzREODMxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFp
blRocmVhZEV4ZWNTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01h
aW5UaHJlYWRFeGVjU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjc4
LDkgKzEzMjc4LDYgQEAKIAkJCQk5RkZFM0U3QzExQjU5QzZFMDAzNzg3NEUgLyogTWVtb3J5SW5m
by5pZGwgKi8sCiAJCQkJOTNFQjM1NUUwOUUzN0ZENjAwRjQzNzk5IC8qIE1vdXNlRXZlbnRXaXRo
SGl0VGVzdFJlc3VsdHMuY3BwICovLAogCQkJCTkzNUM0NzYyMDlBQzRDRTYwMEE2QUFCNCAvKiBN
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggKi8sCi0JCQkJOEFGNEU1NTIxMURDNUEzNjAw
MEVEM0RFIC8qIE5hdmlnYXRpb24uY3BwICovLAotCQkJCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNE
RSAvKiBOYXZpZ2F0aW9uLmggKi8sCi0JCQkJOEFGNEU1NTQxMURDNUEzNjAwMEVEM0RFIC8qIE5h
dmlnYXRpb24uaWRsICovLAogCQkJCUE5QzZFNUEzMEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0
b3IuY3BwICovLAogCQkJCUE5QzZFNUE0MEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuaCAq
LywKIAkJCQlBOUM2RTY1RDBENzQ2Njk0MDA2NDQyRTkgLyogTmF2aWdhdG9yLmlkbCAqLywKQEAg
LTEzMjk3LDYgKzEzMjk0LDEyIEBACiAJCQkJOEE4NDREMDExMUQzQzE4RTAwMTQwNjVDIC8qIFBl
cmZvcm1hbmNlLmNwcCAqLywKIAkJCQk4QTg0NEQwMjExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9y
bWFuY2UuaCAqLywKIAkJCQk4QTg0NEQwMzExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2Uu
aWRsICovLAorCQkJCThBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmln
YXRpb24uY3BwICovLAorCQkJCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCAqLywKKwkJCQk4QUY0RTU1NDExREM1QTM2MDAwRUQzREUgLyogUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmlkbCAqLywKKwkJCQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyog
UGVyZm9ybWFuY2VUaW1pbmcuY3BwICovLAorCQkJCThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAv
KiBQZXJmb3JtYW5jZVRpbWluZy5oICovLAorCQkJCThBRjRFNTVBMTFEQzVBNjMwMDBFRDNERSAv
KiBQZXJmb3JtYW5jZVRpbWluZy5pZGwgKi8sCiAJCQkJNzY5M0JBQ0YxMDZDMkRDQTAwN0IwODIz
IC8qIFBsdWdpbkhhbHRlci5jcHAgKi8sCiAJCQkJNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8q
IFBsdWdpbkhhbHRlci5oICovLAogCQkJCTc2OTNCQUQxMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVn
aW5IYWx0ZXJDbGllbnQuaCAqLywKQEAgLTEzMzI1LDkgKzEzMzI4LDYgQEAKIAkJCQk3NTg5NzhF
QjEyNzA5MEQ2MDA3NkQ1QTkgLyogU3BlZWNoSW5wdXRSZXN1bHQuaCAqLywKIAkJCQk2MkMxMjE3
QTExQUI5RTc2MDAzQzQ2MkMgLyogU3VzcGVuZGFibGVUaW1lci5jcHAgKi8sCiAJCQkJNjJDMTIx
N0IxMUFCOUU3NzAwM0M0NjJDIC8qIFN1c3BlbmRhYmxlVGltZXIuaCAqLywKLQkJCQk4QUY0RTU1
ODExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmNwcCAqLywKLQkJCQk4QUY0RTU1OTExREM1QTYz
MDAwRUQzREUgLyogVGltaW5nLmggKi8sCi0JCQkJOEFGNEU1NUExMURDNUE2MzAwMEVEM0RFIC8q
IFRpbWluZy5pZGwgKi8sCiAJCQkJMDAzRjFGRTkxMUU2QUI0MzAwODI1OEQ5IC8qIFVzZXJDb250
ZW50VHlwZXMuaCAqLywKIAkJCQlCQ0FDRjNCQTEwNzI5MjFBMDBDMEM4QTMgLyogVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmNwcCAqLywKIAkJCQlCQ0FDRjNCQjEwNzI5MjFBMDBDMEM4QTMgLyogVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8sCkBAIC0xNzIzNiwxNiArMTcyMzYsMTYgQEAKIAkJCQlC
Q0UxQzQzQTBEOTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlvbi5oICovLAogCQkJCTlGRkUzRUEz
MTFCNUE0MzkwMDM3ODc0RSAvKiBKU01lbW9yeUluZm8uY3BwICovLAogCQkJCTlGRkUzRUE0MTFC
NUE0MzkwMDM3ODc0RSAvKiBKU01lbW9yeUluZm8uaCAqLywKLQkJCQk4QTlBNTg2RTExRTg0QzM1
MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmNwcCAqLywKLQkJCQk4QTlBNTg2RjExRTg0QzM2MDA4
QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmggKi8sCiAJCQkJQTlEMjQ3RjUwRDc1N0UzMzAwRkRGOTU5
IC8qIEpTTmF2aWdhdG9yLmNwcCAqLywKIAkJCQlBOUQyNDdGNjBENzU3RTMzMDBGREY5NTkgLyog
SlNOYXZpZ2F0b3IuaCAqLywKIAkJCQk4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZS5jcHAgKi8sCiAJCQkJOEE5QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9y
bWFuY2UuaCAqLywKKwkJCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwICovLAorCQkJCThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5oICovLAorCQkJCThBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAv
KiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCAqLywKKwkJCQk4QTlBNTg3NzExRTg0Qzk4MDA4QUNG
RDEgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5oICovLAogCQkJCUJDRUMwMUMwMEMyNzREREQwMDlG
NEVDOSAvKiBKU1NjcmVlbi5jcHAgKi8sCiAJCQkJQkNFQzAxQzEwQzI3NERERDAwOUY0RUM5IC8q
IEpTU2NyZWVuLmggKi8sCi0JCQkJOEE5QTU4NzYxMUU4NEM5ODAwOEFDRkQxIC8qIEpTVGltaW5n
LmNwcCAqLywKLQkJCQk4QTlBNTg3NzExRTg0Qzk4MDA4QUNGRDEgLyogSlNUaW1pbmcuaCAqLywK
IAkJCQk0OTRCRDc5QjBGNTVDOTRDMDA3NDc4MjggLyogSlNXZWJLaXRQb2ludC5jcHAgKi8sCiAJ
CQkJNDk0QkQ3OUMwRjU1Qzk0QzAwNzQ3ODI4IC8qIEpTV2ViS2l0UG9pbnQuaCAqLywKIAkJCSk7
CkBAIC0yMDE2NCw3ICsyMDE2NCw2IEBACiAJCQkJQTg2NjI5RDEwOURBMkI0ODAwOTYzM0E1IC8q
IEpTTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRkMwOUQxQ0M2MDAwMEJF
MzI1IC8qIEpTTXV0YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEOUMyQzEwQzE3
QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKLQkJCQk4QTlB
NTg3MTExRTg0QzM2MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOUQyNDdGODBENzU3RTM0MDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDOTQzOUMzMTE2Q0Y0OTQwMDQ4Qzc1MCAvKiBKU05vZGVDdXN0b20uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTE0MTE1QjczMDlGODRDRDYwMENBNEZDMSAvKiBKU05vZGVGaWx0ZXIuaCBp
biBIZWFkZXJzICovLApAQCAtMjAxNzgsNiArMjAxNzcsOCBAQAogCQkJCTFBMEQ1NzQxMEE1Qzc4
NjcwMDdFREQ0QyAvKiBKU092ZXJmbG93RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjg0
QkIxMTA0NDlGRkEwMEVBRUI1MiAvKiBKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCThBOUE1ODc1MTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4QTlBNTg3MTExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCThBOUE1ODg4MTFFODRGMzcwMDhBQ0ZE
MSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0I3MEQ2QzA5
RUIwQzdDMDA5RDg0NjggLyogSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTg5RjAxRTEwQjM3QkQ5MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlGRTgwREE3MjBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVy
cm9yLmggaW4gSGVhZGVycyAqLywKQEAgLTIwMzUwLDcgKzIwMzUxLDYgQEAKIAkJCQk5MzNBMTRC
OTBCN0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
RUY0NUY2MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFNDQ2MTQxQjBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk4QTlBNTg4ODExRTg0RjM3MDA4QUNGRDEgLyogSlNUaW1pbmcuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBNzUwRDVEMEE5MERFRTEwMDBGRjIxNSAvKiBKU1RyZWVXYWxrZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4NjYyOUNGMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjBEMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQx
NkFycmF5LmggaW4gSGVhZGVycyAqLywKQEAgLTIwNDY5LDcgKzIwNDY5LDYgQEAKIAkJCQlBODE4
NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODE4NzIxRTA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTBCOUI2QzBCNzQ3NTk5MDAzRUQ4OTAgLyogTmF0aXZlWFBhdGhOU1Jlc29sdmVy
LmggaW4gSGVhZGVycyAqLywKLQkJCQk4QUY0RTU1NjExREM1QTM2MDAwRUQzREUgLyogTmF2aWdh
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDQ0YwMjcwQUY2QzUyOTAwMDE4RTg5IC8qIE5h
dmlnYXRpb25BY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTk3OUY0M0Q0MTA3NUU0NEEwMDAw
RjgzQiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOUM2RTVB
NjBENzQ2NDU4MDA2NDQyRTkgLyogTmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTIwNTM4
LDYgKzIwNTM3LDggQEAKIAkJCQlCMjc1MzU4MjBCMDUzODE0MDAyQ0U2NEYgLyogUGVuLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4QTdDQzk2QjEyMDc2RDczMDAxRDQ1ODggLyogUGVuZGluZ1Njcmlw
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEE4NDREMDUxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZv
cm1hbmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4QUY0RTU1NjExREM1QTM2MDAwRUQzREUgLyog
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk4QUY0RTU1QzExREM1
QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5
RDVEQzJFMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRDBGRjJBNUUxMUY4QzQ1QTAwN0U3NEUwIC8qIFBpbmdMb2Fk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3N0M0Q0RGMTAxNEU5RjYwMEI5QUU0MiAvKiBQbGFj
ZWhvbGRlckRvY3VtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTIxMTU2LDcgKzIxMTU3LDYgQEAK
IAkJCQk3NTUzQ0ZFODEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2Vz
LmggaW4gSGVhZGVycyAqLywKLQkJCQk4QUY0RTU1QzExREM1QTYzMDAwRUQzREUgLyogVGltaW5n
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBDQUYgLyogVGltaW5n
RnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM0MEVGODZENDcwMDlEMENBRiAv
KiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQ0UwRUY4
NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
MjgzOSw3ICsyMjgzOSw2IEBACiAJCQkJNjVERjMxRkIwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0
YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzJDMDBDMTdCNjlFMDA1Qzkw
QTIgLyogSlNOYW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEOUMyNjMwQzE3
QUE2NzAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCThBOUE1ODcwMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTlEMjQ3RjcwRDc1N0UzNDAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE5QzZFNjQ5MEQ3NDY1RDgwMDY0NDJFOSAvKiBKU05hdmlnYXRv
ckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNERDMEQzNzA5RkVEMDczMDA3QjAyMzUg
LyogSlNOb2RlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjI4NTgsNiArMjI4NTcsOCBAQAogCQkJ
CTFBMEQ1NzQwMEE1Qzc4NjcwMDdFREQ0QyAvKiBKU092ZXJmbG93RXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTEyODRCQjIxMDQ0OUZGQTAwRUFFQjUyIC8qIEpTUGFnZVRyYW5zaXRpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QTlBNTg3NDExRTg0QzgxMDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QTlBNTg3MDExRTg0QzM2MDA4
QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
OEE5QTU4ODcxMUU4NEYzNzAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTNCNzBENkIwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVu
dEZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg5RjAxRDEwQjM3QkQ5MDBGM0M3
MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODlGMDE4MTBC
Mzc4MTMwMEYzQzczOSAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yMzA0Myw3ICsyMzA0NCw2IEBACiAJCQkJOTMzQTE0QjgwQjdEMUQ1MjAwQTUzRkZEIC8q
IEpTVGV4dEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUY0NUY1MEU2ODdCNUMwMDFD
MTI4NyAvKiBKU1RleHRNZXRyaWNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxNDFBMENE
NjgyNjkwMEZBREE3NSAvKiBKU1RpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOEE5
QTU4ODcxMUU4NEYzNzAwOEFDRkQxIC8qIEpTVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTFBNzUwRDVDMEE5MERFRTEwMDBGRjIxNSAvKiBKU1RyZWVXYWxrZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTE2QkI3OTQwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTVHJlZVdhbGtlckN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlEMDA5REEyQjQ4MDA5NjMzQTUgLyogSlNVSUV2
ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjMxNzEsNyArMjMxNzEsNiBAQAogCQkJCUJDRjM0
QTM3MTFBMjMxQ0QwMEM3MTgwNCAvKiBOYW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTgxODcyMjQwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVOb2RlTGlzdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFMTBCOUI2RDBCNzQ3NTk5MDAzRUQ4OTAgLyogTmF0aXZlWFBhdGhOU1Jlc29s
dmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBO
YXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQ0NGMDYwMEFGNkNBNzYwMDAxOEU4
OSAvKiBOYXZpZ2F0aW9uQWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3OUY0M0QzMTA3
NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE5QzZFNUE1MEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yMzIyMiw2ICsyMzIyMSw4IEBACiAJCQkJQjI3NTM1ODEwQjA1MzgxNDAwMkNFNjRG
IC8qIFBlbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QTdDQzk3MDEyMDc2RjhBMDAxRDQ1ODgg
LyogUGVuZGluZ1NjcmlwdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QTg0NEQwNDExRDNDMThF
MDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEFGNEU1NTUx
MURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk4QUY0RTU1QjExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDlENURDMkQwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0
aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQwRkYyQTVEMTFG
OEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3N0M0
Q0UwMTAxNEU5RjYwMEI5QUU0MiAvKiBQbGFjZWhvbGRlckRvY3VtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMjM3NTIsNyArMjM3NTMsNiBAQAogCQkJCTc1NTNDRkU5MTA4RjQ3M0YwMEVBMjgx
RSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlF
QTQwOTlFQjc4QzAwNTZFNTgxIC8qIFRpbWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYx
M0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CThBRjRFNTVCMTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDlFOTExQzMwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyNzUzNTU4MEIwNTM4MTQwMDJDRTY0RiAvKiBUcmFuc2Zvcm1h
dGlvbk1hdHJpeENHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RTkxMUNGMEVGODZENDcwMDlE
MENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3BwIGIvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDkzYjQ3Li4wMDAwMDAwCi0tLSBh
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTmF2aWdhdGlvbi5oIgotCi0jaWYgRU5B
QkxFKFdFQl9USU1JTkcpCi0KLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgotI2luY2x1ZGUg
IkZyYW1lLmgiCi0jaW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLU5hdmlnYXRpb246Ok5hdmlnYXRpb24oRnJhbWUqIGZyYW1lKQotICAgIDogbV9m
cmFtZShmcmFtZSkKLXsKLX0KLQotRnJhbWUqIE5hdmlnYXRpb246OmZyYW1lKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9mcmFtZTsKLX0KLQotdm9pZCBOYXZpZ2F0aW9uOjpkaXNjb25uZWN0RnJh
bWUoKQotewotICAgIG1fZnJhbWUgPSAwOwotfQotCi11bnNpZ25lZCBzaG9ydCBOYXZpZ2F0aW9u
Ojp0eXBlKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZnJhbWUpCi0gICAgICAgIHJldHVybiBOQVZJ
R0FURTsKLQotICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlciA9IG1fZnJhbWUtPmxv
YWRlcigpLT5kb2N1bWVudExvYWRlcigpOwotICAgIGlmICghZG9jdW1lbnRMb2FkZXIpCi0gICAg
ICAgIHJldHVybiBOQVZJR0FURTsKLQotICAgIFdlYkNvcmU6Ok5hdmlnYXRpb25UeXBlIG5hdmln
YXRpb25UeXBlID0gZG9jdW1lbnRMb2FkZXItPnRyaWdnZXJpbmdBY3Rpb24oKS50eXBlKCk7Ci0g
ICAgc3dpdGNoIChuYXZpZ2F0aW9uVHlwZSkgewotICAgIGNhc2UgTmF2aWdhdGlvblR5cGVSZWxv
YWQ6Ci0gICAgICAgIHJldHVybiBSRUxPQUQ7Ci0gICAgY2FzZSBOYXZpZ2F0aW9uVHlwZUJhY2tG
b3J3YXJkOgotICAgICAgICByZXR1cm4gQkFDS19GT1JXQVJEOwotICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIHJldHVybiBOQVZJR0FURTsKLSAgICB9Ci19Ci0KLXVuc2lnbmVkIHNob3J0IE5hdmlnYXRp
b246OnJlZGlyZWN0Q291bnQoKSBjb25zdAotewotICAgIGlmICghbV9mcmFtZSkKLSAgICAgICAg
cmV0dXJuIDA7Ci0KLSAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gbV9mcmFtZS0+bG9hZGVy
KCktPmRvY3VtZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgcmV0dXJuIGxvYWRlci0+dGltaW5nKCktPnJlZGlyZWN0Q291bnQ7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaCBiL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
aW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhNjhmZjMuLjAwMDAwMDAKLS0t
IGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIE5hdmlnYXRpb25faAotI2RlZmluZSBOYXZpZ2F0aW9uX2gKLQotI2lmIEVOQUJM
RShXRUJfVElNSU5HKQotCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEZyYW1lOwot
Ci1jbGFzcyBOYXZpZ2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdGlvbj4gewotcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRpb24+IGNyZWF0ZShGcmFtZSogZnJh
bWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBOYXZpZ2F0aW9uKGZyYW1lKSk7IH0KLQotICAgIEZy
YW1lKiBmcmFtZSgpIGNvbnN0OwotICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7Ci0KLSAgICBl
bnVtIE5hdmlnYXRpb25UeXBlIHsKLSAgICAgICAgTkFWSUdBVEUsCi0gICAgICAgIFJFTE9BRCwK
LSAgICAgICAgQkFDS19GT1JXQVJECi0gICAgfTsKLQotICAgIHVuc2lnbmVkIHNob3J0IHR5cGUo
KSBjb25zdDsKLSAgICB1bnNpZ25lZCBzaG9ydCByZWRpcmVjdENvdW50KCkgY29uc3Q7Ci0KLXBy
aXZhdGU6Ci0gICAgTmF2aWdhdGlvbihGcmFtZSopOwotCi0gICAgRnJhbWUqIG1fZnJhbWU7Ci19
OwotCi19Ci0KLSNlbmRpZiAvLyAhRU5BQkxFKFdFQl9USU1JTkcpCi0jZW5kaWYgLy8gIWRlZmlu
ZWQoTmF2aWdhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaWRs
IGIvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiMDIyN2YzLi4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmlkbAor
KysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUgd2luZG93IHsKLQotICAgIC8vIFNl
ZTogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLwotICAgIGludGVyZmFj
ZSBbQ29uZGl0aW9uYWw9V0VCX1RJTUlORywgT21pdENvbnN0cnVjdG9yXSBOYXZpZ2F0aW9uIHsK
LSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTkFWSUdBVEUgPSAwOwotICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBSRUxPQUQgPSAxOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBCQUNLX0ZPUldBUkQgPSAyOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgdHlwZTsKLQotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
cmVkaXJlY3RDb3VudDsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuY3BwIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCBjNDIzNGE3
Li40ZTEzMGVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBi
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKQEAgLTMyLDggKzMyLDggQEAKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZS5oIgogCiAjaW5jbHVkZSAiTWVtb3J5SW5mby5oIgotI2luY2x1ZGUgIk5h
dmlnYXRpb24uaCIKLSNpbmNsdWRlICJUaW1pbmcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZU5h
dmlnYXRpb24uaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgogCiAjaWYgRU5BQkxF
KFdFQl9USU1JTkcpCiAKQEAgLTcyLDE4ICs3MiwxOCBAQCBNZW1vcnlJbmZvKiBQZXJmb3JtYW5j
ZTo6bWVtb3J5KCkgY29uc3QKICAgICByZXR1cm4gbV9tZW1vcnkuZ2V0KCk7CiB9CiAKLU5hdmln
YXRpb24qIFBlcmZvcm1hbmNlOjpuYXZpZ2F0aW9uKCkgY29uc3QKK1BlcmZvcm1hbmNlTmF2aWdh
dGlvbiogUGVyZm9ybWFuY2U6Om5hdmlnYXRpb24oKSBjb25zdAogewogICAgIGlmICghbV9uYXZp
Z2F0aW9uKQotICAgICAgICBtX25hdmlnYXRpb24gPSBOYXZpZ2F0aW9uOjpjcmVhdGUobV9mcmFt
ZSk7CisgICAgICAgIG1fbmF2aWdhdGlvbiA9IFBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6Y3JlYXRl
KG1fZnJhbWUpOwogCiAgICAgcmV0dXJuIG1fbmF2aWdhdGlvbi5nZXQoKTsKIH0KIAotVGltaW5n
KiBQZXJmb3JtYW5jZTo6dGltaW5nKCkgY29uc3QKK1BlcmZvcm1hbmNlVGltaW5nKiBQZXJmb3Jt
YW5jZTo6dGltaW5nKCkgY29uc3QKIHsKICAgICBpZiAoIW1fdGltaW5nKQotICAgICAgICBtX3Rp
bWluZyA9IFRpbWluZzo6Y3JlYXRlKG1fZnJhbWUpOworICAgICAgICBtX3RpbWluZyA9IFBlcmZv
cm1hbmNlVGltaW5nOjpjcmVhdGUobV9mcmFtZSk7CiAKICAgICByZXR1cm4gbV90aW1pbmcuZ2V0
KCk7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IDk3MzZmZTcuLmJlOWUxMjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5o
CkBAIC0zNCw4ICszNCw4IEBACiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAKICNpbmNsdWRlICJN
ZW1vcnlJbmZvLmgiCi0jaW5jbHVkZSAiTmF2aWdhdGlvbi5oIgotI2luY2x1ZGUgIlRpbWluZy5o
IgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1h
bmNlVGltaW5nLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUwLDE1ICs1MCwxNSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKIAogICAgIE1lbW9yeUluZm8q
IG1lbW9yeSgpIGNvbnN0OwotICAgIE5hdmlnYXRpb24qIG5hdmlnYXRpb24oKSBjb25zdDsKLSAg
ICBUaW1pbmcqIHRpbWluZygpIGNvbnN0OworICAgIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiogbmF2
aWdhdGlvbigpIGNvbnN0OworICAgIFBlcmZvcm1hbmNlVGltaW5nKiB0aW1pbmcoKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBQZXJmb3JtYW5jZShGcmFtZSopOwogCiAgICAgbXV0YWJsZSBSZWZQ
dHI8TWVtb3J5SW5mbz4gbV9tZW1vcnk7Ci0gICAgbXV0YWJsZSBSZWZQdHI8TmF2aWdhdGlvbj4g
bV9uYXZpZ2F0aW9uOwotICAgIG11dGFibGUgUmVmUHRyPFRpbWluZz4gbV90aW1pbmc7CisgICAg
bXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CisgICAg
bXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOwogICAgIEZyYW1lKiBt
X2ZyYW1lOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBi
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKaW5kZXggZmZlOGI2Zi4uYzcyZjRiYyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2UuaWRsCkBAIC0zMiw4ICszMiw4IEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAg
Ly8gU2VlOiBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvCiAgICAgaW50
ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJfVElNSU5HLCBPbWl0Q29uc3RydWN0b3JdIFBlcmZvcm1h
bmNlIHsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5hdmlnYXRpb24gbmF2aWdhdGlvbjsK
LSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRpbWluZyB0aW1pbmc7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBQZXJmb3JtYW5jZU5hdmlnYXRpb24gbmF2aWdhdGlvbjsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFBlcmZvcm1hbmNlVGltaW5nIHRpbWluZzsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIE1lbW9yeUluZm8gbWVtb3J5OwogICAgIH07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGIvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZDU3MDU2MQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgiCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKwor
I2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRl
ICJGcmFtZUxvYWRlclR5cGVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uOjpQZXJmb3JtYW5jZU5hdmlnYXRpb24oRnJhbWUqIGZyYW1lKQorICAgIDog
bV9mcmFtZShmcmFtZSkKK3sKK30KKworRnJhbWUqIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6ZnJh
bWUoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZyYW1lOworfQorCit2b2lkIFBlcmZvcm1hbmNl
TmF2aWdhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKCkKK3sKKyAgICBtX2ZyYW1lID0gMDsKK30KKwor
dW5zaWduZWQgc2hvcnQgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjp0eXBlKCkgY29uc3QKK3sKKyAg
ICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBOQVZJR0FURTsKKworICAgIERvY3VtZW50
TG9hZGVyKiBkb2N1bWVudExvYWRlciA9IG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRl
cigpOworICAgIGlmICghZG9jdW1lbnRMb2FkZXIpCisgICAgICAgIHJldHVybiBOQVZJR0FURTsK
KworICAgIFdlYkNvcmU6Ok5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBlID0gZG9jdW1lbnRM
b2FkZXItPnRyaWdnZXJpbmdBY3Rpb24oKS50eXBlKCk7CisgICAgc3dpdGNoIChuYXZpZ2F0aW9u
VHlwZSkgeworICAgIGNhc2UgTmF2aWdhdGlvblR5cGVSZWxvYWQ6CisgICAgICAgIHJldHVybiBS
RUxPQUQ7CisgICAgY2FzZSBOYXZpZ2F0aW9uVHlwZUJhY2tGb3J3YXJkOgorICAgICAgICByZXR1
cm4gQkFDS19GT1JXQVJEOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBOQVZJR0FURTsK
KyAgICB9Cit9CisKK3Vuc2lnbmVkIHNob3J0IFBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6cmVkaXJl
Y3RDb3VudCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBtX2ZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1l
bnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBy
ZXR1cm4gbG9hZGVyLT50aW1pbmcoKS0+cmVkaXJlY3RDb3VudDsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggYi9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJh
OWI5YwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRp
b24uaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQZXJmb3JtYW5jZU5hdmlnYXRpb25faAorI2Rl
ZmluZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25faAorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWU7CisKK2NsYXNzIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4g
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4g
Y3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlTmF2
aWdhdGlvbihmcmFtZSkpOyB9CisKKyAgICBGcmFtZSogZnJhbWUoKSBjb25zdDsKKyAgICB2b2lk
IGRpc2Nvbm5lY3RGcmFtZSgpOworCisgICAgZW51bSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UeXBl
IHsKKyAgICAgICAgTkFWSUdBVEUsCisgICAgICAgIFJFTE9BRCwKKyAgICAgICAgQkFDS19GT1JX
QVJECisgICAgfTsKKworICAgIHVuc2lnbmVkIHNob3J0IHR5cGUoKSBjb25zdDsKKyAgICB1bnNp
Z25lZCBzaG9ydCByZWRpcmVjdENvdW50KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uKEZyYW1lKik7CisKKyAgICBGcmFtZSogbV9mcmFtZTsKK307CisKK30K
KworI2VuZGlmIC8vICFFTkFCTEUoV0VCX1RJTUlORykKKyNlbmRpZiAvLyAhZGVmaW5lZChQZXJm
b3JtYW5jZU5hdmlnYXRpb25faCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaWRsIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWMwNjA1MAotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCkBAIC0wLDAgKzEs
NDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCittb2R1bGUgd2luZG93IHsKKworICAgIC8vIFNlZTogaHR0cDovL2Rldi53My5vcmcvMjAw
Ni93ZWJhcGkvV2ViVGltaW5nLworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VCX1RJTUlO
RywgT21pdENvbnN0cnVjdG9yXSBQZXJmb3JtYW5jZU5hdmlnYXRpb24geworICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBOQVZJR0FURSA9IDA7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IFJFTE9BRCA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEJBQ0tfRk9SV0FS
RCA9IDI7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCB0eXBlOwor
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCByZWRpcmVjdENvdW50
OworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5jcHAgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmYzE2ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCkBAIC0wLDAgKzEsMzY2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCisKKyNpZiBFTkFCTEUoV0VC
X1RJTUlORykKKworI2luY2x1ZGUgIkRvY3VtZW50TG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIkRv
Y3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRUaW1pbmcuaCIKKyNpbmNsdWRlICJG
cmFtZS5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlJlc291
cmNlUmVzcG9uc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgdW5zaWduZWQg
bG9uZyBsb25nIHRvSW50ZWdlck1pbGxpc2Vjb25kcyhkb3VibGUgc2Vjb25kcykKK3sKKyAgICBB
U1NFUlQoc2Vjb25kcyA+PSAwKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9u
ZyBsb25nPihzZWNvbmRzICogMTAwMC4wKTsKK30KKworc3RhdGljIGRvdWJsZSBnZXRQb3NzaWJs
eVNrZXdlZFRpbWVJbktub3duUmFuZ2UoZG91YmxlIHNrZXdlZFRpbWUsIGRvdWJsZSBsb3dlckJv
dW5kLCBkb3VibGUgdXBwZXJCb3VuZCkKK3sKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAgICAv
LyBUaGUgY2hyb21pdW0gcG9ydCdzIGN1cnJlbnRUaW1lKCkgaW1wbGVtZW50YXRpb24gb25seSBz
eW5jcyB3aXRoIHRoZQorICAgIC8vIHN5c3RlbSBjbG9jayBldmVyeSA2MCBzZWNvbmRzLiBTbyBp
dCBpcyBwb3NzaWJsZSBmb3IgdGltaW5nIG1hcmtzCisgICAgLy8gY29sbGVjdGVkIGluIGRpZmZl
cmVudCB0aHJlYWRzIG9yIHByb2Nlc3NlcyB0byBoYXZlIGEgc21hbGwgc2tldy4KKyAgICAvLyBG
SVhNRTogSXQgbWF5IGJlIHBvc3NpYmxlIHRvIGFkZCBhIGN1cnJlbnRUaW1lRnJvbVN5c3RlbVRp
bWUoKSBtZXRob2QKKyAgICAvLyB0aGF0IGVsaW1pbmF0ZXMgdGhlIHNrZXcuCisgICAgaWYgKHNr
ZXdlZFRpbWUgPD0gbG93ZXJCb3VuZCkKKyAgICAgICAgcmV0dXJuIGxvd2VyQm91bmQ7CisKKyAg
ICBpZiAoc2tld2VkVGltZSA+PSB1cHBlckJvdW5kKQorICAgICAgICByZXR1cm4gdXBwZXJCb3Vu
ZDsKKyNlbHNlCisgICAgQVNTRVJUX1VOVVNFRChsb3dlckJvdW5kLCBza2V3ZWRUaW1lID49IGxv
d2VyQm91bmQpOworICAgIEFTU0VSVF9VTlVTRUQodXBwZXJCb3VuZCwgc2tld2VkVGltZSA8PSB1
cHBlckJvdW5kKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIHNrZXdlZFRpbWU7Cit9CisKK1BlcmZv
cm1hbmNlVGltaW5nOjpQZXJmb3JtYW5jZVRpbWluZyhGcmFtZSogZnJhbWUpCisgICAgOiBtX2Zy
YW1lKGZyYW1lKQoreworfQorCitGcmFtZSogUGVyZm9ybWFuY2VUaW1pbmc6OmZyYW1lKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZTsKK30KKwordm9pZCBQZXJmb3JtYW5jZVRpbWluZzo6
ZGlzY29ubmVjdEZyYW1lKCkKK3sKKyAgICBtX2ZyYW1lID0gMDsKK30KKwordW5zaWduZWQgbG9u
ZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpuYXZpZ2F0aW9uU3RhcnQoKSBjb25zdAoreworICAg
IERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAg
aWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1p
bGxpc2Vjb25kcyh0aW1pbmctPm5hdmlnYXRpb25TdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcg
bG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6dW5sb2FkRXZlbnRFbmQoKSBjb25zdAoreworICAgIERv
Y3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAgaWYg
KCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxp
c2Vjb25kcyh0aW1pbmctPnVubG9hZEV2ZW50RW5kKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25n
IFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAgICBEb2N1bWVu
dExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOworICAgIGlmICghdGlt
aW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29u
ZHModGltaW5nLT5yZWRpcmVjdFN0YXJ0KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZv
cm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRMb2FkVGlt
aW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWlu
Zy0+cmVkaXJlY3RFbmQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1p
bmc6OmZldGNoU3RhcnQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5n
ID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVy
biAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmZldGNoU3Rh
cnQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OmRvbWFpbkxv
b2t1cFN0YXJ0KCkgY29uc3QKK3sKKyAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJl
c291cmNlTG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIC8vIFRoaXMgd2lsbCBiZSAtMSB3aGVuIGEgRE5TIHJlcXVlc3QgaXMgbm90IHBlcmZv
cm1lZC4KKyAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBp
bmRpY2F0ZXMgbm8gRE5TLCB3ZSAiYmFja2ZpbGwiIHdpdGggZmV0Y2hTdGFydC4KKyAgICBpbnQg
ZG5zU3RhcnQgPSB0aW1pbmctPmRuc1N0YXJ0OworICAgIGlmIChkbnNTdGFydCA8IDApCisgICAg
ICAgIHJldHVybiBmZXRjaFN0YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJl
bGF0aXZlVG9BYnNvbHV0ZShkbnNTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJm
b3JtYW5jZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKK3sKKyAgICBSZXNvdXJjZUxv
YWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5n
KQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIFRoaXMgd2lsbCBiZSAtMSB3aGVuIGEgRE5T
IHJlcXVlc3QgaXMgbm90IHBlcmZvcm1lZC4KKyAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBh
IHNwZWNpYWwgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8gRE5TLCB3ZSAiYmFja2ZpbGwiIHdpdGgg
ZG9tYWluTG9va3VwU3RhcnQuCisgICAgaW50IGRuc0VuZCA9IHRpbWluZy0+ZG5zRW5kOworICAg
IGlmIChkbnNFbmQgPCAwKQorICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwU3RhcnQoKTsKKwor
ICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKGRuc0VuZCk7Cit9
CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkg
Y29uc3QKK3sKKyAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gZG9jdW1lbnRMb2FkZXIoKTsK
KyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBSZXNvdXJjZUxvYWRU
aW1pbmcqIHRpbWluZyA9IGxvYWRlci0+cmVzcG9uc2UoKS5yZXNvdXJjZUxvYWRUaW1pbmcoKTsK
KyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBjb25uZWN0U3Rh
cnQgd2lsbCBiZSAtMSB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRlLgorICAgIC8v
IFJhdGhlciB0aGFuIGV4cG9zaW5nIGEgc3BlY2lhbCB2YWx1ZSB0aGF0IGluZGljYXRlcyBubyBu
ZXcgY29ubmVjdGlvbiwgd2UgImJhY2tmaWxsIiB3aXRoIGRvbWFpbkxvb2t1cEVuZC4KKyAgICBp
bnQgY29ubmVjdFN0YXJ0ID0gdGltaW5nLT5jb25uZWN0U3RhcnQ7CisgICAgaWYgKGNvbm5lY3RT
dGFydCA8IDAgfHwgbG9hZGVyLT5yZXNwb25zZSgpLmNvbm5lY3Rpb25SZXVzZWQoKSkKKyAgICAg
ICAgcmV0dXJuIGRvbWFpbkxvb2t1cEVuZCgpOworCisgICAgLy8gUmVzb3VyY2VMb2FkVGltaW5n
J3MgY29ubmVjdCBwaGFzZSBpbmNsdWRlcyBETlMgYW5kIFNTTCwgaG93ZXZlciBXZWIgVGltaW5n
J3MKKyAgICAvLyBjb25uZWN0IHBoYXNlIHNob3VsZCBub3QuIFNvIGlmIHRoZXJlIGlzIEROUyB0
aW1lLCB0cmltIGl0IGZyb20gdGhlIHN0YXJ0LgorICAgIGlmICh0aW1pbmctPmRuc0VuZCA+PSAw
ICYmIHRpbWluZy0+ZG5zRW5kID4gY29ubmVjdFN0YXJ0KQorICAgICAgICBjb25uZWN0U3RhcnQg
PSB0aW1pbmctPmRuc0VuZDsKKworICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVU
b0Fic29sdXRlKGNvbm5lY3RTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3Jt
YW5jZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRMb2FkZXIqIGxv
YWRlciA9IGRvY3VtZW50TG9hZGVyKCk7CisgICAgaWYgKCFsb2FkZXIpCisgICAgICAgIHJldHVy
biAwOworCisgICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSBsb2FkZXItPnJlc3BvbnNl
KCkucmVzb3VyY2VMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVy
biAwOworCisgICAgLy8gY29ubmVjdEVuZCB3aWxsIGJlIC0xIHdoZW4gYSBuZXR3b3JrIHJlcXVl
c3QgaXMgbm90IG1hZGUuCisgICAgLy8gUmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBzcGVjaWFsIHZh
bHVlIHRoYXQgaW5kaWNhdGVzIG5vIG5ldyBjb25uZWN0aW9uLCB3ZSAiYmFja2ZpbGwiIHdpdGgg
Y29ubmVjdFN0YXJ0LgorICAgIGludCBjb25uZWN0RW5kID0gdGltaW5nLT5jb25uZWN0RW5kOwor
ICAgIGlmIChjb25uZWN0RW5kIDwgMCB8fCBsb2FkZXItPnJlc3BvbnNlKCkuY29ubmVjdGlvblJl
dXNlZCgpKQorICAgICAgICByZXR1cm4gY29ubmVjdFN0YXJ0KCk7CisKKyAgICAvLyBSZXNvdXJj
ZUxvYWRUaW1pbmcncyBjb25uZWN0IHBoYXNlIGluY2x1ZGVzIEROUyBhbmQgU1NMLCBob3dldmVy
IFdlYiBUaW1pbmcncworICAgIC8vIGNvbm5lY3QgcGhhc2Ugc2hvdWxkIG5vdC4gU28gaWYgdGhl
cmUgaXMgU1NMIHRpbWUsIHRyaW0gaXQgZnJvbSB0aGUgZW5kLgorICAgIGlmICh0aW1pbmctPnNz
bFN0YXJ0ID49IDAgJiYgdGltaW5nLT5zc2xTdGFydCA8IGNvbm5lY3RFbmQpCisgICAgICAgIGNv
bm5lY3RFbmQgPSB0aW1pbmctPnNzbFN0YXJ0OworCisgICAgcmV0dXJuIHJlc291cmNlTG9hZFRp
bWVSZWxhdGl2ZVRvQWJzb2x1dGUoY29ubmVjdEVuZCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9u
ZyBQZXJmb3JtYW5jZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKK3sKKyAgICBSZXNvdXJj
ZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOworICAgIGlmICghdGlt
aW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIEFTU0VSVCh0aW1pbmctPnNlbmRTdGFydCA+
PSAwKTsKKyAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZSh0aW1p
bmctPnNlbmRTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWlu
Zzo6cmVzcG9uc2VTdGFydCgpIGNvbnN0Cit7CisgICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1p
bmcgPSByZXNvdXJjZUxvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICAvLyBGSVhNRTogUmVzcG9uc2Ugc3RhcnQgbmVlZHMgdG8gYmUgdGhlIHRp
bWUgb2YgdGhlIGZpcnN0IHJlY2VpdmVkIGJ5dGUuCisgICAgLy8gSG93ZXZlciwgdGhlIFJlc291
cmNlTG9hZFRpbWluZyBBUEkgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgdGhlIHRpbWUKKyAgICAv
LyB0aGUgbGFzdCBoZWFkZXIgYnl0ZSB3YXMgcmVjZWl2ZWQuIEZvciBtYW55IHJlc3BvbnNlcyB3
aXRoIHJlYXNvbmFibGUKKyAgICAvLyBzaXplZCBjb29raWVzLCB0aGUgSFRUUCBoZWFkZXJzIGZp
dCBpbnRvIGEgc2luZ2xlIHBhY2tldCBzbyB0aGlzIHRpbWUKKyAgICAvLyBpcyBiYXNpY2FsbHkg
ZXF1aXZhbGVudC4gQnV0IGZvciBzb21lIHJlc3BvbnNlcywgcGFydGljdWxhcmx5IHRob3NlIHdp
dGgKKyAgICAvLyBoZWFkZXJzIGxhcmdlciB0aGFuIGEgc2luZ2xlIHBhY2tldCwgdGhpcyB0aW1l
IHdpbGwgYmUgdG9vIGxhdGUuCisgICAgQVNTRVJUKHRpbWluZy0+cmVjZWl2ZUhlYWRlcnNFbmQg
Pj0gMCk7CisgICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUodGlt
aW5nLT5yZWNlaXZlSGVhZGVyc0VuZCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3Jt
YW5jZVRpbWluZzo6cmVzcG9uc2VFbmQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZFRpbWlu
ZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmct
PnJlc3BvbnNlRW5kKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5n
Ojpkb21Mb2FkaW5nKCkgY29uc3QKK3sKKyAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5n
ID0gZG9jdW1lbnRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7
CisKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tTG9hZGluZyk7
Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6ZG9tSW50ZXJhY3Rp
dmUoKSBjb25zdAoreworICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcgPSBkb2N1bWVu
dFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJl
dHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5kb21JbnRlcmFjdGl2ZSk7Cit9CisK
K3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6ZG9tQ29udGVudExvYWRlZFN0
YXJ0KCkgY29uc3QKK3sKKyAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1l
bnRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBy
ZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tQ29udGVudExvYWRlZFN0YXJ0
KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpkb21Db250ZW50
TG9hZGVkRW5kKCkgY29uc3QKK3sKKyAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0g
ZG9jdW1lbnRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tQ29udGVudExvYWRl
ZEVuZCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6ZG9tQ29t
cGxldGUoKSBjb25zdAoreworICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcgPSBkb2N1
bWVudFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5kb21Db21wbGV0ZSk7Cit9CisK
K3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6bG9hZEV2ZW50U3RhcnQoKSBj
b25zdAoreworICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGlt
aW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJu
IHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmxvYWRFdmVudFN0YXJ0KTsKK30KKwordW5z
aWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpsb2FkRXZlbnRFbmQoKSBjb25zdAor
eworICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7
CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50
ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmxvYWRFdmVudEVuZCk7Cit9CisKK0RvY3VtZW50TG9h
ZGVyKiBQZXJmb3JtYW5jZVRpbWluZzo6ZG9jdW1lbnRMb2FkZXIoKSBjb25zdAoreworICAgIGlm
ICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gbV9mcmFtZS0+bG9h
ZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7Cit9CisKK2NvbnN0IERvY3VtZW50VGltaW5nKiBQZXJm
b3JtYW5jZVRpbWluZzo6ZG9jdW1lbnRUaW1pbmcoKSBjb25zdAoreworICAgIGlmICghbV9mcmFt
ZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1l
LT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcmV0dXJuIGRvY3VtZW50LT50aW1pbmcoKTsKK30KKworRG9jdW1lbnRMb2FkVGltaW5nKiBQ
ZXJmb3JtYW5jZVRpbWluZzo6ZG9jdW1lbnRMb2FkVGltaW5nKCkgY29uc3QKK3sKKyAgICBEb2N1
bWVudExvYWRlciogbG9hZGVyID0gZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikK
KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gbG9hZGVyLT50aW1pbmcoKTsKK30KKwor
UmVzb3VyY2VMb2FkVGltaW5nKiBQZXJmb3JtYW5jZVRpbWluZzo6cmVzb3VyY2VMb2FkVGltaW5n
KCkgY29uc3QKK3sKKyAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gZG9jdW1lbnRMb2FkZXIo
KTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gbG9h
ZGVyLT5yZXNwb25zZSgpLnJlc291cmNlTG9hZFRpbWluZygpOworfQorCit1bnNpZ25lZCBsb25n
IGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1
dGUoaW50IHJlbGF0aXZlU2Vjb25kcykgY29uc3QKK3sKKyAgICBBU1NFUlQocmVsYXRpdmVTZWNv
bmRzID49IDApOworICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VUaW1pbmcgPSByZXNv
dXJjZUxvYWRUaW1pbmcoKTsKKyAgICBBU1NFUlQocmVzb3VyY2VUaW1pbmcpOworICAgIERvY3Vt
ZW50TG9hZFRpbWluZyogZG9jdW1lbnRUaW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKKyAg
ICBBU1NFUlQoZG9jdW1lbnRUaW1pbmcpOworCisgICAgLy8gVGhlIFJlc291cmNlTG9hZFRpbWlu
ZyBBUEkncyByZXF1ZXN0VGltZSBpcyB0aGUgYmFzZSB0aW1lIHRvIHdoaWNoIGFsbAorICAgIC8v
IG90aGVyIG1hcmtzIGFyZSByZWxhdGl2ZS4gU28gdG8gZ2V0IGFuIGFic29sdXRlIHRpbWUsIHdl
IG11c3QgYWRkIGl0IHRvCisgICAgLy8gdGhlIHJlbGF0aXZlIG1hcmtzLgorICAgIC8vCisgICAg
Ly8gU2luY2UgUmVzb3VyY2VMb2FkVGltaW5ncyBjYW1lIGZyb20gdGhlIG5ldHdvcmsgcGxhdGZv
cm0gbGF5ZXIsIHdlIG11c3QKKyAgICAvLyBjaGVjayB0aGVtIGZvciBza2V3IGJlY2F1c2UgdGhl
eSBtYXkgYmUgZnJvbSBhbm90aGVyIHRocmVhZC9wcm9jZXNzLgorICAgIGRvdWJsZSBiYXNlVGlt
ZSA9IGdldFBvc3NpYmx5U2tld2VkVGltZUluS25vd25SYW5nZShyZXNvdXJjZVRpbWluZy0+cmVx
dWVzdFRpbWUsIGRvY3VtZW50VGltaW5nLT5mZXRjaFN0YXJ0LCBkb2N1bWVudFRpbWluZy0+cmVz
cG9uc2VFbmQgLSAocmVzb3VyY2VUaW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kIC8gMTAwMC4wKSk7
CisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyhiYXNlVGltZSkgKyByZWxhdGl2ZVNl
Y29uZHM7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmgg
Yi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41MTI0ZTJiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGVyZm9ybWFuY2VUaW1p
bmdfaAorI2RlZmluZSBQZXJmb3JtYW5jZVRpbWluZ19oCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlO
RykKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgRG9jdW1lbnRMb2FkVGltaW5n
OworY2xhc3MgRG9jdW1lbnRMb2FkZXI7CitzdHJ1Y3QgRG9jdW1lbnRUaW1pbmc7CitjbGFzcyBG
cmFtZTsKK2NsYXNzIFJlc291cmNlTG9hZFRpbWluZzsKKworY2xhc3MgUGVyZm9ybWFuY2VUaW1p
bmcgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZVRpbWluZz4geworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlVGltaW5nPiBjcmVhdGUoRnJhbWUqIGZyYW1l
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VUaW1pbmcoZnJhbWUpKTsgfQorCisg
ICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7CisgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKKwor
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXZpZ2F0aW9uU3RhcnQoKSBjb25zdDsKKyAgICB1bnNp
Z25lZCBsb25nIGxvbmcgdW5sb2FkRXZlbnRFbmQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25n
IGxvbmcgcmVkaXJlY3RTdGFydCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRp
cmVjdEVuZCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmZXRjaFN0YXJ0KCkgY29u
c3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3Q7Cisg
ICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0OworICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyBjb25uZWN0U3RhcnQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxv
bmcgY29ubmVjdEVuZCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXF1ZXN0U3Rh
cnQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VTdGFydCgpIGNvbnN0
OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZUVuZCgpIGNvbnN0OworICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyBkb21Mb2FkaW5nKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25n
IGRvbUludGVyYWN0aXZlKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbUNvbnRl
bnRMb2FkZWRTdGFydCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Db250ZW50
TG9hZGVkRW5kKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbUNvbXBsZXRlKCkg
Y29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRFdmVudFN0YXJ0KCkgY29uc3Q7Cisg
ICAgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRFdmVudEVuZCgpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIFBlcmZvcm1hbmNlVGltaW5nKEZyYW1lKik7CisKKyAgICBjb25zdCBEb2N1bWVudFRpbWlu
ZyogZG9jdW1lbnRUaW1pbmcoKSBjb25zdDsKKyAgICBEb2N1bWVudExvYWRlciogZG9jdW1lbnRM
b2FkZXIoKSBjb25zdDsKKyAgICBEb2N1bWVudExvYWRUaW1pbmcqIGRvY3VtZW50TG9hZFRpbWlu
ZygpIGNvbnN0OworICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VMb2FkVGltaW5nKCkg
Y29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRv
QWJzb2x1dGUoaW50KSBjb25zdDsKKworICAgIEZyYW1lKiBtX2ZyYW1lOworfTsKKworfQorCisj
ZW5kaWYgLy8gIUVOQUJMRShXRUJfVElNSU5HKQorI2VuZGlmIC8vICFkZWZpbmVkKFBlcmZvcm1h
bmNlVGltaW5nX2gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcu
aWRsIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi40OTQ0MmIwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7
CisKKyAgICAvLyBTZWU6IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8K
KyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVdFQl9USU1JTkcsIE9taXRDb25zdHJ1Y3Rvcl0g
UGVyZm9ybWFuY2VUaW1pbmcgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsb25nIG5hdmlnYXRpb25TdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbG9uZyB1bmxvYWRFdmVudEVuZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdFN0YXJ0OworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0RW5kOworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGZldGNoU3RhcnQ7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tYWluTG9va3VwU3RhcnQ7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tYWluTG9va3VwRW5k
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGNvbm5lY3RT
dGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBjb25u
ZWN0RW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJl
cXVlc3RTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9u
ZyByZXNwb25zZVN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsb25nIHJlc3BvbnNlRW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsb25nIGRvbUxvYWRpbmc7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxvbmcgZG9tSW50ZXJhY3RpdmU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29udGVudExvYWRlZFN0YXJ0OworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUNvbnRlbnRMb2FkZWRFbmQ7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29tcGxldGU7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2ZW50U3Rh
cnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2
ZW50RW5kOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuY3Bw
IGIvV2ViQ29yZS9wYWdlL1RpbWluZy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDY4ZDE0MDUuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9wYWdlL1RpbWluZy5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSwzNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
Ci0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUaW1p
bmcuaCIKLQotI2lmIEVOQUJMRShXRUJfVElNSU5HKQotCi0jaW5jbHVkZSAiRG9jdW1lbnRMb2Fk
VGltaW5nLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVu
dFRpbWluZy5oIgotI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VMb2FkVGlt
aW5nLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKGRv
dWJsZSBzZWNvbmRzKQotewotICAgIEFTU0VSVChzZWNvbmRzID49IDApOwotICAgIHJldHVybiBz
dGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KHNlY29uZHMgKiAxMDAwLjApOwotfQotCi1z
dGF0aWMgZG91YmxlIGdldFBvc3NpYmx5U2tld2VkVGltZUluS25vd25SYW5nZShkb3VibGUgc2tl
d2VkVGltZSwgZG91YmxlIGxvd2VyQm91bmQsIGRvdWJsZSB1cHBlckJvdW5kKQotewotI2lmIFBM
QVRGT1JNKENIUk9NSVVNKQotICAgIC8vIFRoZSBjaHJvbWl1bSBwb3J0J3MgY3VycmVudFRpbWUo
KSBpbXBsZW1lbnRhdGlvbiBvbmx5IHN5bmNzIHdpdGggdGhlCi0gICAgLy8gc3lzdGVtIGNsb2Nr
IGV2ZXJ5IDYwIHNlY29uZHMuIFNvIGl0IGlzIHBvc3NpYmxlIGZvciB0aW1pbmcgbWFya3MKLSAg
ICAvLyBjb2xsZWN0ZWQgaW4gZGlmZmVyZW50IHRocmVhZHMgb3IgcHJvY2Vzc2VzIHRvIGhhdmUg
YSBzbWFsbCBza2V3LgotICAgIC8vIEZJWE1FOiBJdCBtYXkgYmUgcG9zc2libGUgdG8gYWRkIGEg
Y3VycmVudFRpbWVGcm9tU3lzdGVtVGltZSgpIG1ldGhvZAotICAgIC8vIHRoYXQgZWxpbWluYXRl
cyB0aGUgc2tldy4KLSAgICBpZiAoc2tld2VkVGltZSA8PSBsb3dlckJvdW5kKQotICAgICAgICBy
ZXR1cm4gbG93ZXJCb3VuZDsKLQotICAgIGlmIChza2V3ZWRUaW1lID49IHVwcGVyQm91bmQpCi0g
ICAgICAgIHJldHVybiB1cHBlckJvdW5kOwotI2Vsc2UKLSAgICBBU1NFUlRfVU5VU0VEKGxvd2Vy
Qm91bmQsIHNrZXdlZFRpbWUgPj0gbG93ZXJCb3VuZCk7Ci0gICAgQVNTRVJUX1VOVVNFRCh1cHBl
ckJvdW5kLCBza2V3ZWRUaW1lIDw9IHVwcGVyQm91bmQpOwotI2VuZGlmCi0KLSAgICByZXR1cm4g
c2tld2VkVGltZTsKLX0KLQotVGltaW5nOjpUaW1pbmcoRnJhbWUqIGZyYW1lKQotICAgIDogbV9m
cmFtZShmcmFtZSkKLXsKLX0KLQotRnJhbWUqIFRpbWluZzo6ZnJhbWUoKSBjb25zdAotewotICAg
IHJldHVybiBtX2ZyYW1lOwotfQotCi12b2lkIFRpbWluZzo6ZGlzY29ubmVjdEZyYW1lKCkKLXsK
LSAgICBtX2ZyYW1lID0gMDsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6bmF2aWdh
dGlvblN0YXJ0KCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRv
Y3VtZW50TG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsK
LQotICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5uYXZpZ2F0aW9uU3Rh
cnQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjp1bmxvYWRFdmVudEVuZCgpIGNv
bnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1p
bmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4g
dG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+dW5sb2FkRXZlbnRFbmQpOwotfQotCi11bnNp
Z25lZCBsb25nIGxvbmcgVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKLXsKLSAgICBEb2N1
bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOwotICAgIGlmICgh
dGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNl
Y29uZHModGltaW5nLT5yZWRpcmVjdFN0YXJ0KTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRp
bWluZzo6cmVkaXJlY3RFbmQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWluZyogdGlt
aW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPnJlZGly
ZWN0RW5kKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZmV0Y2hTdGFydCgpIGNv
bnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1p
bmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4g
dG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZmV0Y2hTdGFydCk7Ci19Ci0KLXVuc2lnbmVk
IGxvbmcgbG9uZyBUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKLXsKLSAgICBSZXNv
dXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOwotICAgIGlmICgh
dGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIFRoaXMgd2lsbCBiZSAtMSB3aGVu
IGEgRE5TIHJlcXVlc3QgaXMgbm90IHBlcmZvcm1lZC4KLSAgICAvLyBSYXRoZXIgdGhhbiBleHBv
c2luZyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8gRE5TLCB3ZSAiYmFja2ZpbGwi
IHdpdGggZmV0Y2hTdGFydC4KLSAgICBpbnQgZG5zU3RhcnQgPSB0aW1pbmctPmRuc1N0YXJ0Owot
ICAgIGlmIChkbnNTdGFydCA8IDApCi0gICAgICAgIHJldHVybiBmZXRjaFN0YXJ0KCk7Ci0KLSAg
ICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZShkbnNTdGFydCk7Ci19
Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0Ci17
Ci0gICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSByZXNvdXJjZUxvYWRUaW1pbmcoKTsK
LSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAvLyBUaGlzIHdpbGwg
YmUgLTEgd2hlbiBhIEROUyByZXF1ZXN0IGlzIG5vdCBwZXJmb3JtZWQuCi0gICAgLy8gUmF0aGVy
IHRoYW4gZXhwb3NpbmcgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNhdGVzIG5vIEROUywgd2Ug
ImJhY2tmaWxsIiB3aXRoIGRvbWFpbkxvb2t1cFN0YXJ0LgotICAgIGludCBkbnNFbmQgPSB0aW1p
bmctPmRuc0VuZDsKLSAgICBpZiAoZG5zRW5kIDwgMCkKLSAgICAgICAgcmV0dXJuIGRvbWFpbkxv
b2t1cFN0YXJ0KCk7Ci0KLSAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNv
bHV0ZShkbnNFbmQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpjb25uZWN0U3Rh
cnQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBkb2N1bWVudExvYWRl
cigpOwotICAgIGlmICghbG9hZGVyKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIFJlc291cmNl
TG9hZFRpbWluZyogdGltaW5nID0gbG9hZGVyLT5yZXNwb25zZSgpLnJlc291cmNlTG9hZFRpbWlu
ZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIGNvbm5l
Y3RTdGFydCB3aWxsIGJlIC0xIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUuCi0g
ICAgLy8gUmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNhdGVz
IG5vIG5ldyBjb25uZWN0aW9uLCB3ZSAiYmFja2ZpbGwiIHdpdGggZG9tYWluTG9va3VwRW5kLgot
ICAgIGludCBjb25uZWN0U3RhcnQgPSB0aW1pbmctPmNvbm5lY3RTdGFydDsKLSAgICBpZiAoY29u
bmVjdFN0YXJ0IDwgMCB8fCBsb2FkZXItPnJlc3BvbnNlKCkuY29ubmVjdGlvblJldXNlZCgpKQot
ICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwRW5kKCk7Ci0KLSAgICAvLyBSZXNvdXJjZUxvYWRU
aW1pbmcncyBjb25uZWN0IHBoYXNlIGluY2x1ZGVzIEROUyBhbmQgU1NMLCBob3dldmVyIFdlYiBU
aW1pbmcncwotICAgIC8vIGNvbm5lY3QgcGhhc2Ugc2hvdWxkIG5vdC4gU28gaWYgdGhlcmUgaXMg
RE5TIHRpbWUsIHRyaW0gaXQgZnJvbSB0aGUgc3RhcnQuCi0gICAgaWYgKHRpbWluZy0+ZG5zRW5k
ID49IDAgJiYgdGltaW5nLT5kbnNFbmQgPiBjb25uZWN0U3RhcnQpCi0gICAgICAgIGNvbm5lY3RT
dGFydCA9IHRpbWluZy0+ZG5zRW5kOwotCi0gICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVSZWxh
dGl2ZVRvQWJzb2x1dGUoY29ubmVjdFN0YXJ0KTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRp
bWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9
IGRvY3VtZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybiAwOwot
Ci0gICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSBsb2FkZXItPnJlc3BvbnNlKCkucmVz
b3VyY2VMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwot
Ci0gICAgLy8gY29ubmVjdEVuZCB3aWxsIGJlIC0xIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMg
bm90IG1hZGUuCi0gICAgLy8gUmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBzcGVjaWFsIHZhbHVlIHRo
YXQgaW5kaWNhdGVzIG5vIG5ldyBjb25uZWN0aW9uLCB3ZSAiYmFja2ZpbGwiIHdpdGggY29ubmVj
dFN0YXJ0LgotICAgIGludCBjb25uZWN0RW5kID0gdGltaW5nLT5jb25uZWN0RW5kOwotICAgIGlm
IChjb25uZWN0RW5kIDwgMCB8fCBsb2FkZXItPnJlc3BvbnNlKCkuY29ubmVjdGlvblJldXNlZCgp
KQotICAgICAgICByZXR1cm4gY29ubmVjdFN0YXJ0KCk7Ci0KLSAgICAvLyBSZXNvdXJjZUxvYWRU
aW1pbmcncyBjb25uZWN0IHBoYXNlIGluY2x1ZGVzIEROUyBhbmQgU1NMLCBob3dldmVyIFdlYiBU
aW1pbmcncwotICAgIC8vIGNvbm5lY3QgcGhhc2Ugc2hvdWxkIG5vdC4gU28gaWYgdGhlcmUgaXMg
U1NMIHRpbWUsIHRyaW0gaXQgZnJvbSB0aGUgZW5kLgotICAgIGlmICh0aW1pbmctPnNzbFN0YXJ0
ID49IDAgJiYgdGltaW5nLT5zc2xTdGFydCA8IGNvbm5lY3RFbmQpCi0gICAgICAgIGNvbm5lY3RF
bmQgPSB0aW1pbmctPnNzbFN0YXJ0OwotCi0gICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVSZWxh
dGl2ZVRvQWJzb2x1dGUoY29ubmVjdEVuZCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1p
bmc6OnJlcXVlc3RTdGFydCgpIGNvbnN0Ci17Ci0gICAgUmVzb3VyY2VMb2FkVGltaW5nKiB0aW1p
bmcgPSByZXNvdXJjZUxvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0
dXJuIDA7Ci0KLSAgICBBU1NFUlQodGltaW5nLT5zZW5kU3RhcnQgPj0gMCk7Ci0gICAgcmV0dXJu
IHJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUodGltaW5nLT5zZW5kU3RhcnQpOwot
fQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpyZXNwb25zZVN0YXJ0KCkgY29uc3QKLXsK
LSAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOwot
ICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIEZJWE1FOiBSZXNw
b25zZSBzdGFydCBuZWVkcyB0byBiZSB0aGUgdGltZSBvZiB0aGUgZmlyc3QgcmVjZWl2ZWQgYnl0
ZS4KLSAgICAvLyBIb3dldmVyLCB0aGUgUmVzb3VyY2VMb2FkVGltaW5nIEFQSSBjdXJyZW50bHkg
b25seSBzdXBwb3J0cyB0aGUgdGltZQotICAgIC8vIHRoZSBsYXN0IGhlYWRlciBieXRlIHdhcyBy
ZWNlaXZlZC4gRm9yIG1hbnkgcmVzcG9uc2VzIHdpdGggcmVhc29uYWJsZQotICAgIC8vIHNpemVk
IGNvb2tpZXMsIHRoZSBIVFRQIGhlYWRlcnMgZml0IGludG8gYSBzaW5nbGUgcGFja2V0IHNvIHRo
aXMgdGltZQotICAgIC8vIGlzIGJhc2ljYWxseSBlcXVpdmFsZW50LiBCdXQgZm9yIHNvbWUgcmVz
cG9uc2VzLCBwYXJ0aWN1bGFybHkgdGhvc2Ugd2l0aAotICAgIC8vIGhlYWRlcnMgbGFyZ2VyIHRo
YW4gYSBzaW5nbGUgcGFja2V0LCB0aGlzIHRpbWUgd2lsbCBiZSB0b28gbGF0ZS4KLSAgICBBU1NF
UlQodGltaW5nLT5yZWNlaXZlSGVhZGVyc0VuZCA+PSAwKTsKLSAgICByZXR1cm4gcmVzb3VyY2VM
b2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZSh0aW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kKTsKLX0K
LQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6cmVzcG9uc2VFbmQoKSBjb25zdAotewotICAg
IERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0gICAg
aWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1p
bGxpc2Vjb25kcyh0aW1pbmctPnJlc3BvbnNlRW5kKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25n
IFRpbWluZzo6ZG9tTG9hZGluZygpIGNvbnN0Ci17Ci0gICAgY29uc3QgRG9jdW1lbnRUaW1pbmcq
IHRpbWluZyA9IGRvY3VtZW50VGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmRvbUxv
YWRpbmcpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpkb21JbnRlcmFjdGl2ZSgp
IGNvbnN0Ci17Ci0gICAgY29uc3QgRG9jdW1lbnRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50VGlt
aW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJu
IHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmRvbUludGVyYWN0aXZlKTsKLX0KLQotdW5z
aWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZG9tQ29udGVudExvYWRlZFN0YXJ0KCkgY29uc3QKLXsK
LSAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmcoKTsKLSAg
ICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2Vy
TWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tQ29udGVudExvYWRlZFN0YXJ0KTsKLX0KLQotdW5zaWdu
ZWQgbG9uZyBsb25nIFRpbWluZzo6ZG9tQ29udGVudExvYWRlZEVuZCgpIGNvbnN0Ci17Ci0gICAg
Y29uc3QgRG9jdW1lbnRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50VGltaW5nKCk7Ci0gICAgaWYg
KCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxp
c2Vjb25kcyh0aW1pbmctPmRvbUNvbnRlbnRMb2FkZWRFbmQpOwotfQotCi11bnNpZ25lZCBsb25n
IGxvbmcgVGltaW5nOjpkb21Db21wbGV0ZSgpIGNvbnN0Ci17Ci0gICAgY29uc3QgRG9jdW1lbnRU
aW1pbmcqIHRpbWluZyA9IGRvY3VtZW50VGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAg
ICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmct
PmRvbUNvbXBsZXRlKTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6bG9hZEV2ZW50
U3RhcnQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1l
bnRMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0g
ICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmxvYWRFdmVudFN0YXJ0KTsK
LX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6bG9hZEV2ZW50RW5kKCkgY29uc3QKLXsK
LSAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOwot
ICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiB0b0ludGVn
ZXJNaWxsaXNlY29uZHModGltaW5nLT5sb2FkRXZlbnRFbmQpOwotfQotCi1Eb2N1bWVudExvYWRl
ciogVGltaW5nOjpkb2N1bWVudExvYWRlcigpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2ZyYW1lKQot
ICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBtX2ZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1l
bnRMb2FkZXIoKTsKLX0KLQotY29uc3QgRG9jdW1lbnRUaW1pbmcqIFRpbWluZzo6ZG9jdW1lbnRU
aW1pbmcoKSBjb25zdAotewotICAgIGlmICghbV9mcmFtZSkKLSAgICAgICAgcmV0dXJuIDA7Ci0K
LSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1bWVudCgpOwotICAgIGlmICgh
ZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIGRvY3VtZW50LT50aW1p
bmcoKTsKLX0KLQotRG9jdW1lbnRMb2FkVGltaW5nKiBUaW1pbmc6OmRvY3VtZW50TG9hZFRpbWlu
ZygpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGRvY3VtZW50TG9hZGVy
KCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIGxv
YWRlci0+dGltaW5nKCk7Ci19Ci0KLVJlc291cmNlTG9hZFRpbWluZyogVGltaW5nOjpyZXNvdXJj
ZUxvYWRUaW1pbmcoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBkb2N1
bWVudExvYWRlcigpOwotICAgIGlmICghbG9hZGVyKQotICAgICAgICByZXR1cm4gMDsKLQotICAg
IHJldHVybiBsb2FkZXItPnJlc3BvbnNlKCkucmVzb3VyY2VMb2FkVGltaW5nKCk7Ci19Ci0KLXVu
c2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1
dGUoaW50IHJlbGF0aXZlU2Vjb25kcykgY29uc3QKLXsKLSAgICBBU1NFUlQocmVsYXRpdmVTZWNv
bmRzID49IDApOwotICAgIFJlc291cmNlTG9hZFRpbWluZyogcmVzb3VyY2VUaW1pbmcgPSByZXNv
dXJjZUxvYWRUaW1pbmcoKTsKLSAgICBBU1NFUlQocmVzb3VyY2VUaW1pbmcpOwotICAgIERvY3Vt
ZW50TG9hZFRpbWluZyogZG9jdW1lbnRUaW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKLSAg
ICBBU1NFUlQoZG9jdW1lbnRUaW1pbmcpOwotCi0gICAgLy8gVGhlIFJlc291cmNlTG9hZFRpbWlu
ZyBBUEkncyByZXF1ZXN0VGltZSBpcyB0aGUgYmFzZSB0aW1lIHRvIHdoaWNoIGFsbAotICAgIC8v
IG90aGVyIG1hcmtzIGFyZSByZWxhdGl2ZS4gU28gdG8gZ2V0IGFuIGFic29sdXRlIHRpbWUsIHdl
IG11c3QgYWRkIGl0IHRvCi0gICAgLy8gdGhlIHJlbGF0aXZlIG1hcmtzLgotICAgIC8vCi0gICAg
Ly8gU2luY2UgUmVzb3VyY2VMb2FkVGltaW5ncyBjYW1lIGZyb20gdGhlIG5ldHdvcmsgcGxhdGZv
cm0gbGF5ZXIsIHdlIG11c3QKLSAgICAvLyBjaGVjayB0aGVtIGZvciBza2V3IGJlY2F1c2UgdGhl
eSBtYXkgYmUgZnJvbSBhbm90aGVyIHRocmVhZC9wcm9jZXNzLgotICAgIGRvdWJsZSBiYXNlVGlt
ZSA9IGdldFBvc3NpYmx5U2tld2VkVGltZUluS25vd25SYW5nZShyZXNvdXJjZVRpbWluZy0+cmVx
dWVzdFRpbWUsIGRvY3VtZW50VGltaW5nLT5mZXRjaFN0YXJ0LCBkb2N1bWVudFRpbWluZy0+cmVz
cG9uc2VFbmQgLSAocmVzb3VyY2VUaW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kIC8gMTAwMC4wKSk7
Ci0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyhiYXNlVGltZSkgKyByZWxhdGl2ZVNl
Y29uZHM7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShX
RUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1RpbWluZy5oIGIvV2ViQ29yZS9w
YWdlL1RpbWluZy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Y2RiOWI4Li4wMDAw
MDAwCi0tLSBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAq
Ci0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
LSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIFRpbWluZ19oCi0jZGVmaW5lIFRpbWluZ19oCi0KLSNpZiBFTkFCTEUoV0VC
X1RJTUlORykKLQotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgRG9jdW1lbnRMb2Fk
VGltaW5nOwotY2xhc3MgRG9jdW1lbnRMb2FkZXI7Ci1zdHJ1Y3QgRG9jdW1lbnRUaW1pbmc7Ci1j
bGFzcyBGcmFtZTsKLWNsYXNzIFJlc291cmNlTG9hZFRpbWluZzsKLQotY2xhc3MgVGltaW5nIDog
cHVibGljIFJlZkNvdW50ZWQ8VGltaW5nPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8VGltaW5nPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgVGlt
aW5nKGZyYW1lKSk7IH0KLQotICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OwotICAgIHZvaWQgZGlz
Y29ubmVjdEZyYW1lKCk7Ci0KLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgbmF2aWdhdGlvblN0YXJ0
KCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHVubG9hZEV2ZW50RW5kKCkgY29uc3Q7
Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0U3RhcnQoKSBjb25zdDsKLSAgICB1bnNp
Z25lZCBsb25nIGxvbmcgcmVkaXJlY3RFbmQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxv
bmcgZmV0Y2hTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29r
dXBTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBFbmQo
KSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVjdFN0YXJ0KCkgY29uc3Q7Ci0g
ICAgdW5zaWduZWQgbG9uZyBsb25nIGNvbm5lY3RFbmQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBs
b25nIGxvbmcgcmVxdWVzdFN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHJl
c3BvbnNlU3RhcnQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VFbmQo
KSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgZG9tTG9hZGluZygpIGNvbnN0OwotICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyBkb21JbnRlcmFjdGl2ZSgpIGNvbnN0OwotICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyBkb21Db250ZW50TG9hZGVkU3RhcnQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBs
b25nIGxvbmcgZG9tQ29udGVudExvYWRlZEVuZCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBkb21Db21wbGV0ZSgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkRXZl
bnRTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkRXZlbnRFbmQoKSBj
b25zdDsKLQotcHJpdmF0ZToKLSAgICBUaW1pbmcoRnJhbWUqKTsKLQotICAgIGNvbnN0IERvY3Vt
ZW50VGltaW5nKiBkb2N1bWVudFRpbWluZygpIGNvbnN0OwotICAgIERvY3VtZW50TG9hZGVyKiBk
b2N1bWVudExvYWRlcigpIGNvbnN0OwotICAgIERvY3VtZW50TG9hZFRpbWluZyogZG9jdW1lbnRM
b2FkVGltaW5nKCkgY29uc3Q7Ci0gICAgUmVzb3VyY2VMb2FkVGltaW5nKiByZXNvdXJjZUxvYWRU
aW1pbmcoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzb3VyY2VMb2FkVGltZVJl
bGF0aXZlVG9BYnNvbHV0ZShpbnQpIGNvbnN0OwotCi0gICAgRnJhbWUqIG1fZnJhbWU7Ci19Owot
Ci19Ci0KLSNlbmRpZiAvLyAhRU5BQkxFKFdFQl9USU1JTkcpCi0jZW5kaWYgLy8gIWRlZmluZWQo
VGltaW5nX2gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVGltaW5nLmlkbCBiL1dlYkNvcmUv
cGFnZS9UaW1pbmcuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Nzc2OTgwLi4w
MDAwMDAwCi0tLSBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0
OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLW1vZHVsZSB3aW5kb3cgewotCi0gICAgLy8gU2VlOiBodHRwOi8vZGV2LnczLm9y
Zy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvCi0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJf
VElNSU5HLCBPbWl0Q29uc3RydWN0b3JdIFRpbWluZyB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgbmF2aWdhdGlvblN0YXJ0OwotICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHVubG9hZEV2ZW50RW5kOwotICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0U3RhcnQ7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RFbmQ7Ci0g
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZmV0Y2hTdGFydDsK
LSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29r
dXBTdGFydDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBk
b21haW5Mb29rdXBFbmQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxvbmcgY29ubmVjdFN0YXJ0OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsb25nIGNvbm5lY3RFbmQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxvbmcgcmVxdWVzdFN0YXJ0OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsb25nIHJlc3BvbnNlU3RhcnQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VFbmQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tTG9hZGluZzsKLSAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21JbnRlcmFjdGl2ZTsKLSAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Db250ZW50TG9hZGVkU3RhcnQ7Ci0g
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29udGVudExv
YWRlZEVuZDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBk
b21Db21wbGV0ZTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9u
ZyBsb2FkRXZlbnRTdGFydDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbG9uZyBsb2FkRXZlbnRFbmQ7Ci0gICAgfTsKLQotfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZWQ3OGQ1
MS4uYzhhNjdiNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEtMDkgIEph
bWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXZWIgVGltaW5nXSBSZW5hbWUgaW50ZXJm
YWNlczoKKyAgICAgICAgLSBOYXZpZ2F0aW9uIC0+IFBlcmZvcm1hbmNlTmF2aWdhdGlvbgorICAg
ICAgICAtIFRpbWluZyAtPiBQZXJmb3JtYW5jZVRpbWluZworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5MTkKKworICAgICAgICAqIHNyYy9XZWJQZXJm
b3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBlcmZvcm1hbmNlOjpuYXZpZ2F0aW9u
VHlwZSk6CisKIDIwMTAtMTEtMDkgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUGVyZm9ybWFuY2UuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJQZXJmb3JtYW5jZS5jcHAKaW5kZXggODk4YTc2MS4uNzZiM2YyMSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAKQEAgLTUwLDExICs1MCwxMSBAQCB2b2lkIFdlYlBlcmZv
cm1hbmNlOjphc3NpZ24oY29uc3QgV2ViUGVyZm9ybWFuY2UmIG90aGVyKQogV2ViTmF2aWdhdGlv
blR5cGUgV2ViUGVyZm9ybWFuY2U6Om5hdmlnYXRpb25UeXBlKCkgY29uc3QKIHsKICAgICBzd2l0
Y2ggKG1fcHJpdmF0ZS0+bmF2aWdhdGlvbigpLT50eXBlKCkpIHsKLSAgICBjYXNlIE5hdmlnYXRp
b246Ok5BVklHQVRFOgorICAgIGNhc2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpOQVZJR0FURToK
ICAgICAgICAgcmV0dXJuIFdlYk5hdmlnYXRpb25UeXBlT3RoZXI7Ci0gICAgY2FzZSBOYXZpZ2F0
aW9uOjpSRUxPQUQ6CisgICAgY2FzZSBQZXJmb3JtYW5jZU5hdmlnYXRpb246OlJFTE9BRDoKICAg
ICAgICAgcmV0dXJuIFdlYk5hdmlnYXRpb25UeXBlUmVsb2FkOwotICAgIGNhc2UgTmF2aWdhdGlv
bjo6QkFDS19GT1JXQVJEOgorICAgIGNhc2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpCQUNLX0ZP
UldBUkQ6CiAgICAgICAgIHJldHVybiBXZWJOYXZpZ2F0aW9uVHlwZUJhY2tGb3J3YXJkOwogICAg
IH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73677</attachid>
            <date>2010-11-11 16:14:41 -0800</date>
            <delta_ts>2010-11-12 14:51:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>100014</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMWUzZmUxLi43MDc5ZmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMTEt
MTEgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXZWIgVGltaW5nXSBSZW5hbWUg
aW50ZXJmYWNlczoKKyAgICAgICAgLSBOYXZpZ2F0aW9uIC0+IFBlcmZvcm1hbmNlTmF2aWdhdGlv
bgorICAgICAgICAtIFRpbWluZyAtPiBQZXJmb3JtYW5jZVRpbWluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5MTkKKworICAgICAgICAqIGZhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQ6IENs
YXNzIG5hbWVzIGNoYW5nZWQuCisKIDIwMTAtMTEtMTAgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtcGVyZm9ybWFu
Y2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLXBlcmZvcm1hbmNlLWV4cGVjdGVkLnR4dAppbmRleCAxYzUyZjQ0Li44ZDIyMjlkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
cGVyZm9ybWFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQKQEAgLTQsMTMgKzQs
MTMgQEAgd2luZG93LndlYmtpdFBlcmZvcm1hbmNlIFtvYmplY3QgUGVyZm9ybWFuY2VdCiB3aW5k
b3cud2Via2l0UGVyZm9ybWFuY2UubWVtb3J5IFtvYmplY3QgTWVtb3J5SW5mb10KIHdpbmRvdy53
ZWJraXRQZXJmb3JtYW5jZS5tZW1vcnkudG90YWxKU0hlYXBTaXplIFtudW1iZXJdCiB3aW5kb3cu
d2Via2l0UGVyZm9ybWFuY2UubWVtb3J5LnVzZWRKU0hlYXBTaXplIFtudW1iZXJdCi13aW5kb3cu
d2Via2l0UGVyZm9ybWFuY2UubmF2aWdhdGlvbiBbb2JqZWN0IE5hdmlnYXRpb25dCit3aW5kb3cu
d2Via2l0UGVyZm9ybWFuY2UubmF2aWdhdGlvbiBbb2JqZWN0IFBlcmZvcm1hbmNlTmF2aWdhdGlv
bl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLkJBQ0tfRk9SV0FSRCBbbnVt
YmVyXQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24uTkFWSUdBVEUgW251bWJl
cl0KIHdpbmRvdy53ZWJraXRQZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLlJFTE9BRCBbbnVtYmVyXQog
d2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCBbbnVtYmVy
XQogd2luZG93LndlYmtpdFBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSBbbnVtYmVyXQotd2lu
ZG93LndlYmtpdFBlcmZvcm1hbmNlLnRpbWluZyBbb2JqZWN0IFRpbWluZ10KK3dpbmRvdy53ZWJr
aXRQZXJmb3JtYW5jZS50aW1pbmcgW29iamVjdCBQZXJmb3JtYW5jZVRpbWluZ10KIHdpbmRvdy53
ZWJraXRQZXJmb3JtYW5jZS50aW1pbmcuY29ubmVjdEVuZCBbbnVtYmVyXQogd2luZG93LndlYmtp
dFBlcmZvcm1hbmNlLnRpbWluZy5jb25uZWN0U3RhcnQgW251bWJlcl0KIHdpbmRvdy53ZWJraXRQ
ZXJmb3JtYW5jZS50aW1pbmcuZG9tQ29tcGxldGUgW251bWJlcl0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCAxNDIxYjYzLi40NDQ2ZGNl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1r
CkBAIC00MTYsNyArNDE2LDYgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVT
KSBcCiAJcGFnZS9IaXN0b3J5LmNwcCBcCiAJcGFnZS9Mb2NhdGlvbi5jcHAgXAogCXBhZ2UvTW91
c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAgXAotCXBhZ2UvTmF2aWdhdGlvbi5jcHAgXAog
CXBhZ2UvTmF2aWdhdG9yLmNwcCBcCiAJcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAJcGFnZS9P
cmlnaW5BY2Nlc3NFbnRyeS5jcHAgXApAQCAtNDI0LDYgKzQyMyw4IEBAIExPQ0FMX1NSQ19GSUxF
UyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCXBhZ2UvUGFnZUdyb3VwLmNwcCBcCiAJcGFnZS9Q
YWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwIFwKIAlwYWdlL1BlcmZvcm1hbmNlLmNwcCBcCisJcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIFwKKwlwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNw
cCBcCiAJcGFnZS9QbHVnaW5IYWx0ZXIuY3BwIFwKIAlwYWdlL1ByaW50Q29udGV4dC5jcHAgXAog
CXBhZ2UvU2NyZWVuLmNwcCBcCkBAIC00MzMsNyArNDM0LDYgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9
ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJcGFnZS9TcGVlY2hJbnB1dC5jcHAgXAogCXBhZ2UvU3Bl
ZWNoSW5wdXRSZXN1bHQuY3BwIFwKIAlwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwIFwKLQlwYWdl
L1RpbWluZy5jcHAgXAogCXBhZ2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCBcCiAJcGFnZS9X
aW5kb3dGZWF0dXJlcy5jcHAgXAogCXBhZ2UvV29ya2VyTmF2aWdhdG9yLmNwcCBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCA3MGM5Y2IwLi45MTEwNDY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMyOSwxMiArMzI5LDEyIEBAIFNFVChXZWJD
b3JlX0lETF9GSUxFUwogICAgIHBhZ2UvSGlzdG9yeS5pZGwKICAgICBwYWdlL0xvY2F0aW9uLmlk
bAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwKLSAgICBwYWdlL05hdmlnYXRpb24uaWRsCiAgICAg
cGFnZS9OYXZpZ2F0b3IuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwKKyAgICBwYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbAog
ICAgIHBhZ2UvUG9zaXRpb25FcnJvci5pZGwKICAgICBwYWdlL1NjcmVlbi5pZGwKLSAgICBwYWdl
L1RpbWluZy5pZGwKICAgICBwYWdlL1dlYktpdFBvaW50LmlkbAogICAgIHBhZ2UvV29ya2VyTmF2
aWdhdG9yLmlkbAogCkBAIC0xMjIzLDcgKzEyMjMsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGFnZS9Mb2NhdGlvbi5jcHAKICAgICBwYWdlL01lbW9yeUluZm8uY3BwCiAgICAgcGFnZS9N
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAotICAgIHBhZ2UvTmF2aWdhdGlvbi5jcHAK
ICAgICBwYWdlL05hdmlnYXRvci5jcHAKICAgICBwYWdlL05hdmlnYXRvckJhc2UuY3BwCiAgICAg
cGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAKQEAgLTEyMzEsNiArMTIzMCw4IEBAIFNFVChXZWJD
b3JlX1NPVVJDRVMKICAgICBwYWdlL1BhZ2VHcm91cC5jcHAKICAgICBwYWdlL1BhZ2VHcm91cExv
YWREZWZlcnJlci5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNlLmNwcAorICAgIHBhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcAorICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCiAgICAg
cGFnZS9QbHVnaW5IYWx0ZXIuY3BwCiAgICAgcGFnZS9QcmludENvbnRleHQuY3BwCiAgICAgcGFn
ZS9TY3JlZW4uY3BwCkBAIC0xMjM4LDcgKzEyMzksNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGFnZS9TZXR0aW5ncy5jcHAKICAgICBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAogICAg
IHBhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKLSAgICBwYWdlL1RpbWluZy5jcHAKICAgICBwYWdl
L1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAKICAgICBwYWdlL1dpbmRvd0ZlYXR1cmVzLmNwcAog
ICAgIHBhZ2UvV29ya2VyTmF2aWdhdG9yLmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxMGE1YzdjLi4xNmM5ODE2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2
IEBACisyMDEwLTExLTExICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbV2ViIFRp
bWluZ10gUmVuYW1lIGludGVyZmFjZXM6CisgICAgICAgIC0gTmF2aWdhdGlvbiAtPiBQZXJmb3Jt
YW5jZU5hdmlnYXRpb24KKyAgICAgICAgLSBUaW1pbmcgLT4gUGVyZm9ybWFuY2VUaW1pbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4OTE5CisKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6Om5hdmlnYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnRpbWluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaWRsOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcDogUmVuYW1lZCBmcm9tIFdlYkNvcmUvcGFnZS9OYXZp
Z2F0aW9uLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6UGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdh
dGlvbjo6ZnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpk
aXNjb25uZWN0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9u
Ojp0eXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6cmVkaXJl
Y3RDb3VudCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaDogUmVuYW1l
ZCBmcm9tIFdlYkNvcmUvcGFnZS9OYXZpZ2F0aW9uLmguCisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU5hdmlnYXRpb246OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsOiBSZW5hbWVkIGZyb20gV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaWRsLgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOiBSZW5hbWVkIGZyb20gV2ViQ29y
ZS9wYWdlL1RpbWluZy5jcHAuCisgICAgICAgIChXZWJDb3JlOjp0b0ludGVnZXJNaWxsaXNlY29u
ZHMpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0UG9zc2libHlTa2V3ZWRUaW1lSW5Lbm93blJhbmdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpQZXJmb3JtYW5jZVRpbWlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6ZnJhbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRpc2Nvbm5lY3RGcmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6bmF2aWdhdGlvblN0YXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjp1bmxvYWRFdmVudEVuZCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6cmVkaXJlY3RTdGFydCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6cmVkaXJlY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OmZldGNoU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VUaW1pbmc6OmNvbm5lY3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVRpbWluZzo6Y29ubmVjdEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWlu
Zzo6cmVxdWVzdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpy
ZXF1ZXN0RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZXNwb25z
ZVN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZXNwb25zZUVu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6ZG9tTG9hZGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6ZG9tSW50ZXJhY3RpdmUpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRvbUNvbnRlbnRMb2FkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OmRvbUNvbXBsZXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpsb2FkRXZlbnRTdGFydCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6bG9hZEV2ZW50RW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlVGltaW5nOjpkb2N1bWVudExvYWRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVRpbWluZzo6ZG9jdW1lbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OmRvY3VtZW50TG9hZFRpbWluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVRpbWluZzo6cmVzb3VyY2VMb2FkVGltaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29sdXRl
KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmg6IFJlbmFtZWQgZnJvbSBXZWJD
b3JlL3BhZ2UvVGltaW5nLmguCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6
Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbDogUmVuYW1lZCBm
cm9tIFdlYkNvcmUvcGFnZS9UaW1pbmcuaWRsLgorCiAyMDEwLTExLTEwICBaaGVueWFvIE1vICA8
em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcAppbmRleCBlYTg2ODljLi44Yzk1ZDI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMjM1
LDcgKzIzNSw2IEBACiAjaW5jbHVkZSAiSlNNb3VzZUV2ZW50LmNwcCIKICNpbmNsdWRlICJKU011
dGF0aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKLSNpbmNsdWRl
ICJKU05hdmlnYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTTmF2aWdhdG9yLmNwcCIKICNpbmNsdWRl
ICJKU05vZGUuY3BwIgogI2luY2x1ZGUgIkpTTm9kZUZpbHRlci5jcHAiCkBAIC0yNDcsNiArMjQ2
LDggQEAKICNpbmNsdWRlICJKU092ZXJmbG93RXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTUGFnZVRy
YW5zaXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZS5jcHAiCisjaW5jbHVk
ZSAiSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIgorI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VU
aW1pbmcuY3BwIgogI2luY2x1ZGUgIkpTUG9wU3RhdGVFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNQ
b3NpdGlvbkVycm9yLmNwcCIKICNpbmNsdWRlICJKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAi
CkBAIC00MTUsNyArNDE2LDYgQEAKICNpbmNsdWRlICJKU1RleHRFdmVudC5jcHAiCiAjaW5jbHVk
ZSAiSlNUZXh0TWV0cmljcy5jcHAiCiAjaW5jbHVkZSAiSlNUaW1lUmFuZ2VzLmNwcCIKLSNpbmNs
dWRlICJKU1RpbWluZy5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaC5jcHAiCiAjaW5jbHVkZSAiSlNU
b3VjaEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1RvdWNoTGlzdC5jcHAiCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggMjU1MzI1ZS4uYjYyZjgzMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjc5LDcgKzI3OSw2
IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE1vdXNlRXZlbnQgXAogICAgIE11dGF0aW9uRXZlbnQg
XAogICAgIE5hbWVkTm9kZU1hcCBcCi0gICAgTmF2aWdhdGlvbiBcCiAgICAgTmF2aWdhdG9yIFwK
ICAgICBOb2RlIFwKICAgICBOb2RlRmlsdGVyIFwKQEAgLTI5MSw2ICsyOTAsOCBAQCBET01fQ0xB
U1NFUyA9IFwKICAgICBPdmVyZmxvd0V2ZW50IFwKICAgICBQYWdlVHJhbnNpdGlvbkV2ZW50IFwK
ICAgICBQZXJmb3JtYW5jZSBcCisgICAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uIFwKKyAgICBQZXJm
b3JtYW5jZVRpbWluZyBcCiAgICAgUG9wU3RhdGVFdmVudCBcCiAgICAgUG9zaXRpb25FcnJvciBc
CiAgICAgUHJvY2Vzc2luZ0luc3RydWN0aW9uIFwKQEAgLTQ3MCw3ICs0NzEsNiBAQCBET01fQ0xB
U1NFUyA9IFwKICAgICBUZXh0RXZlbnQgXAogICAgIFRleHRNZXRyaWNzIFwKICAgICBUaW1lUmFu
Z2VzIFwKLSAgICBUaW1pbmcgXAogICAgIFRvdWNoIFwKICAgICBUb3VjaEV2ZW50IFwKICAgICBU
b3VjaExpc3QgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KaW5kZXggMWVkZDk1My4uOWI5ZGUwZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC00NDcsOCAr
NDQ3LDYgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTXV0YXRpb25FdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmFtZWRO
b2RlTWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hbWVkTm9kZU1hcC5oIFwK
LQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdGlvbi5jcHAgXAotCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YXZpZ2F0b3IuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlLmNwcCBcCkBAIC00NzEsNiArNDY5LDEwIEBA
IHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bh
Z2VUcmFuc2l0aW9uRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1h
bmNlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlLmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZVRpbWluZy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUG9wU3RhdGVFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3BTdGF0
ZUV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkVycm9yLmNwcCBc
CkBAIC01MTIsOCArNTE0LDYgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTVGV4dE1ldHJpY3MuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1RpbWVSYW5nZXMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVGltZVJhbmdl
cy5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVGltaW5nLmNwcCBcCi0JRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1RpbWluZy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91
Y2guY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hFdmVudC5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaEV2ZW50LmggXApAQCAtMjEyNCw4ICsyMTI0LDYg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5oIFwKIAlX
ZWJDb3JlL3BhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAgXAogCVdlYkNvcmUv
cGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggXAotCVdlYkNvcmUvcGFnZS9OYXZp
Z2F0aW9uLmNwcCBcCi0JV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uaCBcCiAJV2ViQ29yZS9wYWdl
L05hdmlnYXRvckJhc2UuY3BwIFwKIAlXZWJDb3JlL3BhZ2UvTmF2aWdhdG9yQmFzZS5oIFwKIAlX
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBcCkBAIC0yMTQwLDYgKzIxMzgsMTAgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BhZ2UvUGFnZS5oIFwKIAlXZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuY3BwIFwKIAlXZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBcCisJV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgXAorCVdlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCBcCisJV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCBcCisJ
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmggXAogCVdlYkNvcmUvcGFnZS9QbHVnaW5I
YWx0ZXJDbGllbnQuaCBcCiAJV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5jcHAgXAogCVdlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBcCkBAIC0yMTY2LDggKzIxNjgsNiBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVdlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5oIFwKIAlXZWJDb3Jl
L3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgXAogCVdlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmggXAotCVdlYkNvcmUvcGFnZS9UaW1pbmcuY3BwIFwKLQlXZWJDb3JlL3BhZ2UvVGltaW5n
LmggXAogCVdlYkNvcmUvcGFnZS9Vc2VyQ29udGVudFR5cGVzLmggXAogCVdlYkNvcmUvcGFnZS9V
c2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKIAlXZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCA4NDZiNmExLi44OGNlODBiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjQ2LDEyICsyNDYsMTIg
QEAKICAgICAgICAgICAgICdwYWdlL0hpc3RvcnkuaWRsJywKICAgICAgICAgICAgICdwYWdlL0xv
Y2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmlkbCcsCi0gICAgICAg
ICAgICAncGFnZS9OYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3Iu
aWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmlkbCcsCisgICAgICAgICAgICAn
cGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9Qb3NpdGlvbkVycm9yLmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9TY3JlZW4uaWRsJywKLSAgICAgICAgICAgICdwYWdlL1RpbWlu
Zy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvV2ViS2l0UG9pbnQuaWRsJywKICAgICAgICAgICAg
ICdwYWdlL1dvcmtlck5hdmlnYXRvci5pZGwnLAogICAgICAgICAgICAgJ3BsdWdpbnMvRE9NTWlt
ZVR5cGUuaWRsJywKQEAgLTIyNTcsOCArMjI1Nyw2IEBACiAgICAgICAgICAgICAncGFnZS9NZW1v
cnlJbmZvLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0
cy5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5o
JywKLSAgICAgICAgICAgICdwYWdlL05hdmlnYXRpb24uY3BwJywKLSAgICAgICAgICAgICdwYWdl
L05hdmlnYXRpb24uaCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3IuY3BwJywKICAgICAg
ICAgICAgICdwYWdlL05hdmlnYXRvci5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJh
c2UuY3BwJywKQEAgLTIyNzMsNiArMjI3MSwxMCBAQAogICAgICAgICAgICAgJ3BhZ2UvUGFnZUdy
b3VwTG9hZERlZmVycmVyLmgnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2UuY3BwJywK
ICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmgnLAorICAgICAgICAgICAgJ3BhZ2UvUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAnLAor
ICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaCcsCiAgICAgICAgICAgICAncGFn
ZS9QbHVnaW5IYWx0ZXIuY3BwJywKICAgICAgICAgICAgICdwYWdlL1BsdWdpbkhhbHRlci5oJywK
ICAgICAgICAgICAgICdwYWdlL1BsdWdpbkhhbHRlckNsaWVudC5oJywKQEAgLTIyOTksOCArMjMw
MSw2IEBACiAgICAgICAgICAgICAncGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5oJywKICAgICAgICAg
ICAgICdwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwJywKICAgICAgICAgICAgICdwYWdlL1N1c3Bl
bmRhYmxlVGltZXIuaCcsCi0gICAgICAgICAgICAncGFnZS9UaW1pbmcuY3BwJywKLSAgICAgICAg
ICAgICdwYWdlL1RpbWluZy5oJywKICAgICAgICAgICAgICdwYWdlL1VzZXJDb250ZW50VVJMUGF0
dGVybi5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgnLAog
ICAgICAgICAgICAgJ3BhZ2UvVXNlckNvbnRlbnRUeXBlcy5oJywKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IDlkOTkwNmEuLmNjMDM5
M2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
LnByaQpAQCAtMzA3LDEyICszMDcsMTIgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL0hp
c3RvcnkuaWRsIFwKICAgICBwYWdlL0xvY2F0aW9uLmlkbCBcCiAgICAgcGFnZS9NZW1vcnlJbmZv
LmlkbCBcCi0gICAgcGFnZS9OYXZpZ2F0aW9uLmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRs
IFwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbCBcCisgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmln
YXRpb24uaWRsIFwKKyAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCiAgICAgcGFnZS9Q
b3NpdGlvbkVycm9yLmlkbCBcCiAgICAgcGFnZS9TY3JlZW4uaWRsIFwKLSAgICBwYWdlL1RpbWlu
Zy5pZGwgXAogICAgIHBhZ2UvV2ViS2l0UG9pbnQuaWRsIFwKICAgICBwYWdlL1dvcmtlck5hdmln
YXRvci5pZGwgXAogICAgIHBsdWdpbnMvRE9NUGx1Z2luLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBlMWNkNWExLi41NmIy
OWNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KQEAgLTEwODgsNyArMTA4OCw2IEBAIFNPVVJDRVMgKz0gXAogICAgIHBhZ2UvRE9NU2Vs
ZWN0aW9uLmNwcCBcCiAgICAgcGFnZS9ET01UaW1lci5jcHAgXAogICAgIHBhZ2UvRE9NV2luZG93
LmNwcCBcCi0gICAgcGFnZS9OYXZpZ2F0aW9uLmNwcCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuY3Bw
IFwKICAgICBwYWdlL05hdmlnYXRvckJhc2UuY3BwIFwKICAgICBwYWdlL0RyYWdDb250cm9sbGVy
LmNwcCBcCkBAIC0xMTExLDYgKzExMTAsOCBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdlL1BhZ2VH
cm91cC5jcHAgXAogICAgIHBhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcCBcCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZS5jcHAgXAorICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBc
CisgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAgXAogICAgIHBhZ2UvUGx1Z2luSGFsdGVy
LmNwcCBcCiAgICAgcGFnZS9QcmludENvbnRleHQuY3BwIFwKICAgICBwYWdlL1NlY3VyaXR5T3Jp
Z2luLmNwcCBcCkBAIC0xMTE4LDcgKzExMTksNiBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdlL1Nl
dHRpbmdzLmNwcCBcCiAgICAgcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAgXAogICAgIHBhZ2Uv
U3VzcGVuZGFibGVUaW1lci5jcHAgXAotICAgIHBhZ2UvVGltaW5nLmNwcCBcCiAgICAgcGFnZS9V
c2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKICAgICBwYWdlL1dpbmRvd0ZlYXR1cmVzLmNwcCBc
CiAgICAgcGFnZS9YU1NBdWRpdG9yLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCAyMjgwZGM1Li4wOGFlMDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKQEAgLTEwNjkyLDcgKzEwNjkyLDcgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRpb24uY3BwIg0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNOYXZpZ2F0b3IuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTA3NDQsMTEgKzEwNzQ0LDExIEBACiAJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
TmF2aWdhdGlvbi5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3IuaCINCiAJCQkJPg0KIAkJ
CTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3IuY3BwIg0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNOb2RlLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTEwODAwLDExICsxMDgwMCwxMSBAQAogCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU05hdmlnYXRvci5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlLmgiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZS5jcHAiDQorCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU05vZGVGaWx0ZXIuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTA4NTYsMTEgKzEwODU2LDExIEBACiAJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTTm9kZS5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlRmlsdGVyLmgiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUZpbHRlci5jcHAi
DQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU05vZGVJdGVyYXRvci5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMDkxMiwxMSArMTA5
MTIsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlRmlsdGVyLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGVJ
dGVyYXRvci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU05vZGVJdGVyYXRvci5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGVMaXN0LmNwcCINCiAJ
CQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0K
QEAgLTEwOTY4LDExICsxMDk2OCwxMSBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJ
PC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGVJdGVyYXRvci5oIg0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNOb2RlTGlzdC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU05vZGVMaXN0LmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90YXRp
b24uY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVi
dWd8V2luMzIiDQpAQCAtMTEwMjQsMTEgKzExMDI0LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZUxpc3Qu
aCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTm90YXRpb24uaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJ
CQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RhdGlvbi5jcHAiDQorCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U05vdGlmaWNhdGlvbi5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC0xMTA4MCwxMSArMTEwODAsMTEgQEAKIAkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNOb3RhdGlvbi5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb24uaCINCiAJCQkJPg0K
IAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb24uY3Bw
Ig0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIg0KIAkJCQk+DQogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTExMzYs
MTEgKzExMTM2LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm90aWZpY2F0aW9uLmgiDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU05vdGlmaWNhdGlvbkNlbnRlci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQotCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU05vdGlmaWNhdGlvbkNlbnRlci5jcHAiDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU092ZXJmbG93RXZlbnQuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
IAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTExOTIsMTEgKzExMTkyLDExIEBACiAJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTTm90aWZpY2F0aW9uQ2VudGVyLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU092ZXJmbG93RXZl
bnQuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNP
dmVyZmxvd0V2ZW50LmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGFnZVRyYW5zaXRpb25FdmVudC5j
cHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQlOYW1lPSJEZWJ1Z3xX
aW4zMiINCkBAIC0xMTI0OCwxMSArMTEyNDgsMTEgQEAKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNPdmVyZmxvd0V2ZW50
LmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCINCiAJCQkJPg0KIAkJ
CTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQYWdlVHJhbnNpdGlvbkV2ZW50
LmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGVyZm9ybWFuY2UuY3BwIg0KIAkJCQk+DQogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtMTEzMDQsMTEg
KzExMzA0LDExIEBACiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJ
PEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGFnZVRyYW5zaXRpb25FdmVudC5oIg0KKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNQZXJmb3JtYW5jZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQot
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCiAJ
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTExMzYwLDcgKzExMzYwLDYzIEBACiAJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTUGVyZm9ybWFuY2UuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIk
KFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUGVy
Zm9ybWFuY2VUaW1pbmcuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0Fs
bHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTUGVyZm9ybWFuY2VUaW1pbmcuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
QEAgLTIwMjc2LDYyICsyMDMzMiw2IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNUaW1pbmcuY3BwIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVD
b25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCi0JCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiIN
Ci0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0J
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJ
CQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9
IkRlYnVnX0FsbHxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJ
Pg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4N
Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJ
UmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTVGltaW5nLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCiAJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTVHJlZVdhbGtlci5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQpAQCAtMjM0ODAsMTQgKzIzNDgwLDYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxOYXZpZ2F0aW9uLmNwcCINCi0JCQkJ
Pg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2
aWdhdGlvbi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGFnZVxOYXZpZ2F0b3IuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTIz
NTQwLDYgKzIzNTMyLDIyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlVGltaW5nLmNwcCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9ybWFu
Y2VUaW1pbmcuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHBhZ2VcUGx1Z2luSGFsdGVyLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBA
IC0yMzYzMiwxNCArMjM2NDAsNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFRpbWluZy5jcHAiDQotCQkJCT4NCi0JCQk8L0ZpbGU+
DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFRpbWluZy5oIg0KLQkJCQk+
DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxVc2Vy
Q29udGVudFVSTFBhdHRlcm4uY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTlkNjJlNS4uMTIwNzg5ZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI2MzUsMTcgKzI2
MzUsMTcgQEAKIAkJOEE4MUJGODUxMURDRkQ5MDAwREEyQjk4IC8qIFJlc291cmNlTG9hZFRpbWlu
Zy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE4MUJG
ODQxMURDRkQ5MDAwREEyQjk4IC8qIFJlc291cmNlTG9hZFRpbWluZy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCThBODQ0RDA0MTFEM0MxOEUwMDE0
MDY1QyAvKiBQZXJmb3JtYW5jZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4QTg0NEQwMTExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuY3Bw
ICovOyB9OwogCQk4QTg0NEQwNTExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBODQ0RDAyMTFEM0Mx
OEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oICovOyB9OwotCQk4QTlBNTg3MDExRTg0QzM2MDA4
QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDhBOUE1ODZFMTFFODRDMzUwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24u
Y3BwICovOyB9OwotCQk4QTlBNTg3MTExRTg0QzM2MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlBNTg2RjEx
RTg0QzM2MDA4QUNGRDEgLyogSlNOYXZpZ2F0aW9uLmggKi87IH07CisJCThBOUE1ODcwMTFFODRD
MzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEg
LyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwICovOyB9OworCQk4QTlBNTg3MTExRTg0QzM2
MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAvKiBK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICovOyB9OwogCQk4QTlBNTg3NDExRTg0QzgxMDA4QUNG
RDEgLyogSlNQZXJmb3JtYW5jZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5j
cHAgKi87IH07CiAJCThBOUE1ODc1MTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlBNTg3MzEx
RTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5oICovOyB9OwotCQk4QTlBNTg4NzExRTg0
RjM3MDA4QUNGRDEgLyogSlNUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NzYxMUU4NEM5ODAwOEFDRkQxIC8qIEpTVGltaW5nLmNw
cCAqLzsgfTsKLQkJOEE5QTU4ODgxMUU4NEYzNzAwOEFDRkQxIC8qIEpTVGltaW5nLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTlBNTg3NzExRTg0Qzk4
MDA4QUNGRDEgLyogSlNUaW1pbmcuaCAqLzsgfTsKKwkJOEE5QTU4ODcxMUU4NEYzNzAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEE5QTU4NzYxMUU4NEM5ODAwOEFDRkQxIC8qIEpTUGVyZm9ybWFu
Y2VUaW1pbmcuY3BwICovOyB9OworCQk4QTlBNTg4ODExRTg0RjM3MDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOEE5QTU4NzcxMUU4NEM5ODAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuaCAq
LzsgfTsKIAkJOEFCNEJDNzcxMjZGREI3MTAwREVCNzI3IC8qIElnbm9yZURlc3RydWN0aXZlV3Jp
dGVDb3VudEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4QUI0QkM3NjEyNkZEQjcxMDBERUI3MjcgLyogSWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50SW5jcmVtZW50ZXIuaCAqLzsgfTsKLQkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RF
IC8qIE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRpb24uY3BwICovOyB9
OwotCQk4QUY0RTU1NjExREM1QTM2MDAwRUQzREUgLyogTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1NTMxMURDNUEzNjAwMEVE
M0RFIC8qIE5hdmlnYXRpb24uaCAqLzsgfTsKLQkJOEFGNEU1NUIxMURDNUE2MzAwMEVEM0RFIC8q
IFRpbWluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogVGltaW5nLmNwcCAqLzsgfTsKLQkJOEFGNEU1
NUMxMURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOEFGNEU1NTkxMURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5o
ICovOyB9OworCQk4QUY0RTU1NTExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhB
RjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwICovOyB9
OworCQk4QUY0RTU1NjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QUY0RTU1MzEx
REM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi87IH07CisJCThBRjRF
NTVCMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QUY0RTU1ODExREM1QTYzMDAwRUQz
REUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovOyB9OworCQk4QUY0RTU1QzExREM1QTYzMDAw
RUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5j
ZVRpbWluZy5oICovOyB9OwogCQk4QzZFQTYxOTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4QzZFQTYxNzExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5jcHAgKi87IH07CiAJCThDNkVBNjFBMTFFRjdFMDQwMEZEOEVFMyAvKiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4QzZFQTYxODExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oICov
OyB9OwogCQk4RkFDNzc0RDExOTg3MkNCMDAxNUFFOTQgLyogSlNNYWluVGhyZWFkRXhlY1N0YXRl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhGOTM0
RDg0MTE4OUYxRUUwMDUwOEQ1RCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwICovOyB9OwpA
QCAtODc1NiwxOSArODc1NiwxOSBAQAogCQk4QTg0NEQwMTExRDNDMThFMDAxNDA2NUMgLyogUGVy
Zm9ybWFuY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9y
bWFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTg0NEQwMjExRDNDMThF
MDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGVyZm9ybWFuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEE4NDREMDMx
MUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBQZXJmb3JtYW5jZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBOUE1ODZF
MTFFODRDMzUwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJOEE5QTU4NkYxMUU4NEMzNjAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OEE5QTU4NkYxMUU4NEMzNjAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBOUE1ODcyMTFFODRDODEwMDhBQ0ZEMSAv
KiBKU1BlcmZvcm1hbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUGVyZm9ybWFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTlBNTg3
MzExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1BlcmZvcm1hbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCThBOUE1ODc2MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1RpbWluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCThBOUE1ODc3MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1RpbWluZy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1RpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4QTlBNTg3NjExRTg0Qzk4MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZVRp
bWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BlcmZvcm1h
bmNlVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEE5QTU4NzcxMUU4
NEM5ODAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4QUI0QkM3NjEyNkZEQjcxMDBERUI3MjcgLyogSWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50SW5jcmVtZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIE5hdmlnYXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBO
YXZpZ2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOEFGNEU1NTQxMURDNUEzNjAwMEVEM0RF
IC8qIE5hdmlnYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRpb24uaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUg
LyogVGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRpbWlu
Zy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBRjRFNTU5MTFEQzVBNjMwMDBF
RDNERSAvKiBUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGltaW5n
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThBRjRFNTVBMTFEQzVBNjMwMDBFRDNE
RSAvKiBUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFRpbWluZy5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOEFGNEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEFGNEU1NTQxMURDNUEzNjAwMEVEM0RFIC8q
IFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEFGNEU1
NTgxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlVGltaW5nLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEFGNEU1NTkxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1h
bmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNl
VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBRjRFNTVBMTFEQzVBNjMw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVyZm9ybWFuY2VUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QzZF
QTYxNzExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cDsgcGF0aCA9IGdlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCThDNkVBNjE4MTFFRjdFMDQwMEZEOEVFMyAvKiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaDsgcGF0aCA9IGdlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4RjkzNEQ4MzExODlGMUVFMDA1MDhENUQg
LyogSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTMyOTMsOSArMTMyOTMsNiBAQAogCQkJCTlGRkUzRTdDMTFCNTlDNkUwMDM3ODc0RSAvKiBN
ZW1vcnlJbmZvLmlkbCAqLywKIAkJCQk5M0VCMzU1RTA5RTM3RkQ2MDBGNDM3OTkgLyogTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAgKi8sCiAJCQkJOTM1QzQ3NjIwOUFDNENFNjAwQTZB
QUI0IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCAqLywKLQkJCQk4QUY0RTU1MjEx
REM1QTM2MDAwRUQzREUgLyogTmF2aWdhdGlvbi5jcHAgKi8sCi0JCQkJOEFGNEU1NTMxMURDNUEz
NjAwMEVEM0RFIC8qIE5hdmlnYXRpb24uaCAqLywKLQkJCQk4QUY0RTU1NDExREM1QTM2MDAwRUQz
REUgLyogTmF2aWdhdGlvbi5pZGwgKi8sCiAJCQkJQTlDNkU1QTMwRDc0NjQ1ODAwNjQ0MkU5IC8q
IE5hdmlnYXRvci5jcHAgKi8sCiAJCQkJQTlDNkU1QTQwRDc0NjQ1ODAwNjQ0MkU5IC8qIE5hdmln
YXRvci5oICovLAogCQkJCUE5QzZFNjVEMEQ3NDY2OTQwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuaWRs
ICovLApAQCAtMTMzMTIsNiArMTMzMDksMTIgQEAKIAkJCQk4QTg0NEQwMTExRDNDMThFMDAxNDA2
NUMgLyogUGVyZm9ybWFuY2UuY3BwICovLAogCQkJCThBODQ0RDAyMTFEM0MxOEUwMDE0MDY1QyAv
KiBQZXJmb3JtYW5jZS5oICovLAogCQkJCThBODQ0RDAzMTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJm
b3JtYW5jZS5pZGwgKi8sCisJCQkJOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5jcHAgKi8sCisJCQkJOEFGNEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIFBl
cmZvcm1hbmNlTmF2aWdhdGlvbi5oICovLAorCQkJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAv
KiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsICovLAorCQkJCThBRjRFNTU4MTFEQzVBNjMwMDBF
RDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5jcHAgKi8sCisJCQkJOEFGNEU1NTkxMURDNUE2MzAw
MEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmggKi8sCisJCQkJOEFGNEU1NUExMURDNUE2MzAw
MEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmlkbCAqLywKIAkJCQk3NjkzQkFDRjEwNkMyRENB
MDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAqLywKIAkJCQk3NjkzQkFEMDEwNkMyRENBMDA3
QjA4MjMgLyogUGx1Z2luSGFsdGVyLmggKi8sCiAJCQkJNzY5M0JBRDExMDZDMkRDQTAwN0IwODIz
IC8qIFBsdWdpbkhhbHRlckNsaWVudC5oICovLApAQCAtMTMzNDAsOSArMTMzNDMsNiBAQAogCQkJ
CTc1ODk3OEVCMTI3MDkwRDYwMDc2RDVBOSAvKiBTcGVlY2hJbnB1dFJlc3VsdC5oICovLAogCQkJ
CTYyQzEyMTdBMTFBQjlFNzYwMDNDNDYyQyAvKiBTdXNwZW5kYWJsZVRpbWVyLmNwcCAqLywKIAkJ
CQk2MkMxMjE3QjExQUI5RTc3MDAzQzQ2MkMgLyogU3VzcGVuZGFibGVUaW1lci5oICovLAotCQkJ
CThBRjRFNTU4MTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuY3BwICovLAotCQkJCThBRjRFNTU5
MTFEQzVBNjMwMDBFRDNERSAvKiBUaW1pbmcuaCAqLywKLQkJCQk4QUY0RTU1QTExREM1QTYzMDAw
RUQzREUgLyogVGltaW5nLmlkbCAqLywKIAkJCQkwMDNGMUZFOTExRTZBQjQzMDA4MjU4RDkgLyog
VXNlckNvbnRlbnRUeXBlcy5oICovLAogCQkJCUJDQUNGM0JBMTA3MjkyMUEwMEMwQzhBMyAvKiBV
c2VyQ29udGVudFVSTFBhdHRlcm4uY3BwICovLAogCQkJCUJDQUNGM0JCMTA3MjkyMUEwMEMwQzhB
MyAvKiBVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLywKQEAgLTE3MjU0LDE2ICsxNzI1NCwxNiBA
QAogCQkJCUJDRTFDNDNBMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggKi8sCiAJCQkJ
OUZGRTNFQTMxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5jcHAgKi8sCiAJCQkJOUZG
RTNFQTQxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5oICovLAotCQkJCThBOUE1ODZF
MTFFODRDMzUwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uY3BwICovLAotCQkJCThBOUE1ODZGMTFF
ODRDMzYwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uaCAqLywKIAkJCQlBOUQyNDdGNTBENzU3RTMz
MDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuY3BwICovLAogCQkJCUE5RDI0N0Y2MEQ3NTdFMzMwMEZE
Rjk1OSAvKiBKU05hdmlnYXRvci5oICovLAogCQkJCThBOUE1ODcyMTFFODRDODEwMDhBQ0ZEMSAv
KiBKU1BlcmZvcm1hbmNlLmNwcCAqLywKIAkJCQk4QTlBNTg3MzExRTg0QzgxMDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZS5oICovLAorCQkJCThBOUE1ODZFMTFFODRDMzUwMDhBQ0ZEMSAvKiBKU1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgKi8sCisJCQkJOEE5QTU4NkYxMUU4NEMzNjAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8sCisJCQkJOEE5QTU4NzYxMUU4NEM5ODAw
OEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovLAorCQkJCThBOUE1ODc3MTFFODRD
OTgwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmggKi8sCiAJCQkJQkNFQzAxQzAwQzI3
NERERDAwOUY0RUM5IC8qIEpTU2NyZWVuLmNwcCAqLywKIAkJCQlCQ0VDMDFDMTBDMjc0REREMDA5
RjRFQzkgLyogSlNTY3JlZW4uaCAqLywKLQkJCQk4QTlBNTg3NjExRTg0Qzk4MDA4QUNGRDEgLyog
SlNUaW1pbmcuY3BwICovLAotCQkJCThBOUE1ODc3MTFFODRDOTgwMDhBQ0ZEMSAvKiBKU1RpbWlu
Zy5oICovLAogCQkJCTQ5NEJENzlCMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktpdFBvaW50LmNw
cCAqLywKIAkJCQk0OTRCRDc5QzBGNTVDOTRDMDA3NDc4MjggLyogSlNXZWJLaXRQb2ludC5oICov
LAogCQkJKTsKQEAgLTIwMTgxLDcgKzIwMTgxLDYgQEAKIAkJCQlBODY2MjlEMTA5REEyQjQ4MDA5
NjMzQTUgLyogSlNNb3VzZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURGMzFGQzA5RDFD
QzYwMDAwQkUzMjUgLyogSlNNdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Q5
QzJDMTBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLAot
CQkJCThBOUE1ODcxMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU05hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE5RDI0N0Y4MEQ3NTdFMzQwMEZERjk1OSAvKiBKU05hdmlnYXRvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkM5NDM5QzMxMTZDRjQ5NDAwNDhDNzUwIC8qIEpTTm9kZUN1c3RvbS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMTQxMTVCNzMwOUY4NENENjAwQ0E0RkMxIC8qIEpTTm9kZUZp
bHRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMDE5NSw2ICsyMDE5NCw4IEBACiAJCQkJMUEwRDU3
NDEwQTVDNzg2NzAwN0VERDRDIC8qIEpTT3ZlcmZsb3dFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTEyODRCQjExMDQ0OUZGQTAwRUFFQjUyIC8qIEpTUGFnZVRyYW5zaXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOEE5QTU4NzUxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFu
Y2UuaCBpbiBIZWFkZXJzICovLAorCQkJCThBOUE1ODcxMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOEE5QTU4ODgxMUU4NEYz
NzAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
QjcwRDZDMDlFQjBDN0MwMDlEODQ2OCAvKiBKU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODlGMDFFMTBCMzdCRDkwMEYzQzczOSAvKiBKU1BvcFN0YXRlRXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFODBEQTcyMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bv
c2l0aW9uRXJyb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjAzNjcsNyArMjAzNjgsNiBAQAogCQkJ
CTkzM0ExNEI5MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNFRjQ1RjYwRTY4N0I1QzAwMUMxMjg3IC8qIEpTVGV4dE1ldHJpY3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUU0NDYxNDFCMENENjgyNjkwMEZBREE3NSAvKiBKU1RpbWVSYW5nZXMuaCBp
biBIZWFkZXJzICovLAotCQkJCThBOUE1ODg4MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1RpbWluZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUE3NTBENUQwQTkwREVFMTAwMEZGMjE1IC8qIEpTVHJlZVdh
bGtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5Q0YwOURBMkI0NzAwOTYzM0E1IC8qIEpT
VUlFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFRUNGMEQxMDUwNzBDNDAwMDk5RkFCIC8q
IEpTVWludDE2QXJyYXkuaCBpbiBIZWFkZXJzICovLApAQCAtMjA0ODcsNyArMjA0ODcsNiBAQAog
CQkJCUE4MTg3MjIzMDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MTg3MjFFMDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lTm9kZUxpc3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxMEI5QjZDMEI3NDc1OTkwMDNFRDg5MCAvKiBOYXRpdmVYUGF0aE5T
UmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCThBRjRFNTU2MTFEQzVBMzYwMDBFRDNERSAv
KiBOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0NDRjAyNzBBRjZDNTI5MDAwMThF
ODkgLyogTmF2aWdhdGlvbkFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc5RjQzRDQxMDc1
RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE5QzZFNUE2MEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuaCBpbiBIZWFkZXJzICovLApA
QCAtMjA1NTYsNiArMjA1NTUsOCBAQAogCQkJCUIyNzUzNTgyMEIwNTM4MTQwMDJDRTY0RiAvKiBQ
ZW4uaCBpbiBIZWFkZXJzICovLAogCQkJCThBN0NDOTZCMTIwNzZENzMwMDFENDU4OCAvKiBQZW5k
aW5nU2NyaXB0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTg0NEQwNTExRDNDMThFMDAxNDA2NUMg
LyogUGVyZm9ybWFuY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCThBRjRFNTU2MTFEQzVBMzYwMDBF
RDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCThBRjRF
NTVDMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3Bl
cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMEZGMkE1RTExRjhDNDVBMDA3RTc0RTAgLyog
UGluZ0xvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc3QzRDREYxMDE0RTlGNjAwQjlBRTQy
IC8qIFBsYWNlaG9sZGVyRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjExNzgsNyArMjEx
NzksNiBAQAogCQkJCTc1NTNDRkU4MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZh
Y3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMDVCMjREMDk4RjFCNkIwMEMyODg1NSAvKiBU
aW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjEzQjAwQ0Q2MzMxMDAwRkFEQTc1IC8qIFRp
bWVSYW5nZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCThBRjRFNTVDMTFEQzVBNjMwMDBFRDNERSAv
KiBUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMkFFMEVGQUM5MDYwMDlEMENBRiAv
KiBUaW1pbmdGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQzQwRUY4NkQ0NzAw
OUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5
MTFDRTBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAq
LywKQEAgLTIyODYyLDcgKzIyODYyLDYgQEAKIAkJCQk2NURGMzFGQjA5RDFDQzYwMDAwQkUzMjUg
LyogSlNNdXRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDlDMkMwMEMxN0I2
OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5
QzI2MzBDMTdBQTY3MDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJOEE5QTU4NzAxMUU4NEMzNjAwOEFDRkQxIC8qIEpTTmF2aWdhdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBOUQyNDdGNzBENzU3RTM0MDBGREY5NTkgLyogSlNOYXZpZ2F0
b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTlDNkU2NDkwRDc0NjVEODAwNjQ0MkU5IC8qIEpT
TmF2aWdhdG9yQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0REMwRDM3MDlGRUQwNzMw
MDdCMDIzNSAvKiBKU05vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMjg4MSw2ICsyMjg4MCw4
IEBACiAJCQkJMUEwRDU3NDAwQTVDNzg2NzAwN0VERDRDIC8qIEpTT3ZlcmZsb3dFdmVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFMTI4NEJCMjEwNDQ5RkZBMDBFQUVCNTIgLyogSlNQYWdlVHJh
bnNpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThBOUE1ODc0MTFFODRDODEwMDhB
Q0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThBOUE1ODcwMTFF
ODRDMzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk4QTlBNTg4NzExRTg0RjM3MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0I3MEQ2QjA5RUIwQzdDMDA5RDg0NjggLyogSlNQbHVn
aW5FbGVtZW50RnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODlGMDFEMTBCMzdC
RDkwMEYzQzczOSAvKiBKU1BvcFN0YXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4
OUYwMTgxMEIzNzgxMzAwRjNDNzM5IC8qIEpTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTIzMDY1LDcgKzIzMDY2LDYgQEAKIAkJCQk5MzNBMTRCODBCN0QxRDUyMDBB
NTNGRkQgLyogSlNUZXh0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRjQ1RjUwRTY4
N0I1QzAwMUMxMjg3IC8qIEpTVGV4dE1ldHJpY3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0
NjE0MUEwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTVGltZVJhbmdlcy5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQk4QTlBNTg4NzExRTg0RjM3MDA4QUNGRDEgLyogSlNUaW1pbmcuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUE3NTBENUMwQTkwREVFMTAwMEZGMjE1IC8qIEpTVHJlZVdhbGtlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MTZCQjc5NDBDRTkxRTY4MDA1MTJGNzkgLyogSlNUcmVlV2Fsa2Vy
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NjYyOUQwMDlEQTJCNDgwMDk2MzNBNSAv
KiBKU1VJRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMzE5NCw3ICsyMzE5NCw2IEBACiAJ
CQkJQkNGMzRBMzcxMUEyMzFDRDAwQzcxODA0IC8qIE5hbWVkTm9kZU1hcC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBODE4NzIyNDA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUUxMEI5QjZEMEI3NDc1OTkwMDNFRDg5MCAvKiBOYXRpdmVYUGF0
aE5TUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOEFGNEU1NTUxMURDNUEzNjAwMEVE
M0RFIC8qIE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNDQ0YwNjAwQUY2Q0E3
NjAwMDE4RTg5IC8qIE5hdmlnYXRpb25BY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTc5
RjQzRDMxMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVsZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTlDNkU1QTUwRDc0NjQ1ODAwNjQ0MkU5IC8qIE5hdmlnYXRvci5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTIzMjQ1LDYgKzIzMjQ0LDggQEAKIAkJCQlCMjc1MzU4MTBCMDUzODE0
MDAyQ0U2NEYgLyogUGVuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThBN0NDOTcwMTIwNzZGOEEw
MDFENDU4OCAvKiBQZW5kaW5nU2NyaXB0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThBODQ0RDA0
MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4
QUY0RTU1NTExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCThBRjRFNTVCMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRp
bWluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUQ1REMyRDBGNDIzQTczMDA4RjIwRkQgLyog
UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDBG
RjJBNUQxMUY4QzQ1QTAwN0U3NEUwIC8qIFBpbmdMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMzc3QzRDRTAxMDE0RTlGNjAwQjlBRTQyIC8qIFBsYWNlaG9sZGVyRG9jdW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yMzc3Niw3ICsyMzc3Nyw2IEBACiAJCQkJNzU1M0NGRTkxMDhGNDcz
RjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5MzMwOUVBNDA5OUVCNzhDMDA1NkU1ODEgLyogVGltZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTQ0NjEzQUYwQ0Q2MzMxMDAwRkFEQTc1IC8qIFRpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJOEFGNEU1NUIxMURDNUE2MzAwMEVEM0RFIC8qIFRpbWluZy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0OUU5MTFDMzBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRy
aXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjI3NTM1NTgwQjA1MzgxNDAwMkNFNjRGIC8qIFRy
YW5zZm9ybWF0aW9uTWF0cml4Q0cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlFOTExQ0YwRUY4
NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5jcHAgYi9XZWJDb3JlL3BhZ2UvTmF2
aWdhdGlvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkOTNiNDcuLjAwMDAw
MDAKLS0tIGEvV2ViQ29yZS9wYWdlL05hdmlnYXRpb24uY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
OTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0
OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJOYXZpZ2F0aW9uLmgiCi0K
LSNpZiBFTkFCTEUoV0VCX1RJTUlORykKLQotI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCi0j
aW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotTmF2aWdhdGlvbjo6TmF2aWdhdGlvbihGcmFtZSogZnJhbWUpCi0g
ICAgOiBtX2ZyYW1lKGZyYW1lKQotewotfQotCi1GcmFtZSogTmF2aWdhdGlvbjo6ZnJhbWUoKSBj
b25zdAotewotICAgIHJldHVybiBtX2ZyYW1lOwotfQotCi12b2lkIE5hdmlnYXRpb246OmRpc2Nv
bm5lY3RGcmFtZSgpCi17Ci0gICAgbV9mcmFtZSA9IDA7Ci19Ci0KLXVuc2lnbmVkIHNob3J0IE5h
dmlnYXRpb246OnR5cGUoKSBjb25zdAotewotICAgIGlmICghbV9mcmFtZSkKLSAgICAgICAgcmV0
dXJuIE5BVklHQVRFOwotCi0gICAgRG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyID0gbV9m
cmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFkb2N1bWVudExvYWRl
cikKLSAgICAgICAgcmV0dXJuIE5BVklHQVRFOwotCi0gICAgV2ViQ29yZTo6TmF2aWdhdGlvblR5
cGUgbmF2aWdhdGlvblR5cGUgPSBkb2N1bWVudExvYWRlci0+dHJpZ2dlcmluZ0FjdGlvbigpLnR5
cGUoKTsKLSAgICBzd2l0Y2ggKG5hdmlnYXRpb25UeXBlKSB7Ci0gICAgY2FzZSBOYXZpZ2F0aW9u
VHlwZVJlbG9hZDoKLSAgICAgICAgcmV0dXJuIFJFTE9BRDsKLSAgICBjYXNlIE5hdmlnYXRpb25U
eXBlQmFja0ZvcndhcmQ6Ci0gICAgICAgIHJldHVybiBCQUNLX0ZPUldBUkQ7Ci0gICAgZGVmYXVs
dDoKLSAgICAgICAgcmV0dXJuIE5BVklHQVRFOwotICAgIH0KLX0KLQotdW5zaWduZWQgc2hvcnQg
TmF2aWdhdGlvbjo6cmVkaXJlY3RDb3VudCgpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2ZyYW1lKQot
ICAgICAgICByZXR1cm4gMDsKLQotICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBtX2ZyYW1l
LT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAgICAg
cmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gbG9hZGVyLT50aW1pbmcoKS0+cmVkaXJlY3RDb3VudDsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1J
TkcpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5oIGIvV2ViQ29yZS9wYWdl
L05hdmlnYXRpb24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE2OGZmMy4uMDAw
MDAwMAotLS0gYS9XZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5oCisrKyAvZGV2L251bGwKQEAgLTEs
NjggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0
OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpZm5kZWYgTmF2aWdhdGlvbl9oCi0jZGVmaW5lIE5hdmlnYXRpb25faAotCi0j
aWYgRU5BQkxFKFdFQl9USU1JTkcpCi0KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3Mg
RnJhbWU7Ci0KLWNsYXNzIE5hdmlnYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0aW9u
PiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TmF2aWdhdGlvbj4gY3JlYXRlKEZy
YW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IE5hdmlnYXRpb24oZnJhbWUpKTsgfQot
Ci0gICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7Ci0gICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsK
LQotICAgIGVudW0gTmF2aWdhdGlvblR5cGUgewotICAgICAgICBOQVZJR0FURSwKLSAgICAgICAg
UkVMT0FELAotICAgICAgICBCQUNLX0ZPUldBUkQKLSAgICB9OwotCi0gICAgdW5zaWduZWQgc2hv
cnQgdHlwZSgpIGNvbnN0OwotICAgIHVuc2lnbmVkIHNob3J0IHJlZGlyZWN0Q291bnQoKSBjb25z
dDsKLQotcHJpdmF0ZToKLSAgICBOYXZpZ2F0aW9uKEZyYW1lKik7Ci0KLSAgICBGcmFtZSogbV9m
cmFtZTsKLX07Ci0KLX0KLQotI2VuZGlmIC8vICFFTkFCTEUoV0VCX1RJTUlORykKLSNlbmRpZiAv
LyAhZGVmaW5lZChOYXZpZ2F0aW9uX2gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dGlvbi5pZGwgYi9XZWJDb3JlL3BhZ2UvTmF2aWdhdGlvbi5pZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGIwMjI3ZjMuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9wYWdlL05hdmlnYXRp
b24uaWRsCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0g
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAot
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLW1vZHVsZSB3aW5kb3cgewotCi0g
ICAgLy8gU2VlOiBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvCi0gICAg
aW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJfVElNSU5HLCBPbWl0Q29uc3RydWN0b3JdIE5hdmln
YXRpb24gewotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOQVZJR0FURSA9IDA7Ci0gICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFJFTE9BRCA9IDE7Ci0gICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IEJBQ0tfRk9SV0FSRCA9IDI7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBzaG9ydCB0eXBlOwotCi0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBzaG9ydCByZWRpcmVjdENvdW50OwotICAgIH07Ci0KLX0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5jcHAgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4
IGM0MjM0YTcuLjRlMTMwZWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5j
cHAKKysrIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtMzIsOCArMzIsOCBAQAog
I2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAKICNpbmNsdWRlICJNZW1vcnlJbmZvLmgiCi0jaW5j
bHVkZSAiTmF2aWdhdGlvbi5oIgotI2luY2x1ZGUgIlRpbWluZy5oIgorI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAKICNp
ZiBFTkFCTEUoV0VCX1RJTUlORykKIApAQCAtNzIsMTggKzcyLDE4IEBAIE1lbW9yeUluZm8qIFBl
cmZvcm1hbmNlOjptZW1vcnkoKSBjb25zdAogICAgIHJldHVybiBtX21lbW9yeS5nZXQoKTsKIH0K
IAotTmF2aWdhdGlvbiogUGVyZm9ybWFuY2U6Om5hdmlnYXRpb24oKSBjb25zdAorUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uKiBQZXJmb3JtYW5jZTo6bmF2aWdhdGlvbigpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX25hdmlnYXRpb24pCi0gICAgICAgIG1fbmF2aWdhdGlvbiA9IE5hdmlnYXRpb246OmNyZWF0
ZShtX2ZyYW1lKTsKKyAgICAgICAgbV9uYXZpZ2F0aW9uID0gUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
OjpjcmVhdGUobV9mcmFtZSk7CiAKICAgICByZXR1cm4gbV9uYXZpZ2F0aW9uLmdldCgpOwogfQog
Ci1UaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKSBjb25zdAorUGVyZm9ybWFuY2VUaW1pbmcq
IFBlcmZvcm1hbmNlOjp0aW1pbmcoKSBjb25zdAogewogICAgIGlmICghbV90aW1pbmcpCi0gICAg
ICAgIG1fdGltaW5nID0gVGltaW5nOjpjcmVhdGUobV9mcmFtZSk7CisgICAgICAgIG1fdGltaW5n
ID0gUGVyZm9ybWFuY2VUaW1pbmc6OmNyZWF0ZShtX2ZyYW1lKTsKIAogICAgIHJldHVybiBtX3Rp
bWluZy5nZXQoKTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIGIv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggOTczNmZlNy4uYmU5ZTEyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmgKQEAgLTM0LDggKzM0LDggQEAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKIAogI2lu
Y2x1ZGUgIk1lbW9yeUluZm8uaCIKLSNpbmNsdWRlICJOYXZpZ2F0aW9uLmgiCi0jaW5jbHVkZSAi
VGltaW5nLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgiCisjaW5jbHVkZSAi
UGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTAsMTUg
KzUwLDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOwogCiAgICAgTWVt
b3J5SW5mbyogbWVtb3J5KCkgY29uc3Q7Ci0gICAgTmF2aWdhdGlvbiogbmF2aWdhdGlvbigpIGNv
bnN0OwotICAgIFRpbWluZyogdGltaW5nKCkgY29uc3Q7CisgICAgUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uKiBuYXZpZ2F0aW9uKCkgY29uc3Q7CisgICAgUGVyZm9ybWFuY2VUaW1pbmcqIHRpbWluZygp
IGNvbnN0OwogCiBwcml2YXRlOgogICAgIFBlcmZvcm1hbmNlKEZyYW1lKik7CiAKICAgICBtdXRh
YmxlIFJlZlB0cjxNZW1vcnlJbmZvPiBtX21lbW9yeTsKLSAgICBtdXRhYmxlIFJlZlB0cjxOYXZp
Z2F0aW9uPiBtX25hdmlnYXRpb247Ci0gICAgbXV0YWJsZSBSZWZQdHI8VGltaW5nPiBtX3RpbWlu
ZzsKKyAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IG1fbmF2aWdhdGlv
bjsKKyAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWluZz4gbV90aW1pbmc7CiAgICAg
RnJhbWUqIG1fZnJhbWU7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaWRsIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAppbmRleCBmZmU4YjZmLi5jNzJm
NGJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCisrKyBiL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKQEAgLTMyLDggKzMyLDggQEAgbW9kdWxlIHdpbmRvdyB7
CiAKICAgICAvLyBTZWU6IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8K
ICAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVdFQl9USU1JTkcsIE9taXRDb25zdHJ1Y3Rvcl0g
UGVyZm9ybWFuY2UgewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTmF2aWdhdGlvbiBuYXZp
Z2F0aW9uOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVGltaW5nIHRpbWluZzsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiBuYXZpZ2F0aW9uOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVyZm9ybWFuY2VUaW1pbmcgdGltaW5nOwogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVtb3J5SW5mbyBtZW1vcnk7CiAgICAgfTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgYi9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5kNTcwNTYxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKKworI2lmIEVOQUJMRShXRUJfVElN
SU5HKQorCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgor
I2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQ
ZXJmb3JtYW5jZU5hdmlnYXRpb246OlBlcmZvcm1hbmNlTmF2aWdhdGlvbihGcmFtZSogZnJhbWUp
CisgICAgOiBtX2ZyYW1lKGZyYW1lKQoreworfQorCitGcmFtZSogUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uOjpmcmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJhbWU7Cit9CisKK3ZvaWQgUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uOjpkaXNjb25uZWN0RnJhbWUoKQoreworICAgIG1fZnJhbWUgPSAw
OworfQorCit1bnNpZ25lZCBzaG9ydCBQZXJmb3JtYW5jZU5hdmlnYXRpb246OnR5cGUoKSBjb25z
dAoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuIE5BVklHQVRFOworCisgICAg
RG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyID0gbV9mcmFtZS0+bG9hZGVyKCktPmRvY3Vt
ZW50TG9hZGVyKCk7CisgICAgaWYgKCFkb2N1bWVudExvYWRlcikKKyAgICAgICAgcmV0dXJuIE5B
VklHQVRFOworCisgICAgV2ViQ29yZTo6TmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUgPSBk
b2N1bWVudExvYWRlci0+dHJpZ2dlcmluZ0FjdGlvbigpLnR5cGUoKTsKKyAgICBzd2l0Y2ggKG5h
dmlnYXRpb25UeXBlKSB7CisgICAgY2FzZSBOYXZpZ2F0aW9uVHlwZVJlbG9hZDoKKyAgICAgICAg
cmV0dXJuIFJFTE9BRDsKKyAgICBjYXNlIE5hdmlnYXRpb25UeXBlQmFja0ZvcndhcmQ6CisgICAg
ICAgIHJldHVybiBCQUNLX0ZPUldBUkQ7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIE5B
VklHQVRFOworICAgIH0KK30KKwordW5zaWduZWQgc2hvcnQgUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
OjpyZWRpcmVjdENvdW50KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJl
dHVybiAwOworCisgICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IG1fZnJhbWUtPmxvYWRlcigp
LT5kb2N1bWVudExvYWRlcigpOworICAgIGlmICghbG9hZGVyKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIHJldHVybiBsb2FkZXItPnRpbWluZygpLT5yZWRpcmVjdENvdW50OworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBiL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4yYmE5YjljCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBlcmZvcm1hbmNlTmF2aWdhdGlv
bl9oCisjZGVmaW5lIFBlcmZvcm1hbmNlTmF2aWdhdGlvbl9oCisKKyNpZiBFTkFCTEUoV0VCX1RJ
TUlORykKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGcmFtZTsKKworY2xhc3Mg
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2VOYXZp
Z2F0aW9uPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VOYXZp
Z2F0aW9uPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uKGZyYW1lKSk7IH0KKworICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0Owor
ICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CisKKyAgICBlbnVtIFBlcmZvcm1hbmNlTmF2aWdh
dGlvblR5cGUgeworICAgICAgICBOQVZJR0FURSwKKyAgICAgICAgUkVMT0FELAorICAgICAgICBC
QUNLX0ZPUldBUkQKKyAgICB9OworCisgICAgdW5zaWduZWQgc2hvcnQgdHlwZSgpIGNvbnN0Owor
ICAgIHVuc2lnbmVkIHNob3J0IHJlZGlyZWN0Q291bnQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAg
ICBQZXJmb3JtYW5jZU5hdmlnYXRpb24oRnJhbWUqKTsKKworICAgIEZyYW1lKiBtX2ZyYW1lOwor
fTsKKworfQorCisjZW5kaWYgLy8gIUVOQUJMRShXRUJfVElNSU5HKQorI2VuZGlmIC8vICFkZWZp
bmVkKFBlcmZvcm1hbmNlTmF2aWdhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzA2MDUwCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKQEAg
LTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgLy8gU2VlOiBodHRwOi8vZGV2Lncz
Lm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1X
RUJfVElNSU5HLCBPbWl0Q29uc3RydWN0b3JdIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiB7CisgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5BVklHQVRFID0gMDsKKyAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgUkVMT0FEID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQkFD
S19GT1JXQVJEID0gMjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IHR5cGU7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHJlZGly
ZWN0Q291bnQ7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVGltaW5nLmNwcCBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZjMTZkYQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKQEAgLTAsMCArMSwzNjYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKKworI2lmIEVO
QUJMRShXRUJfVElNSU5HKQorCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkVGltaW5nLmgiCisjaW5j
bHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJEb2N1bWVudFRpbWluZy5oIgorI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkVGltaW5nLmgiCisjaW5jbHVk
ZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyB1
bnNpZ25lZCBsb25nIGxvbmcgdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKGRvdWJsZSBzZWNvbmRzKQor
eworICAgIEFTU0VSVChzZWNvbmRzID49IDApOworICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNp
Z25lZCBsb25nIGxvbmc+KHNlY29uZHMgKiAxMDAwLjApOworfQorCitzdGF0aWMgZG91YmxlIGdl
dFBvc3NpYmx5U2tld2VkVGltZUluS25vd25SYW5nZShkb3VibGUgc2tld2VkVGltZSwgZG91Ymxl
IGxvd2VyQm91bmQsIGRvdWJsZSB1cHBlckJvdW5kKQoreworI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQorICAgIC8vIFRoZSBjaHJvbWl1bSBwb3J0J3MgY3VycmVudFRpbWUoKSBpbXBsZW1lbnRhdGlv
biBvbmx5IHN5bmNzIHdpdGggdGhlCisgICAgLy8gc3lzdGVtIGNsb2NrIGV2ZXJ5IDYwIHNlY29u
ZHMuIFNvIGl0IGlzIHBvc3NpYmxlIGZvciB0aW1pbmcgbWFya3MKKyAgICAvLyBjb2xsZWN0ZWQg
aW4gZGlmZmVyZW50IHRocmVhZHMgb3IgcHJvY2Vzc2VzIHRvIGhhdmUgYSBzbWFsbCBza2V3Lgor
ICAgIC8vIEZJWE1FOiBJdCBtYXkgYmUgcG9zc2libGUgdG8gYWRkIGEgY3VycmVudFRpbWVGcm9t
U3lzdGVtVGltZSgpIG1ldGhvZAorICAgIC8vIHRoYXQgZWxpbWluYXRlcyB0aGUgc2tldy4KKyAg
ICBpZiAoc2tld2VkVGltZSA8PSBsb3dlckJvdW5kKQorICAgICAgICByZXR1cm4gbG93ZXJCb3Vu
ZDsKKworICAgIGlmIChza2V3ZWRUaW1lID49IHVwcGVyQm91bmQpCisgICAgICAgIHJldHVybiB1
cHBlckJvdW5kOworI2Vsc2UKKyAgICBBU1NFUlRfVU5VU0VEKGxvd2VyQm91bmQsIHNrZXdlZFRp
bWUgPj0gbG93ZXJCb3VuZCk7CisgICAgQVNTRVJUX1VOVVNFRCh1cHBlckJvdW5kLCBza2V3ZWRU
aW1lIDw9IHVwcGVyQm91bmQpOworI2VuZGlmCisKKyAgICByZXR1cm4gc2tld2VkVGltZTsKK30K
KworUGVyZm9ybWFuY2VUaW1pbmc6OlBlcmZvcm1hbmNlVGltaW5nKEZyYW1lKiBmcmFtZSkKKyAg
ICA6IG1fZnJhbWUoZnJhbWUpCit7Cit9CisKK0ZyYW1lKiBQZXJmb3JtYW5jZVRpbWluZzo6ZnJh
bWUoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZyYW1lOworfQorCit2b2lkIFBlcmZvcm1hbmNl
VGltaW5nOjpkaXNjb25uZWN0RnJhbWUoKQoreworICAgIG1fZnJhbWUgPSAwOworfQorCit1bnNp
Z25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6Om5hdmlnYXRpb25TdGFydCgpIGNvbnN0
Cit7CisgICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmco
KTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9J
bnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+bmF2aWdhdGlvblN0YXJ0KTsKK30KKwordW5zaWdu
ZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1bmxvYWRFdmVudEVuZCgpIGNvbnN0Cit7
CisgICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsK
KyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRl
Z2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+dW5sb2FkRXZlbnRFbmQpOworfQorCit1bnNpZ25lZCBs
b25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0U3RhcnQoKSBjb25zdAoreworICAg
IERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7CisgICAg
aWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHRvSW50ZWdlck1p
bGxpc2Vjb25kcyh0aW1pbmctPnJlZGlyZWN0U3RhcnQpOworfQorCit1bnNpZ25lZCBsb25nIGxv
bmcgUGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKK3sKKyAgICBEb2N1bWVu
dExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWluZygpOworICAgIGlmICghdGlt
aW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29u
ZHModGltaW5nLT5yZWRpcmVjdEVuZCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3Jt
YW5jZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRMb2FkVGltaW5n
KiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+
ZmV0Y2hTdGFydCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6
ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAoreworICAgIFJlc291cmNlTG9hZFRpbWluZyogdGlt
aW5nID0gcmVzb3VyY2VMb2FkVGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJl
dHVybiAwOworCisgICAgLy8gVGhpcyB3aWxsIGJlIC0xIHdoZW4gYSBETlMgcmVxdWVzdCBpcyBu
b3QgcGVyZm9ybWVkLgorICAgIC8vIFJhdGhlciB0aGFuIGV4cG9zaW5nIGEgc3BlY2lhbCB2YWx1
ZSB0aGF0IGluZGljYXRlcyBubyBETlMsIHdlICJiYWNrZmlsbCIgd2l0aCBmZXRjaFN0YXJ0Lgor
ICAgIGludCBkbnNTdGFydCA9IHRpbWluZy0+ZG5zU3RhcnQ7CisgICAgaWYgKGRuc1N0YXJ0IDwg
MCkKKyAgICAgICAgcmV0dXJuIGZldGNoU3RhcnQoKTsKKworICAgIHJldHVybiByZXNvdXJjZUxv
YWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKGRuc1N0YXJ0KTsKK30KKwordW5zaWduZWQgbG9uZyBs
b25nIFBlcmZvcm1hbmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAoreworICAgIFJl
c291cmNlTG9hZFRpbWluZyogdGltaW5nID0gcmVzb3VyY2VMb2FkVGltaW5nKCk7CisgICAgaWYg
KCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgLy8gVGhpcyB3aWxsIGJlIC0xIHdo
ZW4gYSBETlMgcmVxdWVzdCBpcyBub3QgcGVyZm9ybWVkLgorICAgIC8vIFJhdGhlciB0aGFuIGV4
cG9zaW5nIGEgc3BlY2lhbCB2YWx1ZSB0aGF0IGluZGljYXRlcyBubyBETlMsIHdlICJiYWNrZmls
bCIgd2l0aCBkb21haW5Mb29rdXBTdGFydC4KKyAgICBpbnQgZG5zRW5kID0gdGltaW5nLT5kbnNF
bmQ7CisgICAgaWYgKGRuc0VuZCA8IDApCisgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBTdGFy
dCgpOworCisgICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVSZWxhdGl2ZVRvQWJzb2x1dGUoZG5z
RW5kKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpjb25uZWN0
U3RhcnQoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBkb2N1bWVudExv
YWRlcigpOworICAgIGlmICghbG9hZGVyKQorICAgICAgICByZXR1cm4gMDsKKworICAgIFJlc291
cmNlTG9hZFRpbWluZyogdGltaW5nID0gbG9hZGVyLT5yZXNwb25zZSgpLnJlc291cmNlTG9hZFRp
bWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIGNv
bm5lY3RTdGFydCB3aWxsIGJlIC0xIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUu
CisgICAgLy8gUmF0aGVyIHRoYW4gZXhwb3NpbmcgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNh
dGVzIG5vIG5ldyBjb25uZWN0aW9uLCB3ZSAiYmFja2ZpbGwiIHdpdGggZG9tYWluTG9va3VwRW5k
LgorICAgIGludCBjb25uZWN0U3RhcnQgPSB0aW1pbmctPmNvbm5lY3RTdGFydDsKKyAgICBpZiAo
Y29ubmVjdFN0YXJ0IDwgMCB8fCBsb2FkZXItPnJlc3BvbnNlKCkuY29ubmVjdGlvblJldXNlZCgp
KQorICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwRW5kKCk7CisKKyAgICAvLyBSZXNvdXJjZUxv
YWRUaW1pbmcncyBjb25uZWN0IHBoYXNlIGluY2x1ZGVzIEROUyBhbmQgU1NMLCBob3dldmVyIFdl
YiBUaW1pbmcncworICAgIC8vIGNvbm5lY3QgcGhhc2Ugc2hvdWxkIG5vdC4gU28gaWYgdGhlcmUg
aXMgRE5TIHRpbWUsIHRyaW0gaXQgZnJvbSB0aGUgc3RhcnQuCisgICAgaWYgKHRpbWluZy0+ZG5z
RW5kID49IDAgJiYgdGltaW5nLT5kbnNFbmQgPiBjb25uZWN0U3RhcnQpCisgICAgICAgIGNvbm5l
Y3RTdGFydCA9IHRpbWluZy0+ZG5zRW5kOworCisgICAgcmV0dXJuIHJlc291cmNlTG9hZFRpbWVS
ZWxhdGl2ZVRvQWJzb2x1dGUoY29ubmVjdFN0YXJ0KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25n
IFBlcmZvcm1hbmNlVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKK3sKKyAgICBEb2N1bWVudExv
YWRlciogbG9hZGVyID0gZG9jdW1lbnRMb2FkZXIoKTsKKyAgICBpZiAoIWxvYWRlcikKKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IGxvYWRlci0+
cmVzcG9uc2UoKS5yZXNvdXJjZUxvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICAvLyBjb25uZWN0RW5kIHdpbGwgYmUgLTEgd2hlbiBhIG5ldHdv
cmsgcmVxdWVzdCBpcyBub3QgbWFkZS4KKyAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBhIHNw
ZWNpYWwgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8gbmV3IGNvbm5lY3Rpb24sIHdlICJiYWNrZmls
bCIgd2l0aCBjb25uZWN0U3RhcnQuCisgICAgaW50IGNvbm5lY3RFbmQgPSB0aW1pbmctPmNvbm5l
Y3RFbmQ7CisgICAgaWYgKGNvbm5lY3RFbmQgPCAwIHx8IGxvYWRlci0+cmVzcG9uc2UoKS5jb25u
ZWN0aW9uUmV1c2VkKCkpCisgICAgICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKKworICAgIC8v
IFJlc291cmNlTG9hZFRpbWluZydzIGNvbm5lY3QgcGhhc2UgaW5jbHVkZXMgRE5TIGFuZCBTU0ws
IGhvd2V2ZXIgV2ViIFRpbWluZydzCisgICAgLy8gY29ubmVjdCBwaGFzZSBzaG91bGQgbm90LiBT
byBpZiB0aGVyZSBpcyBTU0wgdGltZSwgdHJpbSBpdCBmcm9tIHRoZSBlbmQuCisgICAgaWYgKHRp
bWluZy0+c3NsU3RhcnQgPj0gMCAmJiB0aW1pbmctPnNzbFN0YXJ0IDwgY29ubmVjdEVuZCkKKyAg
ICAgICAgY29ubmVjdEVuZCA9IHRpbWluZy0+c3NsU3RhcnQ7CisKKyAgICByZXR1cm4gcmVzb3Vy
Y2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZShjb25uZWN0RW5kKTsKK30KKwordW5zaWduZWQg
bG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25zdAoreworICAg
IFJlc291cmNlTG9hZFRpbWluZyogdGltaW5nID0gcmVzb3VyY2VMb2FkVGltaW5nKCk7CisgICAg
aWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOworCisgICAgQVNTRVJUKHRpbWluZy0+c2Vu
ZFN0YXJ0ID49IDApOworICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29s
dXRlKHRpbWluZy0+c2VuZFN0YXJ0KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1h
bmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KCkgY29uc3QKK3sKKyAgICBSZXNvdXJjZUxvYWRUaW1p
bmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIC8vIEZJWE1FOiBSZXNwb25zZSBzdGFydCBuZWVkcyB0byBi
ZSB0aGUgdGltZSBvZiB0aGUgZmlyc3QgcmVjZWl2ZWQgYnl0ZS4KKyAgICAvLyBIb3dldmVyLCB0
aGUgUmVzb3VyY2VMb2FkVGltaW5nIEFQSSBjdXJyZW50bHkgb25seSBzdXBwb3J0cyB0aGUgdGlt
ZQorICAgIC8vIHRoZSBsYXN0IGhlYWRlciBieXRlIHdhcyByZWNlaXZlZC4gRm9yIG1hbnkgcmVz
cG9uc2VzIHdpdGggcmVhc29uYWJsZQorICAgIC8vIHNpemVkIGNvb2tpZXMsIHRoZSBIVFRQIGhl
YWRlcnMgZml0IGludG8gYSBzaW5nbGUgcGFja2V0IHNvIHRoaXMgdGltZQorICAgIC8vIGlzIGJh
c2ljYWxseSBlcXVpdmFsZW50LiBCdXQgZm9yIHNvbWUgcmVzcG9uc2VzLCBwYXJ0aWN1bGFybHkg
dGhvc2Ugd2l0aAorICAgIC8vIGhlYWRlcnMgbGFyZ2VyIHRoYW4gYSBzaW5nbGUgcGFja2V0LCB0
aGlzIHRpbWUgd2lsbCBiZSB0b28gbGF0ZS4KKyAgICBBU1NFUlQodGltaW5nLT5yZWNlaXZlSGVh
ZGVyc0VuZCA+PSAwKTsKKyAgICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNv
bHV0ZSh0aW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25n
IFBlcmZvcm1hbmNlVGltaW5nOjpyZXNwb25zZUVuZCgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRM
b2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWlu
ZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRz
KHRpbWluZy0+cmVzcG9uc2VFbmQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFu
Y2VUaW1pbmc6OmRvbUxvYWRpbmcoKSBjb25zdAoreworICAgIGNvbnN0IERvY3VtZW50VGltaW5n
KiB0aW1pbmcgPSBkb2N1bWVudFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5kb21M
b2FkaW5nKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpkb21J
bnRlcmFjdGl2ZSgpIGNvbnN0Cit7CisgICAgY29uc3QgRG9jdW1lbnRUaW1pbmcqIHRpbWluZyA9
IGRvY3VtZW50VGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAwOwor
CisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmRvbUludGVyYWN0aXZl
KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpkb21Db250ZW50
TG9hZGVkU3RhcnQoKSBjb25zdAoreworICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcg
PSBkb2N1bWVudFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5kb21Db250ZW50TG9h
ZGVkU3RhcnQpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OmRv
bUNvbnRlbnRMb2FkZWRFbmQoKSBjb25zdAoreworICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0
aW1pbmcgPSBkb2N1bWVudFRpbWluZygpOworICAgIGlmICghdGltaW5nKQorICAgICAgICByZXR1
cm4gMDsKKworICAgIHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5kb21Db250
ZW50TG9hZGVkRW5kKTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5n
Ojpkb21Db21wbGV0ZSgpIGNvbnN0Cit7CisgICAgY29uc3QgRG9jdW1lbnRUaW1pbmcqIHRpbWlu
ZyA9IGRvY3VtZW50VGltaW5nKCk7CisgICAgaWYgKCF0aW1pbmcpCisgICAgICAgIHJldHVybiAw
OworCisgICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmRvbUNvbXBsZXRl
KTsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpsb2FkRXZlbnRT
dGFydCgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVu
dExvYWRUaW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+bG9hZEV2ZW50U3RhcnQpOwor
fQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OmxvYWRFdmVudEVuZCgp
IGNvbnN0Cit7CisgICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRU
aW1pbmcoKTsKKyAgICBpZiAoIXRpbWluZykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1
cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+bG9hZEV2ZW50RW5kKTsKK30KKworRG9j
dW1lbnRMb2FkZXIqIFBlcmZvcm1hbmNlVGltaW5nOjpkb2N1bWVudExvYWRlcigpIGNvbnN0Cit7
CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBtX2Zy
YW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKK30KKworY29uc3QgRG9jdW1lbnRUaW1p
bmcqIFBlcmZvcm1hbmNlVGltaW5nOjpkb2N1bWVudFRpbWluZygpIGNvbnN0Cit7CisgICAgaWYg
KCFtX2ZyYW1lKQorICAgICAgICByZXR1cm4gMDsKKworICAgIERvY3VtZW50KiBkb2N1bWVudCA9
IG1fZnJhbWUtPmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICByZXR1cm4gZG9jdW1lbnQtPnRpbWluZygpOworfQorCitEb2N1bWVudExvYWRU
aW1pbmcqIFBlcmZvcm1hbmNlVGltaW5nOjpkb2N1bWVudExvYWRUaW1pbmcoKSBjb25zdAorewor
ICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBkb2N1bWVudExvYWRlcigpOworICAgIGlmICgh
bG9hZGVyKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBsb2FkZXItPnRpbWluZygp
OworfQorCitSZXNvdXJjZUxvYWRUaW1pbmcqIFBlcmZvcm1hbmNlVGltaW5nOjpyZXNvdXJjZUxv
YWRUaW1pbmcoKSBjb25zdAoreworICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBkb2N1bWVu
dExvYWRlcigpOworICAgIGlmICghbG9hZGVyKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJl
dHVybiBsb2FkZXItPnJlc3BvbnNlKCkucmVzb3VyY2VMb2FkVGltaW5nKCk7Cit9CisKK3Vuc2ln
bmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6cmVzb3VyY2VMb2FkVGltZVJlbGF0aXZl
VG9BYnNvbHV0ZShpbnQgcmVsYXRpdmVTZWNvbmRzKSBjb25zdAoreworICAgIEFTU0VSVChyZWxh
dGl2ZVNlY29uZHMgPj0gMCk7CisgICAgUmVzb3VyY2VMb2FkVGltaW5nKiByZXNvdXJjZVRpbWlu
ZyA9IHJlc291cmNlTG9hZFRpbWluZygpOworICAgIEFTU0VSVChyZXNvdXJjZVRpbWluZyk7Cisg
ICAgRG9jdW1lbnRMb2FkVGltaW5nKiBkb2N1bWVudFRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWlu
ZygpOworICAgIEFTU0VSVChkb2N1bWVudFRpbWluZyk7CisKKyAgICAvLyBUaGUgUmVzb3VyY2VM
b2FkVGltaW5nIEFQSSdzIHJlcXVlc3RUaW1lIGlzIHRoZSBiYXNlIHRpbWUgdG8gd2hpY2ggYWxs
CisgICAgLy8gb3RoZXIgbWFya3MgYXJlIHJlbGF0aXZlLiBTbyB0byBnZXQgYW4gYWJzb2x1dGUg
dGltZSwgd2UgbXVzdCBhZGQgaXQgdG8KKyAgICAvLyB0aGUgcmVsYXRpdmUgbWFya3MuCisgICAg
Ly8KKyAgICAvLyBTaW5jZSBSZXNvdXJjZUxvYWRUaW1pbmdzIGNhbWUgZnJvbSB0aGUgbmV0d29y
ayBwbGF0Zm9ybSBsYXllciwgd2UgbXVzdAorICAgIC8vIGNoZWNrIHRoZW0gZm9yIHNrZXcgYmVj
YXVzZSB0aGV5IG1heSBiZSBmcm9tIGFub3RoZXIgdGhyZWFkL3Byb2Nlc3MuCisgICAgZG91Ymxl
IGJhc2VUaW1lID0gZ2V0UG9zc2libHlTa2V3ZWRUaW1lSW5Lbm93blJhbmdlKHJlc291cmNlVGlt
aW5nLT5yZXF1ZXN0VGltZSwgZG9jdW1lbnRUaW1pbmctPmZldGNoU3RhcnQsIGRvY3VtZW50VGlt
aW5nLT5yZXNwb25zZUVuZCAtIChyZXNvdXJjZVRpbWluZy0+cmVjZWl2ZUhlYWRlcnNFbmQgLyAx
MDAwLjApKTsKKyAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKGJhc2VUaW1lKSArIHJl
bGF0aXZlU2Vjb25kczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VU
aW1pbmcuaCBiL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxMjRlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQZXJmb3Jt
YW5jZVRpbWluZ19oCisjZGVmaW5lIFBlcmZvcm1hbmNlVGltaW5nX2gKKworI2lmIEVOQUJMRShX
RUJfVElNSU5HKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBEb2N1bWVudExv
YWRUaW1pbmc7CitjbGFzcyBEb2N1bWVudExvYWRlcjsKK3N0cnVjdCBEb2N1bWVudFRpbWluZzsK
K2NsYXNzIEZyYW1lOworY2xhc3MgUmVzb3VyY2VMb2FkVGltaW5nOworCitjbGFzcyBQZXJmb3Jt
YW5jZVRpbWluZyA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlVGltaW5nPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+IGNyZWF0ZShGcmFt
ZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVRpbWluZyhmcmFtZSkp
OyB9CisKKyAgICBGcmFtZSogZnJhbWUoKSBjb25zdDsKKyAgICB2b2lkIGRpc2Nvbm5lY3RGcmFt
ZSgpOworCisgICAgdW5zaWduZWQgbG9uZyBsb25nIG5hdmlnYXRpb25TdGFydCgpIGNvbnN0Owor
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB1bmxvYWRFdmVudEVuZCgpIGNvbnN0OworICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyByZWRpcmVjdFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBs
b25nIHJlZGlyZWN0RW5kKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGZldGNoU3Rh
cnQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgZG9tYWluTG9va3VwU3RhcnQoKSBj
b25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgZG9tYWluTG9va3VwRW5kKCkgY29uc3Q7Cisg
ICAgdW5zaWduZWQgbG9uZyBsb25nIGNvbm5lY3RTdGFydCgpIGNvbnN0OworICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyBjb25uZWN0RW5kKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHJl
cXVlc3RTdGFydCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZVN0YXJ0
KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlc3BvbnNlRW5kKCkgY29uc3Q7Cisg
ICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbUxvYWRpbmcoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBs
b25nIGxvbmcgZG9tSW50ZXJhY3RpdmUoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcg
ZG9tQ29udGVudExvYWRlZFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRv
bUNvbnRlbnRMb2FkZWRFbmQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29t
cGxldGUoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2ZW50U3RhcnQoKSBj
b25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZEV2ZW50RW5kKCkgY29uc3Q7CisKK3By
aXZhdGU6CisgICAgUGVyZm9ybWFuY2VUaW1pbmcoRnJhbWUqKTsKKworICAgIGNvbnN0IERvY3Vt
ZW50VGltaW5nKiBkb2N1bWVudFRpbWluZygpIGNvbnN0OworICAgIERvY3VtZW50TG9hZGVyKiBk
b2N1bWVudExvYWRlcigpIGNvbnN0OworICAgIERvY3VtZW50TG9hZFRpbWluZyogZG9jdW1lbnRM
b2FkVGltaW5nKCkgY29uc3Q7CisgICAgUmVzb3VyY2VMb2FkVGltaW5nKiByZXNvdXJjZUxvYWRU
aW1pbmcoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzb3VyY2VMb2FkVGltZVJl
bGF0aXZlVG9BYnNvbHV0ZShpbnQpIGNvbnN0OworCisgICAgRnJhbWUqIG1fZnJhbWU7Cit9Owor
Cit9CisKKyNlbmRpZiAvLyAhRU5BQkxFKFdFQl9USU1JTkcpCisjZW5kaWYgLy8gIWRlZmluZWQo
UGVyZm9ybWFuY2VUaW1pbmdfaCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVRpbWluZy5pZGwgYi9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5NDQyYjAKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUg
d2luZG93IHsKKworICAgIC8vIFNlZTogaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2Vi
VGltaW5nLworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VCX1RJTUlORywgT21pdENvbnN0
cnVjdG9yXSBQZXJmb3JtYW5jZVRpbWluZyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxvbmcgbmF2aWdhdGlvblN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHVubG9hZEV2ZW50RW5kOworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0U3RhcnQ7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RFbmQ7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZmV0Y2hTdGFydDsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBTdGFy
dDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5M
b29rdXBFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
Y29ubmVjdFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBs
b25nIGNvbm5lY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxvbmcgcmVxdWVzdFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsb25nIHJlc3BvbnNlU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGxvbmcgcmVzcG9uc2VFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxvbmcgZG9tTG9hZGluZzsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbG9uZyBkb21JbnRlcmFjdGl2ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Db250ZW50TG9hZGVkU3RhcnQ7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZG9tQ29udGVudExvYWRlZEVu
ZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Db21w
bGV0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2Fk
RXZlbnRTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9u
ZyBsb2FkRXZlbnRFbmQ7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1Rp
bWluZy5jcHAgYi9XZWJDb3JlL3BhZ2UvVGltaW5nLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNjhkMTQwNS4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL3BhZ2UvVGltaW5nLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDM2NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIlRpbWluZy5oIgotCi0jaWYgRU5BQkxFKFdFQl9USU1JTkcpCi0KLSNpbmNsdWRlICJEb2N1
bWVudExvYWRUaW1pbmcuaCIKLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgotI2luY2x1ZGUg
IkRvY3VtZW50VGltaW5nLmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRUaW1pbmcuaCIKLSNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyB0b0ludGVnZXJNaWxsaXNl
Y29uZHMoZG91YmxlIHNlY29uZHMpCi17Ci0gICAgQVNTRVJUKHNlY29uZHMgPj0gMCk7Ci0gICAg
cmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4oc2Vjb25kcyAqIDEwMDAuMCk7
Ci19Ci0KLXN0YXRpYyBkb3VibGUgZ2V0UG9zc2libHlTa2V3ZWRUaW1lSW5Lbm93blJhbmdlKGRv
dWJsZSBza2V3ZWRUaW1lLCBkb3VibGUgbG93ZXJCb3VuZCwgZG91YmxlIHVwcGVyQm91bmQpCi17
Ci0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgLy8gVGhlIGNocm9taXVtIHBvcnQncyBjdXJy
ZW50VGltZSgpIGltcGxlbWVudGF0aW9uIG9ubHkgc3luY3Mgd2l0aCB0aGUKLSAgICAvLyBzeXN0
ZW0gY2xvY2sgZXZlcnkgNjAgc2Vjb25kcy4gU28gaXQgaXMgcG9zc2libGUgZm9yIHRpbWluZyBt
YXJrcwotICAgIC8vIGNvbGxlY3RlZCBpbiBkaWZmZXJlbnQgdGhyZWFkcyBvciBwcm9jZXNzZXMg
dG8gaGF2ZSBhIHNtYWxsIHNrZXcuCi0gICAgLy8gRklYTUU6IEl0IG1heSBiZSBwb3NzaWJsZSB0
byBhZGQgYSBjdXJyZW50VGltZUZyb21TeXN0ZW1UaW1lKCkgbWV0aG9kCi0gICAgLy8gdGhhdCBl
bGltaW5hdGVzIHRoZSBza2V3LgotICAgIGlmIChza2V3ZWRUaW1lIDw9IGxvd2VyQm91bmQpCi0g
ICAgICAgIHJldHVybiBsb3dlckJvdW5kOwotCi0gICAgaWYgKHNrZXdlZFRpbWUgPj0gdXBwZXJC
b3VuZCkKLSAgICAgICAgcmV0dXJuIHVwcGVyQm91bmQ7Ci0jZWxzZQotICAgIEFTU0VSVF9VTlVT
RUQobG93ZXJCb3VuZCwgc2tld2VkVGltZSA+PSBsb3dlckJvdW5kKTsKLSAgICBBU1NFUlRfVU5V
U0VEKHVwcGVyQm91bmQsIHNrZXdlZFRpbWUgPD0gdXBwZXJCb3VuZCk7Ci0jZW5kaWYKLQotICAg
IHJldHVybiBza2V3ZWRUaW1lOwotfQotCi1UaW1pbmc6OlRpbWluZyhGcmFtZSogZnJhbWUpCi0g
ICAgOiBtX2ZyYW1lKGZyYW1lKQotewotfQotCi1GcmFtZSogVGltaW5nOjpmcmFtZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fZnJhbWU7Ci19Ci0KLXZvaWQgVGltaW5nOjpkaXNjb25uZWN0RnJh
bWUoKQotewotICAgIG1fZnJhbWUgPSAwOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5n
OjpuYXZpZ2F0aW9uU3RhcnQoKSBjb25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWluZyogdGlt
aW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPm5hdmln
YXRpb25TdGFydCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnVubG9hZEV2ZW50
RW5kKCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50
TG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAg
IHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCk7Ci19
Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJlZGlyZWN0U3RhcnQoKSBjb25zdAotewot
ICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGltaW5nKCk7Ci0g
ICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIHRvSW50ZWdl
ck1pbGxpc2Vjb25kcyh0aW1pbmctPnJlZGlyZWN0U3RhcnQpOwotfQotCi11bnNpZ25lZCBsb25n
IGxvbmcgVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkVGlt
aW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWlu
Zy0+cmVkaXJlY3RFbmQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpmZXRjaFN0
YXJ0KCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRUaW1pbmcqIHRpbWluZyA9IGRvY3VtZW50
TG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAg
IHJldHVybiB0b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5mZXRjaFN0YXJ0KTsKLX0KLQot
dW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAotewot
ICAgIFJlc291cmNlTG9hZFRpbWluZyogdGltaW5nID0gcmVzb3VyY2VMb2FkVGltaW5nKCk7Ci0g
ICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgLy8gVGhpcyB3aWxsIGJl
IC0xIHdoZW4gYSBETlMgcmVxdWVzdCBpcyBub3QgcGVyZm9ybWVkLgotICAgIC8vIFJhdGhlciB0
aGFuIGV4cG9zaW5nIGEgc3BlY2lhbCB2YWx1ZSB0aGF0IGluZGljYXRlcyBubyBETlMsIHdlICJi
YWNrZmlsbCIgd2l0aCBmZXRjaFN0YXJ0LgotICAgIGludCBkbnNTdGFydCA9IHRpbWluZy0+ZG5z
U3RhcnQ7Ci0gICAgaWYgKGRuc1N0YXJ0IDwgMCkKLSAgICAgICAgcmV0dXJuIGZldGNoU3RhcnQo
KTsKLQotICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKGRuc1N0
YXJ0KTsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkg
Y29uc3QKLXsKLSAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRp
bWluZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8vIFRo
aXMgd2lsbCBiZSAtMSB3aGVuIGEgRE5TIHJlcXVlc3QgaXMgbm90IHBlcmZvcm1lZC4KLSAgICAv
LyBSYXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8g
RE5TLCB3ZSAiYmFja2ZpbGwiIHdpdGggZG9tYWluTG9va3VwU3RhcnQuCi0gICAgaW50IGRuc0Vu
ZCA9IHRpbWluZy0+ZG5zRW5kOwotICAgIGlmIChkbnNFbmQgPCAwKQotICAgICAgICByZXR1cm4g
ZG9tYWluTG9va3VwU3RhcnQoKTsKLQotICAgIHJldHVybiByZXNvdXJjZUxvYWRUaW1lUmVsYXRp
dmVUb0Fic29sdXRlKGRuc0VuZCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OmNv
bm5lY3RTdGFydCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGRvY3Vt
ZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
UmVzb3VyY2VMb2FkVGltaW5nKiB0aW1pbmcgPSBsb2FkZXItPnJlc3BvbnNlKCkucmVzb3VyY2VM
b2FkVGltaW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
Ly8gY29ubmVjdFN0YXJ0IHdpbGwgYmUgLTEgd2hlbiBhIG5ldHdvcmsgcmVxdWVzdCBpcyBub3Qg
bWFkZS4KLSAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwgdmFsdWUgdGhhdCBp
bmRpY2F0ZXMgbm8gbmV3IGNvbm5lY3Rpb24sIHdlICJiYWNrZmlsbCIgd2l0aCBkb21haW5Mb29r
dXBFbmQuCi0gICAgaW50IGNvbm5lY3RTdGFydCA9IHRpbWluZy0+Y29ubmVjdFN0YXJ0OwotICAg
IGlmIChjb25uZWN0U3RhcnQgPCAwIHx8IGxvYWRlci0+cmVzcG9uc2UoKS5jb25uZWN0aW9uUmV1
c2VkKCkpCi0gICAgICAgIHJldHVybiBkb21haW5Mb29rdXBFbmQoKTsKLQotICAgIC8vIFJlc291
cmNlTG9hZFRpbWluZydzIGNvbm5lY3QgcGhhc2UgaW5jbHVkZXMgRE5TIGFuZCBTU0wsIGhvd2V2
ZXIgV2ViIFRpbWluZydzCi0gICAgLy8gY29ubmVjdCBwaGFzZSBzaG91bGQgbm90LiBTbyBpZiB0
aGVyZSBpcyBETlMgdGltZSwgdHJpbSBpdCBmcm9tIHRoZSBzdGFydC4KLSAgICBpZiAodGltaW5n
LT5kbnNFbmQgPj0gMCAmJiB0aW1pbmctPmRuc0VuZCA+IGNvbm5lY3RTdGFydCkKLSAgICAgICAg
Y29ubmVjdFN0YXJ0ID0gdGltaW5nLT5kbnNFbmQ7Ci0KLSAgICByZXR1cm4gcmVzb3VyY2VMb2Fk
VGltZVJlbGF0aXZlVG9BYnNvbHV0ZShjb25uZWN0U3RhcnQpOwotfQotCi11bnNpZ25lZCBsb25n
IGxvbmcgVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRlciog
bG9hZGVyID0gZG9jdW1lbnRMb2FkZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAgICAgcmV0
dXJuIDA7Ci0KLSAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHRpbWluZyA9IGxvYWRlci0+cmVzcG9u
c2UoKS5yZXNvdXJjZUxvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0
dXJuIDA7Ci0KLSAgICAvLyBjb25uZWN0RW5kIHdpbGwgYmUgLTEgd2hlbiBhIG5ldHdvcmsgcmVx
dWVzdCBpcyBub3QgbWFkZS4KLSAgICAvLyBSYXRoZXIgdGhhbiBleHBvc2luZyBhIHNwZWNpYWwg
dmFsdWUgdGhhdCBpbmRpY2F0ZXMgbm8gbmV3IGNvbm5lY3Rpb24sIHdlICJiYWNrZmlsbCIgd2l0
aCBjb25uZWN0U3RhcnQuCi0gICAgaW50IGNvbm5lY3RFbmQgPSB0aW1pbmctPmNvbm5lY3RFbmQ7
Ci0gICAgaWYgKGNvbm5lY3RFbmQgPCAwIHx8IGxvYWRlci0+cmVzcG9uc2UoKS5jb25uZWN0aW9u
UmV1c2VkKCkpCi0gICAgICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKLQotICAgIC8vIFJlc291
cmNlTG9hZFRpbWluZydzIGNvbm5lY3QgcGhhc2UgaW5jbHVkZXMgRE5TIGFuZCBTU0wsIGhvd2V2
ZXIgV2ViIFRpbWluZydzCi0gICAgLy8gY29ubmVjdCBwaGFzZSBzaG91bGQgbm90LiBTbyBpZiB0
aGVyZSBpcyBTU0wgdGltZSwgdHJpbSBpdCBmcm9tIHRoZSBlbmQuCi0gICAgaWYgKHRpbWluZy0+
c3NsU3RhcnQgPj0gMCAmJiB0aW1pbmctPnNzbFN0YXJ0IDwgY29ubmVjdEVuZCkKLSAgICAgICAg
Y29ubmVjdEVuZCA9IHRpbWluZy0+c3NsU3RhcnQ7Ci0KLSAgICByZXR1cm4gcmVzb3VyY2VMb2Fk
VGltZVJlbGF0aXZlVG9BYnNvbHV0ZShjb25uZWN0RW5kKTsKLX0KLQotdW5zaWduZWQgbG9uZyBs
b25nIFRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKLXsKLSAgICBSZXNvdXJjZUxvYWRUaW1p
bmcqIHRpbWluZyA9IHJlc291cmNlTG9hZFRpbWluZygpOwotICAgIGlmICghdGltaW5nKQotICAg
ICAgICByZXR1cm4gMDsKLQotICAgIEFTU0VSVCh0aW1pbmctPnNlbmRTdGFydCA+PSAwKTsKLSAg
ICByZXR1cm4gcmVzb3VyY2VMb2FkVGltZVJlbGF0aXZlVG9BYnNvbHV0ZSh0aW1pbmctPnNlbmRT
dGFydCk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OnJlc3BvbnNlU3RhcnQoKSBj
b25zdAotewotICAgIFJlc291cmNlTG9hZFRpbWluZyogdGltaW5nID0gcmVzb3VyY2VMb2FkVGlt
aW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgLy8gRklY
TUU6IFJlc3BvbnNlIHN0YXJ0IG5lZWRzIHRvIGJlIHRoZSB0aW1lIG9mIHRoZSBmaXJzdCByZWNl
aXZlZCBieXRlLgotICAgIC8vIEhvd2V2ZXIsIHRoZSBSZXNvdXJjZUxvYWRUaW1pbmcgQVBJIGN1
cnJlbnRseSBvbmx5IHN1cHBvcnRzIHRoZSB0aW1lCi0gICAgLy8gdGhlIGxhc3QgaGVhZGVyIGJ5
dGUgd2FzIHJlY2VpdmVkLiBGb3IgbWFueSByZXNwb25zZXMgd2l0aCByZWFzb25hYmxlCi0gICAg
Ly8gc2l6ZWQgY29va2llcywgdGhlIEhUVFAgaGVhZGVycyBmaXQgaW50byBhIHNpbmdsZSBwYWNr
ZXQgc28gdGhpcyB0aW1lCi0gICAgLy8gaXMgYmFzaWNhbGx5IGVxdWl2YWxlbnQuIEJ1dCBmb3Ig
c29tZSByZXNwb25zZXMsIHBhcnRpY3VsYXJseSB0aG9zZSB3aXRoCi0gICAgLy8gaGVhZGVycyBs
YXJnZXIgdGhhbiBhIHNpbmdsZSBwYWNrZXQsIHRoaXMgdGltZSB3aWxsIGJlIHRvbyBsYXRlLgot
ICAgIEFTU0VSVCh0aW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kID49IDApOwotICAgIHJldHVybiBy
ZXNvdXJjZUxvYWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKHRpbWluZy0+cmVjZWl2ZUhlYWRlcnNF
bmQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpyZXNwb25zZUVuZCgpIGNvbnN0
Ci17Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudExvYWRUaW1pbmco
KTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9J
bnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+cmVzcG9uc2VFbmQpOwotfQotCi11bnNpZ25lZCBs
b25nIGxvbmcgVGltaW5nOjpkb21Mb2FkaW5nKCkgY29uc3QKLXsKLSAgICBjb25zdCBEb2N1bWVu
dFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWlu
Zy0+ZG9tTG9hZGluZyk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBUaW1pbmc6OmRvbUludGVy
YWN0aXZlKCkgY29uc3QKLXsKLSAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0gZG9j
dW1lbnRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAg
ICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tSW50ZXJhY3RpdmUpOwot
fQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpkb21Db250ZW50TG9hZGVkU3RhcnQoKSBj
b25zdAotewotICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcgPSBkb2N1bWVudFRpbWlu
ZygpOwotICAgIGlmICghdGltaW5nKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiB0
b0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT5kb21Db250ZW50TG9hZGVkU3RhcnQpOwotfQot
Ci11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpkb21Db250ZW50TG9hZGVkRW5kKCkgY29uc3QK
LXsKLSAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmcoKTsK
LSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRl
Z2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+ZG9tQ29udGVudExvYWRlZEVuZCk7Ci19Ci0KLXVuc2ln
bmVkIGxvbmcgbG9uZyBUaW1pbmc6OmRvbUNvbXBsZXRlKCkgY29uc3QKLXsKLSAgICBjb25zdCBE
b2N1bWVudFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWlu
ZykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRz
KHRpbWluZy0+ZG9tQ29tcGxldGUpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjps
b2FkRXZlbnRTdGFydCgpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiB0aW1pbmcg
PSBkb2N1bWVudExvYWRUaW1pbmcoKTsKLSAgICBpZiAoIXRpbWluZykKLSAgICAgICAgcmV0dXJu
IDA7Ci0KLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+bG9hZEV2ZW50
U3RhcnQpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgVGltaW5nOjpsb2FkRXZlbnRFbmQoKSBj
b25zdAotewotICAgIERvY3VtZW50TG9hZFRpbWluZyogdGltaW5nID0gZG9jdW1lbnRMb2FkVGlt
aW5nKCk7Ci0gICAgaWYgKCF0aW1pbmcpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJu
IHRvSW50ZWdlck1pbGxpc2Vjb25kcyh0aW1pbmctPmxvYWRFdmVudEVuZCk7Ci19Ci0KLURvY3Vt
ZW50TG9hZGVyKiBUaW1pbmc6OmRvY3VtZW50TG9hZGVyKCkgY29uc3QKLXsKLSAgICBpZiAoIW1f
ZnJhbWUpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIG1fZnJhbWUtPmxvYWRlcigp
LT5kb2N1bWVudExvYWRlcigpOwotfQotCi1jb25zdCBEb2N1bWVudFRpbWluZyogVGltaW5nOjpk
b2N1bWVudFRpbWluZygpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2ZyYW1lKQotICAgICAgICByZXR1
cm4gMDsKLQotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3VtZW50KCk7Ci0g
ICAgaWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gZG9jdW1l
bnQtPnRpbWluZygpOwotfQotCi1Eb2N1bWVudExvYWRUaW1pbmcqIFRpbWluZzo6ZG9jdW1lbnRM
b2FkVGltaW5nKCkgY29uc3QKLXsKLSAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gZG9jdW1l
bnRMb2FkZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBy
ZXR1cm4gbG9hZGVyLT50aW1pbmcoKTsKLX0KLQotUmVzb3VyY2VMb2FkVGltaW5nKiBUaW1pbmc6
OnJlc291cmNlTG9hZFRpbWluZygpIGNvbnN0Ci17Ci0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciA9IGRvY3VtZW50TG9hZGVyKCk7Ci0gICAgaWYgKCFsb2FkZXIpCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgcmV0dXJuIGxvYWRlci0+cmVzcG9uc2UoKS5yZXNvdXJjZUxvYWRUaW1pbmcoKTsK
LX0KLQotdW5zaWduZWQgbG9uZyBsb25nIFRpbWluZzo6cmVzb3VyY2VMb2FkVGltZVJlbGF0aXZl
VG9BYnNvbHV0ZShpbnQgcmVsYXRpdmVTZWNvbmRzKSBjb25zdAotewotICAgIEFTU0VSVChyZWxh
dGl2ZVNlY29uZHMgPj0gMCk7Ci0gICAgUmVzb3VyY2VMb2FkVGltaW5nKiByZXNvdXJjZVRpbWlu
ZyA9IHJlc291cmNlTG9hZFRpbWluZygpOwotICAgIEFTU0VSVChyZXNvdXJjZVRpbWluZyk7Ci0g
ICAgRG9jdW1lbnRMb2FkVGltaW5nKiBkb2N1bWVudFRpbWluZyA9IGRvY3VtZW50TG9hZFRpbWlu
ZygpOwotICAgIEFTU0VSVChkb2N1bWVudFRpbWluZyk7Ci0KLSAgICAvLyBUaGUgUmVzb3VyY2VM
b2FkVGltaW5nIEFQSSdzIHJlcXVlc3RUaW1lIGlzIHRoZSBiYXNlIHRpbWUgdG8gd2hpY2ggYWxs
Ci0gICAgLy8gb3RoZXIgbWFya3MgYXJlIHJlbGF0aXZlLiBTbyB0byBnZXQgYW4gYWJzb2x1dGUg
dGltZSwgd2UgbXVzdCBhZGQgaXQgdG8KLSAgICAvLyB0aGUgcmVsYXRpdmUgbWFya3MuCi0gICAg
Ly8KLSAgICAvLyBTaW5jZSBSZXNvdXJjZUxvYWRUaW1pbmdzIGNhbWUgZnJvbSB0aGUgbmV0d29y
ayBwbGF0Zm9ybSBsYXllciwgd2UgbXVzdAotICAgIC8vIGNoZWNrIHRoZW0gZm9yIHNrZXcgYmVj
YXVzZSB0aGV5IG1heSBiZSBmcm9tIGFub3RoZXIgdGhyZWFkL3Byb2Nlc3MuCi0gICAgZG91Ymxl
IGJhc2VUaW1lID0gZ2V0UG9zc2libHlTa2V3ZWRUaW1lSW5Lbm93blJhbmdlKHJlc291cmNlVGlt
aW5nLT5yZXF1ZXN0VGltZSwgZG9jdW1lbnRUaW1pbmctPmZldGNoU3RhcnQsIGRvY3VtZW50VGlt
aW5nLT5yZXNwb25zZUVuZCAtIChyZXNvdXJjZVRpbWluZy0+cmVjZWl2ZUhlYWRlcnNFbmQgLyAx
MDAwLjApKTsKLSAgICByZXR1cm4gdG9JbnRlZ2VyTWlsbGlzZWNvbmRzKGJhc2VUaW1lKSArIHJl
bGF0aXZlU2Vjb25kczsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVGltaW5nLmggYi9X
ZWJDb3JlL3BhZ2UvVGltaW5nLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljZGI5
YjguLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9wYWdlL1RpbWluZy5oCisrKyAvZGV2L251bGwKQEAg
LTEsODkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICog
bWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpZm5kZWYgVGltaW5nX2gKLSNkZWZpbmUgVGltaW5nX2gKLQotI2lmIEVO
QUJMRShXRUJfVElNSU5HKQotCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBEb2N1
bWVudExvYWRUaW1pbmc7Ci1jbGFzcyBEb2N1bWVudExvYWRlcjsKLXN0cnVjdCBEb2N1bWVudFRp
bWluZzsKLWNsYXNzIEZyYW1lOwotY2xhc3MgUmVzb3VyY2VMb2FkVGltaW5nOwotCi1jbGFzcyBU
aW1pbmcgOiBwdWJsaWMgUmVmQ291bnRlZDxUaW1pbmc+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxUaW1pbmc+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBUaW1pbmcoZnJhbWUpKTsgfQotCi0gICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7Ci0gICAg
dm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKLQotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXZpZ2F0
aW9uU3RhcnQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgdW5sb2FkRXZlbnRFbmQo
KSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RTdGFydCgpIGNvbnN0Owot
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVjdEVuZCgpIGNvbnN0OwotICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyBmZXRjaFN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRv
bWFpbkxvb2t1cFN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbWFpbkxv
b2t1cEVuZCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBjb25uZWN0U3RhcnQoKSBj
b25zdDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVjdEVuZCgpIGNvbnN0OwotICAgIHVu
c2lnbmVkIGxvbmcgbG9uZyByZXF1ZXN0U3RhcnQoKSBjb25zdDsKLSAgICB1bnNpZ25lZCBsb25n
IGxvbmcgcmVzcG9uc2VTdGFydCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNw
b25zZUVuZCgpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Mb2FkaW5nKCkgY29u
c3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbUludGVyYWN0aXZlKCkgY29uc3Q7Ci0gICAg
dW5zaWduZWQgbG9uZyBsb25nIGRvbUNvbnRlbnRMb2FkZWRTdGFydCgpIGNvbnN0OwotICAgIHVu
c2lnbmVkIGxvbmcgbG9uZyBkb21Db250ZW50TG9hZGVkRW5kKCkgY29uc3Q7Ci0gICAgdW5zaWdu
ZWQgbG9uZyBsb25nIGRvbUNvbXBsZXRlKCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25n
IGxvYWRFdmVudFN0YXJ0KCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRFdmVu
dEVuZCgpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIFRpbWluZyhGcmFtZSopOwotCi0gICAgY29u
c3QgRG9jdW1lbnRUaW1pbmcqIGRvY3VtZW50VGltaW5nKCkgY29uc3Q7Ci0gICAgRG9jdW1lbnRM
b2FkZXIqIGRvY3VtZW50TG9hZGVyKCkgY29uc3Q7Ci0gICAgRG9jdW1lbnRMb2FkVGltaW5nKiBk
b2N1bWVudExvYWRUaW1pbmcoKSBjb25zdDsKLSAgICBSZXNvdXJjZUxvYWRUaW1pbmcqIHJlc291
cmNlTG9hZFRpbWluZygpIGNvbnN0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNvdXJjZUxv
YWRUaW1lUmVsYXRpdmVUb0Fic29sdXRlKGludCkgY29uc3Q7Ci0KLSAgICBGcmFtZSogbV9mcmFt
ZTsKLX07Ci0KLX0KLQotI2VuZGlmIC8vICFFTkFCTEUoV0VCX1RJTUlORykKLSNlbmRpZiAvLyAh
ZGVmaW5lZChUaW1pbmdfaCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9UaW1pbmcuaWRsIGIv
V2ViQ29yZS9wYWdlL1RpbWluZy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3
NzY5ODAuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9wYWdlL1RpbWluZy5pZGwKKysrIC9kZXYvbnVs
bApAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
Ci0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
Ci0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotbW9kdWxlIHdpbmRvdyB7Ci0KLSAgICAvLyBTZWU6IGh0dHA6Ly9k
ZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8KLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlv
bmFsPVdFQl9USU1JTkcsIE9taXRDb25zdHJ1Y3Rvcl0gVGltaW5nIHsKLSAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXZpZ2F0aW9uU3RhcnQ7Ci0gICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgdW5sb2FkRXZlbnRFbmQ7Ci0g
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RTdGFy
dDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZWRpcmVj
dEVuZDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBmZXRj
aFN0YXJ0OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRv
bWFpbkxvb2t1cFN0YXJ0OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsb25nIGRvbWFpbkxvb2t1cEVuZDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbG9uZyBjb25uZWN0U3RhcnQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxvbmcgY29ubmVjdEVuZDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbG9uZyByZXF1ZXN0U3RhcnQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VTdGFydDsKLSAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZUVuZDsKLSAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21Mb2FkaW5nOwotICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUludGVyYWN0aXZlOwotICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGRvbUNvbnRlbnRMb2FkZWRT
dGFydDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21D
b250ZW50TG9hZGVkRW5kOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsb25nIGRvbUNvbXBsZXRlOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsb25nIGxvYWRFdmVudFN0YXJ0OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsb25nIGxvYWRFdmVudEVuZDsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCA2MzEwNzQ2Li5mZDc4MWRkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0x
MS0xMSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1dlYiBUaW1pbmddIFJlbmFt
ZSBpbnRlcmZhY2VzOgorICAgICAgICAtIE5hdmlnYXRpb24gLT4gUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uCisgICAgICAgIC0gVGltaW5nIC0+IFBlcmZvcm1hbmNlVGltaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODkxOQorCisgICAgICAgICogc3Jj
L1dlYlBlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGVyZm9ybWFuY2U6Om5h
dmlnYXRpb25UeXBlKToKKwogMjAxMC0xMS0xMSAgSGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4KZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGVyZm9ybWFuY2UuY3BwIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAKaW5kZXggODk4YTc2MS4uNzZiM2YyMSAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQZXJmb3JtYW5jZS5jcHAKQEAgLTUwLDExICs1MCwxMSBAQCB2b2lkIFdl
YlBlcmZvcm1hbmNlOjphc3NpZ24oY29uc3QgV2ViUGVyZm9ybWFuY2UmIG90aGVyKQogV2ViTmF2
aWdhdGlvblR5cGUgV2ViUGVyZm9ybWFuY2U6Om5hdmlnYXRpb25UeXBlKCkgY29uc3QKIHsKICAg
ICBzd2l0Y2ggKG1fcHJpdmF0ZS0+bmF2aWdhdGlvbigpLT50eXBlKCkpIHsKLSAgICBjYXNlIE5h
dmlnYXRpb246Ok5BVklHQVRFOgorICAgIGNhc2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpOQVZJ
R0FURToKICAgICAgICAgcmV0dXJuIFdlYk5hdmlnYXRpb25UeXBlT3RoZXI7Ci0gICAgY2FzZSBO
YXZpZ2F0aW9uOjpSRUxPQUQ6CisgICAgY2FzZSBQZXJmb3JtYW5jZU5hdmlnYXRpb246OlJFTE9B
RDoKICAgICAgICAgcmV0dXJuIFdlYk5hdmlnYXRpb25UeXBlUmVsb2FkOwotICAgIGNhc2UgTmF2
aWdhdGlvbjo6QkFDS19GT1JXQVJEOgorICAgIGNhc2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpC
QUNLX0ZPUldBUkQ6CiAgICAgICAgIHJldHVybiBXZWJOYXZpZ2F0aW9uVHlwZUJhY2tGb3J3YXJk
OwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>