<?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>202946</bug_id>
          
          <creation_ts>2019-10-14 13:36:30 -0700</creation_ts>
          <short_desc>Import W3C tests for requestidlecallback</short_desc>
          <delta_ts>2019-10-15 14:21:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>164193</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>lingcherd_ho</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1579776</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-14 13:36:30 -0700</bug_when>
    <thetext>Import WPT tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579778</commentid>
    <comment_count>1</comment_count>
      <attachid>380912</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-14 13:38:18 -0700</bug_when>
    <thetext>Created attachment 380912
Imported the tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579786</commentid>
    <comment_count>2</comment_count>
      <attachid>380912</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-14 13:46:26 -0700</bug_when>
    <thetext>Comment on attachment 380912
Imported the tests

r=mews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579853</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-14 15:32:47 -0700</bug_when>
    <thetext>Oh oops, I forgot to enable requestIdleCallback in these tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579898</commentid>
    <comment_count>4</comment_count>
      <attachid>380912</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-14 16:40:08 -0700</bug_when>
    <thetext>Comment on attachment 380912
Imported the tests

Interesting. Maybe WPT automatically enable all experimental features. Fixing this for WK2 now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579900</commentid>
    <comment_count>5</comment_count>
      <attachid>380936</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-14 16:40:35 -0700</bug_when>
    <thetext>Created attachment 380936
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579903</commentid>
    <comment_count>6</comment_count>
      <attachid>380936</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-14 16:41:55 -0700</bug_when>
    <thetext>Comment on attachment 380936
Patch for landing

Wait for EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579908</commentid>
    <comment_count>7</comment_count>
      <attachid>380939</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-14 16:45:16 -0700</bug_when>
    <thetext>Created attachment 380939
Fixed tests on WK1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579969</commentid>
    <comment_count>8</comment_count>
      <attachid>380939</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-14 20:50:14 -0700</bug_when>
    <thetext>Comment on attachment 380939
Fixed tests on WK1

Clearing flags on attachment: 380939

Committed r251120: &lt;https://trac.webkit.org/changeset/251120&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579970</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-14 20:50:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580255</commentid>
    <comment_count>10</comment_count>
    <who name="Ling Ho">lingcherd_ho</who>
    <bug_when>2019-10-15 14:21:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/56277457&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380912</attachid>
            <date>2019-10-14 13:38:18 -0700</date>
            <delta_ts>2019-10-14 16:40:08 -0700</delta_ts>
            <desc>Imported the tests</desc>
            <filename>bug-202946-20191014133817.patch</filename>
            <type>text/plain</type>
            <size>44605</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMDg4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjdlMDhiYzE4ZmUyZjJjMWE4ZjU3
ZDkyMzFlY2ZjMWQwYTg1NzI5My4uZmFiODE3OGIzZTc5ZTJlNTk0NmM5ZDRkNGEwMTAxM2Q3YWYw
MGQ3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTE0ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcG9ydCBXM0MgdGVzdHMgZm9yIHJlcXVlc3Rp
ZGxlY2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMjk0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDE5LTEwLTE0ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBSRUdSRVNTSU9OIChy
MjQ1NjcyKTogQ29udGVudGVkaXRhYmxlIHdpdGggb3B0aWNhbCBzaXppbmcgZnJlZXplcyBTYWZh
cmkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDI4NWJmMDZhNTgzZTg1N2E0NzUy
ZjdlY2Q2NTM1ODBkNzAzZTk4MjIuLjQ3OGNhNmFkOTk2NDVjNjVkM2JjM2UwZGZiODc5MDI2OWQz
MDExNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisy
MDE5LTEwLTE0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIElt
cG9ydCBXM0MgdGVzdHMgZm9yIHJlcXVlc3RpZGxlY2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjk0NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydGVkIHdlYiBwbGF0Zm9ybSB0ZXN0
cyBmb3IgcmVxdWVzdGlkbGVjYWxsYmFjayBhcyBvZiAzOGMyZThkNTNjOWU1NGY1YzRhOTE0ZDE1
MjhhZmY0ZTYwZjA3Y2RmLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9NRVRBLnltbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9iYXNpYy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1leGNl
cHRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1leGNlcHRpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWRs
ZS1wZXJpb2RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxi
YWNrLWlmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1p
bnZva2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staW52b2tlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1tdWx0
aXBsZS1jYWxscy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2Nh
bGxiYWNrLXJlbW92ZWQtZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1yZW1vdmVkLWZyYW1l
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL2NhbGxiYWNrLXN1c3BlbmRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXN1c3BlbmRl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVj
YWxsYmFjay9jYWxsYmFjay10aW1lb3V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stdGltZW91dC13
aGVuLWJ1c3ktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9j
YWxsYmFjay10aW1lb3V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2Fs
bGJhY2steGhyLXN5bmMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svY2FuY2VsLWludm9rZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYW5jZWwt
aW52b2tlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVz
dGlkbGVjYWxsYmFjay9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mu
d2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mud2luZG93LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5j
LmlkbF9hcnJheS5hd2FpdC5uZXcuUHJvbWlzZS5yZXNvbHZlLnJlc29sdmUpOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3Jlc291cmNlcy9wb3N0X25h
bWVfb25fbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3czYy1pbXBvcnQubG9n
OiBBZGRlZC4KKwogMjAxOS0xMC0xMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBBZGQgdGhlIHN1cHBvcnQgZm9yIFNoYWRvd1Jvb3QuZGVsZWdhdGVGb2N1cwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgppbmRleCBjNzE3MjgyNGYxOGU3YWU5YmZjYjE3MGMwOGY2OTk0
ODQyOWVhYjYyLi4zYTczZDQ2NWNjMjFkYjFmZTlkMzMxY2QzMDY2ODBmOTM5N2I0ZDA4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3Rh
dGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMzA4LDcgKzMwOCw3IEBACiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9xdWlya3MvdW5pdGxlc3MtbGVuZ3RoIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvcmVmZXJyZXItcG9saWN5IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvcmVtb3RlLXBsYXliYWNrIjogInNraXAiLCAKLSAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2siOiAic2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjayI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nIjogImltcG9ydCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL01FVEEueW1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL01FVEEueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljODI5ZDNjODg4NWJiOWI1OTRlNzA5NmE4Nzgx
NjZlMDdmM2UyNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svTUVUQS55bWwKQEAgLTAsMCAr
MSw0IEBACitzcGVjOiBodHRwczovL3czYy5naXRodWIuaW8vcmVxdWVzdGlkbGVjYWxsYmFjay8K
K3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gZmFycmUKKyAgLSBybWNpbHJveQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRs
ZWNhbGxiYWNrL2Jhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9iYXNpYy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTgzYzZlMTIwOWJjYWJkYWFkZmIwMWI3OTUwYmIzMjU4MDA0MDhlMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjay9iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBA
QAorQmFzaWMgcmVxdWVzdElkbGVDYWxsYmFjayBUZXN0cworCisKK1BBU1Mgd2luZG93LnJlcXVl
c3RJZGxlQ2FsbGJhY2sgaXMgZGVmaW5lZCAKK1BBU1Mgd2luZG93LmNhbmNlbElkbGVDYWxsYmFj
ayBpcyBkZWZpbmVkIAorUEFTUyB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygpIHJldHVybnMg
YSBudW1iZXIgCitQQVNTIHdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2soKSByZXR1cm5zIHVuZGVm
aW5lZCAKK0ZBSUwgcmVxdWVzdElkbGVDYWxsYmFjayBzY2hlZHVsZXMgY2FsbGJhY2tzIGFzc2Vy
dF90cnVlOiBJZGxlRGVhZGxpbmUudGltZVJlbWFpbmluZygpIE1VU1QgYmUgbGVzcyB0aGFuIG9y
IGVxdWFsIHRvIDUwbXMgaW4gdGhlIGZ1dHVyZS4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BB
U1MgY2FuY2VsSWRsZUNhbGxiYWNrIGNhbmNlbHMgY2FsbGJhY2tzIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2Fs
bGJhY2svYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOTEzNGVj
NDM2MGYxYmJiYWU0ZGI2MDhhOTNhNmJhMjU5MzA2MDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svYmFzaWMuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT53
aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayBleGlzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJSb3NzIE1jSWxyb3kiIGhyZWY9Im1haWx0bzpybWNpbHJveUBjaHJvbWl1bS5v
cmciIC8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorLy8gVGhlIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrIGZ1bmN0aW9uIGlz
IHVzZWQgdG8gcmVxdWVzdCBjYWxsYmFja3MgZHVyaW5nIGJyb3dzZXItZGVmaW5lZCBpZGxlIHRp
bWUuCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKHR5cGVvZiB3aW5kb3cucmVx
dWVzdElkbGVDYWxsYmFjaywgImZ1bmN0aW9uIik7Cit9LCAid2luZG93LnJlcXVlc3RJZGxlQ2Fs
bGJhY2sgaXMgZGVmaW5lZCIpOworCisvLyBUaGUgd2luZG93LmNhbmNlbElkbGVDYWxsYmFjayBm
dW5jdGlvbiBpcyB1c2VkIHRvIGNhbmNlbCBjYWxsYmFja3Mgc2NoZWR1bGVkIHZpYSByZXF1ZXN0
SWRsZUNhbGxiYWNrLgordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
d2luZG93LmNhbmNlbElkbGVDYWxsYmFjaywgImZ1bmN0aW9uIik7Cit9LCAid2luZG93LmNhbmNl
bElkbGVDYWxsYmFjayBpcyBkZWZpbmVkIik7CisKKy8vIFRoZSByZXF1ZXN0SWRsZUNhbGxiYWNr
IG1ldGhvZCBNVVNUIHJldHVybiBhIGxvbmcKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9l
cXVhbHModHlwZW9mIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bmN0aW9uKCkge30pLCAi
bnVtYmVyIik7Cit9LCAid2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soKSByZXR1cm5zIGEgbnVt
YmVyIik7CisKKy8vIFRoZSBjYW5jZWxJZGxlQ2FsbGJhY2sgbWV0aG9kIE1VU1QgcmV0dXJuIHZv
aWQKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHModHlwZW9mIHdpbmRvdy5jYW5j
ZWxJZGxlQ2FsbGJhY2soMSksICJ1bmRlZmluZWQiKTsKK30sICJ3aW5kb3cuY2FuY2VsSWRsZUNh
bGxiYWNrKCkgcmV0dXJucyB1bmRlZmluZWQiKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsK
KyAgLy8gQ2hlY2sgd2hldGhlciByZXF1ZXN0SWRsZUNhbGxiYWNrIHNjaGVkdWxlcyBhIGNhbGxi
YWNrIHdoaWNoIGdldHMgZXhlY3V0ZWQKKyAgLy8gYW5kIHRoZSBkZWFkbGluZSBhcmd1bWVudCBp
cyBwYXNzZWQgY29ycmVjdGx5LgorICByZXF1ZXN0SWRsZUNhbGxiYWNrKHRoaXMuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24oZGVhZGxpbmUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFyZ3VtZW50cy5s
ZW5ndGgsIDEsICJPbmx5IG9uZSBhcmd1bWVudCBzaG91bGQgYmUgcGFzc2VkIHRvIGNhbGxiYWNr
LiIpOworICAgIGFzc2VydF9jbGFzc19zdHJpbmcoZGVhZGxpbmUsICJJZGxlRGVhZGxpbmUiKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZWFkbGluZS50aW1lUmVtYWluaW5nLCAiZnVuY3Rp
b24iLCAiSWRsZURlYWRsaW5lLnRpbWVSZW1haW5pbmcgTVVTVCBiZSBhIGZ1bmN0aW9uIHdoaWNo
IHJldHVybnMgdGhlIHRpbWUgcmVtYWluaW5nIGluIG1pbGxpc2Vjb25kcyIpOworICAgIGFzc2Vy
dF9lcXVhbHModHlwZW9mIGRlYWRsaW5lLnRpbWVSZW1haW5pbmcoKSwgIm51bWJlciIsICJJZGxl
RGVhZGxpbmUudGltZVJlbWFpbmluZyBNVVNUIHJldHVybiBhIGRvdWJsZSBvZiB0aGUgdGltZSBy
ZW1haW5pbmcgaW4gbWlsbGlzZWNvbmRzIik7CisgICAgYXNzZXJ0X3RydWUoZGVhZGxpbmUudGlt
ZVJlbWFpbmluZygpIDw9IDUwLCAiSWRsZURlYWRsaW5lLnRpbWVSZW1haW5pbmcoKSBNVVNUIGJl
IGxlc3MgdGhhbiBvciBlcXVhbCB0byA1MG1zIGluIHRoZSBmdXR1cmUuIik7CisgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgZGVhZGxpbmUuZGlkVGltZW91dCwgImJvb2xlYW4iLCAiSWRsZURlYWRs
aW5lLmRpZFRpbWVvdXQgTVVTVCBiZSBhIGJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZmFsc2UoZGVh
ZGxpbmUuZGlkVGltZW91dCwgIklkbGVEZWFkbGluZS5kaWRUaW1lb3V0IE1VU1QgYmUgZmFsc2Ug
aWYgcmVxdWVzdElkbGVDYWxsYmFjayB3YXNuJ3Qgc2NoZWR1bGVkIGR1ZSB0byBhIHRpbWVvdXQi
KTsKKyAgfSkpOworfSwgJ3JlcXVlc3RJZGxlQ2FsbGJhY2sgc2NoZWR1bGVzIGNhbGxiYWNrcycp
OworCithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAvLyBDaGVjayB3aGV0aGVyIHJlcXVlc3RJ
ZGxlQ2FsbGJhY2sgc2NoZWR1bGVzIGEgY2FsbGJhY2sgd2hpY2ggZ2V0cyBleGVjdXRlZAorICAv
LyBhbmQgdGhlIGRlYWRsaW5lIGFyZ3VtZW50IGlzIHBhc3NlZCBjb3JyZWN0bHkuCisgIHZhciBo
YW5kbGUgPSByZXF1ZXN0SWRsZUNhbGxiYWNrKHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGRlYWRs
aW5lKSB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgiY2FsbGJhY2sgc2hvdWxkIG5vdCBiZSBjYWxs
ZWQgaWYgY2FuY2VsZWQgd2l0aCBjYW5jZWxJZGxlQ2FsbGJhY2siKTsKKyAgfSkpOworICBjYW5j
ZWxJZGxlQ2FsbGJhY2soaGFuZGxlKTsKKyAgc3RlcF90aW1lb3V0KHRoaXMuc3RlcF9mdW5jX2Rv
bmUoKSwgMjAwKTsKK30sICdjYW5jZWxJZGxlQ2FsbGJhY2sgY2FuY2VscyBjYWxsYmFja3MnKTsK
KworPC9zY3JpcHQ+Cis8aDE+QmFzaWMgcmVxdWVzdElkbGVDYWxsYmFjayBUZXN0czwvaDE+Cis8
ZGl2IGlkPSJsb2ciPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWV4Y2VwdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40NTBkYmE2MjljZWNhYzM3Mjg2MTNiYTM5YjViNTBlNzEzODY0ODcyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IEVycm9yOiByZXF1ZXN0SWRs
ZUNhbGxiYWNrRXhjZXB0aW9uCisKK1BBU1MgcmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFjayBl
eGNlcHRpb25zIGFyZSByZXBvcnRlZCB0byBlcnJvciBoYW5kbGVyIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2Fs
bGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmVjZGEyMjFkZWMzYjA0NWQ3MjdhYTVlOTI3NWRkYjhmMjUyNmMx
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1leGNlcHRpb24uaHRtbApAQCAt
MCwwICsxLDIyIEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0
bGU+cmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFjayBleGNlcHRpb24gcmVwb3J0ZWQgdG8gZXJy
b3IgaGFuZGxlcjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorICB2YXIgY3VzdG9tX2V4
Y2VwdGlvbiA9ICdyZXF1ZXN0SWRsZUNhbGxiYWNrRXhjZXB0aW9uJzsKKyAgc2V0dXAoe2FsbG93
X3VuY2F1Z2h0X2V4Y2VwdGlvbiA6IHRydWV9KTsKKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkg
eworICAgIGFzc2VydF9mYWxzZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5oaWRkZW4gbXVz
dCBleGlzdCBhbmQgYmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIpOworICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihlKSB7CisgICAgICB0LnN0ZXAoZnVuY3Rp
b24oKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZS5lcnJvci5tZXNzYWdlLCBjdXN0b21fZXhj
ZXB0aW9uKTsKKyAgICAgICAgdC5kb25lKCk7CisgICAgICB9KQorICAgIH0pOworICAgIHdpbmRv
dy5yZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHsKKyAgICAgIHRocm93IG5ldyBFcnJv
cihjdXN0b21fZXhjZXB0aW9uKTsKKyAgICB9KTsKKyAgfSwgInJlcXVlc3RJZGxlQ2FsbGJhY2sg
Y2FsbGJhY2sgZXhjZXB0aW9ucyBhcmUgcmVwb3J0ZWQgdG8gZXJyb3IgaGFuZGxlciIpOworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVz
dGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZGxlLXBlcmlvZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjVkNDNhMDBkODUyMzQwM2RkNWQ1ZDQzZWVjOTVmMTU0Mzg1MjY0OTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDkgQEAKK1Rlc3Qgb2YgcmVxdWVzdElkbGVDYWxsYmFjayBpZGxlIHBlcmlvZCBiZWhhdmlv
cgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sg
ZGVhbHMgd2l0aCBjYWxsYmFja3MgZHVyaW5nIGlkbGUgcGVyaW9kcyBjb3JyZWN0bHkuCisKKwor
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgQ2hlY2sg
dGhhdCBpZiBhbiBpZGxlIGNhbGxiYWNrIGNhbGxzIHJlcXVlc3RJZGxlQ2FsbGJhY2sgdGhlIG5l
dyBjYWxsYmFjayBkb2Vzbid0IHJ1biBpbiB0aGUgY3VycmVudCBpZGxlIHBlcmlvZC4gVGVzdCB0
aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlkbGUtcGVyaW9kcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRs
ZWNhbGxiYWNrL2NhbGxiYWNrLWlkbGUtcGVyaW9kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwNjZjNjA1
NWQ4NmY3ODE0ZGZlZDUyNjc0ZGExMTAzYmJjYjRmZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svY2FsbGJhY2staWRsZS1wZXJpb2RzLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8dGl0bGU+d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sgY2FsbGJhY2sgYmVoYXZp
b3IgZHVyaW5nIGlkbGUgcGVyaW9kcy48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJSb3NzIE1jSWxyb3kiIGhyZWY9Im1haWx0bzpybWNpbHJveUBjaHJvbWl1bS5vcmciIC8+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAvLyBDaGVjayB0aGF0IGlmIGFuIGlkbGUg
Y2FsbGJhY2sgY2FsbHMgcmVxdWVzdElkbGVDYWxsYmFjaywgdGhlIG5ldyBjYWxsYmFjaworICAv
LyBkb2Vzbid0IGdldCB0aGUgc2FtZSBkZWFkbGluZSAoaS5lLiwgcnVucyBpbiBhIG5ldyBpZGxl
IHBlcmlvZCkuCisgIHZhciBwcmV2aW91c19kZWFkbGluZSA9IHVuZGVmaW5lZDsKKyAgdmFyIGlk
bGVfY2FsbGJhY2tzX3JlbWFpbmluZyA9IDEwOworICB2YXIgcklDID0gdGhpcy5zdGVwX2Z1bmMo
ZnVuY3Rpb24oZGVhZGxpbmUpIHsKKyAgICB2YXIgbm93ID0gcGVyZm9ybWFuY2Uubm93KCk7Cisg
ICAgdmFyIHJlbWFpbmluZyA9IGRlYWRsaW5lLnRpbWVSZW1haW5pbmcoKTsKKyAgICB2YXIgbmV3
X2RlYWRsaW5lID0gbm93ICsgcmVtYWluaW5nOworICAgIGlmIChwcmV2aW91c19kZWFkbGluZSAh
PSB1bmRlZmluZWQpIHsKKyAgICAgIGFzc2VydF90cnVlKG5ld19kZWFkbGluZSA+IHByZXZpb3Vz
X2RlYWRsaW5lLCAiQSByZXF1ZXN0SWRsZUNhbGxiYWNrIHNjaGVkdWxlZCBkdXJpbmcgYW4gaWRs
ZSBwZXJpb2Qgc2hvdWxkIGJlIGNhbGxlZCBiYWNrIHdpdGggYSBkZWFkbGluZSBncmVhdGVyIHRo
YW4gdGhhdCBpbiB0aGUgY3VycmVudCBpZGxlIHBlcmlvZC4iKTsKKyAgICB9CisKKyAgICAvLyBT
Y2hlZHVsZSBhIG5ldyByZXF1ZXN0SWRsZUNhbGxiYWNrLgorICAgIGlmICgtLWlkbGVfY2FsbGJh
Y2tzX3JlbWFpbmluZyA+IDApIHsKKyAgICAgIHByZXZpb3VzX2RlYWRsaW5lID0gbmV3X2RlYWRs
aW5lOworICAgICAgcmVxdWVzdElkbGVDYWxsYmFjayhySUMpOworICAgIH0gZWxzZSB7CisgICAg
ICB0aGlzLmRvbmUoKTsKKyAgICB9CisgIH0pOworCisgIC8vIFNwaW4gYW4gZW1wdHkgckFGIGxv
b3AgdG8gY2F1c2UgYW4gaWRsZSBwZXJpb2QgZWFjaCBmcmFtZS4KKyAgdmFyIGlkbGVfdGFza19w
b3N0ZWQgPSBmYWxzZTsKKyAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uIHJBRkxvb3Ao
KSB7CisgICAgaWYgKCFpZGxlX3Rhc2tfcG9zdGVkKSB7CisgICAgICByZXF1ZXN0SWRsZUNhbGxi
YWNrKHJJQyk7CisgICAgICBpZGxlX3Rhc2tfcG9zdGVkID0gdHJ1ZTsKKyAgICB9CisgICAgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lKHJBRkxvb3ApOworICB9KTsKK30sICdDaGVjayB0aGF0IGlmIGFu
IGlkbGUgY2FsbGJhY2sgY2FsbHMgcmVxdWVzdElkbGVDYWxsYmFjayB0aGUgbmV3IGNhbGxiYWNr
IGRvZXNuXCd0IHJ1biBpbiB0aGUgY3VycmVudCBpZGxlIHBlcmlvZC4nKTsKKzwvc2NyaXB0Pgor
PGgxPlRlc3Qgb2YgcmVxdWVzdElkbGVDYWxsYmFjayBpZGxlIHBlcmlvZCBiZWhhdmlvcjwvaDE+
Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sg
ZGVhbHMgd2l0aCBjYWxsYmFja3MgZHVyaW5nIGlkbGUgcGVyaW9kcyBjb3JyZWN0bHkuPC9wPgor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZnJhbWUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjVjZmYxOTM1MjgzZTkyYjM5YWFmNTYzYmU1MGEzMjQ5YzJlOTM3OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIGNhbGxiYWNrLWlmcmFtZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxi
YWNrLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhlYzA4YTgwNGE2ZDNiMmRmYjFiNGQ2YmExZGZjYjcwZWUxODg5NDQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPjwvdGl0bGU+Cis8bWV0YSBu
YW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUgc3R5bGU9
ImRpc3BsYXk6bm9uZSIgaWQ9ImZyYW1lIj48L2lmcmFtZT4KKzxzY3JpcHQ+CisgIGFzeW5jX3Rl
c3QoZnVuY3Rpb24gKHQpIHsKKyAgICBsZXQgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZnJhbWUiKTsKKyAgICBmcmFtZS5jb250ZW50V2luZG93LnRlc3QgPSBmdW5jdGlvbigpIHsK
KyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayh0LnN0ZXBfZnVu
Y19kb25lKCkpOworICAgIH0KKworICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cudGVzdCgpOworICB9
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWludm9rZWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWludm9rZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU5NjU4Yjk4NWNlNzRjZTdlMTQ2ZTdhZjdkZmVhY2JhZWE4NzhlNjcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2staW52b2tlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgcmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFjayBpcyBpbnZva2VkIGF0IGxlYXN0
IG9uY2UgYmVmb3JlIHRoZSB0aW1lb3V0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2st
aW52b2tlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWludm9rZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ZTc5OWNmMzlmOTg1YTliYjY2YjQxODc3MWNhMGZhNTdlZTg1YWQ4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRs
ZWNhbGxiYWNrL2NhbGxiYWNrLWludm9rZWQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IWRvY3R5
cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+cmVxdWVzdElkbGVDYWxsYmFj
ayBjYWxsYmFjayBtdXN0IGJlIGNhbGxlZCBldmVudHVhbGx5PC90aXRsZT4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxzY3JpcHQ+CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBhc3NlcnRfZmFsc2Uo
ZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3QgZXhpc3QgYW5kIGJlIGZhbHNl
IHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICB3aW5kb3cucmVxdWVzdElkbGVDYWxs
YmFjayh0LnN0ZXBfZnVuY19kb25lKCkpOworICB9LCAicmVxdWVzdElkbGVDYWxsYmFjayBjYWxs
YmFjayBpcyBpbnZva2VkIGF0IGxlYXN0IG9uY2UgYmVmb3JlIHRoZSB0aW1lb3V0Iik7Cis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1tdWx0aXBsZS1jYWxscy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svY2FsbGJhY2stbXVsdGlwbGUtY2FsbHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMyYjFiYjRkOGJmOTU0ZDhkYmQ1MTZkOTQ5YWZmYjdiZDg3MWQwNDUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
cXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stbXVsdGlwbGUtY2FsbHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNiBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
KworUEFTUyByZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrcyBzaG91bGQgYmUgaW52b2tlZCBp
biBvcmRlciAoY2FsbGVkIGl0ZXJhdGl2ZWx5KSAKK1RJTUVPVVQgcmVxdWVzdElkbGVDYWxsYmFj
ayBjYWxsYmFja3Mgc2hvdWxkIGJlIGludm9rZWQgaW4gb3JkZXIgKGNhbGxlZCByZWN1cnNpdmVs
eSkgVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxl
LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stbXVsdGlwbGUtY2FsbHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YmI1MjRiZWI0MWZiODFmZDI1MjQwNzljNGJlODhlNDdjMDlhZTVlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPm11bHRp
cGxlIGNhbGxzIHRvIHJlcXVlc3RJZGxlQ2FsbGJhY2s8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNj
cmlwdD4KKyAgbGV0IG9wdGlvbiA9IHt0aW1lb3V0OiA1MH07CisKKyAgYXN5bmNfdGVzdChmdW5j
dGlvbiAodCkgeworICAgIGFzc2VydF9mYWxzZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5o
aWRkZW4gbXVzdCBleGlzdCBhbmQgYmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIp
OworICAgIHZhciBjb3VudGVyID0gMDsKKyAgICBmdW5jdGlvbiBmKGMpIHsKKyAgICAgIGFzc2Vy
dF9lcXVhbHMoY291bnRlciwgYyk7CisgICAgICBpZiAoY291bnRlciA9PT0gNDkpIHsKKyAgICAg
ICAgdC5kb25lKCk7CisgICAgICB9CisKKyAgICAgICsrY291bnRlcjsKKyAgICB9CisgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgICAgbGV0IGogPSBpOworICAgICAgd2lu
ZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sodC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCkgeyBmKGopIH0p
LCBvcHRpb24pOworICAgIH0KKyAgfSwgInJlcXVlc3RJZGxlQ2FsbGJhY2sgY2FsbGJhY2tzIHNo
b3VsZCBiZSBpbnZva2VkIGluIG9yZGVyIChjYWxsZWQgaXRlcmF0aXZlbHkpIik7CisKKyAgYXN5
bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2VydF9mYWxzZShkb2N1bWVudC5oaWRkZW4s
ICJkb2N1bWVudC5oaWRkZW4gbXVzdCBleGlzdCBhbmQgYmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVz
dCBwcm9wZXJseSIpOworICAgIHZhciBjb3VudGVyID0gMDsKKworICAgIGZ1bmN0aW9uIGYoYykg
eworICAgICAgYXNzZXJ0X2VxdWFscyhjb3VudGVyLCBjKTsKKyAgICAgIGlmIChjb3VudGVyID09
PSA0OSkgeworICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0KKworICAgICAgKytjb3VudGVyOwor
ICAgICAgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sodC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCkg
eyBmKGMgKyAxKSB9KSwgb3B0aW9uKTsKKyAgICB9CisKKyAgICB3aW5kb3cucmVxdWVzdElkbGVD
YWxsYmFjayh0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoKSB7IGYoMCkgfSksIG9wdGlvbik7CisgIH0s
ICJyZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrcyBzaG91bGQgYmUgaW52b2tlZCBpbiBvcmRl
ciAoY2FsbGVkIHJlY3Vyc2l2ZWx5KSIpOworCisgIGxldCBnZW5lcmF0ZUlkbGVQZXJpb2RzID0g
XyA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZ2VuZXJhdGVJZGxlUGVyaW9kcyk7CisgIGdlbmVy
YXRlSWRsZVBlcmlvZHMoKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNr
LXJlbW92ZWQtZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXJlbW92ZWQtZnJh
bWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlNjBlOWI5N2Y3MzAwNDRmMmNlNzIyN2ZjZDMy
YTM3NjA0ZjNiNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stcmVtb3ZlZC1m
cmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgY2FsbGluZyByZXF1ZXN0
SWRsZUNhbGxiYWNrIG9uIGEgY29udGVudFdpbmRvdyBmcm9tIGEgcmVtb3ZlZCBpZnJhbWUgc2hv
dWxkIG5vdCB0cmlnZ2VyIHRoZSBjYWxsYmFjayAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxi
YWNrLXJlbW92ZWQtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1yZW1vdmVkLWZyYW1lLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2E2M2Y2OGY4YTFlMGM5NzYzMzhlZjA4Y2YzMmIwNGJmZTg0OThlZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1yZW1vdmVkLWZyYW1lLmh0bWwKQEAg
LTAsMCArMSwzMCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRp
dGxlPnJlcXVlc3RJZGxlQ2FsbGJhY2sgb24gcmVtb3ZlZCBmcmFtZSBzaG91bGRuJ3QgY2FsbCBi
YWNrPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdD4KKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2VydF9mYWxz
ZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5oaWRkZW4gbXVzdCBleGlzdCBhbmQgYmUgZmFs
c2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIpOworCisgICAgZnVuY3Rpb24gc3RhcnQoKSB7
CisgICAgICB2YXIgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAg
ICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBfID0+IGNvbm5lY3QoZnJhbWUpLCB7
b25jZTp0cnVlfSk7CisgICAgICBmcmFtZS5zcmMgPSAiYWJvdXQ6YmxhbmsiOworICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gY29u
bmVjdChmcmFtZSkgeworICAgICAgdmFyIGNvbnRlbnRXaW5kb3cgPSBmcmFtZS5jb250ZW50V2lu
ZG93OworICAgICAgY29udGVudFdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKF8gPT4gY2FsbGJh
Y2swKGZyYW1lLCBjb250ZW50V2luZG93KSk7CisgICAgICB0LnN0ZXBfdGltZW91dChmdW5jdGlv
bigpIHsgdC5kb25lKCk7IH0sIDEwMDApOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNhbGxiYWNr
MChmLCB3KSB7CisgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGYpOworICAgICAgdy5y
ZXF1ZXN0SWRsZUNhbGxiYWNrKHQudW5yZWFjaGVkX2Z1bmMoInJlcXVlc3RJZGxlQ2FsbGJhY2sg
Y2FsbGJhY2sgc2hvdWxkIG5vdCB0cmlnZ2VyIHRoZSBjYWxsYmFjayIpKTsKKyAgICB9CisKKyAg
ICBhZGRFdmVudExpc3RlbmVyKCdsb2FkJywgc3RhcnQsIHtvbmNlOnRydWV9KTsKKyAgfSwgImNh
bGxpbmcgcmVxdWVzdElkbGVDYWxsYmFjayBvbiBhIGNvbnRlbnRXaW5kb3cgZnJvbSBhIHJlbW92
ZWQgaWZyYW1lIHNob3VsZCBub3QgdHJpZ2dlciB0aGUgY2FsbGJhY2siKTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXN1c3BlbmRlZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svY2FsbGJhY2stc3VzcGVuZGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjAyYjdjY2Uw
ZjgyZDkyMGRiMDA1ZTY0OWY1ODkwNWM4YzE3ZjFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L2NhbGxiYWNrLXN1c3BlbmRlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
RGlzcGF0Y2hpbmcgaWRsZSBjYWxsYmFja3Mgc2hvdWxkIGJlIGFibGUgdG8gYmUgc3VzcGVuZGVk
IGFuZCB0aGVuIHJlc3VtZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1zdXNwZW5k
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1zdXNwZW5kZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTFl
YzEyOGQ2NjI0YTdjYjhmZjkzMGRiNTc2M2M4NjMyZTg2ZGVmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL2NhbGxiYWNrLXN1c3BlbmRlZC5odG1sCkBAIC0wLDAgKzEsOTQgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5EaXNwYXRjaGluZyBpZGxlIGNh
bGxiYWNrcyBzaG91bGQgYmUgYWJsZSB0byBiZSBzdXNwZW5kZWQgYW5kIHRoZW4gcmVzdW1lZDwv
dGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHdpdGhFdmVudExpc3RlbmVyKHRhcmdldCwgZXZlbnQsIGhh
bmRsZXIpIHsKKyAgICBoYW5kbGVyID0gaGFuZGxlciB8fCAoZSA9PiBlKTsKKyAgICByZXR1cm4g
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBsZXQgd3JhcHBlciA9IGZ1bmN0aW9uKGUp
IHsKKyAgICAgICAgbGV0IHJlc3VsdCA9IGhhbmRsZXIoZSk7CisgICAgICAgIGlmICghcmVzdWx0
KSB7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgcmVzb2x2ZShyZXN1
bHQpOworICAgICAgfQorICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIHdyYXBw
ZXIsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICB9KTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VQb3N0
QmFja1VybChuYW1lKSB7CisgICAgcmV0dXJuIG5ldyBVUkwoJ3Jlc291cmNlcy9wb3N0X25hbWVf
b25fbG9hZC5odG1sP25hbWU9JyArIG5hbWUsCisgICAgICAgICAgICAgICAgICAgd2luZG93Lmxv
Y2F0aW9uKS5ocmVmOworICB9CisKKyAgZnVuY3Rpb24gd2FpdEZvck1lc3NhZ2UobWVzc2FnZSwg
aGFuZGxlcikgeworICAgIHJldHVybiB3aXRoRXZlbnRMaXN0ZW5lcih3aW5kb3csICdtZXNzYWdl
JywgZSA9PiAoZS5kYXRhID09PSBtZXNzYWdlKSAmJiBoYW5kbGVyKGUpKTs7CisgIH0KKworICBm
dW5jdGlvbiB3aXRoV2luZG93KG5hbWUpIHsKKyAgICBsZXQgd2luID0gd2luZG93Lm9wZW4obWFr
ZVBvc3RCYWNrVXJsKG5hbWUpKQorICAgIHJldHVybiB3YWl0Rm9yTWVzc2FnZShuYW1lLCBfID0+
IHdpbik7CisgIH0KKworICBmdW5jdGlvbiBuYXZpZ2F0ZVdpbmRvdyh3aW4sIG5hbWUpIHsKKyAg
ICB3aW4ubG9jYXRpb24gPSBtYWtlUG9zdEJhY2tVcmwobmFtZSk7CisgICAgcmV0dXJuIHdhaXRG
b3JNZXNzYWdlKG5hbWUsIF8gPT4gd2luKTsKKyAgfQorCisgIGZ1bmN0aW9uIHdhaXREdXJhdGlv
bihkZWxheSkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHN0
ZXBfdGltZW91dChyZXNvbHZlLCBkZWxheSk7CisgICAgfSkKKyAgfQorCisgIGZ1bmN0aW9uIGdv
QmFjayh3aW4pIHsKKyAgICB2YXIgcCA9IHdpdGhFdmVudExpc3RlbmVyKHdpbiwgJ3BhZ2VoaWRl
Jyk7CisgICAgd2luLmhpc3RvcnkuYmFjaygpOworICAgIHJldHVybiBwOworICB9CisKKyAgcHJv
bWlzZV90ZXN0KHQgPT4geworICAgIGxldCBpZGxlQ2FsbGVkID0gZmFsc2U7CisgICAgbGV0IHJ1
bm5pbmcgPSB0cnVlOworICAgIHJldHVybiB3aXRoV2luZG93KCdmb28nKQorICAgICAgLnRoZW4o
d2luID0+IHsKKyAgICAgICAgbGV0IGNhbGxiYWNrID0gZnVuY3Rpb24oZCkgeworICAgICAgICAg
IGlkbGVDYWxsZWQgPSB0cnVlOworICAgICAgICAgIGlmIChydW5uaW5nKSB7CisgICAgICAgICAg
ICB3aW4ucmVxdWVzdElkbGVDYWxsYmFjayhjYWxsYmFjayk7CisgICAgICAgICAgfQorICAgICAg
ICB9OworCisgICAgICAgIHdpbi5yZXF1ZXN0SWRsZUNhbGxiYWNrKGNhbGxiYWNrKTsKKworICAg
ICAgICByZXR1cm4gbmF2aWdhdGVXaW5kb3cod2luLCAnYmFyJykKKyAgICAgICAgICAudGhlbihf
ID0+IGlkbGVDYWxsZWQgPSBmYWxzZSkKKyAgICAgICAgICAudGhlbihfID0+IHdhaXREdXJhdGlv
bigyMDAwKSkKKyAgICAgICAgICAudGhlbihfID0+IHsKKyAgICAgICAgICAgIGFzc2VydF9mYWxz
ZShpZGxlQ2FsbGVkLCAiaWRsZSBjYWxsYmFjayBzaG91bGRuJ3QgaGF2ZSBiZWVuIGNhbGxlZCB5
ZXQiKTsKKyAgICAgICAgICAgIHJldHVybiBnb0JhY2sod2luKTsKKyAgICAgICAgICB9KQorICAg
ICAgICAgIC50aGVuKF8gPT4gUHJvbWlzZS5yYWNlKFsKKyAgICAgICAgICAgIC8vIEF0IHRoaXMg
cG9pbnQgaXQncyBhIG1hdHRlciBvZiBoYXZpbmcgYmZjYWNoZSAuLi4KKyAgICAgICAgICAgIHdh
aXREdXJhdGlvbigyMDAwKQorICAgICAgICAgICAgICAudGhlbihfID0+IHsKKyAgICAgICAgICAg
ICAgICBhc3NlcnRfdHJ1ZShpZGxlQ2FsbGVkLCAiaWRsZSBjYWxsYmFjayBzaG91bGQndmUgYmVl
biBjYWxsZWQgYnkgbm93Iik7CisgICAgICAgICAgICAgICAgcnVubmluZyA9IGZhbHNlOworICAg
ICAgICAgICAgICB9KSwKKyAgICAgICAgICAgIC8vIC4uLiBvciBub3QuIElmIG5vdCwgd2UgZXhw
ZWN0IGEgbG9hZCBldmVudC4KKyAgICAgICAgICAgIHdhaXRGb3JNZXNzYWdlKCJmb28iLCBfID0+
IHdpbikKKyAgICAgICAgICBdKSkKKyAgICAgICAgICAudGhlbihfID0+IHdpbi5jbG9zZSgpKQor
ICAgICAgICAgIC5jYXRjaChlID0+IHsKKyAgICAgICAgICAgIHdpbi5jbG9zZSgpOworICAgICAg
ICAgICAgdGhyb3cgZTsKKyAgICAgICAgICB9KQorICAgICAgfSk7CisgIH0pOworCis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxs
YmFjay9jYWxsYmFjay10aW1lb3V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNDMwNDA1MzYw
YjI1Y2Y2OGU3ODRkNzhiMzNiMThlY2FjY2VlZjBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L2NhbGxiYWNrLXRpbWVvdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIHJl
cXVlc3RJZGxlQ2FsbGJhY2sgY2FsbGJhY2sgc2hvdWxkIHRpbWUgb3V0IGFzc2VydF9mYWxzZTog
ZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK0ZBSUwgcmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFj
ayBzaG91bGQgbm90IHRpbWUgb3V0IGFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRy
dWUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtd2hlbi1idXN5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTlhNDljYTJhOGJjMDE5MjQ0ODQxZTM0Y2VmNTNjZDQzZDEyOGIxOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0IG9mIHJlcXVlc3RJZGxlQ2FsbGJhY2sgdGltZW91
dCBiZWhhdmlvcgorCisKK0ZBSUwgcmVxdWVzdElkbGVDYWxsYmFjayBub3Qgc2NoZWR1bGVkIHdo
ZW4gZXZlbnQgbG9vcCBpcyBidXN5LiBhc3NlcnRfZmFsc2U6IElkbGVEZWFkbGluZS5kaWRUaW1l
b3V0IE1VU1QgYmUgZmFsc2UgaWYgcmVxdWVzdElkbGVDYWxsYmFjayB3YXNuJ3Qgc2NoZWR1bGVk
IGR1ZSB0byBhIHRpbWVvdXQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK0ZBSUwgcmVxdWVzdElk
bGVDYWxsYmFjayBzY2hlZHVsZWQgd2l0aCB0aW1lb3V0IHdoZW4gZXZlbnQgbG9vcCBpcyBidXN5
LiBhc3NlcnRfdHJ1ZTogU2hvdWxkIG9ubHkgaGF2ZSBiZWVuIHJ1biBhZnRlciB0aW1lb3V0IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1l
b3V0LXdoZW4tYnVzeS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtd2hlbi1idXN5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzllMTdmN2I3M2ZjMDA3YjIwZTNlYzY0YTNhNWI0YjdjZGQ5Y2FjMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS5odG1s
CkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPndpbmRvdy5yZXF1ZXN0
SWRsZUNhbGxiYWNrIGRlYWxzIHdpdGggdGltZW91dHMgY29ycmVjdGx5PC90aXRsZT4KKzxtZXRh
IG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJSb3NzIE1jSWxyb3kiIGhyZWY9Im1haWx0bzpybWNpbHJveUBjaHJvbWl1bS5vcmciIC8+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAvLyBDaGVjayB3aGV0aGVyIHJlcXVlc3RJ
ZGxlQ2FsbGJhY2sgd2l0aCBhIHRpbWVvdXQgd29ya3Mgd2hlbiB0aGUgZXZlbnQgbG9vcAorICAv
LyBpcyBidXN5LgorICB2YXIgYnVzeV9sb29wX2l0ZXJhdGlvbnNfcmVtYWluaW5nID0gMTA7ICAv
LyBTaG91bGQgdGFrZSAyMCAqIDQwID0gNDAwbXMKKyAgdmFyIGlkbGVfY2FsbGJhY2tfc2NoZWR1
bGVkOworICB2YXIgaWRsZV9jYWxsYmFjayA9IHRoaXMuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24o
ZGVhZGxpbmUpIHsKKyAgICBhc3NlcnRfZmFsc2UoZGVhZGxpbmUuZGlkVGltZW91dCwgIklkbGVE
ZWFkbGluZS5kaWRUaW1lb3V0IE1VU1QgYmUgZmFsc2UgaWYgcmVxdWVzdElkbGVDYWxsYmFjayB3
YXNuJ3Qgc2NoZWR1bGVkIGR1ZSB0byBhIHRpbWVvdXQiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGJ1
c3lfbG9vcF9pdGVyYXRpb25zX3JlbWFpbmluZywgMCwgIkJ1c3kgZXZlbnQgbG9vcCBzaG91bGQg
YmUgZmluaXNoZWQgYnkgdGhlIHRpbWUgd2UgZ2V0IHNjaGVkdWxlZCIpOworICB9KTsKKworICB2
YXIgYnVzeV9sb29wX2l0ZXJhdGlvbnNfcmVtYWluaW5nID0gMTA7ICAvLyBTaG91bGQgdGFrZSAy
MCAqIDQwID0gNDAwbXMKKyAgc3RlcF90aW1lb3V0KHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uIGJ1
c3lMb29wKCkgeworICAgIHZhciBzdGFydF90aW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAg
aWYgKCFpZGxlX2NhbGxiYWNrX3NjaGVkdWxlZCkgeworICAgICAgaWRsZV9jYWxsYmFja19zY2hl
ZHVsZWQgPSBzdGFydF90aW1lOworICAgICAgcmVxdWVzdElkbGVDYWxsYmFjayhpZGxlX2NhbGxi
YWNrKTsKKyAgICB9CisKKyAgICAvLyBVc2UgdXAgbW9yZSB0aGFuIGEgZnJhbWVzIHdvcnRoIG9m
IGJ1ZGdldC4KKyAgICB3aGlsZSAocGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydF90aW1lIDwgNDAp
IHsKKyAgICB9CisgICAgaWYgKGJ1c3lfbG9vcF9pdGVyYXRpb25zX3JlbWFpbmluZyA+IDApIHsK
KyAgICAgIGJ1c3lfbG9vcF9pdGVyYXRpb25zX3JlbWFpbmluZy0tOworICAgICAgc3RlcF90aW1l
b3V0KGJ1c3lMb29wKTsKKyAgICB9CisgIH0pKTsKK30sICdyZXF1ZXN0SWRsZUNhbGxiYWNrIG5v
dCBzY2hlZHVsZWQgd2hlbiBldmVudCBsb29wIGlzIGJ1c3kuJyk7CisKK2FzeW5jX3Rlc3QoZnVu
Y3Rpb24oKSB7CisgIC8vIENoZWNrIHdoZXRoZXIgcmVxdWVzdElkbGVDYWxsYmFjayB3aXRoIGEg
dGltZW91dCB3b3JrcyB3aGVuIHRoZSBldmVudCBsb29wCisgIC8vIGlzIGJ1c3kuCisgIHZhciBi
dXN5X2xvb3BfaXRlcmF0aW9uc19yZW1haW5pbmcgPSAxMDsgIC8vIFNob3VsZCB0YWtlIDIwICog
NDAgPSA0MDBtcworICB2YXIgdGltZW91dCA9IDIwMDsKKyAgdmFyIGlkbGVfY2FsbGJhY2tfc2No
ZWR1bGVkOworICB2YXIgaWRsZV9jYWxsYmFjayA9IHRoaXMuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24oZGVhZGxpbmUpIHsKKyAgICB2YXIgdGltZV9kZWx0YSA9IHBlcmZvcm1hbmNlLm5vdygpIC0g
aWRsZV9jYWxsYmFja19zY2hlZHVsZWQ7CisgICAgYXNzZXJ0X3RydWUodGltZV9kZWx0YSA+PSB0
aW1lb3V0LCAiU2hvdWxkIG9ubHkgaGF2ZSBiZWVuIHJ1biBhZnRlciB0aW1lb3V0Iik7CisgICAg
YXNzZXJ0X3RydWUoZGVhZGxpbmUudGltZVJlbWFpbmluZygpID09IDAsICJJZGxlRGVhZGxpbmUu
dGltZVJlbWFpbmluZyBNVVNUIGJlIGVxdWFsIHRvIHplcm8gaWYgcmVxdWVzdElkbGVDYWxsYmFj
ayB3YXMgc2NoZWR1bGVkIGR1ZSB0byBhIHRpbWVvdXQiKTsKKyAgICBhc3NlcnRfdHJ1ZShkZWFk
bGluZS5kaWRUaW1lb3V0LCAiSWRsZURlYWRsaW5lLmRpZFRpbWVvdXQgTVVTVCBiZSB0cnVlIGlm
IHJlcXVlc3RJZGxlQ2FsbGJhY2sgd2FzIHNjaGVkdWxlZCBkdWUgdG8gYSB0aW1lb3V0Iik7Cisg
ICAgYXNzZXJ0X3RydWUoYnVzeV9sb29wX2l0ZXJhdGlvbnNfcmVtYWluaW5nID4gMCwgIkJ1c3kg
ZXZlbnQgbG9vcCBzaG91bGQgc3RpbGwgYmUgZ29pbmciKTsKKyAgfSk7CisKKyAgc3RlcF90aW1l
b3V0KHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uIGJ1c3lMb29wKCkgeworICAgIHZhciBzdGFydF90
aW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgaWYgKCFpZGxlX2NhbGxiYWNrX3NjaGVkdWxl
ZCkgeworICAgICAgaWRsZV9jYWxsYmFja19zY2hlZHVsZWQgPSBzdGFydF90aW1lOworICAgICAg
cmVxdWVzdElkbGVDYWxsYmFjayhpZGxlX2NhbGxiYWNrLCB7IHRpbWVvdXQ6IHRpbWVvdXQgfSk7
CisgICAgfQorCisgICAgLy8gVXNlIHVwIG1vcmUgdGhhbiBhIGZyYW1lcyB3b3J0aCBvZiBidWRn
ZXQuCisgICAgd2hpbGUgKHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRfdGltZSA8IDQwKSB7Cisg
ICAgfQorICAgIGlmIChidXN5X2xvb3BfaXRlcmF0aW9uc19yZW1haW5pbmcgPiAwKSB7CisgICAg
ICBidXN5X2xvb3BfaXRlcmF0aW9uc19yZW1haW5pbmctLTsKKyAgICAgIHN0ZXBfdGltZW91dChi
dXN5TG9vcCk7CisgICAgfQorICB9KSk7Cit9LCAncmVxdWVzdElkbGVDYWxsYmFjayBzY2hlZHVs
ZWQgd2l0aCB0aW1lb3V0IHdoZW4gZXZlbnQgbG9vcCBpcyBidXN5LicpOworCis8L3NjcmlwdD4K
KzxoMT5UZXN0IG9mIHJlcXVlc3RJZGxlQ2FsbGJhY2sgdGltZW91dCBiZWhhdmlvcjwvaDE+Cis8
ZGl2IGlkPSJsb2ciPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVz
dGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ4ODY0ZjNh
MTMzZmEyNjhmZTIzOWE5ODMwMzNkNjMyMjQ3ZmU4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9jYWxsYmFjay10aW1lb3V0Lmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPnJlcXVlc3RJZGxlQ2FsbGJhY2sgdGltZW91
dCBjYWxsYmFjayBtdXN0IGJlIGNhbGxlZCB3aXRoIGRpZFRpbWVvdXQgZXF1YWwgdG8gdHJ1ZTwv
dGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxzY3JpcHQ+CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBhc3NlcnRfZmFsc2Uo
ZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3QgZXhpc3QgYW5kIGJlIGZhbHNl
IHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICB2YXIgY291bnRlciA9IDA7CisKKyAg
ICBmdW5jdGlvbiBnKGRlYWRsaW5lKSB7CisgICAgICBhc3NlcnRfdHJ1ZShkZWFkbGluZS5kaWRU
aW1lb3V0KQorICAgICAgdC5kb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZihkZWFkbGlu
ZSkgeworICAgICAgYXNzZXJ0X2ZhbHNlKGRlYWRsaW5lLmRpZFRpbWVvdXQpOworICAgICAgd2lu
ZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sodC5zdGVwX2Z1bmMoZyksIHt0aW1lb3V0OjMwMH0pOwor
CisgICAgICB2YXIgZCA9IERhdGUubm93KCkgKyA1MDA7CisgICAgICB3aGlsZSAoRGF0ZS5ub3co
KSA8IGQpIHsKKworICAgICAgfQorICAgIH0KKyAgICB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFj
ayh0LnN0ZXBfZnVuYyhmKSk7CisgIH0sICJyZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrIHNo
b3VsZCB0aW1lIG91dCIpOworCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBhc3Nl
cnRfZmFsc2UoZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3QgZXhpc3QgYW5k
IGJlIGZhbHNlIHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICBmdW5jdGlvbiBnKGRl
YWRsaW5lKSB7CisgICAgICBhc3NlcnRfZmFsc2UoZGVhZGxpbmUuZGlkVGltZW91dCkKKyAgICAg
IHQuZG9uZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGYoZGVhZGxpbmUpIHsKKyAgICAgIGFz
c2VydF9mYWxzZShkZWFkbGluZS5kaWRUaW1lb3V0KTsKKyAgICAgIHdpbmRvdy5yZXF1ZXN0SWRs
ZUNhbGxiYWNrKHQuc3RlcF9mdW5jKGcpLCB7dGltZW91dDoxMDAwMDB9KTsKKyAgICB9CisgICAg
d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sodC5zdGVwX2Z1bmMoZikpOworICB9LCAicmVxdWVz
dElkbGVDYWxsYmFjayBjYWxsYmFjayBzaG91bGQgbm90IHRpbWUgb3V0Iik7CisKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxs
YmFjay9jYWxsYmFjay14aHItc3luYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzc1ZmRiZmEz
Nzc3MGIzY2U0NDAzMjk3MWNhOWEyNWE0M2Q3YTU5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9jYWxsYmFjay14aHItc3luYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK0hhcm5l
c3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIHJlLXNjaGVkdWxl
IGlkbGUgY2FsbGJhY2tzIGFmdGVyIHN5bmMgeGhyIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlk
bGVjYWxsYmFjay9jYWxsYmFjay14aHItc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1z
eW5jLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBhYTVkMjhkNmUwYjU0MWNhNjNjYzY2ODQzZGYyZDUwOThl
OGZjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay14aHItc3luYy5odG1sCkBA
IC0wLDAgKzEsMTcgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0
aXRsZT48L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGFz
eW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICByZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bmN0aW9u
KCkgeworICAgICAgcmVxdWVzdElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9u
ICgpIHt9KSkKKyAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgIHho
ci5vcGVuKCJHRVQiLCAid3d3LmVtYW1wbGUuY29tIiwgZmFsc2UpOworICAgICAgeGhyLm9ubG9h
ZCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpIHt9KTsKKyAgICAgIHhoci5zZW5kKG51bGwpOwor
ICAgIH0pOworICB9LCAicmUtc2NoZWR1bGUgaWRsZSBjYWxsYmFja3MgYWZ0ZXIgc3luYyB4aHIi
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNlbC1pbnZva2VkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVz
dGlkbGVjYWxsYmFjay9jYW5jZWwtaW52b2tlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ1
NGNmMTNiYzQ5MzNiYjIzMDkxMTgwOTFjMThjMDZiZWNlZjEzOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVj
YWxsYmFjay9jYW5jZWwtaW52b2tlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BB
U1MgY2FuY2VsSWRsZUNhbGxiYWNrIGRvZXMgbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWxsYmFj
ayB3aXRoIHRoZSBnaXZlbiBoYW5kbGUgCitQQVNTIEEgY2FuY2VsbGVkIGNhbGxiYWNrIGlzIG5l
dmVyIGludm9rZWQgCitQQVNTIENhbmNlbGxpbmcgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgaWRs
ZSBjYWxsYmFjayBzaG91bGQgYmUgYWxsb3dlZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNl
bC1pbnZva2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FuY2VsLWludm9rZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
ZmI3N2Q2NWRjNTE2Mzk4OGM5MjI1ODNkYjlkNzE3MzEyY2VmNTNkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRs
ZWNhbGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPmNhbmNlbGxpbmcgaWRsZSByZXF1
ZXN0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Njcmlw
dD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorICB0ZXN0KGZ1bmN0aW9uICh0KSB7
CisgICAgd2luZG93LmNhbmNlbElkbGVDYWxsYmFjayg0Mik7CisgICAgYXNzZXJ0X3RydWUodHJ1
ZSk7CisgIH0sICJjYW5jZWxJZGxlQ2FsbGJhY2sgZG9lcyBub3RoaW5nIGlmIHRoZXJlIGlzIG5v
IGNhbGxiYWNrIHdpdGggdGhlIGdpdmVuIGhhbmRsZSIpOworCisgIGFzeW5jX3Rlc3QoZnVuY3Rp
b24gKHQpIHsKKyAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlk
ZGVuIG11c3QgZXhpc3QgYW5kIGJlIGZhbHNlIHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsK
KyAgICB2YXIgbmV2ZXJDYWxsZWQgPSB0cnVlOworICAgIHZhciBoYW5kbGUgPSB3aW5kb3cucmVx
dWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbiAoKSB7CisgICAgICBuZXZlckNhbGxlZCA9IGZhbHNl
OworICAgIH0pOworICAgIHdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2soaGFuZGxlKTsKKworICAg
IHQuc3RlcF90aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X3RydWUobmV2ZXJDYWxs
ZWQpOworICAgICAgdC5kb25lKCk7CisgICAgfSwgMjAwMCk7CisgIH0sICJBIGNhbmNlbGxlZCBj
YWxsYmFjayBpcyBuZXZlciBpbnZva2VkIik7CisKKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkg
eworICAgIHZhciBoYW5kbGUgPSByZXF1ZXN0SWRsZUNhbGxiYWNrKHQuc3RlcF9mdW5jX2RvbmUo
ZnVuY3Rpb24gKCkgeworICAgICAgY2FuY2VsSWRsZUNhbGxiYWNrKGhhbmRsZSk7CisgICAgfSkp
OworICB9LCAiQ2FuY2VsbGluZyB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBpZGxlIGNhbGxiYWNr
IHNob3VsZCBiZSBhbGxvd2VkIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9pZGxo
YXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlNTJjNmRhYjE0MTY0NzBlZDNjZGNlNDM3NmU2ZTc5NGMx
YWJhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKKworUEFTUyBpZGxfdGVzdCBzZXR1cCAKK1BBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgV2luZG93OiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCAKK1BBU1Mg
SWRsZURlYWRsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCitQQVNTIElkbGVEZWFkbGluZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
K1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgSWRsZURlYWRs
aW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IAorUEFTUyBJZGxlRGVhZGxpbmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IAorUEFTUyBJZGxlRGVhZGxpbmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHBy
b3BlcnR5IAorUEFTUyBJZGxlRGVhZGxpbmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gdGltZVJlbWFp
bmluZygpIAorUEFTUyBJZGxlRGVhZGxpbmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGlkVGltZW91
dCAKK1BBU1MgSWRsZURlYWRsaW5lIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZGVhZGxp
bmUgCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBkZWFkbGluZSAKK1BBU1MgSWRsZURlYWRsaW5l
IGludGVyZmFjZTogZGVhZGxpbmUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0aW1lUmVtYWluaW5n
KCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJZGxlRGVhZGxpbmUgaW50ZXJmYWNlOiBk
ZWFkbGluZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRpZFRpbWVvdXQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVxdWVzdElkbGVDYWxs
YmFjayhJZGxlUmVxdWVzdENhbGxiYWNrLCBJZGxlUmVxdWVzdE9wdGlvbnMpIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2FuY2VsSWRsZUNhbGxiYWNrKHVuc2lnbmVkIGxvbmcp
IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJy
ZXF1ZXN0SWRsZUNhbGxiYWNrKElkbGVSZXF1ZXN0Q2FsbGJhY2ssIElkbGVSZXF1ZXN0T3B0aW9u
cykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBjYWxsaW5n
IHJlcXVlc3RJZGxlQ2FsbGJhY2soSWRsZVJlcXVlc3RDYWxsYmFjaywgSWRsZVJlcXVlc3RPcHRp
b25zKSBvbiB3aW5kb3cgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
Y2FuY2VsSWRsZUNhbGxiYWNrKHVuc2lnbmVkIGxvbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
K1BBU1MgV2luZG93IGludGVyZmFjZTogY2FsbGluZyBjYW5jZWxJZGxlQ2FsbGJhY2sodW5zaWdu
ZWQgbG9uZykgb24gd2luZG93IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxi
YWNrL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1
ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9pZGxoYXJu
ZXNzLndpbmRvdy5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVk
IGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0
IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9pZGxo
YXJuZXNzLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9pZGxoYXJuZXNzLndpbmRvdy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OWNkNWE0OWIwNDMyYTY1ZGI5ZGEyNjcyNDhhNmY5N2Q5M2NkMGI5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mud2luZG93LmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIE1F
VEE6IHNjcmlwdD0vcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcworLy8gTUVUQTogc2NyaXB0PS9y
ZXNvdXJjZXMvaWRsaGFybmVzcy5qcworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vcmVxdWVz
dGlkbGVjYWxsYmFjay8KKworJ3VzZSBzdHJpY3QnOworCitpZGxfdGVzdCgKKyAgWydyZXF1ZXN0
aWRsZWNhbGxiYWNrJ10sCisgIFsnaHRtbCcsICdkb20nXSwKKyAgYXN5bmMgaWRsX2FycmF5ID0+
IHsKKyAgICBpZGxfYXJyYXkuYWRkX29iamVjdHMoeworICAgICAgSWRsZURlYWRsaW5lOiBbJ2Rl
YWRsaW5lJ10sCisgICAgICBXaW5kb3c6IFsnd2luZG93J10sCisgICAgfSk7CisKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2soZCA9
PiB7CisgICAgICAgIHNlbGYuZGVhZGxpbmUgPSBkOworICAgICAgICByZXNvbHZlKCk7CisgICAg
ICB9LCB7IHRpbWVvdXQ6IDEwMCB9KTsKKyAgICB9KTsKKyAgfQorKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxs
YmFjay9yZXNvdXJjZXMvcG9zdF9uYW1lX29uX2xvYWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9yZXNvdXJjZXMv
cG9zdF9uYW1lX29uX2xvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Njc5YTZlNmVjNzNlYTRjMmRhZTY0
NmIwZjAyN2RkN2YyY2U2ODIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3Jlc291cmNlcy9w
b3N0X25hbWVfb25fbG9hZC5odG1sCkBAIC0wLDAgKzEsNyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
c2NyaXB0PgorICBhZGRFdmVudExpc3RlbmVyKCdsb2FkJywgXyA9PiB7CisgICAgbGV0IHBhcmFt
cyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7CisgICAgd2lu
ZG93Lm9wZW5lci5wb3N0TWVzc2FnZShwYXJhbXMuZ2V0KCduYW1lJyksICcqJyk7CisgIH0pOwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzRkNGU2MzhjZDc1
MjY2OTY4OThmMzIwNmVlYmJlZGUyY2ViZTAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE3IEBACitUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2sv
cmVzb3VyY2VzL3Bvc3RfbmFtZV9vbl9sb2FkLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVxdWVzdGlkbGVjYWxsYmFjay93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWRhNDM4MGFh
NDM2ZWU0NDBkM2U3ODcyMzkxYjg1NzE3N2FmZDE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMzAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9NRVRBLnlt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlk
bGVjYWxsYmFjay9iYXNpYy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWV4Y2VwdGlvbi5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL2NhbGxiYWNrLWlkbGUtcGVyaW9kcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlmcmFt
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWludm9rZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1t
dWx0aXBsZS1jYWxscy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXJlbW92ZWQtZnJhbWUuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVj
YWxsYmFjay9jYWxsYmFjay1zdXNwZW5kZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0
LXdoZW4tYnVzeS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9j
YWxsYmFjay14aHItc3luYy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svaWRsaGFybmVzcy53aW5kb3cuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9w
dGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCA1MmViZDY1
MmFhZWJjZjI4NmJkMWQ2NDZmYTExYmZjMTFmY2Q1NzQxLi44NTg0ZjllMWEwMjg4ZmZlOGM1N2Q0
MDc2MGQ0MTY1ZmYyNTIwMTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25z
Lmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0xODAyLDYgKzE4
MDIsMjEgQEAKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9xdWlya3MvaGFz
aGxlc3MtaGV4LWNvbG9yLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCisgICAgImlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFj
ay1pZnJhbWUuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXN1c3Bl
bmRlZC5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stdGltZW91dC13
aGVuLWJ1c3kuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVv
dXQuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLmh0
bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCiAgICAgImltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLXRpbWluZy1sZXZlbDEuc3ViLmh0
bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380936</attachid>
            <date>2019-10-14 16:40:35 -0700</date>
            <delta_ts>2019-10-14 16:45:15 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-202946-20191014164034.patch</filename>
            <type>text/plain</type>
            <size>44374</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1MTEwNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTE0ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcG9ydCBXM0MgdGVzdHMgZm9yIHJlcXVlc3Rp
ZGxlY2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMjk0NgorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAg
ICAqIHRlc3RzLW9wdGlvbnMuanNvbjoKKwogMjAxOS0xMC0xNCAgUnVzc2VsbCBFcHN0ZWluICA8
cmVwc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFsgaU9TMTMgXSBMYXlvdXQgdGVzdCBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMuaHRt
bCBpcyBjb25zaXN0ZW50bHkgRmFpbGluZyAoMjAyOTYwKQpJbmRleDogTGF5b3V0VGVzdHMvdGVz
dHMtb3B0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMu
anNvbgkocmV2aXNpb24gMjUxMTA3KQorKysgTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29u
CSh3b3JraW5nIGNvcHkpCkBAIC0xODAyLDYgKzE4MDIsMjEgQEAKICAgICAiaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9xdWlya3MvaGFzaGxlc3MtaGV4LWNvbG9yLmh0bWwiOiBbCiAg
ICAgICAgICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZnJhbWUuaHRtbCI6IFsKKyAgICAgICAg
InNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXN1c3BlbmRlZC5odG1sIjogWworICAgICAgICAic2xv
dyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2stdGltZW91dC13aGVuLWJ1c3kuaHRtbCI6IFsKKyAgICAgICAg
InNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQuaHRtbCI6IFsKKyAgICAgICAgInNsb3ci
CisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRs
ZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAg
IF0sCiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlLXRpbWluZy1sZXZlbDEuc3ViLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAg
IF0sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MTEwNykK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSw0NiBAQAorMjAxOS0xMC0xNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBvcnQgVzNDIHRlc3RzIGZvciByZXF1ZXN0aWRsZWNhbGxiYWNrCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5NDYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgSW1wb3J0ZWQgd2Vi
IHBsYXRmb3JtIHRlc3RzIGZvciByZXF1ZXN0aWRsZWNhbGxiYWNrIGFzIG9mIDM4YzJlOGQ1M2M5
ZTU0ZjVjNGE5MTRkMTUyOGFmZjRlNjBmMDdjZGYuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2Jhc2ljLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L2NhbGxiYWNrLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWV4Y2VwdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9jYWxsYmFjay1pZGxlLXBlcmlvZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZGxlLXBlcmlv
ZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2staWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxi
YWNrL2NhbGxiYWNrLWludm9rZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pbnZva2VkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stbXVsdGlwbGUt
Y2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2stcmVtb3ZlZC1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNr
LXJlbW92ZWQtZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stc3VzcGVuZGVkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2Fs
bGJhY2stc3VzcGVuZGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxs
YmFjay10aW1lb3V0LXdoZW4tYnVzeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtd2hl
bi1idXN5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2steGhyLXN5bmMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlk
bGVjYWxsYmFjay9jYWxsYmFjay14aHItc3luYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYW5jZWwtaW52b2tlZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svaWRsaGFybmVzcy53aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3cuanM6IEFkZGVkLgor
ICAgICAgICAoYXN5bmMuaWRsX2FycmF5LmF3YWl0Lm5ldy5Qcm9taXNlLnJlc29sdmUucmVzb2x2
ZSk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svcmVz
b3VyY2VzL3Bvc3RfbmFtZV9vbl9sb2FkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2sv
dzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTEwLTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBIHJlc3BvbnNlIGJvZHkgcHJvbWlzZSBzaG91bGQg
YmUgcmVqZWN0ZWQgaW4gY2FzZSBvZiBhIGZhaWx1cmUgaGFwcGVuaW5nIGFmdGVyIHRoZSBIVFRQ
IHJlc3BvbnNlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjUxMTA3KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTMwOCw3ICszMDgsNyBAQAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvcXVpcmtzL3VuaXRsZXNzLWxlbmd0aCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3JlZmVycmVyLXBvbGljeSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL3JlbW90ZS1wbGF5YmFjayI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrIjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2siOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZyI6ICJpbXBvcnQiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9NRVRBLnltbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svTUVUQS55bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL01FVEEueW1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorc3BlYzogaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3JlcXVlc3RpZGxlY2FsbGJhY2svCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIGZhcnJl
CisgIC0gcm1jaWxyb3kKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9iYXNpYy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrL2Jhc2ljLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2sv
YmFzaWMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK0Jhc2lj
IHJlcXVlc3RJZGxlQ2FsbGJhY2sgVGVzdHMKKworCitQQVNTIHdpbmRvdy5yZXF1ZXN0SWRsZUNh
bGxiYWNrIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2sgaXMgZGVm
aW5lZCAKK1BBU1Mgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soKSByZXR1cm5zIGEgbnVtYmVy
IAorUEFTUyB3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrKCkgcmV0dXJucyB1bmRlZmluZWQgCitG
QUlMIHJlcXVlc3RJZGxlQ2FsbGJhY2sgc2NoZWR1bGVzIGNhbGxiYWNrcyBhc3NlcnRfdHJ1ZTog
SWRsZURlYWRsaW5lLnRpbWVSZW1haW5pbmcoKSBNVVNUIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0
byA1MG1zIGluIHRoZSBmdXR1cmUuIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIGNhbmNl
bElkbGVDYWxsYmFjayBjYW5jZWxzIGNhbGxiYWNrcyAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2Jhc2ljLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2Jhc2ljLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxi
YWNrL2Jhc2ljLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVxdWVzdElkbGVD
YWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPHRpdGxlPndpbmRvdy5yZXF1ZXN0SWRsZUNhbGxi
YWNrIGV4aXN0czwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlJvc3MgTWNJbHJv
eSIgaHJlZj0ibWFpbHRvOnJtY2lscm95QGNocm9taXVtLm9yZyIgLz4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBUaGUgd2lu
ZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sgZnVuY3Rpb24gaXMgdXNlZCB0byByZXF1ZXN0IGNhbGxi
YWNrcyBkdXJpbmcgYnJvd3Nlci1kZWZpbmVkIGlkbGUgdGltZS4KK3Rlc3QoZnVuY3Rpb24oKSB7
CisgIGFzc2VydF9lcXVhbHModHlwZW9mIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrLCAiZnVu
Y3Rpb24iKTsKK30sICJ3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayBpcyBkZWZpbmVkIik7CisK
Ky8vIFRoZSB3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2Fu
Y2VsIGNhbGxiYWNrcyBzY2hlZHVsZWQgdmlhIHJlcXVlc3RJZGxlQ2FsbGJhY2suCit0ZXN0KGZ1
bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKHR5cGVvZiB3aW5kb3cuY2FuY2VsSWRsZUNhbGxi
YWNrLCAiZnVuY3Rpb24iKTsKK30sICJ3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrIGlzIGRlZmlu
ZWQiKTsKKworLy8gVGhlIHJlcXVlc3RJZGxlQ2FsbGJhY2sgbWV0aG9kIE1VU1QgcmV0dXJuIGEg
bG9uZwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Ygd2luZG93LnJl
cXVlc3RJZGxlQ2FsbGJhY2soZnVuY3Rpb24oKSB7fSksICJudW1iZXIiKTsKK30sICJ3aW5kb3cu
cmVxdWVzdElkbGVDYWxsYmFjaygpIHJldHVybnMgYSBudW1iZXIiKTsKKworLy8gVGhlIGNhbmNl
bElkbGVDYWxsYmFjayBtZXRob2QgTVVTVCByZXR1cm4gdm9pZAordGVzdChmdW5jdGlvbigpIHsK
KyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Ygd2luZG93LmNhbmNlbElkbGVDYWxsYmFjaygxKSwgInVu
ZGVmaW5lZCIpOworfSwgIndpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2soKSByZXR1cm5zIHVuZGVm
aW5lZCIpOworCithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAvLyBDaGVjayB3aGV0aGVyIHJl
cXVlc3RJZGxlQ2FsbGJhY2sgc2NoZWR1bGVzIGEgY2FsbGJhY2sgd2hpY2ggZ2V0cyBleGVjdXRl
ZAorICAvLyBhbmQgdGhlIGRlYWRsaW5lIGFyZ3VtZW50IGlzIHBhc3NlZCBjb3JyZWN0bHkuCisg
IHJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihkZWFkbGlu
ZSkgeworICAgIGFzc2VydF9lcXVhbHMoYXJndW1lbnRzLmxlbmd0aCwgMSwgIk9ubHkgb25lIGFy
Z3VtZW50IHNob3VsZCBiZSBwYXNzZWQgdG8gY2FsbGJhY2suIik7CisgICAgYXNzZXJ0X2NsYXNz
X3N0cmluZyhkZWFkbGluZSwgIklkbGVEZWFkbGluZSIpOworICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIGRlYWRsaW5lLnRpbWVSZW1haW5pbmcsICJmdW5jdGlvbiIsICJJZGxlRGVhZGxpbmUudGlt
ZVJlbWFpbmluZyBNVVNUIGJlIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgdGltZSByZW1h
aW5pbmcgaW4gbWlsbGlzZWNvbmRzIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVhZGxp
bmUudGltZVJlbWFpbmluZygpLCAibnVtYmVyIiwgIklkbGVEZWFkbGluZS50aW1lUmVtYWluaW5n
IE1VU1QgcmV0dXJuIGEgZG91YmxlIG9mIHRoZSB0aW1lIHJlbWFpbmluZyBpbiBtaWxsaXNlY29u
ZHMiKTsKKyAgICBhc3NlcnRfdHJ1ZShkZWFkbGluZS50aW1lUmVtYWluaW5nKCkgPD0gNTAsICJJ
ZGxlRGVhZGxpbmUudGltZVJlbWFpbmluZygpIE1VU1QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRv
IDUwbXMgaW4gdGhlIGZ1dHVyZS4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZWFkbGlu
ZS5kaWRUaW1lb3V0LCAiYm9vbGVhbiIsICJJZGxlRGVhZGxpbmUuZGlkVGltZW91dCBNVVNUIGJl
IGEgYm9vbGVhbiIpOworICAgIGFzc2VydF9mYWxzZShkZWFkbGluZS5kaWRUaW1lb3V0LCAiSWRs
ZURlYWRsaW5lLmRpZFRpbWVvdXQgTVVTVCBiZSBmYWxzZSBpZiByZXF1ZXN0SWRsZUNhbGxiYWNr
IHdhc24ndCBzY2hlZHVsZWQgZHVlIHRvIGEgdGltZW91dCIpOworICB9KSk7Cit9LCAncmVxdWVz
dElkbGVDYWxsYmFjayBzY2hlZHVsZXMgY2FsbGJhY2tzJyk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rp
b24oKSB7CisgIC8vIENoZWNrIHdoZXRoZXIgcmVxdWVzdElkbGVDYWxsYmFjayBzY2hlZHVsZXMg
YSBjYWxsYmFjayB3aGljaCBnZXRzIGV4ZWN1dGVkCisgIC8vIGFuZCB0aGUgZGVhZGxpbmUgYXJn
dW1lbnQgaXMgcGFzc2VkIGNvcnJlY3RseS4KKyAgdmFyIGhhbmRsZSA9IHJlcXVlc3RJZGxlQ2Fs
bGJhY2sodGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZGVhZGxpbmUpIHsKKyAgICBhc3NlcnRfdW5y
ZWFjaGVkKCJjYWxsYmFjayBzaG91bGQgbm90IGJlIGNhbGxlZCBpZiBjYW5jZWxlZCB3aXRoIGNh
bmNlbElkbGVDYWxsYmFjayIpOworICB9KSk7CisgIGNhbmNlbElkbGVDYWxsYmFjayhoYW5kbGUp
OworICBzdGVwX3RpbWVvdXQodGhpcy5zdGVwX2Z1bmNfZG9uZSgpLCAyMDApOworfSwgJ2NhbmNl
bElkbGVDYWxsYmFjayBjYW5jZWxzIGNhbGxiYWNrcycpOworCis8L3NjcmlwdD4KKzxoMT5CYXNp
YyByZXF1ZXN0SWRsZUNhbGxiYWNrIFRlc3RzPC9oMT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogRXJyb3I6IHJlcXVlc3RJ
ZGxlQ2FsbGJhY2tFeGNlcHRpb24KKworUEFTUyByZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNr
IGV4Y2VwdGlvbnMgYXJlIHJlcG9ydGVkIHRvIGVycm9yIGhhbmRsZXIgCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9jYWxsYmFjay1leGNlcHRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2st
ZXhjZXB0aW9uLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWV4Y2VwdGlv
bi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKzwhZG9jdHlwZSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tF
bmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+cmVxdWVzdElk
bGVDYWxsYmFjayBjYWxsYmFjayBleGNlcHRpb24gcmVwb3J0ZWQgdG8gZXJyb3IgaGFuZGxlcjwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorICB2YXIgY3VzdG9tX2V4Y2VwdGlvbiA9ICdy
ZXF1ZXN0SWRsZUNhbGxiYWNrRXhjZXB0aW9uJzsKKyAgc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbiA6IHRydWV9KTsKKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2Vy
dF9mYWxzZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5oaWRkZW4gbXVzdCBleGlzdCBhbmQg
YmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIpOworICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImVycm9yIixmdW5jdGlvbihlKSB7CisgICAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZS5lcnJvci5tZXNzYWdlLCBjdXN0b21fZXhjZXB0aW9uKTsKKyAg
ICAgICAgdC5kb25lKCk7CisgICAgICB9KQorICAgIH0pOworICAgIHdpbmRvdy5yZXF1ZXN0SWRs
ZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcihjdXN0b21fZXhj
ZXB0aW9uKTsKKyAgICB9KTsKKyAgfSwgInJlcXVlc3RJZGxlQ2FsbGJhY2sgY2FsbGJhY2sgZXhj
ZXB0aW9ucyBhcmUgcmVwb3J0ZWQgdG8gZXJyb3IgaGFuZGxlciIpOworPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDkgQEAKK1Rlc3Qgb2YgcmVxdWVzdElkbGVDYWxsYmFjayBpZGxlIHBl
cmlvZCBiZWhhdmlvcgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgd2luZG93LnJlcXVlc3RJ
ZGxlQ2FsbGJhY2sgZGVhbHMgd2l0aCBjYWxsYmFja3MgZHVyaW5nIGlkbGUgcGVyaW9kcyBjb3Jy
ZWN0bHkuCisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJ
TUVPVVQgQ2hlY2sgdGhhdCBpZiBhbiBpZGxlIGNhbGxiYWNrIGNhbGxzIHJlcXVlc3RJZGxlQ2Fs
bGJhY2sgdGhlIG5ldyBjYWxsYmFjayBkb2Vzbid0IHJ1biBpbiB0aGUgY3VycmVudCBpZGxlIHBl
cmlvZC4gVGVzdCB0aW1lZCBvdXQKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlkbGUtcGVyaW9k
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZGxlLXBlcmlvZHMuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBd
IC0tPgorPHRpdGxlPndpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrIGJlaGF2aW9y
IGR1cmluZyBpZGxlIHBlcmlvZHMuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
Um9zcyBNY0lscm95IiBocmVmPSJtYWlsdG86cm1jaWxyb3lAY2hyb21pdW0ub3JnIiAvPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgLy8gQ2hlY2sgdGhhdCBpZiBhbiBpZGxlIGNh
bGxiYWNrIGNhbGxzIHJlcXVlc3RJZGxlQ2FsbGJhY2ssIHRoZSBuZXcgY2FsbGJhY2sKKyAgLy8g
ZG9lc24ndCBnZXQgdGhlIHNhbWUgZGVhZGxpbmUgKGkuZS4sIHJ1bnMgaW4gYSBuZXcgaWRsZSBw
ZXJpb2QpLgorICB2YXIgcHJldmlvdXNfZGVhZGxpbmUgPSB1bmRlZmluZWQ7CisgIHZhciBpZGxl
X2NhbGxiYWNrc19yZW1haW5pbmcgPSAxMDsKKyAgdmFyIHJJQyA9IHRoaXMuc3RlcF9mdW5jKGZ1
bmN0aW9uKGRlYWRsaW5lKSB7CisgICAgdmFyIG5vdyA9IHBlcmZvcm1hbmNlLm5vdygpOworICAg
IHZhciByZW1haW5pbmcgPSBkZWFkbGluZS50aW1lUmVtYWluaW5nKCk7CisgICAgdmFyIG5ld19k
ZWFkbGluZSA9IG5vdyArIHJlbWFpbmluZzsKKyAgICBpZiAocHJldmlvdXNfZGVhZGxpbmUgIT0g
dW5kZWZpbmVkKSB7CisgICAgICBhc3NlcnRfdHJ1ZShuZXdfZGVhZGxpbmUgPiBwcmV2aW91c19k
ZWFkbGluZSwgIkEgcmVxdWVzdElkbGVDYWxsYmFjayBzY2hlZHVsZWQgZHVyaW5nIGFuIGlkbGUg
cGVyaW9kIHNob3VsZCBiZSBjYWxsZWQgYmFjayB3aXRoIGEgZGVhZGxpbmUgZ3JlYXRlciB0aGFu
IHRoYXQgaW4gdGhlIGN1cnJlbnQgaWRsZSBwZXJpb2QuIik7CisgICAgfQorCisgICAgLy8gU2No
ZWR1bGUgYSBuZXcgcmVxdWVzdElkbGVDYWxsYmFjay4KKyAgICBpZiAoLS1pZGxlX2NhbGxiYWNr
c19yZW1haW5pbmcgPiAwKSB7CisgICAgICBwcmV2aW91c19kZWFkbGluZSA9IG5ld19kZWFkbGlu
ZTsKKyAgICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2socklDKTsKKyAgICB9IGVsc2UgeworICAgICAg
dGhpcy5kb25lKCk7CisgICAgfQorICB9KTsKKworICAvLyBTcGluIGFuIGVtcHR5IHJBRiBsb29w
IHRvIGNhdXNlIGFuIGlkbGUgcGVyaW9kIGVhY2ggZnJhbWUuCisgIHZhciBpZGxlX3Rhc2tfcG9z
dGVkID0gZmFsc2U7CisgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiByQUZMb29wKCkg
eworICAgIGlmICghaWRsZV90YXNrX3Bvc3RlZCkgeworICAgICAgcmVxdWVzdElkbGVDYWxsYmFj
ayhySUMpOworICAgICAgaWRsZV90YXNrX3Bvc3RlZCA9IHRydWU7CisgICAgfQorICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZShyQUZMb29wKTsKKyAgfSk7Cit9LCAnQ2hlY2sgdGhhdCBpZiBhbiBp
ZGxlIGNhbGxiYWNrIGNhbGxzIHJlcXVlc3RJZGxlQ2FsbGJhY2sgdGhlIG5ldyBjYWxsYmFjayBk
b2VzblwndCBydW4gaW4gdGhlIGN1cnJlbnQgaWRsZSBwZXJpb2QuJyk7Cis8L3NjcmlwdD4KKzxo
MT5UZXN0IG9mIHJlcXVlc3RJZGxlQ2FsbGJhY2sgaWRsZSBwZXJpb2QgYmVoYXZpb3I8L2gxPgor
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrIGRl
YWxzIHdpdGggY2FsbGJhY2tzIGR1cmluZyBpZGxlIHBlcmlvZHMgY29ycmVjdGx5LjwvcD4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBjYWxsYmFjay1pZnJhbWUgCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlk
bGVjYWxsYmFjay9jYWxsYmFjay1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2Fs
bGJhY2staWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlmcmFt
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKzwhZG9jdHlwZSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tF
bmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+PC90aXRsZT4K
KzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFt
ZSBzdHlsZT0iZGlzcGxheTpub25lIiBpZD0iZnJhbWUiPjwvaWZyYW1lPgorPHNjcmlwdD4KKyAg
YXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGxldCBmcmFtZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJmcmFtZSIpOworICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cudGVzdCA9IGZ1bmN0
aW9uKCkgeworICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKHQu
c3RlcF9mdW5jX2RvbmUoKSk7CisgICAgfQorCisgICAgZnJhbWUuY29udGVudFdpbmRvdy50ZXN0
KCk7CisgIH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staW52b2tlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWludm9rZWQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pbnZva2VkLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyByZXF1ZXN0SWRsZUNhbGxi
YWNrIGNhbGxiYWNrIGlzIGludm9rZWQgYXQgbGVhc3Qgb25jZSBiZWZvcmUgdGhlIHRpbWVvdXQg
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pbnZva2VkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxi
YWNrL2NhbGxiYWNrLWludm9rZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJh
Y2staW52b2tlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKzwhZG9jdHlw
ZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxl
Q2FsbGJhY2tFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+
cmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFjayBtdXN0IGJlIGNhbGxlZCBldmVudHVhbGx5PC90
aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRp
diBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsK
KyAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3Qg
ZXhpc3QgYW5kIGJlIGZhbHNlIHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICB3aW5k
b3cucmVxdWVzdElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKCkpOworICB9LCAicmVxdWVz
dElkbGVDYWxsYmFjayBjYWxsYmFjayBpcyBpbnZva2VkIGF0IGxlYXN0IG9uY2UgYmVmb3JlIHRo
ZSB0aW1lb3V0Iik7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1tdWx0aXBsZS1j
YWxscy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxl
LWNhbGxzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stbXVs
dGlwbGUtY2FsbHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAor
CitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyByZXF1ZXN0
SWRsZUNhbGxiYWNrIGNhbGxiYWNrcyBzaG91bGQgYmUgaW52b2tlZCBpbiBvcmRlciAoY2FsbGVk
IGl0ZXJhdGl2ZWx5KSAKK1RJTUVPVVQgcmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFja3Mgc2hv
dWxkIGJlIGludm9rZWQgaW4gb3JkZXIgKGNhbGxlZCByZWN1cnNpdmVseSkgVGVzdCB0aW1lZCBv
dXQKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRs
ZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0NiBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBl
eHBlcmltZW50YWw6UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5tdWx0aXBsZSBjYWxscyB0byByZXF1ZXN0SWRsZUNhbGxi
YWNrPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGxldCBvcHRpb24gPSB7dGltZW91
dDogNTB9OworCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBhc3NlcnRfZmFsc2Uo
ZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3QgZXhpc3QgYW5kIGJlIGZhbHNl
IHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICB2YXIgY291bnRlciA9IDA7CisgICAg
ZnVuY3Rpb24gZihjKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGNvdW50ZXIsIGMpOworICAgICAg
aWYgKGNvdW50ZXIgPT09IDQ5KSB7CisgICAgICAgIHQuZG9uZSgpOworICAgICAgfQorCisgICAg
ICArK2NvdW50ZXI7CisgICAgfQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpIHsK
KyAgICAgIGxldCBqID0gaTsKKyAgICAgIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uICgpIHsgZihqKSB9KSwgb3B0aW9uKTsKKyAgICB9CisgIH0sICJyZXF1
ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrcyBzaG91bGQgYmUgaW52b2tlZCBpbiBvcmRlciAoY2Fs
bGVkIGl0ZXJhdGl2ZWx5KSIpOworCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBh
c3NlcnRfZmFsc2UoZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3QgZXhpc3Qg
YW5kIGJlIGZhbHNlIHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICB2YXIgY291bnRl
ciA9IDA7CisKKyAgICBmdW5jdGlvbiBmKGMpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoY291bnRl
ciwgYyk7CisgICAgICBpZiAoY291bnRlciA9PT0gNDkpIHsKKyAgICAgICAgdC5kb25lKCk7Cisg
ICAgICB9CisKKyAgICAgICsrY291bnRlcjsKKyAgICAgIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxi
YWNrKHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpIHsgZihjICsgMSkgfSksIG9wdGlvbik7CisgICAg
fQorCisgICAgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sodC5zdGVwX2Z1bmMoZnVuY3Rpb24g
KCkgeyBmKDApIH0pLCBvcHRpb24pOworICB9LCAicmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFj
a3Mgc2hvdWxkIGJlIGludm9rZWQgaW4gb3JkZXIgKGNhbGxlZCByZWN1cnNpdmVseSkiKTsKKwor
ICBsZXQgZ2VuZXJhdGVJZGxlUGVyaW9kcyA9IF8gPT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGdl
bmVyYXRlSWRsZVBlcmlvZHMpOworICBnZW5lcmF0ZUlkbGVQZXJpb2RzKCk7Cis8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVz
dGlkbGVjYWxsYmFjay9jYWxsYmFjay1yZW1vdmVkLWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svY2FsbGJhY2stcmVtb3ZlZC1mcmFtZS1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXJlbW92ZWQtZnJhbWUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGNhbGxpbmcgcmVxdWVzdElkbGVD
YWxsYmFjayBvbiBhIGNvbnRlbnRXaW5kb3cgZnJvbSBhIHJlbW92ZWQgaWZyYW1lIHNob3VsZCBu
b3QgdHJpZ2dlciB0aGUgY2FsbGJhY2sgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1yZW1vdmVk
LWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXJlbW92ZWQtZnJhbWUu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stcmVtb3ZlZC1mcmFtZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tFbmFibGVk
PXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+cmVxdWVzdElkbGVDYWxs
YmFjayBvbiByZW1vdmVkIGZyYW1lIHNob3VsZG4ndCBjYWxsIGJhY2s8L3RpdGxlPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICBhc3lu
Y190ZXN0KGZ1bmN0aW9uICh0KSB7CisgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50LmhpZGRlbiwg
ImRvY3VtZW50LmhpZGRlbiBtdXN0IGV4aXN0IGFuZCBiZSBmYWxzZSB0byBydW4gdGhpcyB0ZXN0
IHByb3Blcmx5Iik7CisKKyAgICBmdW5jdGlvbiBzdGFydCgpIHsKKyAgICAgIHZhciBmcmFtZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgZnJhbWUuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIF8gPT4gY29ubmVjdChmcmFtZSksIHtvbmNlOnRydWV9KTsKKyAgICAg
IGZyYW1lLnNyYyA9ICJhYm91dDpibGFuayI7CisgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGZyYW1lKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjb25uZWN0KGZyYW1lKSB7CisgICAg
ICB2YXIgY29udGVudFdpbmRvdyA9IGZyYW1lLmNvbnRlbnRXaW5kb3c7CisgICAgICBjb250ZW50
V2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soXyA9PiBjYWxsYmFjazAoZnJhbWUsIGNvbnRlbnRX
aW5kb3cpKTsKKyAgICAgIHQuc3RlcF90aW1lb3V0KGZ1bmN0aW9uKCkgeyB0LmRvbmUoKTsgfSwg
MTAwMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gY2FsbGJhY2swKGYsIHcpIHsKKyAgICAgIGRv
Y3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZik7CisgICAgICB3LnJlcXVlc3RJZGxlQ2FsbGJhY2so
dC51bnJlYWNoZWRfZnVuYygicmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFjayBzaG91bGQgbm90
IHRyaWdnZXIgdGhlIGNhbGxiYWNrIikpOworICAgIH0KKworICAgIGFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCBzdGFydCwge29uY2U6dHJ1ZX0pOworICB9LCAiY2FsbGluZyByZXF1ZXN0SWRsZUNh
bGxiYWNrIG9uIGEgY29udGVudFdpbmRvdyBmcm9tIGEgcmVtb3ZlZCBpZnJhbWUgc2hvdWxkIG5v
dCB0cmlnZ2VyIHRoZSBjYWxsYmFjayIpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJh
Y2stc3VzcGVuZGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2st
c3VzcGVuZGVkLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2st
c3VzcGVuZGVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBEaXNwYXRjaGluZyBpZGxlIGNhbGxiYWNrcyBzaG91bGQgYmUgYWJsZSB0byBiZSBzdXNw
ZW5kZWQgYW5kIHRoZW4gcmVzdW1lZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXN1c3BlbmRl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1zdXNwZW5kZWQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stc3VzcGVuZGVkLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw5NCBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBleHBlcmltZW50YWw6UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgor
PG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5EaXNwYXRjaGluZyBpZGxlIGNhbGxiYWNrcyBz
aG91bGQgYmUgYWJsZSB0byBiZSBzdXNwZW5kZWQgYW5kIHRoZW4gcmVzdW1lZDwvdGl0bGU+Cis8
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+
CisgIGZ1bmN0aW9uIHdpdGhFdmVudExpc3RlbmVyKHRhcmdldCwgZXZlbnQsIGhhbmRsZXIpIHsK
KyAgICBoYW5kbGVyID0gaGFuZGxlciB8fCAoZSA9PiBlKTsKKyAgICByZXR1cm4gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7CisgICAgICBsZXQgd3JhcHBlciA9IGZ1bmN0aW9uKGUpIHsKKyAgICAg
ICAgbGV0IHJlc3VsdCA9IGhhbmRsZXIoZSk7CisgICAgICAgIGlmICghcmVzdWx0KSB7CisgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgcmVzb2x2ZShyZXN1bHQpOworICAg
ICAgfQorICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIHdyYXBwZXIsIHsgb25j
ZTogdHJ1ZSB9KTsKKyAgICB9KTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VQb3N0QmFja1VybChu
YW1lKSB7CisgICAgcmV0dXJuIG5ldyBVUkwoJ3Jlc291cmNlcy9wb3N0X25hbWVfb25fbG9hZC5o
dG1sP25hbWU9JyArIG5hbWUsCisgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uKS5o
cmVmOworICB9CisKKyAgZnVuY3Rpb24gd2FpdEZvck1lc3NhZ2UobWVzc2FnZSwgaGFuZGxlcikg
eworICAgIHJldHVybiB3aXRoRXZlbnRMaXN0ZW5lcih3aW5kb3csICdtZXNzYWdlJywgZSA9PiAo
ZS5kYXRhID09PSBtZXNzYWdlKSAmJiBoYW5kbGVyKGUpKTs7CisgIH0KKworICBmdW5jdGlvbiB3
aXRoV2luZG93KG5hbWUpIHsKKyAgICBsZXQgd2luID0gd2luZG93Lm9wZW4obWFrZVBvc3RCYWNr
VXJsKG5hbWUpKQorICAgIHJldHVybiB3YWl0Rm9yTWVzc2FnZShuYW1lLCBfID0+IHdpbik7Cisg
IH0KKworICBmdW5jdGlvbiBuYXZpZ2F0ZVdpbmRvdyh3aW4sIG5hbWUpIHsKKyAgICB3aW4ubG9j
YXRpb24gPSBtYWtlUG9zdEJhY2tVcmwobmFtZSk7CisgICAgcmV0dXJuIHdhaXRGb3JNZXNzYWdl
KG5hbWUsIF8gPT4gd2luKTsKKyAgfQorCisgIGZ1bmN0aW9uIHdhaXREdXJhdGlvbihkZWxheSkg
eworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHN0ZXBfdGltZW91
dChyZXNvbHZlLCBkZWxheSk7CisgICAgfSkKKyAgfQorCisgIGZ1bmN0aW9uIGdvQmFjayh3aW4p
IHsKKyAgICB2YXIgcCA9IHdpdGhFdmVudExpc3RlbmVyKHdpbiwgJ3BhZ2VoaWRlJyk7CisgICAg
d2luLmhpc3RvcnkuYmFjaygpOworICAgIHJldHVybiBwOworICB9CisKKyAgcHJvbWlzZV90ZXN0
KHQgPT4geworICAgIGxldCBpZGxlQ2FsbGVkID0gZmFsc2U7CisgICAgbGV0IHJ1bm5pbmcgPSB0
cnVlOworICAgIHJldHVybiB3aXRoV2luZG93KCdmb28nKQorICAgICAgLnRoZW4od2luID0+IHsK
KyAgICAgICAgbGV0IGNhbGxiYWNrID0gZnVuY3Rpb24oZCkgeworICAgICAgICAgIGlkbGVDYWxs
ZWQgPSB0cnVlOworICAgICAgICAgIGlmIChydW5uaW5nKSB7CisgICAgICAgICAgICB3aW4ucmVx
dWVzdElkbGVDYWxsYmFjayhjYWxsYmFjayk7CisgICAgICAgICAgfQorICAgICAgICB9OworCisg
ICAgICAgIHdpbi5yZXF1ZXN0SWRsZUNhbGxiYWNrKGNhbGxiYWNrKTsKKworICAgICAgICByZXR1
cm4gbmF2aWdhdGVXaW5kb3cod2luLCAnYmFyJykKKyAgICAgICAgICAudGhlbihfID0+IGlkbGVD
YWxsZWQgPSBmYWxzZSkKKyAgICAgICAgICAudGhlbihfID0+IHdhaXREdXJhdGlvbigyMDAwKSkK
KyAgICAgICAgICAudGhlbihfID0+IHsKKyAgICAgICAgICAgIGFzc2VydF9mYWxzZShpZGxlQ2Fs
bGVkLCAiaWRsZSBjYWxsYmFjayBzaG91bGRuJ3QgaGF2ZSBiZWVuIGNhbGxlZCB5ZXQiKTsKKyAg
ICAgICAgICAgIHJldHVybiBnb0JhY2sod2luKTsKKyAgICAgICAgICB9KQorICAgICAgICAgIC50
aGVuKF8gPT4gUHJvbWlzZS5yYWNlKFsKKyAgICAgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgaXQn
cyBhIG1hdHRlciBvZiBoYXZpbmcgYmZjYWNoZSAuLi4KKyAgICAgICAgICAgIHdhaXREdXJhdGlv
bigyMDAwKQorICAgICAgICAgICAgICAudGhlbihfID0+IHsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfdHJ1ZShpZGxlQ2FsbGVkLCAiaWRsZSBjYWxsYmFjayBzaG91bGQndmUgYmVlbiBjYWxsZWQg
Ynkgbm93Iik7CisgICAgICAgICAgICAgICAgcnVubmluZyA9IGZhbHNlOworICAgICAgICAgICAg
ICB9KSwKKyAgICAgICAgICAgIC8vIC4uLiBvciBub3QuIElmIG5vdCwgd2UgZXhwZWN0IGEgbG9h
ZCBldmVudC4KKyAgICAgICAgICAgIHdhaXRGb3JNZXNzYWdlKCJmb28iLCBfID0+IHdpbikKKyAg
ICAgICAgICBdKSkKKyAgICAgICAgICAudGhlbihfID0+IHdpbi5jbG9zZSgpKQorICAgICAgICAg
IC5jYXRjaChlID0+IHsKKyAgICAgICAgICAgIHdpbi5jbG9zZSgpOworICAgICAgICAgICAgdGhy
b3cgZTsKKyAgICAgICAgICB9KQorICAgICAgfSk7CisgIH0pOworCis8L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVj
YWxsYmFjay9jYWxsYmFjay10aW1lb3V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svY2FsbGJhY2stdGltZW91dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L2NhbGxiYWNrLXRpbWVvdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorCitGQUlMIHJlcXVlc3RJZGxlQ2FsbGJhY2sgY2FsbGJhY2sgc2hvdWxkIHRpbWUgb3V0
IGFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK0ZBSUwgcmVxdWVzdElkbGVD
YWxsYmFjayBjYWxsYmFjayBzaG91bGQgbm90IHRpbWUgb3V0IGFzc2VydF9mYWxzZTogZXhwZWN0
ZWQgZmFsc2UgZ290IHRydWUKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtd2hlbi1i
dXN5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stdGltZW91dC13
aGVuLWJ1c3ktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10
aW1lb3V0LXdoZW4tYnVzeS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2
IEBACitUZXN0IG9mIHJlcXVlc3RJZGxlQ2FsbGJhY2sgdGltZW91dCBiZWhhdmlvcgorCisKK0ZB
SUwgcmVxdWVzdElkbGVDYWxsYmFjayBub3Qgc2NoZWR1bGVkIHdoZW4gZXZlbnQgbG9vcCBpcyBi
dXN5LiBhc3NlcnRfZmFsc2U6IElkbGVEZWFkbGluZS5kaWRUaW1lb3V0IE1VU1QgYmUgZmFsc2Ug
aWYgcmVxdWVzdElkbGVDYWxsYmFjayB3YXNuJ3Qgc2NoZWR1bGVkIGR1ZSB0byBhIHRpbWVvdXQg
ZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK0ZBSUwgcmVxdWVzdElkbGVDYWxsYmFjayBzY2hlZHVs
ZWQgd2l0aCB0aW1lb3V0IHdoZW4gZXZlbnQgbG9vcCBpcyBidXN5LiBhc3NlcnRfdHJ1ZTogU2hv
dWxkIG9ubHkgaGF2ZSBiZWVuIHJ1biBhZnRlciB0aW1lb3V0IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tFbmFibGVkPXRydWUgXSAt
LT4KKzx0aXRsZT53aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayBkZWFscyB3aXRoIHRpbWVvdXRz
IGNvcnJlY3RseTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
KzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iUm9zcyBNY0lscm95IiBocmVmPSJtYWlsdG86cm1j
aWxyb3lAY2hyb21pdW0ub3JnIiAvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAg
Ly8gQ2hlY2sgd2hldGhlciByZXF1ZXN0SWRsZUNhbGxiYWNrIHdpdGggYSB0aW1lb3V0IHdvcmtz
IHdoZW4gdGhlIGV2ZW50IGxvb3AKKyAgLy8gaXMgYnVzeS4KKyAgdmFyIGJ1c3lfbG9vcF9pdGVy
YXRpb25zX3JlbWFpbmluZyA9IDEwOyAgLy8gU2hvdWxkIHRha2UgMjAgKiA0MCA9IDQwMG1zCisg
IHZhciBpZGxlX2NhbGxiYWNrX3NjaGVkdWxlZDsKKyAgdmFyIGlkbGVfY2FsbGJhY2sgPSB0aGlz
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGRlYWRsaW5lKSB7CisgICAgYXNzZXJ0X2ZhbHNlKGRl
YWRsaW5lLmRpZFRpbWVvdXQsICJJZGxlRGVhZGxpbmUuZGlkVGltZW91dCBNVVNUIGJlIGZhbHNl
IGlmIHJlcXVlc3RJZGxlQ2FsbGJhY2sgd2Fzbid0IHNjaGVkdWxlZCBkdWUgdG8gYSB0aW1lb3V0
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhidXN5X2xvb3BfaXRlcmF0aW9uc19yZW1haW5pbmcsIDAs
ICJCdXN5IGV2ZW50IGxvb3Agc2hvdWxkIGJlIGZpbmlzaGVkIGJ5IHRoZSB0aW1lIHdlIGdldCBz
Y2hlZHVsZWQiKTsKKyAgfSk7CisKKyAgdmFyIGJ1c3lfbG9vcF9pdGVyYXRpb25zX3JlbWFpbmlu
ZyA9IDEwOyAgLy8gU2hvdWxkIHRha2UgMjAgKiA0MCA9IDQwMG1zCisgIHN0ZXBfdGltZW91dCh0
aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiBidXN5TG9vcCgpIHsKKyAgICB2YXIgc3RhcnRfdGltZSA9
IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGlmICghaWRsZV9jYWxsYmFja19zY2hlZHVsZWQpIHsK
KyAgICAgIGlkbGVfY2FsbGJhY2tfc2NoZWR1bGVkID0gc3RhcnRfdGltZTsKKyAgICAgIHJlcXVl
c3RJZGxlQ2FsbGJhY2soaWRsZV9jYWxsYmFjayk7CisgICAgfQorCisgICAgLy8gVXNlIHVwIG1v
cmUgdGhhbiBhIGZyYW1lcyB3b3J0aCBvZiBidWRnZXQuCisgICAgd2hpbGUgKHBlcmZvcm1hbmNl
Lm5vdygpIC0gc3RhcnRfdGltZSA8IDQwKSB7CisgICAgfQorICAgIGlmIChidXN5X2xvb3BfaXRl
cmF0aW9uc19yZW1haW5pbmcgPiAwKSB7CisgICAgICBidXN5X2xvb3BfaXRlcmF0aW9uc19yZW1h
aW5pbmctLTsKKyAgICAgIHN0ZXBfdGltZW91dChidXN5TG9vcCk7CisgICAgfQorICB9KSk7Cit9
LCAncmVxdWVzdElkbGVDYWxsYmFjayBub3Qgc2NoZWR1bGVkIHdoZW4gZXZlbnQgbG9vcCBpcyBi
dXN5LicpOworCithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAvLyBDaGVjayB3aGV0aGVyIHJl
cXVlc3RJZGxlQ2FsbGJhY2sgd2l0aCBhIHRpbWVvdXQgd29ya3Mgd2hlbiB0aGUgZXZlbnQgbG9v
cAorICAvLyBpcyBidXN5LgorICB2YXIgYnVzeV9sb29wX2l0ZXJhdGlvbnNfcmVtYWluaW5nID0g
MTA7ICAvLyBTaG91bGQgdGFrZSAyMCAqIDQwID0gNDAwbXMKKyAgdmFyIHRpbWVvdXQgPSAyMDA7
CisgIHZhciBpZGxlX2NhbGxiYWNrX3NjaGVkdWxlZDsKKyAgdmFyIGlkbGVfY2FsbGJhY2sgPSB0
aGlzLnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGRlYWRsaW5lKSB7CisgICAgdmFyIHRpbWVfZGVs
dGEgPSBwZXJmb3JtYW5jZS5ub3coKSAtIGlkbGVfY2FsbGJhY2tfc2NoZWR1bGVkOworICAgIGFz
c2VydF90cnVlKHRpbWVfZGVsdGEgPj0gdGltZW91dCwgIlNob3VsZCBvbmx5IGhhdmUgYmVlbiBy
dW4gYWZ0ZXIgdGltZW91dCIpOworICAgIGFzc2VydF90cnVlKGRlYWRsaW5lLnRpbWVSZW1haW5p
bmcoKSA9PSAwLCAiSWRsZURlYWRsaW5lLnRpbWVSZW1haW5pbmcgTVVTVCBiZSBlcXVhbCB0byB6
ZXJvIGlmIHJlcXVlc3RJZGxlQ2FsbGJhY2sgd2FzIHNjaGVkdWxlZCBkdWUgdG8gYSB0aW1lb3V0
Iik7CisgICAgYXNzZXJ0X3RydWUoZGVhZGxpbmUuZGlkVGltZW91dCwgIklkbGVEZWFkbGluZS5k
aWRUaW1lb3V0IE1VU1QgYmUgdHJ1ZSBpZiByZXF1ZXN0SWRsZUNhbGxiYWNrIHdhcyBzY2hlZHVs
ZWQgZHVlIHRvIGEgdGltZW91dCIpOworICAgIGFzc2VydF90cnVlKGJ1c3lfbG9vcF9pdGVyYXRp
b25zX3JlbWFpbmluZyA+IDAsICJCdXN5IGV2ZW50IGxvb3Agc2hvdWxkIHN0aWxsIGJlIGdvaW5n
Iik7CisgIH0pOworCisgIHN0ZXBfdGltZW91dCh0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiBidXN5
TG9vcCgpIHsKKyAgICB2YXIgc3RhcnRfdGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGlm
ICghaWRsZV9jYWxsYmFja19zY2hlZHVsZWQpIHsKKyAgICAgIGlkbGVfY2FsbGJhY2tfc2NoZWR1
bGVkID0gc3RhcnRfdGltZTsKKyAgICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2soaWRsZV9jYWxsYmFj
aywgeyB0aW1lb3V0OiB0aW1lb3V0IH0pOworICAgIH0KKworICAgIC8vIFVzZSB1cCBtb3JlIHRo
YW4gYSBmcmFtZXMgd29ydGggb2YgYnVkZ2V0LgorICAgIHdoaWxlIChwZXJmb3JtYW5jZS5ub3co
KSAtIHN0YXJ0X3RpbWUgPCA0MCkgeworICAgIH0KKyAgICBpZiAoYnVzeV9sb29wX2l0ZXJhdGlv
bnNfcmVtYWluaW5nID4gMCkgeworICAgICAgYnVzeV9sb29wX2l0ZXJhdGlvbnNfcmVtYWluaW5n
LS07CisgICAgICBzdGVwX3RpbWVvdXQoYnVzeUxvb3ApOworICAgIH0KKyAgfSkpOworfSwgJ3Jl
cXVlc3RJZGxlQ2FsbGJhY2sgc2NoZWR1bGVkIHdpdGggdGltZW91dCB3aGVuIGV2ZW50IGxvb3Ag
aXMgYnVzeS4nKTsKKworPC9zY3JpcHQ+Cis8aDE+VGVzdCBvZiByZXF1ZXN0SWRsZUNhbGxiYWNr
IHRpbWVvdXQgYmVoYXZpb3I8L2gxPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9jYWxsYmFjay10aW1lb3V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRp
bWVvdXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stdGltZW91dC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tFbmFibGVk
PXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+cmVxdWVzdElkbGVDYWxs
YmFjayB0aW1lb3V0IGNhbGxiYWNrIG11c3QgYmUgY2FsbGVkIHdpdGggZGlkVGltZW91dCBlcXVh
bCB0byB0cnVlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPHNjcmlwdD4KKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFz
c2VydF9mYWxzZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5oaWRkZW4gbXVzdCBleGlzdCBh
bmQgYmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIpOworICAgIHZhciBjb3VudGVy
ID0gMDsKKworICAgIGZ1bmN0aW9uIGcoZGVhZGxpbmUpIHsKKyAgICAgIGFzc2VydF90cnVlKGRl
YWRsaW5lLmRpZFRpbWVvdXQpCisgICAgICB0LmRvbmUoKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBmKGRlYWRsaW5lKSB7CisgICAgICBhc3NlcnRfZmFsc2UoZGVhZGxpbmUuZGlkVGltZW91dCk7
CisgICAgICB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuYyhnKSwge3RpbWVv
dXQ6MzAwfSk7CisKKyAgICAgIHZhciBkID0gRGF0ZS5ub3coKSArIDUwMDsKKyAgICAgIHdoaWxl
IChEYXRlLm5vdygpIDwgZCkgeworCisgICAgICB9CisgICAgfQorICAgIHdpbmRvdy5yZXF1ZXN0
SWRsZUNhbGxiYWNrKHQuc3RlcF9mdW5jKGYpKTsKKyAgfSwgInJlcXVlc3RJZGxlQ2FsbGJhY2sg
Y2FsbGJhY2sgc2hvdWxkIHRpbWUgb3V0Iik7CisKKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkg
eworICAgIGFzc2VydF9mYWxzZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5oaWRkZW4gbXVz
dCBleGlzdCBhbmQgYmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIpOworICAgIGZ1
bmN0aW9uIGcoZGVhZGxpbmUpIHsKKyAgICAgIGFzc2VydF9mYWxzZShkZWFkbGluZS5kaWRUaW1l
b3V0KQorICAgICAgdC5kb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZihkZWFkbGluZSkg
eworICAgICAgYXNzZXJ0X2ZhbHNlKGRlYWRsaW5lLmRpZFRpbWVvdXQpOworICAgICAgd2luZG93
LnJlcXVlc3RJZGxlQ2FsbGJhY2sodC5zdGVwX2Z1bmMoZyksIHt0aW1lb3V0OjEwMDAwMH0pOwor
ICAgIH0KKyAgICB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuYyhmKSk7Cisg
IH0sICJyZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrIHNob3VsZCBub3QgdGltZSBvdXQiKTsK
KworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2steGhyLXN5bmMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay14aHItc3luYy1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgcmUtc2NoZWR1bGUgaWRsZSBjYWxsYmFja3MgYWZ0ZXIg
c3luYyB4aHIgVGVzdCB0aW1lZCBvdXQKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5j
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxNyBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBleHBlcmltZW50YWw6UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPG1l
dGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT48L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICByZXF1ZXN0
SWRsZUNhbGxiYWNrKGZ1bmN0aW9uKCkgeworICAgICAgcmVxdWVzdElkbGVDYWxsYmFjayh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHt9KSkKKyAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0
cFJlcXVlc3QoKTsKKyAgICAgIHhoci5vcGVuKCJHRVQiLCAid3d3LmVtYW1wbGUuY29tIiwgZmFs
c2UpOworICAgICAgeGhyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpIHt9KTsKKyAg
ICAgIHhoci5zZW5kKG51bGwpOworICAgIH0pOworICB9LCAicmUtc2NoZWR1bGUgaWRsZSBjYWxs
YmFja3MgYWZ0ZXIgc3luYyB4aHIiKTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNlbC1p
bnZva2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FuY2VsLWludm9rZWQt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYW5jZWwtaW52b2tlZC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgY2FuY2VsSWRs
ZUNhbGxiYWNrIGRvZXMgbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWxsYmFjayB3aXRoIHRoZSBn
aXZlbiBoYW5kbGUgCitQQVNTIEEgY2FuY2VsbGVkIGNhbGxiYWNrIGlzIG5ldmVyIGludm9rZWQg
CitQQVNTIENhbmNlbGxpbmcgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgaWRsZSBjYWxsYmFjayBz
aG91bGQgYmUgYWxsb3dlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBA
QAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6
UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPG1ldGEgY2hhcnNldD11dGYt
OD4KKzx0aXRsZT5jYW5jZWxsaW5nIGlkbGUgcmVxdWVzdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2Pgor
PHNjcmlwdD4KKyAgdGVzdChmdW5jdGlvbiAodCkgeworICAgIHdpbmRvdy5jYW5jZWxJZGxlQ2Fs
bGJhY2soNDIpOworICAgIGFzc2VydF90cnVlKHRydWUpOworICB9LCAiY2FuY2VsSWRsZUNhbGxi
YWNrIGRvZXMgbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWxsYmFjayB3aXRoIHRoZSBnaXZlbiBo
YW5kbGUiKTsKKworICBhc3luY190ZXN0KGZ1bmN0aW9uICh0KSB7CisgICAgYXNzZXJ0X2ZhbHNl
KGRvY3VtZW50LmhpZGRlbiwgImRvY3VtZW50LmhpZGRlbiBtdXN0IGV4aXN0IGFuZCBiZSBmYWxz
ZSB0byBydW4gdGhpcyB0ZXN0IHByb3Blcmx5Iik7CisgICAgdmFyIG5ldmVyQ2FsbGVkID0gdHJ1
ZTsKKyAgICB2YXIgaGFuZGxlID0gd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soZnVuY3Rpb24g
KCkgeworICAgICAgbmV2ZXJDYWxsZWQgPSBmYWxzZTsKKyAgICB9KTsKKyAgICB3aW5kb3cuY2Fu
Y2VsSWRsZUNhbGxiYWNrKGhhbmRsZSk7CisKKyAgICB0LnN0ZXBfdGltZW91dChmdW5jdGlvbigp
IHsKKyAgICAgIGFzc2VydF90cnVlKG5ldmVyQ2FsbGVkKTsKKyAgICAgIHQuZG9uZSgpOworICAg
IH0sIDIwMDApOworICB9LCAiQSBjYW5jZWxsZWQgY2FsbGJhY2sgaXMgbmV2ZXIgaW52b2tlZCIp
OworCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICB2YXIgaGFuZGxlID0gcmVxdWVz
dElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICAgIGNhbmNl
bElkbGVDYWxsYmFjayhoYW5kbGUpOworICAgIH0pKTsKKyAgfSwgIkNhbmNlbGxpbmcgdGhlIGN1
cnJlbnRseSBleGVjdXRpbmcgaWRsZSBjYWxsYmFjayBzaG91bGQgYmUgYWxsb3dlZCIpOworPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDIyIEBACisKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAgCitQQVNTIFBhcnRp
YWwgaW50ZXJmYWNlIFdpbmRvdzogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQgCitQQVNTIElk
bGVEZWFkbGluZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAorUEFTUyBJZGxlRGVhZGxpbmUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQ
QVNTIElkbGVEZWFkbGluZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElkbGVEZWFkbGlu
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogb3BlcmF0aW9uIHRpbWVSZW1haW5p
bmcoKSAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogYXR0cmlidXRlIGRpZFRpbWVvdXQg
CitQQVNTIElkbGVEZWFkbGluZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRlYWRsaW5l
IAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZGVhZGxpbmUgCitQQVNTIElkbGVEZWFkbGluZSBp
bnRlcmZhY2U6IGRlYWRsaW5lIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidGltZVJlbWFpbmluZygp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogZGVh
ZGxpbmUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaWRUaW1lb3V0IiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIHJlcXVlc3RJZGxlQ2FsbGJh
Y2soSWRsZVJlcXVlc3RDYWxsYmFjaywgSWRsZVJlcXVlc3RPcHRpb25zKSAKK1BBU1MgV2luZG93
IGludGVyZmFjZTogb3BlcmF0aW9uIGNhbmNlbElkbGVDYWxsYmFjayh1bnNpZ25lZCBsb25nKSAK
K1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVx
dWVzdElkbGVDYWxsYmFjayhJZGxlUmVxdWVzdENhbGxiYWNrLCBJZGxlUmVxdWVzdE9wdGlvbnMp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogY2FsbGluZyBy
ZXF1ZXN0SWRsZUNhbGxiYWNrKElkbGVSZXF1ZXN0Q2FsbGJhY2ssIElkbGVSZXF1ZXN0T3B0aW9u
cykgb24gd2luZG93IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNh
bmNlbElkbGVDYWxsYmFjayh1bnNpZ25lZCBsb25nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGNhbGxpbmcgY2FuY2VsSWRsZUNhbGxiYWNrKHVuc2lnbmVk
IGxvbmcpIG9uIHdpbmRvdyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3cuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3cuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2sv
aWRsaGFybmVzcy53aW5kb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0t
IFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8g
cnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2lk
bGhhcm5lc3Mud2luZG93LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9pZGxoYXJuZXNzLndp
bmRvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI0IEBACisvLyBNRVRBOiBzY3JpcHQ9
L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lk
bGhhcm5lc3MuanMKKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3JlcXVlc3RpZGxlY2FsbGJh
Y2svCisKKyd1c2Ugc3RyaWN0JzsKKworaWRsX3Rlc3QoCisgIFsncmVxdWVzdGlkbGVjYWxsYmFj
ayddLAorICBbJ2h0bWwnLCAnZG9tJ10sCisgIGFzeW5jIGlkbF9hcnJheSA9PiB7CisgICAgaWRs
X2FycmF5LmFkZF9vYmplY3RzKHsKKyAgICAgIElkbGVEZWFkbGluZTogWydkZWFkbGluZSddLAor
ICAgICAgV2luZG93OiBbJ3dpbmRvdyddLAorICAgIH0pOworCisgICAgYXdhaXQgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7CisgICAgICByZXF1ZXN0SWRsZUNhbGxiYWNrKGQgPT4geworICAgICAg
ICBzZWxmLmRlYWRsaW5lID0gZDsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSwgeyB0aW1l
b3V0OiAxMDAgfSk7CisgICAgfSk7CisgIH0KKyk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svdzNjLWltcG9ydC5s
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3czYy1pbXBvcnQubG9nCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVj
YWxsYmFjay93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACitU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBm
aWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svTUVUQS55bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svYmFzaWMuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxs
YmFjay1leGNlcHRpb24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZGxlLXBlcmlvZHMuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVj
YWxsYmFjay9jYWxsYmFjay1pZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pbnZva2VkLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2stbXVsdGlwbGUtY2FsbHMuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFj
ay1yZW1vdmVkLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stc3VzcGVuZGVkLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2Fs
bGJhY2svY2FsbGJhY2stdGltZW91dC13aGVuLWJ1c3kuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10
aW1lb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2steGhyLXN5bmMuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYW5j
ZWwtaW52b2tlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mud2luZG93LmpzCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svcmVzb3VyY2VzL3Bvc3RfbmFtZV9vbl9sb2FkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L3Jlc291cmNlcy9wb3N0X25hbWVfb25fbG9hZC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9yZXNvdXJjZXMvcG9zdF9uYW1lX29uX2xvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDcgQEAKKzwhZG9jdHlwZSBodG1sPgorPHNjcmlwdD4KKyAgYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIF8gPT4geworICAgIGxldCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRv
dy5sb2NhdGlvbi5zZWFyY2gpOworICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UocGFyYW1z
LmdldCgnbmFtZScpLCAnKicpOworICB9KTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svcmVzb3VyY2VzL3czYy1p
bXBvcnQubG9nCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9yZXNvdXJjZXMvdzNjLWltcG9ydC5s
b2cJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNj
LXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0
aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3Jlc291
cmNlcy9wb3N0X25hbWVfb25fbG9hZC5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380939</attachid>
            <date>2019-10-14 16:45:16 -0700</date>
            <delta_ts>2019-10-14 20:50:14 -0700</delta_ts>
            <desc>Fixed tests on WK1</desc>
            <filename>bug-202946-20191014164516.patch</filename>
            <type>text/plain</type>
            <size>44450</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1MTEwNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTE0ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcG9ydCBXM0MgdGVzdHMgZm9yIHJlcXVlc3Rp
ZGxlY2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMjk0NgorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAg
ICAqIHRlc3RzLW9wdGlvbnMuanNvbjoKKwogMjAxOS0xMC0xNCAgUnVzc2VsbCBFcHN0ZWluICA8
cmVwc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFsgaU9TMTMgXSBMYXlvdXQgdGVzdCBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMuaHRt
bCBpcyBjb25zaXN0ZW50bHkgRmFpbGluZyAoMjAyOTYwKQpJbmRleDogTGF5b3V0VGVzdHMvdGVz
dHMtb3B0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMu
anNvbgkocmV2aXNpb24gMjUxMTA3KQorKysgTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29u
CSh3b3JraW5nIGNvcHkpCkBAIC0xODAyLDYgKzE4MDIsMjEgQEAKICAgICAiaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9xdWlya3MvaGFzaGxlc3MtaGV4LWNvbG9yLmh0bWwiOiBbCiAg
ICAgICAgICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZnJhbWUuaHRtbCI6IFsKKyAgICAgICAg
InNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXN1c3BlbmRlZC5odG1sIjogWworICAgICAgICAic2xv
dyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2stdGltZW91dC13aGVuLWJ1c3kuaHRtbCI6IFsKKyAgICAgICAg
InNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQuaHRtbCI6IFsKKyAgICAgICAgInNsb3ci
CisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRs
ZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAg
IF0sCiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlLXRpbWluZy1sZXZlbDEuc3ViLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAg
IF0sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MTEwNykK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSw0NiBAQAorMjAxOS0xMC0xNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBvcnQgVzNDIHRlc3RzIGZvciByZXF1ZXN0aWRsZWNhbGxiYWNrCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5NDYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgSW1wb3J0ZWQgd2Vi
IHBsYXRmb3JtIHRlc3RzIGZvciByZXF1ZXN0aWRsZWNhbGxiYWNrIGFzIG9mIDM4YzJlOGQ1M2M5
ZTU0ZjVjNGE5MTRkMTUyOGFmZjRlNjBmMDdjZGYuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2Jhc2ljLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L2NhbGxiYWNrLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWV4Y2VwdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9jYWxsYmFjay1pZGxlLXBlcmlvZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZGxlLXBlcmlv
ZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2staWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxi
YWNrL2NhbGxiYWNrLWludm9rZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pbnZva2VkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stbXVsdGlwbGUt
Y2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2stcmVtb3ZlZC1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNr
LXJlbW92ZWQtZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stc3VzcGVuZGVkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2Fs
bGJhY2stc3VzcGVuZGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxs
YmFjay10aW1lb3V0LXdoZW4tYnVzeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtd2hl
bi1idXN5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2steGhyLXN5bmMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlk
bGVjYWxsYmFjay9jYWxsYmFjay14aHItc3luYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYW5jZWwtaW52b2tlZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svaWRsaGFybmVzcy53aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3cuanM6IEFkZGVkLgor
ICAgICAgICAoYXN5bmMuaWRsX2FycmF5LmF3YWl0Lm5ldy5Qcm9taXNlLnJlc29sdmUucmVzb2x2
ZSk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svcmVz
b3VyY2VzL3Bvc3RfbmFtZV9vbl9sb2FkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2sv
dzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTEwLTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBIHJlc3BvbnNlIGJvZHkgcHJvbWlzZSBzaG91bGQg
YmUgcmVqZWN0ZWQgaW4gY2FzZSBvZiBhIGZhaWx1cmUgaGFwcGVuaW5nIGFmdGVyIHRoZSBIVFRQ
IHJlc3BvbnNlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjUxMTA3KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTMwOCw3ICszMDgsNyBAQAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvcXVpcmtzL3VuaXRsZXNzLWxlbmd0aCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3JlZmVycmVyLXBvbGljeSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL3JlbW90ZS1wbGF5YmFjayI6ICJza2lwIiwgCi0gICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrIjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2siOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZyI6ICJpbXBvcnQiLCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9NRVRBLnltbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svTUVUQS55bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL01FVEEueW1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorc3BlYzogaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3JlcXVlc3RpZGxlY2FsbGJhY2svCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIGZhcnJl
CisgIC0gcm1jaWxyb3kKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9iYXNpYy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrL2Jhc2ljLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2sv
YmFzaWMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK0Jhc2lj
IHJlcXVlc3RJZGxlQ2FsbGJhY2sgVGVzdHMKKworCitQQVNTIHdpbmRvdy5yZXF1ZXN0SWRsZUNh
bGxiYWNrIGlzIGRlZmluZWQgCitQQVNTIHdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2sgaXMgZGVm
aW5lZCAKK1BBU1Mgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soKSByZXR1cm5zIGEgbnVtYmVy
IAorUEFTUyB3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrKCkgcmV0dXJucyB1bmRlZmluZWQgCitG
QUlMIHJlcXVlc3RJZGxlQ2FsbGJhY2sgc2NoZWR1bGVzIGNhbGxiYWNrcyBhc3NlcnRfdHJ1ZTog
SWRsZURlYWRsaW5lLnRpbWVSZW1haW5pbmcoKSBNVVNUIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0
byA1MG1zIGluIHRoZSBmdXR1cmUuIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIGNhbmNl
bElkbGVDYWxsYmFjayBjYW5jZWxzIGNhbGxiYWNrcyAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2Jhc2ljLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2Jhc2ljLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxi
YWNrL2Jhc2ljLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVxdWVzdElkbGVD
YWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPHRpdGxlPndpbmRvdy5yZXF1ZXN0SWRsZUNhbGxi
YWNrIGV4aXN0czwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlJvc3MgTWNJbHJv
eSIgaHJlZj0ibWFpbHRvOnJtY2lscm95QGNocm9taXVtLm9yZyIgLz4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBUaGUgd2lu
ZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sgZnVuY3Rpb24gaXMgdXNlZCB0byByZXF1ZXN0IGNhbGxi
YWNrcyBkdXJpbmcgYnJvd3Nlci1kZWZpbmVkIGlkbGUgdGltZS4KK3Rlc3QoZnVuY3Rpb24oKSB7
CisgIGFzc2VydF9lcXVhbHModHlwZW9mIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrLCAiZnVu
Y3Rpb24iKTsKK30sICJ3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayBpcyBkZWZpbmVkIik7CisK
Ky8vIFRoZSB3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2Fu
Y2VsIGNhbGxiYWNrcyBzY2hlZHVsZWQgdmlhIHJlcXVlc3RJZGxlQ2FsbGJhY2suCit0ZXN0KGZ1
bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKHR5cGVvZiB3aW5kb3cuY2FuY2VsSWRsZUNhbGxi
YWNrLCAiZnVuY3Rpb24iKTsKK30sICJ3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrIGlzIGRlZmlu
ZWQiKTsKKworLy8gVGhlIHJlcXVlc3RJZGxlQ2FsbGJhY2sgbWV0aG9kIE1VU1QgcmV0dXJuIGEg
bG9uZwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Ygd2luZG93LnJl
cXVlc3RJZGxlQ2FsbGJhY2soZnVuY3Rpb24oKSB7fSksICJudW1iZXIiKTsKK30sICJ3aW5kb3cu
cmVxdWVzdElkbGVDYWxsYmFjaygpIHJldHVybnMgYSBudW1iZXIiKTsKKworLy8gVGhlIGNhbmNl
bElkbGVDYWxsYmFjayBtZXRob2QgTVVTVCByZXR1cm4gdm9pZAordGVzdChmdW5jdGlvbigpIHsK
KyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Ygd2luZG93LmNhbmNlbElkbGVDYWxsYmFjaygxKSwgInVu
ZGVmaW5lZCIpOworfSwgIndpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2soKSByZXR1cm5zIHVuZGVm
aW5lZCIpOworCithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAvLyBDaGVjayB3aGV0aGVyIHJl
cXVlc3RJZGxlQ2FsbGJhY2sgc2NoZWR1bGVzIGEgY2FsbGJhY2sgd2hpY2ggZ2V0cyBleGVjdXRl
ZAorICAvLyBhbmQgdGhlIGRlYWRsaW5lIGFyZ3VtZW50IGlzIHBhc3NlZCBjb3JyZWN0bHkuCisg
IHJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihkZWFkbGlu
ZSkgeworICAgIGFzc2VydF9lcXVhbHMoYXJndW1lbnRzLmxlbmd0aCwgMSwgIk9ubHkgb25lIGFy
Z3VtZW50IHNob3VsZCBiZSBwYXNzZWQgdG8gY2FsbGJhY2suIik7CisgICAgYXNzZXJ0X2NsYXNz
X3N0cmluZyhkZWFkbGluZSwgIklkbGVEZWFkbGluZSIpOworICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIGRlYWRsaW5lLnRpbWVSZW1haW5pbmcsICJmdW5jdGlvbiIsICJJZGxlRGVhZGxpbmUudGlt
ZVJlbWFpbmluZyBNVVNUIGJlIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgdGltZSByZW1h
aW5pbmcgaW4gbWlsbGlzZWNvbmRzIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVhZGxp
bmUudGltZVJlbWFpbmluZygpLCAibnVtYmVyIiwgIklkbGVEZWFkbGluZS50aW1lUmVtYWluaW5n
IE1VU1QgcmV0dXJuIGEgZG91YmxlIG9mIHRoZSB0aW1lIHJlbWFpbmluZyBpbiBtaWxsaXNlY29u
ZHMiKTsKKyAgICBhc3NlcnRfdHJ1ZShkZWFkbGluZS50aW1lUmVtYWluaW5nKCkgPD0gNTAsICJJ
ZGxlRGVhZGxpbmUudGltZVJlbWFpbmluZygpIE1VU1QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRv
IDUwbXMgaW4gdGhlIGZ1dHVyZS4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZWFkbGlu
ZS5kaWRUaW1lb3V0LCAiYm9vbGVhbiIsICJJZGxlRGVhZGxpbmUuZGlkVGltZW91dCBNVVNUIGJl
IGEgYm9vbGVhbiIpOworICAgIGFzc2VydF9mYWxzZShkZWFkbGluZS5kaWRUaW1lb3V0LCAiSWRs
ZURlYWRsaW5lLmRpZFRpbWVvdXQgTVVTVCBiZSBmYWxzZSBpZiByZXF1ZXN0SWRsZUNhbGxiYWNr
IHdhc24ndCBzY2hlZHVsZWQgZHVlIHRvIGEgdGltZW91dCIpOworICB9KSk7Cit9LCAncmVxdWVz
dElkbGVDYWxsYmFjayBzY2hlZHVsZXMgY2FsbGJhY2tzJyk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rp
b24oKSB7CisgIC8vIENoZWNrIHdoZXRoZXIgcmVxdWVzdElkbGVDYWxsYmFjayBzY2hlZHVsZXMg
YSBjYWxsYmFjayB3aGljaCBnZXRzIGV4ZWN1dGVkCisgIC8vIGFuZCB0aGUgZGVhZGxpbmUgYXJn
dW1lbnQgaXMgcGFzc2VkIGNvcnJlY3RseS4KKyAgdmFyIGhhbmRsZSA9IHJlcXVlc3RJZGxlQ2Fs
bGJhY2sodGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZGVhZGxpbmUpIHsKKyAgICBhc3NlcnRfdW5y
ZWFjaGVkKCJjYWxsYmFjayBzaG91bGQgbm90IGJlIGNhbGxlZCBpZiBjYW5jZWxlZCB3aXRoIGNh
bmNlbElkbGVDYWxsYmFjayIpOworICB9KSk7CisgIGNhbmNlbElkbGVDYWxsYmFjayhoYW5kbGUp
OworICBzdGVwX3RpbWVvdXQodGhpcy5zdGVwX2Z1bmNfZG9uZSgpLCAyMDApOworfSwgJ2NhbmNl
bElkbGVDYWxsYmFjayBjYW5jZWxzIGNhbGxiYWNrcycpOworCis8L3NjcmlwdD4KKzxoMT5CYXNp
YyByZXF1ZXN0SWRsZUNhbGxiYWNrIFRlc3RzPC9oMT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogRXJyb3I6IHJlcXVlc3RJ
ZGxlQ2FsbGJhY2tFeGNlcHRpb24KKworUEFTUyByZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNr
IGV4Y2VwdGlvbnMgYXJlIHJlcG9ydGVkIHRvIGVycm9yIGhhbmRsZXIgCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9jYWxsYmFjay1leGNlcHRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2st
ZXhjZXB0aW9uLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWV4Y2VwdGlv
bi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKzwhZG9jdHlwZSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tF
bmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+cmVxdWVzdElk
bGVDYWxsYmFjayBjYWxsYmFjayBleGNlcHRpb24gcmVwb3J0ZWQgdG8gZXJyb3IgaGFuZGxlcjwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorICB2YXIgY3VzdG9tX2V4Y2VwdGlvbiA9ICdy
ZXF1ZXN0SWRsZUNhbGxiYWNrRXhjZXB0aW9uJzsKKyAgc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbiA6IHRydWV9KTsKKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2Vy
dF9mYWxzZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5oaWRkZW4gbXVzdCBleGlzdCBhbmQg
YmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIpOworICAgIGFkZEV2ZW50TGlzdGVu
ZXIoImVycm9yIixmdW5jdGlvbihlKSB7CisgICAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZS5lcnJvci5tZXNzYWdlLCBjdXN0b21fZXhjZXB0aW9uKTsKKyAg
ICAgICAgdC5kb25lKCk7CisgICAgICB9KQorICAgIH0pOworICAgIHdpbmRvdy5yZXF1ZXN0SWRs
ZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcihjdXN0b21fZXhj
ZXB0aW9uKTsKKyAgICB9KTsKKyAgfSwgInJlcXVlc3RJZGxlQ2FsbGJhY2sgY2FsbGJhY2sgZXhj
ZXB0aW9ucyBhcmUgcmVwb3J0ZWQgdG8gZXJyb3IgaGFuZGxlciIpOworPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDkgQEAKK1Rlc3Qgb2YgcmVxdWVzdElkbGVDYWxsYmFjayBpZGxlIHBl
cmlvZCBiZWhhdmlvcgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgd2luZG93LnJlcXVlc3RJ
ZGxlQ2FsbGJhY2sgZGVhbHMgd2l0aCBjYWxsYmFja3MgZHVyaW5nIGlkbGUgcGVyaW9kcyBjb3Jy
ZWN0bHkuCisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJ
TUVPVVQgQ2hlY2sgdGhhdCBpZiBhbiBpZGxlIGNhbGxiYWNrIGNhbGxzIHJlcXVlc3RJZGxlQ2Fs
bGJhY2sgdGhlIG5ldyBjYWxsYmFjayBkb2Vzbid0IHJ1biBpbiB0aGUgY3VycmVudCBpZGxlIHBl
cmlvZC4gVGVzdCB0aW1lZCBvdXQKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlkbGUtcGVyaW9k
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pZGxlLXBlcmlvZHMuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWRsZS1wZXJpb2RzLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBd
IC0tPgorPHRpdGxlPndpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrIGJlaGF2aW9y
IGR1cmluZyBpZGxlIHBlcmlvZHMuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
Um9zcyBNY0lscm95IiBocmVmPSJtYWlsdG86cm1jaWxyb3lAY2hyb21pdW0ub3JnIiAvPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgLy8gQ2hlY2sgdGhhdCBpZiBhbiBpZGxlIGNh
bGxiYWNrIGNhbGxzIHJlcXVlc3RJZGxlQ2FsbGJhY2ssIHRoZSBuZXcgY2FsbGJhY2sKKyAgLy8g
ZG9lc24ndCBnZXQgdGhlIHNhbWUgZGVhZGxpbmUgKGkuZS4sIHJ1bnMgaW4gYSBuZXcgaWRsZSBw
ZXJpb2QpLgorICB2YXIgcHJldmlvdXNfZGVhZGxpbmUgPSB1bmRlZmluZWQ7CisgIHZhciBpZGxl
X2NhbGxiYWNrc19yZW1haW5pbmcgPSAxMDsKKyAgdmFyIHJJQyA9IHRoaXMuc3RlcF9mdW5jKGZ1
bmN0aW9uKGRlYWRsaW5lKSB7CisgICAgdmFyIG5vdyA9IHBlcmZvcm1hbmNlLm5vdygpOworICAg
IHZhciByZW1haW5pbmcgPSBkZWFkbGluZS50aW1lUmVtYWluaW5nKCk7CisgICAgdmFyIG5ld19k
ZWFkbGluZSA9IG5vdyArIHJlbWFpbmluZzsKKyAgICBpZiAocHJldmlvdXNfZGVhZGxpbmUgIT0g
dW5kZWZpbmVkKSB7CisgICAgICBhc3NlcnRfdHJ1ZShuZXdfZGVhZGxpbmUgPiBwcmV2aW91c19k
ZWFkbGluZSwgIkEgcmVxdWVzdElkbGVDYWxsYmFjayBzY2hlZHVsZWQgZHVyaW5nIGFuIGlkbGUg
cGVyaW9kIHNob3VsZCBiZSBjYWxsZWQgYmFjayB3aXRoIGEgZGVhZGxpbmUgZ3JlYXRlciB0aGFu
IHRoYXQgaW4gdGhlIGN1cnJlbnQgaWRsZSBwZXJpb2QuIik7CisgICAgfQorCisgICAgLy8gU2No
ZWR1bGUgYSBuZXcgcmVxdWVzdElkbGVDYWxsYmFjay4KKyAgICBpZiAoLS1pZGxlX2NhbGxiYWNr
c19yZW1haW5pbmcgPiAwKSB7CisgICAgICBwcmV2aW91c19kZWFkbGluZSA9IG5ld19kZWFkbGlu
ZTsKKyAgICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2socklDKTsKKyAgICB9IGVsc2UgeworICAgICAg
dGhpcy5kb25lKCk7CisgICAgfQorICB9KTsKKworICAvLyBTcGluIGFuIGVtcHR5IHJBRiBsb29w
IHRvIGNhdXNlIGFuIGlkbGUgcGVyaW9kIGVhY2ggZnJhbWUuCisgIHZhciBpZGxlX3Rhc2tfcG9z
dGVkID0gZmFsc2U7CisgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiByQUZMb29wKCkg
eworICAgIGlmICghaWRsZV90YXNrX3Bvc3RlZCkgeworICAgICAgcmVxdWVzdElkbGVDYWxsYmFj
ayhySUMpOworICAgICAgaWRsZV90YXNrX3Bvc3RlZCA9IHRydWU7CisgICAgfQorICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZShyQUZMb29wKTsKKyAgfSk7Cit9LCAnQ2hlY2sgdGhhdCBpZiBhbiBp
ZGxlIGNhbGxiYWNrIGNhbGxzIHJlcXVlc3RJZGxlQ2FsbGJhY2sgdGhlIG5ldyBjYWxsYmFjayBk
b2VzblwndCBydW4gaW4gdGhlIGN1cnJlbnQgaWRsZSBwZXJpb2QuJyk7Cis8L3NjcmlwdD4KKzxo
MT5UZXN0IG9mIHJlcXVlc3RJZGxlQ2FsbGJhY2sgaWRsZSBwZXJpb2QgYmVoYXZpb3I8L2gxPgor
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrIGRl
YWxzIHdpdGggY2FsbGJhY2tzIGR1cmluZyBpZGxlIHBlcmlvZHMgY29ycmVjdGx5LjwvcD4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBjYWxsYmFjay1pZnJhbWUgCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlk
bGVjYWxsYmFjay9jYWxsYmFjay1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2Fs
bGJhY2staWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWlmcmFt
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKzwhZG9jdHlwZSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tF
bmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+PC90aXRsZT4K
KzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFt
ZSBzdHlsZT0iZGlzcGxheTpub25lIiBpZD0iZnJhbWUiPjwvaWZyYW1lPgorPHNjcmlwdD4KKyAg
YXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGxldCBmcmFtZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJmcmFtZSIpOworICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cudGVzdCA9IGZ1bmN0
aW9uKCkgeworICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKHQu
c3RlcF9mdW5jX2RvbmUoKSk7CisgICAgfQorCisgICAgZnJhbWUuY29udGVudFdpbmRvdy50ZXN0
KCk7CisgIH0pOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staW52b2tlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLWludm9rZWQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pbnZva2VkLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyByZXF1ZXN0SWRsZUNhbGxi
YWNrIGNhbGxiYWNrIGlzIGludm9rZWQgYXQgbGVhc3Qgb25jZSBiZWZvcmUgdGhlIHRpbWVvdXQg
CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1pbnZva2VkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxi
YWNrL2NhbGxiYWNrLWludm9rZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJh
Y2staW52b2tlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKzwhZG9jdHlw
ZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxl
Q2FsbGJhY2tFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+
cmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFjayBtdXN0IGJlIGNhbGxlZCBldmVudHVhbGx5PC90
aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRp
diBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsK
KyAgICBhc3NlcnRfZmFsc2UoZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3Qg
ZXhpc3QgYW5kIGJlIGZhbHNlIHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICB3aW5k
b3cucmVxdWVzdElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKCkpOworICB9LCAicmVxdWVz
dElkbGVDYWxsYmFjayBjYWxsYmFjayBpcyBpbnZva2VkIGF0IGxlYXN0IG9uY2UgYmVmb3JlIHRo
ZSB0aW1lb3V0Iik7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1tdWx0aXBsZS1j
YWxscy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxl
LWNhbGxzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stbXVs
dGlwbGUtY2FsbHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAor
CitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyByZXF1ZXN0
SWRsZUNhbGxiYWNrIGNhbGxiYWNrcyBzaG91bGQgYmUgaW52b2tlZCBpbiBvcmRlciAoY2FsbGVk
IGl0ZXJhdGl2ZWx5KSAKK1RJTUVPVVQgcmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFja3Mgc2hv
dWxkIGJlIGludm9rZWQgaW4gb3JkZXIgKGNhbGxlZCByZWN1cnNpdmVseSkgVGVzdCB0aW1lZCBv
dXQKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRs
ZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0NiBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBl
eHBlcmltZW50YWw6UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5tdWx0aXBsZSBjYWxscyB0byByZXF1ZXN0SWRsZUNhbGxi
YWNrPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisgIGxldCBvcHRpb24gPSB7dGltZW91
dDogNTB9OworCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBhc3NlcnRfZmFsc2Uo
ZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3QgZXhpc3QgYW5kIGJlIGZhbHNl
IHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICB2YXIgY291bnRlciA9IDA7CisgICAg
ZnVuY3Rpb24gZihjKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGNvdW50ZXIsIGMpOworICAgICAg
aWYgKGNvdW50ZXIgPT09IDQ5KSB7CisgICAgICAgIHQuZG9uZSgpOworICAgICAgfQorCisgICAg
ICArK2NvdW50ZXI7CisgICAgfQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpIHsK
KyAgICAgIGxldCBqID0gaTsKKyAgICAgIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uICgpIHsgZihqKSB9KSwgb3B0aW9uKTsKKyAgICB9CisgIH0sICJyZXF1
ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrcyBzaG91bGQgYmUgaW52b2tlZCBpbiBvcmRlciAoY2Fs
bGVkIGl0ZXJhdGl2ZWx5KSIpOworCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBh
c3NlcnRfZmFsc2UoZG9jdW1lbnQuaGlkZGVuLCAiZG9jdW1lbnQuaGlkZGVuIG11c3QgZXhpc3Qg
YW5kIGJlIGZhbHNlIHRvIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkiKTsKKyAgICB2YXIgY291bnRl
ciA9IDA7CisKKyAgICBmdW5jdGlvbiBmKGMpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoY291bnRl
ciwgYyk7CisgICAgICBpZiAoY291bnRlciA9PT0gNDkpIHsKKyAgICAgICAgdC5kb25lKCk7Cisg
ICAgICB9CisKKyAgICAgICsrY291bnRlcjsKKyAgICAgIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxi
YWNrKHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpIHsgZihjICsgMSkgfSksIG9wdGlvbik7CisgICAg
fQorCisgICAgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sodC5zdGVwX2Z1bmMoZnVuY3Rpb24g
KCkgeyBmKDApIH0pLCBvcHRpb24pOworICB9LCAicmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFj
a3Mgc2hvdWxkIGJlIGludm9rZWQgaW4gb3JkZXIgKGNhbGxlZCByZWN1cnNpdmVseSkiKTsKKwor
ICBsZXQgZ2VuZXJhdGVJZGxlUGVyaW9kcyA9IF8gPT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGdl
bmVyYXRlSWRsZVBlcmlvZHMpOworICBnZW5lcmF0ZUlkbGVQZXJpb2RzKCk7Cis8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVz
dGlkbGVjYWxsYmFjay9jYWxsYmFjay1yZW1vdmVkLWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svY2FsbGJhY2stcmVtb3ZlZC1mcmFtZS1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXJlbW92ZWQtZnJhbWUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGNhbGxpbmcgcmVxdWVzdElkbGVD
YWxsYmFjayBvbiBhIGNvbnRlbnRXaW5kb3cgZnJvbSBhIHJlbW92ZWQgaWZyYW1lIHNob3VsZCBu
b3QgdHJpZ2dlciB0aGUgY2FsbGJhY2sgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1yZW1vdmVk
LWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXJlbW92ZWQtZnJhbWUu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stcmVtb3ZlZC1mcmFtZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tFbmFibGVk
PXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+cmVxdWVzdElkbGVDYWxs
YmFjayBvbiByZW1vdmVkIGZyYW1lIHNob3VsZG4ndCBjYWxsIGJhY2s8L3RpdGxlPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICBhc3lu
Y190ZXN0KGZ1bmN0aW9uICh0KSB7CisgICAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50LmhpZGRlbiwg
ImRvY3VtZW50LmhpZGRlbiBtdXN0IGV4aXN0IGFuZCBiZSBmYWxzZSB0byBydW4gdGhpcyB0ZXN0
IHByb3Blcmx5Iik7CisKKyAgICBmdW5jdGlvbiBzdGFydCgpIHsKKyAgICAgIHZhciBmcmFtZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgZnJhbWUuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIF8gPT4gY29ubmVjdChmcmFtZSksIHtvbmNlOnRydWV9KTsKKyAgICAg
IGZyYW1lLnNyYyA9ICJhYm91dDpibGFuayI7CisgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGZyYW1lKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjb25uZWN0KGZyYW1lKSB7CisgICAg
ICB2YXIgY29udGVudFdpbmRvdyA9IGZyYW1lLmNvbnRlbnRXaW5kb3c7CisgICAgICBjb250ZW50
V2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soXyA9PiBjYWxsYmFjazAoZnJhbWUsIGNvbnRlbnRX
aW5kb3cpKTsKKyAgICAgIHQuc3RlcF90aW1lb3V0KGZ1bmN0aW9uKCkgeyB0LmRvbmUoKTsgfSwg
MTAwMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gY2FsbGJhY2swKGYsIHcpIHsKKyAgICAgIGRv
Y3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZik7CisgICAgICB3LnJlcXVlc3RJZGxlQ2FsbGJhY2so
dC51bnJlYWNoZWRfZnVuYygicmVxdWVzdElkbGVDYWxsYmFjayBjYWxsYmFjayBzaG91bGQgbm90
IHRyaWdnZXIgdGhlIGNhbGxiYWNrIikpOworICAgIH0KKworICAgIGFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCBzdGFydCwge29uY2U6dHJ1ZX0pOworICB9LCAiY2FsbGluZyByZXF1ZXN0SWRsZUNh
bGxiYWNrIG9uIGEgY29udGVudFdpbmRvdyBmcm9tIGEgcmVtb3ZlZCBpZnJhbWUgc2hvdWxkIG5v
dCB0cmlnZ2VyIHRoZSBjYWxsYmFjayIpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJh
Y2stc3VzcGVuZGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2st
c3VzcGVuZGVkLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2st
c3VzcGVuZGVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBEaXNwYXRjaGluZyBpZGxlIGNhbGxiYWNrcyBzaG91bGQgYmUgYWJsZSB0byBiZSBzdXNw
ZW5kZWQgYW5kIHRoZW4gcmVzdW1lZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXN1c3BlbmRl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay1zdXNwZW5kZWQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stc3VzcGVuZGVkLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw5NCBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBleHBlcmltZW50YWw6UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgor
PG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5EaXNwYXRjaGluZyBpZGxlIGNhbGxiYWNrcyBz
aG91bGQgYmUgYWJsZSB0byBiZSBzdXNwZW5kZWQgYW5kIHRoZW4gcmVzdW1lZDwvdGl0bGU+Cis8
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+
CisgIGZ1bmN0aW9uIHdpdGhFdmVudExpc3RlbmVyKHRhcmdldCwgZXZlbnQsIGhhbmRsZXIpIHsK
KyAgICBoYW5kbGVyID0gaGFuZGxlciB8fCAoZSA9PiBlKTsKKyAgICByZXR1cm4gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7CisgICAgICBsZXQgd3JhcHBlciA9IGZ1bmN0aW9uKGUpIHsKKyAgICAg
ICAgbGV0IHJlc3VsdCA9IGhhbmRsZXIoZSk7CisgICAgICAgIGlmICghcmVzdWx0KSB7CisgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgcmVzb2x2ZShyZXN1bHQpOworICAg
ICAgfQorICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIHdyYXBwZXIsIHsgb25j
ZTogdHJ1ZSB9KTsKKyAgICB9KTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VQb3N0QmFja1VybChu
YW1lKSB7CisgICAgcmV0dXJuIG5ldyBVUkwoJ3Jlc291cmNlcy9wb3N0X25hbWVfb25fbG9hZC5o
dG1sP25hbWU9JyArIG5hbWUsCisgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uKS5o
cmVmOworICB9CisKKyAgZnVuY3Rpb24gd2FpdEZvck1lc3NhZ2UobWVzc2FnZSwgaGFuZGxlcikg
eworICAgIHJldHVybiB3aXRoRXZlbnRMaXN0ZW5lcih3aW5kb3csICdtZXNzYWdlJywgZSA9PiAo
ZS5kYXRhID09PSBtZXNzYWdlKSAmJiBoYW5kbGVyKGUpKTs7CisgIH0KKworICBmdW5jdGlvbiB3
aXRoV2luZG93KG5hbWUpIHsKKyAgICBsZXQgd2luID0gd2luZG93Lm9wZW4obWFrZVBvc3RCYWNr
VXJsKG5hbWUpKQorICAgIHJldHVybiB3YWl0Rm9yTWVzc2FnZShuYW1lLCBfID0+IHdpbik7Cisg
IH0KKworICBmdW5jdGlvbiBuYXZpZ2F0ZVdpbmRvdyh3aW4sIG5hbWUpIHsKKyAgICB3aW4ubG9j
YXRpb24gPSBtYWtlUG9zdEJhY2tVcmwobmFtZSk7CisgICAgcmV0dXJuIHdhaXRGb3JNZXNzYWdl
KG5hbWUsIF8gPT4gd2luKTsKKyAgfQorCisgIGZ1bmN0aW9uIHdhaXREdXJhdGlvbihkZWxheSkg
eworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHN0ZXBfdGltZW91
dChyZXNvbHZlLCBkZWxheSk7CisgICAgfSkKKyAgfQorCisgIGZ1bmN0aW9uIGdvQmFjayh3aW4p
IHsKKyAgICB2YXIgcCA9IHdpdGhFdmVudExpc3RlbmVyKHdpbiwgJ3BhZ2VoaWRlJyk7CisgICAg
d2luLmhpc3RvcnkuYmFjaygpOworICAgIHJldHVybiBwOworICB9CisKKyAgcHJvbWlzZV90ZXN0
KHQgPT4geworICAgIGxldCBpZGxlQ2FsbGVkID0gZmFsc2U7CisgICAgbGV0IHJ1bm5pbmcgPSB0
cnVlOworICAgIHJldHVybiB3aXRoV2luZG93KCdmb28nKQorICAgICAgLnRoZW4od2luID0+IHsK
KyAgICAgICAgbGV0IGNhbGxiYWNrID0gZnVuY3Rpb24oZCkgeworICAgICAgICAgIGlkbGVDYWxs
ZWQgPSB0cnVlOworICAgICAgICAgIGlmIChydW5uaW5nKSB7CisgICAgICAgICAgICB3aW4ucmVx
dWVzdElkbGVDYWxsYmFjayhjYWxsYmFjayk7CisgICAgICAgICAgfQorICAgICAgICB9OworCisg
ICAgICAgIHdpbi5yZXF1ZXN0SWRsZUNhbGxiYWNrKGNhbGxiYWNrKTsKKworICAgICAgICByZXR1
cm4gbmF2aWdhdGVXaW5kb3cod2luLCAnYmFyJykKKyAgICAgICAgICAudGhlbihfID0+IGlkbGVD
YWxsZWQgPSBmYWxzZSkKKyAgICAgICAgICAudGhlbihfID0+IHdhaXREdXJhdGlvbigyMDAwKSkK
KyAgICAgICAgICAudGhlbihfID0+IHsKKyAgICAgICAgICAgIGFzc2VydF9mYWxzZShpZGxlQ2Fs
bGVkLCAiaWRsZSBjYWxsYmFjayBzaG91bGRuJ3QgaGF2ZSBiZWVuIGNhbGxlZCB5ZXQiKTsKKyAg
ICAgICAgICAgIHJldHVybiBnb0JhY2sod2luKTsKKyAgICAgICAgICB9KQorICAgICAgICAgIC50
aGVuKF8gPT4gUHJvbWlzZS5yYWNlKFsKKyAgICAgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgaXQn
cyBhIG1hdHRlciBvZiBoYXZpbmcgYmZjYWNoZSAuLi4KKyAgICAgICAgICAgIHdhaXREdXJhdGlv
bigyMDAwKQorICAgICAgICAgICAgICAudGhlbihfID0+IHsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfdHJ1ZShpZGxlQ2FsbGVkLCAiaWRsZSBjYWxsYmFjayBzaG91bGQndmUgYmVlbiBjYWxsZWQg
Ynkgbm93Iik7CisgICAgICAgICAgICAgICAgcnVubmluZyA9IGZhbHNlOworICAgICAgICAgICAg
ICB9KSwKKyAgICAgICAgICAgIC8vIC4uLiBvciBub3QuIElmIG5vdCwgd2UgZXhwZWN0IGEgbG9h
ZCBldmVudC4KKyAgICAgICAgICAgIHdhaXRGb3JNZXNzYWdlKCJmb28iLCBfID0+IHdpbikKKyAg
ICAgICAgICBdKSkKKyAgICAgICAgICAudGhlbihfID0+IHdpbi5jbG9zZSgpKQorICAgICAgICAg
IC5jYXRjaChlID0+IHsKKyAgICAgICAgICAgIHdpbi5jbG9zZSgpOworICAgICAgICAgICAgdGhy
b3cgZTsKKyAgICAgICAgICB9KQorICAgICAgfSk7CisgIH0pOworCis8L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVj
YWxsYmFjay9jYWxsYmFjay10aW1lb3V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJh
Y2svY2FsbGJhY2stdGltZW91dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNr
L2NhbGxiYWNrLXRpbWVvdXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NCBAQAorCitGQUlMIHJlcXVlc3RJZGxlQ2FsbGJhY2sgY2FsbGJhY2sgc2hvdWxkIHRpbWUgb3V0
IGFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK0ZBSUwgcmVxdWVzdElkbGVD
YWxsYmFjayBjYWxsYmFjayBzaG91bGQgbm90IHRpbWUgb3V0IGFzc2VydF9mYWxzZTogZXhwZWN0
ZWQgZmFsc2UgZ290IHRydWUKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtd2hlbi1i
dXN5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stdGltZW91dC13
aGVuLWJ1c3ktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10
aW1lb3V0LXdoZW4tYnVzeS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2
IEBACitUZXN0IG9mIHJlcXVlc3RJZGxlQ2FsbGJhY2sgdGltZW91dCBiZWhhdmlvcgorCisKK0ZB
SUwgcmVxdWVzdElkbGVDYWxsYmFjayBub3Qgc2NoZWR1bGVkIHdoZW4gZXZlbnQgbG9vcCBpcyBi
dXN5LiBhc3NlcnRfZmFsc2U6IElkbGVEZWFkbGluZS5kaWRUaW1lb3V0IE1VU1QgYmUgZmFsc2Ug
aWYgcmVxdWVzdElkbGVDYWxsYmFjayB3YXNuJ3Qgc2NoZWR1bGVkIGR1ZSB0byBhIHRpbWVvdXQg
ZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK0ZBSUwgcmVxdWVzdElkbGVDYWxsYmFjayBzY2hlZHVs
ZWQgd2l0aCB0aW1lb3V0IHdoZW4gZXZlbnQgbG9vcCBpcyBidXN5LiBhc3NlcnRfdHJ1ZTogU2hv
dWxkIG9ubHkgaGF2ZSBiZWVuIHJ1biBhZnRlciB0aW1lb3V0IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay10aW1lb3V0LXdoZW4tYnVzeS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tFbmFibGVkPXRydWUgXSAt
LT4KKzx0aXRsZT53aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayBkZWFscyB3aXRoIHRpbWVvdXRz
IGNvcnJlY3RseTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
KzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iUm9zcyBNY0lscm95IiBocmVmPSJtYWlsdG86cm1j
aWxyb3lAY2hyb21pdW0ub3JnIiAvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAg
Ly8gQ2hlY2sgd2hldGhlciByZXF1ZXN0SWRsZUNhbGxiYWNrIHdpdGggYSB0aW1lb3V0IHdvcmtz
IHdoZW4gdGhlIGV2ZW50IGxvb3AKKyAgLy8gaXMgYnVzeS4KKyAgdmFyIGJ1c3lfbG9vcF9pdGVy
YXRpb25zX3JlbWFpbmluZyA9IDEwOyAgLy8gU2hvdWxkIHRha2UgMjAgKiA0MCA9IDQwMG1zCisg
IHZhciBpZGxlX2NhbGxiYWNrX3NjaGVkdWxlZDsKKyAgdmFyIGlkbGVfY2FsbGJhY2sgPSB0aGlz
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGRlYWRsaW5lKSB7CisgICAgYXNzZXJ0X2ZhbHNlKGRl
YWRsaW5lLmRpZFRpbWVvdXQsICJJZGxlRGVhZGxpbmUuZGlkVGltZW91dCBNVVNUIGJlIGZhbHNl
IGlmIHJlcXVlc3RJZGxlQ2FsbGJhY2sgd2Fzbid0IHNjaGVkdWxlZCBkdWUgdG8gYSB0aW1lb3V0
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhidXN5X2xvb3BfaXRlcmF0aW9uc19yZW1haW5pbmcsIDAs
ICJCdXN5IGV2ZW50IGxvb3Agc2hvdWxkIGJlIGZpbmlzaGVkIGJ5IHRoZSB0aW1lIHdlIGdldCBz
Y2hlZHVsZWQiKTsKKyAgfSk7CisKKyAgdmFyIGJ1c3lfbG9vcF9pdGVyYXRpb25zX3JlbWFpbmlu
ZyA9IDEwOyAgLy8gU2hvdWxkIHRha2UgMjAgKiA0MCA9IDQwMG1zCisgIHN0ZXBfdGltZW91dCh0
aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiBidXN5TG9vcCgpIHsKKyAgICB2YXIgc3RhcnRfdGltZSA9
IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGlmICghaWRsZV9jYWxsYmFja19zY2hlZHVsZWQpIHsK
KyAgICAgIGlkbGVfY2FsbGJhY2tfc2NoZWR1bGVkID0gc3RhcnRfdGltZTsKKyAgICAgIHJlcXVl
c3RJZGxlQ2FsbGJhY2soaWRsZV9jYWxsYmFjayk7CisgICAgfQorCisgICAgLy8gVXNlIHVwIG1v
cmUgdGhhbiBhIGZyYW1lcyB3b3J0aCBvZiBidWRnZXQuCisgICAgd2hpbGUgKHBlcmZvcm1hbmNl
Lm5vdygpIC0gc3RhcnRfdGltZSA8IDQwKSB7CisgICAgfQorICAgIGlmIChidXN5X2xvb3BfaXRl
cmF0aW9uc19yZW1haW5pbmcgPiAwKSB7CisgICAgICBidXN5X2xvb3BfaXRlcmF0aW9uc19yZW1h
aW5pbmctLTsKKyAgICAgIHN0ZXBfdGltZW91dChidXN5TG9vcCk7CisgICAgfQorICB9KSk7Cit9
LCAncmVxdWVzdElkbGVDYWxsYmFjayBub3Qgc2NoZWR1bGVkIHdoZW4gZXZlbnQgbG9vcCBpcyBi
dXN5LicpOworCithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAvLyBDaGVjayB3aGV0aGVyIHJl
cXVlc3RJZGxlQ2FsbGJhY2sgd2l0aCBhIHRpbWVvdXQgd29ya3Mgd2hlbiB0aGUgZXZlbnQgbG9v
cAorICAvLyBpcyBidXN5LgorICB2YXIgYnVzeV9sb29wX2l0ZXJhdGlvbnNfcmVtYWluaW5nID0g
MTA7ICAvLyBTaG91bGQgdGFrZSAyMCAqIDQwID0gNDAwbXMKKyAgdmFyIHRpbWVvdXQgPSAyMDA7
CisgIHZhciBpZGxlX2NhbGxiYWNrX3NjaGVkdWxlZDsKKyAgdmFyIGlkbGVfY2FsbGJhY2sgPSB0
aGlzLnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGRlYWRsaW5lKSB7CisgICAgdmFyIHRpbWVfZGVs
dGEgPSBwZXJmb3JtYW5jZS5ub3coKSAtIGlkbGVfY2FsbGJhY2tfc2NoZWR1bGVkOworICAgIGFz
c2VydF90cnVlKHRpbWVfZGVsdGEgPj0gdGltZW91dCwgIlNob3VsZCBvbmx5IGhhdmUgYmVlbiBy
dW4gYWZ0ZXIgdGltZW91dCIpOworICAgIGFzc2VydF90cnVlKGRlYWRsaW5lLnRpbWVSZW1haW5p
bmcoKSA9PSAwLCAiSWRsZURlYWRsaW5lLnRpbWVSZW1haW5pbmcgTVVTVCBiZSBlcXVhbCB0byB6
ZXJvIGlmIHJlcXVlc3RJZGxlQ2FsbGJhY2sgd2FzIHNjaGVkdWxlZCBkdWUgdG8gYSB0aW1lb3V0
Iik7CisgICAgYXNzZXJ0X3RydWUoZGVhZGxpbmUuZGlkVGltZW91dCwgIklkbGVEZWFkbGluZS5k
aWRUaW1lb3V0IE1VU1QgYmUgdHJ1ZSBpZiByZXF1ZXN0SWRsZUNhbGxiYWNrIHdhcyBzY2hlZHVs
ZWQgZHVlIHRvIGEgdGltZW91dCIpOworICAgIGFzc2VydF90cnVlKGJ1c3lfbG9vcF9pdGVyYXRp
b25zX3JlbWFpbmluZyA+IDAsICJCdXN5IGV2ZW50IGxvb3Agc2hvdWxkIHN0aWxsIGJlIGdvaW5n
Iik7CisgIH0pOworCisgIHN0ZXBfdGltZW91dCh0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbiBidXN5
TG9vcCgpIHsKKyAgICB2YXIgc3RhcnRfdGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGlm
ICghaWRsZV9jYWxsYmFja19zY2hlZHVsZWQpIHsKKyAgICAgIGlkbGVfY2FsbGJhY2tfc2NoZWR1
bGVkID0gc3RhcnRfdGltZTsKKyAgICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2soaWRsZV9jYWxsYmFj
aywgeyB0aW1lb3V0OiB0aW1lb3V0IH0pOworICAgIH0KKworICAgIC8vIFVzZSB1cCBtb3JlIHRo
YW4gYSBmcmFtZXMgd29ydGggb2YgYnVkZ2V0LgorICAgIHdoaWxlIChwZXJmb3JtYW5jZS5ub3co
KSAtIHN0YXJ0X3RpbWUgPCA0MCkgeworICAgIH0KKyAgICBpZiAoYnVzeV9sb29wX2l0ZXJhdGlv
bnNfcmVtYWluaW5nID4gMCkgeworICAgICAgYnVzeV9sb29wX2l0ZXJhdGlvbnNfcmVtYWluaW5n
LS07CisgICAgICBzdGVwX3RpbWVvdXQoYnVzeUxvb3ApOworICAgIH0KKyAgfSkpOworfSwgJ3Jl
cXVlc3RJZGxlQ2FsbGJhY2sgc2NoZWR1bGVkIHdpdGggdGltZW91dCB3aGVuIGV2ZW50IGxvb3Ag
aXMgYnVzeS4nKTsKKworPC9zY3JpcHQ+Cis8aDE+VGVzdCBvZiByZXF1ZXN0SWRsZUNhbGxiYWNr
IHRpbWVvdXQgYmVoYXZpb3I8L2gxPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFj
ay9jYWxsYmFjay10aW1lb3V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRp
bWVvdXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2stdGltZW91dC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlcXVlc3RJZGxlQ2FsbGJhY2tFbmFibGVk
PXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+cmVxdWVzdElkbGVDYWxs
YmFjayB0aW1lb3V0IGNhbGxiYWNrIG11c3QgYmUgY2FsbGVkIHdpdGggZGlkVGltZW91dCBlcXVh
bCB0byB0cnVlPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPHNjcmlwdD4KKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFz
c2VydF9mYWxzZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5oaWRkZW4gbXVzdCBleGlzdCBh
bmQgYmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIpOworICAgIHZhciBjb3VudGVy
ID0gMDsKKworICAgIGZ1bmN0aW9uIGcoZGVhZGxpbmUpIHsKKyAgICAgIGFzc2VydF90cnVlKGRl
YWRsaW5lLmRpZFRpbWVvdXQpCisgICAgICB0LmRvbmUoKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBmKGRlYWRsaW5lKSB7CisgICAgICBhc3NlcnRfZmFsc2UoZGVhZGxpbmUuZGlkVGltZW91dCk7
CisgICAgICB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuYyhnKSwge3RpbWVv
dXQ6MzAwfSk7CisKKyAgICAgIHZhciBkID0gRGF0ZS5ub3coKSArIDUwMDsKKyAgICAgIHdoaWxl
IChEYXRlLm5vdygpIDwgZCkgeworCisgICAgICB9CisgICAgfQorICAgIHdpbmRvdy5yZXF1ZXN0
SWRsZUNhbGxiYWNrKHQuc3RlcF9mdW5jKGYpKTsKKyAgfSwgInJlcXVlc3RJZGxlQ2FsbGJhY2sg
Y2FsbGJhY2sgc2hvdWxkIHRpbWUgb3V0Iik7CisKKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkg
eworICAgIGFzc2VydF9mYWxzZShkb2N1bWVudC5oaWRkZW4sICJkb2N1bWVudC5oaWRkZW4gbXVz
dCBleGlzdCBhbmQgYmUgZmFsc2UgdG8gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSIpOworICAgIGZ1
bmN0aW9uIGcoZGVhZGxpbmUpIHsKKyAgICAgIGFzc2VydF9mYWxzZShkZWFkbGluZS5kaWRUaW1l
b3V0KQorICAgICAgdC5kb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZihkZWFkbGluZSkg
eworICAgICAgYXNzZXJ0X2ZhbHNlKGRlYWRsaW5lLmRpZFRpbWVvdXQpOworICAgICAgd2luZG93
LnJlcXVlc3RJZGxlQ2FsbGJhY2sodC5zdGVwX2Z1bmMoZyksIHt0aW1lb3V0OjEwMDAwMH0pOwor
ICAgIH0KKyAgICB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuYyhmKSk7Cisg
IH0sICJyZXF1ZXN0SWRsZUNhbGxiYWNrIGNhbGxiYWNrIHNob3VsZCBub3QgdGltZSBvdXQiKTsK
KworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2steGhyLXN5bmMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYWxsYmFjay14aHItc3luYy1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgcmUtc2NoZWR1bGUgaWRsZSBjYWxsYmFja3MgYWZ0ZXIg
c3luYyB4aHIgVGVzdCB0aW1lZCBvdXQKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5j
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5jLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxNyBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBleHBlcmltZW50YWw6UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPG1l
dGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT48L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICByZXF1ZXN0
SWRsZUNhbGxiYWNrKGZ1bmN0aW9uKCkgeworICAgICAgcmVxdWVzdElkbGVDYWxsYmFjayh0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHt9KSkKKyAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0
cFJlcXVlc3QoKTsKKyAgICAgIHhoci5vcGVuKCJHRVQiLCAid3d3LmVtYW1wbGUuY29tIiwgZmFs
c2UpOworICAgICAgeGhyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpIHt9KTsKKyAg
ICAgIHhoci5zZW5kKG51bGwpOworICAgIH0pOworICB9LCAicmUtc2NoZWR1bGUgaWRsZSBjYWxs
YmFja3MgYWZ0ZXIgc3luYyB4aHIiKTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNlbC1p
bnZva2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FuY2VsLWludm9rZWQt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9jYW5jZWwtaW52b2tlZC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgY2FuY2VsSWRs
ZUNhbGxiYWNrIGRvZXMgbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWxsYmFjayB3aXRoIHRoZSBn
aXZlbiBoYW5kbGUgCitQQVNTIEEgY2FuY2VsbGVkIGNhbGxiYWNrIGlzIG5ldmVyIGludm9rZWQg
CitQQVNTIENhbmNlbGxpbmcgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgaWRsZSBjYWxsYmFjayBz
aG91bGQgYmUgYWxsb3dlZCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL2NhbmNlbC1pbnZva2VkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBA
QAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6
UmVxdWVzdElkbGVDYWxsYmFja0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPG1ldGEgY2hhcnNldD11dGYt
OD4KKzx0aXRsZT5jYW5jZWxsaW5nIGlkbGUgcmVxdWVzdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2Pgor
PHNjcmlwdD4KKyAgdGVzdChmdW5jdGlvbiAodCkgeworICAgIHdpbmRvdy5jYW5jZWxJZGxlQ2Fs
bGJhY2soNDIpOworICAgIGFzc2VydF90cnVlKHRydWUpOworICB9LCAiY2FuY2VsSWRsZUNhbGxi
YWNrIGRvZXMgbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWxsYmFjayB3aXRoIHRoZSBnaXZlbiBo
YW5kbGUiKTsKKworICBhc3luY190ZXN0KGZ1bmN0aW9uICh0KSB7CisgICAgYXNzZXJ0X2ZhbHNl
KGRvY3VtZW50LmhpZGRlbiwgImRvY3VtZW50LmhpZGRlbiBtdXN0IGV4aXN0IGFuZCBiZSBmYWxz
ZSB0byBydW4gdGhpcyB0ZXN0IHByb3Blcmx5Iik7CisgICAgdmFyIG5ldmVyQ2FsbGVkID0gdHJ1
ZTsKKyAgICB2YXIgaGFuZGxlID0gd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soZnVuY3Rpb24g
KCkgeworICAgICAgbmV2ZXJDYWxsZWQgPSBmYWxzZTsKKyAgICB9KTsKKyAgICB3aW5kb3cuY2Fu
Y2VsSWRsZUNhbGxiYWNrKGhhbmRsZSk7CisKKyAgICB0LnN0ZXBfdGltZW91dChmdW5jdGlvbigp
IHsKKyAgICAgIGFzc2VydF90cnVlKG5ldmVyQ2FsbGVkKTsKKyAgICAgIHQuZG9uZSgpOworICAg
IH0sIDIwMDApOworICB9LCAiQSBjYW5jZWxsZWQgY2FsbGJhY2sgaXMgbmV2ZXIgaW52b2tlZCIp
OworCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICB2YXIgaGFuZGxlID0gcmVxdWVz
dElkbGVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uICgpIHsKKyAgICAgIGNhbmNl
bElkbGVDYWxsYmFjayhoYW5kbGUpOworICAgIH0pKTsKKyAgfSwgIkNhbmNlbGxpbmcgdGhlIGN1
cnJlbnRseSBleGVjdXRpbmcgaWRsZSBjYWxsYmFjayBzaG91bGQgYmUgYWxsb3dlZCIpOworPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDIyIEBACisKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAgCitQQVNTIFBhcnRp
YWwgaW50ZXJmYWNlIFdpbmRvdzogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQgCitQQVNTIElk
bGVEZWFkbGluZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAorUEFTUyBJZGxlRGVhZGxpbmUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQ
QVNTIElkbGVEZWFkbGluZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElkbGVEZWFkbGlu
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogb3BlcmF0aW9uIHRpbWVSZW1haW5p
bmcoKSAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogYXR0cmlidXRlIGRpZFRpbWVvdXQg
CitQQVNTIElkbGVEZWFkbGluZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRlYWRsaW5l
IAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZGVhZGxpbmUgCitQQVNTIElkbGVEZWFkbGluZSBp
bnRlcmZhY2U6IGRlYWRsaW5lIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidGltZVJlbWFpbmluZygp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSWRsZURlYWRsaW5lIGludGVyZmFjZTogZGVh
ZGxpbmUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaWRUaW1lb3V0IiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIHJlcXVlc3RJZGxlQ2FsbGJh
Y2soSWRsZVJlcXVlc3RDYWxsYmFjaywgSWRsZVJlcXVlc3RPcHRpb25zKSAKK1BBU1MgV2luZG93
IGludGVyZmFjZTogb3BlcmF0aW9uIGNhbmNlbElkbGVDYWxsYmFjayh1bnNpZ25lZCBsb25nKSAK
K1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVx
dWVzdElkbGVDYWxsYmFjayhJZGxlUmVxdWVzdENhbGxiYWNrLCBJZGxlUmVxdWVzdE9wdGlvbnMp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogY2FsbGluZyBy
ZXF1ZXN0SWRsZUNhbGxiYWNrKElkbGVSZXF1ZXN0Q2FsbGJhY2ssIElkbGVSZXF1ZXN0T3B0aW9u
cykgb24gd2luZG93IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNh
bmNlbElkbGVDYWxsYmFjayh1bnNpZ25lZCBsb25nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGNhbGxpbmcgY2FuY2VsSWRsZUNhbGxiYWNrKHVuc2lnbmVk
IGxvbmcpIG9uIHdpbmRvdyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3cuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svaWRsaGFybmVzcy53aW5kb3cuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2sv
aWRsaGFybmVzcy53aW5kb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0t
IFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8g
cnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVy
aW1lbnRhbDpSZXF1ZXN0SWRsZUNhbGxiYWNrRW5hYmxlZD10cnVlIF0gLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2lkbGhhcm5lc3Mud2luZG93LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVx
dWVzdGlkbGVjYWxsYmFjay9pZGxoYXJuZXNzLndpbmRvdy5qcwkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2Fs
bGJhY2svaWRsaGFybmVzcy53aW5kb3cuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBA
QAorLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBz
Y3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9yZXF1ZXN0aWRsZWNhbGxiYWNrLworCisndXNlIHN0cmljdCc7CisKK2lkbF90ZXN0KAorICBb
J3JlcXVlc3RpZGxlY2FsbGJhY2snXSwKKyAgWydodG1sJywgJ2RvbSddLAorICBhc3luYyBpZGxf
YXJyYXkgPT4geworICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICBJZGxlRGVhZGxp
bmU6IFsnZGVhZGxpbmUnXSwKKyAgICAgIFdpbmRvdzogWyd3aW5kb3cnXSwKKyAgICB9KTsKKwor
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgcmVxdWVzdElkbGVDYWxs
YmFjayhkID0+IHsKKyAgICAgICAgc2VsZi5kZWFkbGluZSA9IGQ7CisgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgIH0sIHsgdGltZW91dDogMTAwIH0pOworICAgIH0pOworICB9CispOwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNh
bGxiYWNrL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay93M2MtaW1wb3J0Lmxv
Zwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzMCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL01FVEEueW1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2Jhc2lj
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svY2FsbGJhY2stZXhjZXB0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2st
aWRsZS1wZXJpb2RzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svY2FsbGJhY2staWZyYW1lLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2sv
Y2FsbGJhY2staW52b2tlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLW11bHRpcGxlLWNhbGxzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3Rp
ZGxlY2FsbGJhY2svY2FsbGJhY2stcmVtb3ZlZC1mcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNr
LXN1c3BlbmRlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtd2hlbi1idXN5Lmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxl
Y2FsbGJhY2svY2FsbGJhY2stdGltZW91dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXhoci1zeW5j
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVl
c3RpZGxlY2FsbGJhY2svY2FuY2VsLWludm9rZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjay9pZGxoYXJuZXNzLndp
bmRvdy5qcwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrL3Jlc291cmNlcy9wb3N0X25hbWVfb25fbG9hZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVxdWVzdGlkbGVjYWxsYmFjay9yZXNvdXJjZXMvcG9zdF9uYW1lX29uX2xvYWQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2svcmVzb3VyY2VzL3Bvc3RfbmFtZV9vbl9sb2FkLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxzY3JpcHQ+Cisg
IGFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBfID0+IHsKKyAgICBsZXQgcGFyYW1zID0gbmV3IFVS
TFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTsKKyAgICB3aW5kb3cub3BlbmVy
LnBvc3RNZXNzYWdlKHBhcmFtcy5nZXQoJ25hbWUnKSwgJyonKTsKKyAgfSk7Cis8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVz
dGlkbGVjYWxsYmFjay9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxi
YWNrL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2svcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTcgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVz
dGlkbGVjYWxsYmFjay9yZXNvdXJjZXMvcG9zdF9uYW1lX29uX2xvYWQuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>