<?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>178999</bug_id>
          
          <creation_ts>2017-10-30 03:30:16 -0700</creation_ts>
          <short_desc>[Web Animations] Add Web Platform tests</short_desc>
          <delta_ts>2017-10-31 06:41:29 -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>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=122912</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1365977</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-10-30 03:30:16 -0700</bug_when>
    <thetext>[Web Animations] Add Web Platform tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365978</commentid>
    <comment_count>1</comment_count>
      <attachid>325346</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-10-30 03:31:23 -0700</bug_when>
    <thetext>Created attachment 325346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1366028</commentid>
    <comment_count>2</comment_count>
      <attachid>325351</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-10-30 08:36:55 -0700</bug_when>
    <thetext>Created attachment 325351
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1366034</commentid>
    <comment_count>3</comment_count>
      <attachid>325351</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-30 09:15:22 -0700</bug_when>
    <thetext>Comment on attachment 325351
Patch for landing

Clearing flags on attachment: 325351

Committed r224182: &lt;https://trac.webkit.org/changeset/224182&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1366035</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-30 09:15:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1366099</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-30 11:36:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/35254418&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325346</attachid>
            <date>2017-10-30 03:31:23 -0700</date>
            <delta_ts>2017-10-30 08:36:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178999-20171030113053.patch</filename>
            <type>text/plain</type>
            <size>769855</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0MTY0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWYyZTBlNDZjYmI1MTc5ZDQxMWNl
MjAwNWNlYzM2NjA0NjFmNzVkOS4uZDVmMGIzMzc5ODBhYWZmZjlkODM2NTRjOWY5Njk0NGZiNTA2
NDgwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2OCBAQAorMjAxNy0xMC0zMCAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gQWRkIFdlYiBQ
bGF0Zm9ybSB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc4OTk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIHZhc3QgbWFqb3JpdHkgaXMgZmFpbGluZywgYXMgZXhwZWN0ZWQgZHVlIHRvIHRo
ZSBuYXNjZW50IHN0YXR1cyBvZiBvdXIgV2ViIEFuaW1hdGlvbnMgaW1wbGVtZW50YXRpb24uCisK
KyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9PV05FUlM6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL1JFQURNRS5tZDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9h
Y2N1bXVsYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9h
Y2N1bXVsYXRpb24tcGVyLXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvYWRkaXRpb24t
cGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9hZGRpdGlvbi1wZXIt
cHJvcGVydHkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9kaXNjcmV0ZS1hbmltYXRpb24tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRp
b24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2Rpc2NyZXRlLWFuaW1hdGlvbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0
aW9uLXR5cGVzL2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1h
dGlvbi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5
cGVzL3Byb3BlcnR5LWxpc3QuanM6IEFkZGVkLgorICAgICAgICAodGVzdEFuaW1hdGlvblNhbXBs
ZXNXaXRoQW55T3JkZXIpOgorICAgICAgICAoaXNTdXBwb3J0ZWQpOgorICAgICAgICAoVGVzdEtl
eWZyYW1lLik6CisgICAgICAgIChUZXN0S2V5ZnJhbWUuZ2V0IE9iamVjdCk6CisgICAgICAgIChU
ZXN0S2V5ZnJhbWUpOgorICAgICAgICAoZ2V0IHByb3BlcnR5VG9JREwpOgorICAgICAgICAoY2Fs
Y0Zyb21QZXJjZW50YWdlKToKKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmlt
YXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL3Byb3BlcnR5LXR5cGVzLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGNvbnN0LmRpc2NyZXRlVHlwZS4pOgorICAgICAgICAoY29uc3QuZGlzY3JldGVUeXBl
LnRlc3RJbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmRpc2NyZXRlVHlwZS50ZXN0QWRk
aXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5kaXNjcmV0ZVR5cGUudGVzdEFk
ZGl0aW9uKToKKyAgICAgICAgKGNvbnN0LmRpc2NyZXRlVHlwZS50ZXN0QWNjdW11bGF0aW9uKToK
KyAgICAgICAgKGNvbnN0Lmxlbmd0aFR5cGUudGVzdEludGVycG9sYXRpb24pOgorICAgICAgICAo
Y29uc3QubGVuZ3RoVHlwZS50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChj
b25zdC5sZW5ndGhUeXBlLnRlc3RBZGRpdGlvbik6CisgICAgICAgIChjb25zdC5sZW5ndGhUeXBl
LnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QubGVuZ3RoUGFpclR5cGUudGVzdElu
dGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3QubGVuZ3RoUGFpclR5cGUudGVzdEFkZGl0aW9u
T3JBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QubGVuZ3RoUGFpclR5cGUudGVzdEFkZGl0
aW9uKToKKyAgICAgICAgKGNvbnN0Lmxlbmd0aFBhaXJUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgor
ICAgICAgICAoY29uc3QucGVyY2VudGFnZVR5cGUudGVzdEludGVycG9sYXRpb24pOgorICAgICAg
ICAoY29uc3QucGVyY2VudGFnZVR5cGUudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24pOgorICAg
ICAgICAoY29uc3QucGVyY2VudGFnZVR5cGUudGVzdEFkZGl0aW9uKToKKyAgICAgICAgKGNvbnN0
LnBlcmNlbnRhZ2VUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QuaW50ZWdl
clR5cGUudGVzdEludGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3QuaW50ZWdlclR5cGUudGVz
dEFkZGl0aW9uT3JBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QuaW50ZWdlclR5cGUudGVz
dEFkZGl0aW9uKToKKyAgICAgICAgKGNvbnN0LmludGVnZXJUeXBlLnRlc3RBY2N1bXVsYXRpb24p
OgorICAgICAgICAoY29uc3QucG9zaXRpdmVJbnRlZ2VyVHlwZS50ZXN0SW50ZXJwb2xhdGlvbik6
CisgICAgICAgIChjb25zdC5wb3NpdGl2ZUludGVnZXJUeXBlLnRlc3RBZGRpdGlvbk9yQWNjdW11
bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LnBvc2l0aXZlSW50ZWdlclR5cGUudGVzdEFkZGl0aW9u
KToKKyAgICAgICAgKGNvbnN0LnBvc2l0aXZlSW50ZWdlclR5cGUudGVzdEFjY3VtdWxhdGlvbik6
CisgICAgICAgIChjb25zdC5sZW5ndGhQZXJjZW50YWdlT3JDYWxjVHlwZS50ZXN0SW50ZXJwb2xh
dGlvbik6CisgICAgICAgIChjb25zdC5sZW5ndGhQZXJjZW50YWdlT3JDYWxjVHlwZS50ZXN0QWRk
aXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5sZW5ndGhQZXJjZW50YWdlT3JD
YWxjVHlwZS50ZXN0QWRkaXRpb24pOgorICAgICAgICAoY29uc3QubGVuZ3RoUGVyY2VudGFnZU9y
Q2FsY1R5cGUudGVzdEFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5wb3NpdGl2ZU51bWJl
clR5cGUudGVzdEludGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3QucG9zaXRpdmVOdW1iZXJU
eXBlLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LnBvc2l0aXZl
TnVtYmVyVHlwZS50ZXN0QWRkaXRpb24pOgorICAgICAgICAoY29uc3QucG9zaXRpdmVOdW1iZXJU
eXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3Qub3BhY2l0eVR5cGUudGVzdElu
dGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3Qub3BhY2l0eVR5cGUudGVzdEFkZGl0aW9uT3JB
Y2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3Qub3BhY2l0eVR5cGUudGVzdEFkZGl0aW9uKToK
KyAgICAgICAgKGNvbnN0Lm9wYWNpdHlUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAo
Y29uc3QudmlzaWJpbGl0eVR5cGUudGVzdEludGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3Qu
dmlzaWJpbGl0eVR5cGUudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29u
c3QudmlzaWJpbGl0eVR5cGUudGVzdEFkZGl0aW9uKToKKyAgICAgICAgKGNvbnN0LnZpc2liaWxp
dHlUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QuY29sb3JUeXBlLnRlc3RJ
bnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmNvbG9yVHlwZS50ZXN0QWRkaXRpb25PckFj
Y3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5jb2xvclR5cGUudGVzdEFkZGl0aW9uKToKKyAg
ICAgICAgKGNvbnN0LmNvbG9yVHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0
LnRyYW5zZm9ybUxpc3RUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNvbnN0LnRy
YW5zZm9ybUxpc3RUeXBlLnRlc3RBZGRpdGlvbik6CisgICAgICAgIChjb25zdC50cmFuc2Zvcm1M
aXN0VHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmZpbHRlckxpc3RUeXBl
LnRlc3RJbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmZpbHRlckxpc3RUeXBlLnRlc3RB
ZGRpdGlvbik6CisgICAgICAgIChjb25zdC5maWx0ZXJMaXN0VHlwZS50ZXN0QWNjdW11bGF0aW9u
KToKKyAgICAgICAgKGNvbnN0LnRleHRTaGFkb3dMaXN0VHlwZS50ZXN0SW50ZXJwb2xhdGlvbik6
CisgICAgICAgIChjb25zdC50ZXh0U2hhZG93TGlzdFR5cGUudGVzdEFkZGl0aW9uKToKKyAgICAg
ICAgKGNvbnN0LnRleHRTaGFkb3dMaXN0VHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAgICAgICAg
KGNvbnN0LmJveFNoYWRvd0xpc3RUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNv
bnN0LmJveFNoYWRvd0xpc3RUeXBlLnRlc3RBZGRpdGlvbik6CisgICAgICAgIChjb25zdC5ib3hT
aGFkb3dMaXN0VHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LnBvc2l0aW9u
VHlwZS50ZXN0SW50ZXJwb2xhdGlvbik6CisgICAgICAgIChjb25zdC5wb3NpdGlvblR5cGUudGVz
dEFkZGl0aW9uT3JBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QucG9zaXRpb25UeXBlLnRl
c3RBZGRpdGlvbik6CisgICAgICAgIChjb25zdC5wb3NpdGlvblR5cGUudGVzdEFjY3VtdWxhdGlv
bik6CisgICAgICAgIChjb25zdC5yZWN0VHlwZS50ZXN0SW50ZXJwb2xhdGlvbik6CisgICAgICAg
IChjb25zdC5yZWN0VHlwZS50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChj
b25zdC5yZWN0VHlwZS50ZXN0QWRkaXRpb24pOgorICAgICAgICAoY29uc3QucmVjdFR5cGUudGVz
dEFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5kYXNoYXJyYXlUeXBlLnRlc3RJbnRlcnBv
bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmRhc2hhcnJheVR5cGUudGVzdEFkZGl0aW9uT3JBY2N1
bXVsYXRpb24pOgorICAgICAgICAoY29uc3QuZGFzaGFycmF5VHlwZS50ZXN0QWRkaXRpb24pOgor
ICAgICAgICAoY29uc3QuZGFzaGFycmF5VHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAgICAgICAg
KGNvbnN0LmZvbnRTdHJldGNoVHlwZS50ZXN0SW50ZXJwb2xhdGlvbik6CisgICAgICAgIChjb25z
dC5mb250U3RyZXRjaFR5cGUudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24pOgorICAgICAgICAo
Y29uc3QuZm9udFN0cmV0Y2hUeXBlLnRlc3RBZGRpdGlvbik6CisgICAgICAgIChjb25zdC5mb250
U3RyZXRjaFR5cGUudGVzdEFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5mb250VmFyaWF0
aW9uU2V0dGluZ3NUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmZvbnRW
YXJpYXRpb25TZXR0aW5nc1R5cGUudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24pOgorICAgICAg
ICAoY29uc3QuZm9udFZhcmlhdGlvblNldHRpbmdzVHlwZS50ZXN0QWRkaXRpb24pOgorICAgICAg
ICAoY29uc3QuZm9udFZhcmlhdGlvblNldHRpbmdzVHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAg
ICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvY29tYmluaW5n
LWVmZmVjdHMvZWZmZWN0LWNvbXBvc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2NvbWJpbmluZy1lZmZl
Y3RzL2VmZmVjdC1jb21wb3NpdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFs
dWUtY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1j
b250ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2Fu
aW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1vdmVybGFwcGluZy1r
ZXlmcmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtb3Zl
cmxhcHBpbmcta2V5ZnJhbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS10
cmFuc2Zvcm1lZC1kaXN0YW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVj
dC12YWx1ZS10cmFuc2Zvcm1lZC1kaXN0YW5jZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZl
Y3QtdmFsdWUtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVj
dC12YWx1ZS12aXNpYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9hbmltYXRlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRh
YmxlL2FuaW1hdGUtbm8tYnJvd3NpbmctY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9hbmlt
YXRlLW5vLWJyb3dzaW5nLWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxl
L2dldEFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvZ2V0QW5pbWF0aW9ucy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbi9jYW5jZWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9jYW5jZWwuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vY29uc3Ry
dWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9lZmZlY3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0FuaW1hdGlvbi9lZmZlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmluaXNoLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb24vZmluaXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2ZpbmlzaGVkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
ZmluaXNoZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb24vaWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlv
bi9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vaWRsaGFybmVzcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9v
bmNhbmNlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL29uY2FuY2VsLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL29uZmluaXNo
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb24vb25maW5pc2guaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGF1c2UtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0FuaW1hdGlvbi9wYXVzZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxh
eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0FuaW1hdGlvbi9wbGF5U3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5U3RhdGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb24vcGxheWJhY2tSYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxheWJhY2tSYXRlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uL3JlYWR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcmVhZHkuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vc3Rh
cnRUaW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vc3RhcnRUaW1lLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGlt
aW5nL2RlbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZGVsYXkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRp
b25FZmZlY3RUaW1pbmcvZGlyZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcv
ZGlyZWN0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2R1cmF0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb25FZmZlY3RUaW1pbmcvZHVyYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZWFzaW5n
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZWFzaW5nLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0
VGltaW5nL2VuZERlbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZW5kRGVsYXku
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZmlsbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGlt
aW5nL2ZpbGwuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZ2V0QW5pbWF0aW9ucy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uRWZmZWN0VGltaW5nL2dldEFuaW1hdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1p
bmcvZ2V0Q29tcHV0ZWRTdHlsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2dldENv
bXB1dGVkU3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvaXRlcmF0aW9uU3RhcnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9pdGVyYXRpb25TdGFydC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVj
dFRpbWluZy9pdGVyYXRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvaXRlcmF0
aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5lLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb25UaW1lbGluZS9kb2N1bWVudC10aW1lbGluZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2lkbGhh
cm5lc3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2lkbGhhcm5lc3MuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudC9n
ZXRBbmltYXRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudC9nZXRBbmltYXRpb25zLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvRG9jdW1lbnRU
aW1lbGluZS9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvRG9jdW1lbnRUaW1lbGluZS9jb25zdHJ1Y3Rv
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0tleWZyYW1lRWZmZWN0L2NvbXBvc2l0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29t
cG9zaXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZm
ZWN0L2NvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29weS1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvS2V5ZnJhbWVFZmZlY3QvY29weS1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2dldENv
bXB1dGVkVGltaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9nZXRDb21wdXRlZFRpbWluZy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0tleWZyYW1lRWZmZWN0L2l0ZXJhdGlvbkNvbXBvc2l0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZl
Y3QvaXRlcmF0aW9uQ29tcG9zaXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZy
YW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1r
ZXlmcmFtZXMtYXJndW1lbnQtMDAxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZy
YW1lcy1hcmd1bWVudC0wMDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1r
ZXlmcmFtZXMtYXJndW1lbnQtMDAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRUYXJn
ZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldFRhcmdldC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0UmVh
ZE9ubHkvY29weS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3RSZWFkT25seS9j
b3B5LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3Jlc291cmNlcy9lYXNpbmctdGVzdHMuanM6IEFkZGVkLgorICAgICAgICAoZWFzaW5n
RnVuY3Rpb24uc3RlcFN0YXJ0KToKKyAgICAgICAgKGVhc2luZ0Z1bmN0aW9uLnN0ZXBFbmQpOgor
ICAgICAgICAoZWFzaW5nRnVuY3Rpb24uZnJhbWVzVGltaW5nKToKKyAgICAgICAgKGVhc2luZ0Z1
bmN0aW9uLmN1YmljQmV6aWVyKToKKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9y
ZXNvdXJjZXMvZWZmZWN0LXRlc3RzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydF9jb21wdXRl
ZF90aW1pbmdfZm9yX2VhY2hfcGhhc2UpOgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRp
b25zL3Jlc291cmNlcy9rZXlmcmFtZS11dGlscy5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnRf
ZnJhbWVfbGlzdHNfZXF1YWwpOgorICAgICAgICAoYXNzZXJ0X2ZyYW1lc19lcXVhbCk6CisgICAg
ICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvcmVzb3VyY2VzL3hoci1kb2MucHk6IEFkZGVk
LgorICAgICAgICAobWFpbik6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGVz
dGNvbW1vbi5qczogQWRkZWQuCisgICAgICAgICh3aW5kb3cuYXNzZXJ0X3RpbWVzX2VxdWFsLndp
bmRvdy5hc3NlcnRfdGltZXNfZXF1YWwpOgorICAgICAgICAoY3JlYXRlRGl2KToKKyAgICAgICAg
KGNyZWF0ZUVsZW1lbnQpOgorICAgICAgICAoY3JlYXRlU3R5bGUpOgorICAgICAgICAoY3JlYXRl
UHNldWRvKToKKyAgICAgICAgKHhGb3JUKToKKyAgICAgICAgKHlGb3JUKToKKyAgICAgICAgKHRG
b3JYKToKKyAgICAgICAgKHJldHVybi5iZXppZXJDbG9zdXJlKToKKyAgICAgICAgKGN1YmljQmV6
aWVyKToKKyAgICAgICAgKHN0ZXBFbmQucmV0dXJuLnN0ZXBFbmRDbG9zdXJlKToKKyAgICAgICAg
KHN0ZXBFbmQpOgorICAgICAgICAoc3RlcFN0YXJ0LnJldHVybi5zdGVwU3RhcnRDbG9zdXJlKToK
KyAgICAgICAgKHN0ZXBTdGFydCk6CisgICAgICAgIChmcmFtZXNUaW1pbmcucmV0dXJuLmZyYW1l
c0Nsb3N1cmUpOgorICAgICAgICAoZnJhbWVzVGltaW5nKToKKyAgICAgICAgKHdhaXRGb3JBbmlt
YXRpb25GcmFtZXMpOgorICAgICAgICAocm90YXRlM2RUb01hdHJpeDNkKToKKyAgICAgICAgKHJv
dGF0ZTNkVG9NYXRyaXgpOgorICAgICAgICAoYXNzZXJ0X21hdHJpeF9lcXVhbHMpOgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0
cy9hY3RpdmUtdGltZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9hY3RpdmUtdGltZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9uLWVmZmVjdHMvY3VycmVudC1pdGVyYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0
aW9uLWVmZmVjdHMvY3VycmVudC1pdGVyYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL2xvY2Fs
LXRpbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvbG9jYWwtdGltZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0
aW9uLWVmZmVjdHMvcGhhc2VzLWFuZC1zdGF0ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVj
dHMvcGhhc2VzLWFuZC1zdGF0ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL3NpbXBsZS1pdGVyYXRp
b24tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvc2ltcGxlLWl0ZXJhdGlv
bi1wcm9ncmVzcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9u
cy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9jYW5jZWxpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbnMvY2FuY2VsaW5nLWFuLWFuaW1hdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9jdXJy
ZW50LXRpbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9jdXJyZW50LXRpbWUuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlv
bnMvZmluaXNoaW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL2ZpbmlzaGlu
Zy1hbi1hbmltYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcGF1c2luZy1hbi1hbmltYXRpb24tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmct
bW9kZWwvYW5pbWF0aW9ucy9wYXVzaW5nLWFuLWFuaW1hdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9wbGF5
aW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0
L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3BsYXlpbmctYW4tYW5pbWF0
aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWlu
Zy1tb2RlbC9hbmltYXRpb25zL3JldmVyc2luZy1hbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9ucy9yZXZlcnNpbmctYW4tYW5pbWF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5p
bWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlv
bi1zdGFydC10aW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtdGFyZ2V0LWVmZmVjdC1vZi1hbi1h
bmltYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLXRhcmdldC1lZmZlY3Qtb2Yt
YW4tYW5pbWF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtdGltZWxpbmUtb2YtYW4tYW5pbWF0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10aW1lbGluZS1vZi1hbi1hbmltYXRp
b24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbnMvdXBkYXRpbmctdGhlLWZpbmlzaGVkLXN0YXRlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVs
L2FuaW1hdGlvbnMvdXBkYXRpbmctdGhlLWZpbmlzaGVkLXN0YXRlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC90aW1lLXRyYW5zZm9y
bWF0aW9ucy90cmFuc2Zvcm1lZC1wcm9ncmVzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC90aW1lLXRyYW5zZm9ybWF0
aW9ucy90cmFuc2Zvcm1lZC1wcm9ncmVzcy5odG1sOiBBZGRlZC4KKwogMjAxNy0xMC0yOSAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9u
c10gRXhwb3NlIHRoZSBjdXJyZW50VGltZSBwcm9wZXJ0eSBvbiBBbmltYXRpb24KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL09XTkVSUyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL09XTkVSUwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDM4ZjVlNWI5
YmYxZTc2ZDVhYWQ0NDZlZjU4NmEzNzFiM2MzYWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvT1dORVJTCkBAIC0wLDAgKzEgQEAKK0BiaXJ0
bGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9SRUFE
TUUubWQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9SRUFETUUubWQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWJjOTMzOGMxZjJjNWE4N2YzMWI4OTBiNDM0N2I4Yzc2ZmYxZDJlYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL1JFQURNRS5t
ZApAQCAtMCwwICsxLDEwNyBAQAorV2ViIEFuaW1hdGlvbnMgVGVzdCBTdWl0ZQorPT09PT09PT09
PT09PT09PT09PT09PT09PQorCitTcGVjaWZpY2F0aW9uOiBodHRwczovL3czYy5naXRodWIuaW8v
d2ViLWFuaW1hdGlvbnMvCisKKworR3VpZGVsaW5lcyBmb3Igd3JpdGluZyB0ZXN0cworLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisqICAgVHJ5IHRvIGZvbGxvdyB0aGUgc3BlYyBvdXRs
aW5lIHdoZXJlIHBvc3NpYmxlLgorCisgICAgRm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHRvIHRl
c3Qgc2V0dGluZyB0aGUgc3RhcnQgdGltZSwgeW91IG1pZ2h0IGJlCisgICAgdGVtcHRlZCB0byBw
dXQgYWxsIHRoZSB0ZXN0cyBpbjoKKworICAgID4gYC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0FuaW1hdGlvbi9zdGFydFRpbWUuaHRtbGAKKworICAgIEhvd2V2ZXIsIGluIHRoZSBzcGVjIG1v
c3Qgb2YgdGhlIGxvZ2ljIGlzIGluIHRoZSAmbGRxdW87U2V0IHRoZSBhbmltYXRpb24KKyAgICBz
dGFydCB0aW1lJmxkcXVvOyBwcm9jZWR1cmUgaW4gdGhlICZsZHF1bztUaW1pbmcgbW9kZWwmcmRx
dW87IHNlY3Rpb24uCisKKyAgICBJbnN0ZWFkLCB0cnkgc29tZXRoaW5nIGxpa2U6CisKKyAgICA+
ICogICBgL3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5p
bWF0aW9uLXN0YXJ0LXRpbWUuaHRtbGA8YnI+CisgICAgPiAgICAgVGVzdHMgYWxsIHRoZSBicmFu
Y2hlcyBhbmQgaW5wdXRzIHRvIHRoZSBwcm9jZWR1cmUgYXMgZGVmaW5lZCBpbiB0aGUKKyAgICA+
ICAgICBzcGVjICh1c2luZyB0aGUgYEFuaW1hdGlvbi5zdGFydFRpbWVgIEFQSSkuCisgICAgPiAq
ICAgYC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9zdGFydFRpbWUuaHRtbGA8
YnI+CisgICAgPiAgICAgVGVzdHMgQVBJLWxheWVyIHNwZWNpZmljIGlzc3VlcyBsaWtlIG1hcHBp
bmcgdW5yZXNvbHZlZCB2YWx1ZXMgdG8KKyAgICA+ICAgICAgbnVsbCwgZXRjLgorCisgICAgT24g
dGhhdCBub3RlLCB0d28gbGV2ZWxzIG9mIHN1YmRpcmVjdG9yaWVzIGlzIGVub3VnaCBldmVuIGlm
IHRoZSBzcGVjIGhhcworICAgIGRlZXBlciBuZXN0aW5nLgorCisgICAgTm90ZSB0aGF0IG1vc3Qg
b2YgdGhlIGV4aXN0aW5nIHRlc3RzIGluIHRoZSBzdWl0ZSBfZG9uJ3RfIGRvIHRoaXMgd2VsbCB5
ZXQuCisgICAgVGhhdCdzIHRoZSBkaXJlY3Rpb24gd2UncmUgaGVhZGluZywgaG93ZXZlci4KKwor
KiAgIFRlc3QgdGhlIHNwZWMuCisKKyAgICAqICAgSWYgdGhlIHNwZWMgZGVmaW5lcyBhIHRpbWlu
ZyBjYWxjdWxhdGlvbiB0aGF0IGlzIGRpcmVjdGx5CisgICAgICAgIHJlZmxlY3RlZCBpbiB0aGUg
aXRlcmF0aW9uIHByb2dyZXNzCisgICAgICAgIChpLmUuIGBhbmltLmVmZmVjdC5nZXRDb21wdXRl
ZFRpbWluZygpLnByb2dyZXNzYCksIHRlc3QgdGhhdCBpbnN0ZWFkCisgICAgICAgIG9mIGNhbGxp
bmcgYGdldENvbXB1dGVkU3R5bGUoZWxlbSkubWFyZ2luTGVmdGAuCisKKyAgICAqICAgTGlrZXdp
c2UsIGRvbid0IGFkZCBuZWVkbGVzcyB0ZXN0cyBmb3IgYGFuaW0ucGxheWJhY2tTdGF0ZWAuCisg
ICAgICAgIFRoZSBwbGF5YmFjayBzdGF0ZSBpcyBhIGNhbGN1bGF0ZWQgdmFsdWUgYmFzZWQgb24g
b3RoZXIgdmFsdWVzLgorICAgICAgICBJdCdzIHJhcmVseSBuZWNlc3NhcnkgdG8gdGVzdCBkaXJl
Y3RseSB1bmxlc3MgeW91IG5lZWQsIGZvciBleGFtcGxlLAorICAgICAgICB0byBjaGVjayB0aGF0
IGEgcGVuZGluZyB0YXNrIGlzIHNjaGVkdWxlZCAod2hpY2ggaXNuJ3Qgb2JzZXJ2YWJsZQorICAg
ICAgICBlbHNld2hlcmUgb3RoZXIgdGhhbiB3YWl0aW5nIGZvciB0aGUgY29ycmVzcG9uZGluZyBw
cm9taXNlIHRvCisgICAgICAgIGNvbXBsZXRlKS4KKworKiAgIFRyeSB0byBrZWVwIHRlc3RzIGFz
IHNpbXBsZSBhbmQgZm9jdXNlZCBhcyBwb3NzaWJsZS4KKworICAgIGUuZy4KKworICAgICAgYGBg
amF2YXNjcmlwdAorICAgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgIGNvbnN0IGFuaW1h
dGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpOworICAgICAgICBhc3NlcnRfY2xhc3Nf
c3RyaW5nKGFuaW1hdGlvbiwgJ0FuaW1hdGlvbicsICdSZXR1cm5lZCBvYmplY3QgaXMgYW4gQW5p
bWF0aW9uJyk7CisgICAgICB9LCAnRWxlbWVudC5hbmltYXRlKCkgY3JlYXRlcyBhbiBBbmltYXRp
b24gb2JqZWN0Jyk7CisgICAgICBgYGAKKworICAgICAgYGBgamF2YXNjcmlwdAorICAgICAgdGVz
dChmdW5jdGlvbih0KSB7CisgICAgICAgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9y
JyB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAt
MSk7CisgICAgICAgIH0pOworICAgICAgfSwgJ1NldHRpbmcgYSBuZWdhdGl2ZSBkdXJhdGlvbiB0
aHJvd3MgYSBUeXBlRXJyb3InKTsKKyAgICAgIGBgYAorCisgICAgICBgYGBqYXZhc2NyaXB0Cisg
ICAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgICAgICBjb25zdCBhbmltYXRpb24g
PSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgICAgICAg
cmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFzc2Vy
dF9ncmVhdGVyX3RoYW4oYW5pbWF0aW9uLnN0YXJ0VGltZSwgMCwgJ3N0YXJ0VGltZSB3aGVuIHJ1
bm5pbmcnKTsKKyAgICAgICAgfSk7CisgICAgICB9LCAnc3RhcnRUaW1lIGlzIHJlc29sdmVkIHdo
ZW4gcnVubmluZycpOworICAgICAgYGBgCisKKyAgICBJZiB5b3UncmUgZ2VuZXJhdGluZyBjb21w
bGV4IHRlc3QgbG9vcHMgYW5kIGZhY3RvcmluZyBvdXQgdXRpbGl0eSBmdW5jdGlvbnMKKyAgICB0
aGF0IGFmZmVjdCB0aGUgbG9naWMgb2YgdGhlIHRlc3QgKG90aGVyIHRoYW4sIHNheSwgc2ltcGxl
IGFzc2VydGlvbiB1dGlsaXR5CisgICAgZnVuY3Rpb25zKSwgeW91J3JlIHByb2JhYmx5IGRvaW5n
IGl0IHdyb25nLgorCisgICAgSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHVuZGVyc3RhbmQgZXhh
Y3RseSB3aGF0IHRoZSB0ZXN0IGlzIGRvaW5nIGF0IGEKKyAgICBnbGFuY2Ugd2l0aG91dCBoYXZp
bmcgdG8gc2Nyb2xsIHVwIGFuZCBkb3duIHRoZSB0ZXN0IGZpbGUgYW5kIHJlZmVyIHRvCisgICAg
b3RoZXIgZmlsZXMuCisKKyAgICBTZWUgSnVzdGluIFNlYXJscycgcHJlc2VudGF0aW9uLCBbJmxk
cXVvO0hvdyB0byBzdG9wIGhhdGluZyB5b3VyCisgICAgdGVzdHMmcmRxdW87XShodHRwOi8vYmxv
Zy50ZXN0ZG91YmxlLmNvbS9wb3N0cy8yMDE1LTExLTE2LWhvdy10by1zdG9wLWhhdGluZy15b3Vy
LXRlc3RzLmh0bWwpCisgICAgZm9yIHNvbWUgdGlwcyBvbiBtYWtpbmcgeW91ciB0ZXN0cyBzaW1w
bGVyLgorCisqICAgQXNzdW1lIHRlc3RzIHdpbGwgcnVuIG9uIHVuZGVyLXBlcmZvcm1pbmcgaGFy
ZHdhcmUgd2hlcmUgdGhlIHRpbWUgYmV0d2VlbgorICAgIGFuaW1hdGlvbiBmcmFtZXMgbWlnaHQg
cnVuIGludG8gMTBzIG9mIHNlY29uZHMuCisgICAgQXMgYSByZXN1bHQsIGFuaW1hdGlvbnMgdGhh
dCBhcmUgZXhwZWN0ZWQgdG8gc3RpbGwgYmUgcnVubmluZyBkdXJpbmcKKyAgICB0aGUgdGVzdCBz
aG91bGQgYmUgYXQgbGVhc3QgMTAwcyBpbiBsZW5ndGguCisKKyogICBBdm9pZCB1c2luZyBgR0xP
QkFMX0NPTlNUU2AgdGhhdCBtYWtlIHRoZSB0ZXN0IGhhcmRlciB0byByZWFkLgorICAgIEl0J3Mg
ZmluZSB0byByZXBlYXQgdGhlIHRoZSBzYW1lIHBhcmFtZXRlciB2YWx1ZXMgbGlrZSBgMTAwICog
TVNfUEVSX1NFQ2AKKyAgICBvdmVyIGFuZCBvdmVyIGFnYWluIHNpbmNlIGl0IG1ha2VzIGl0IGVh
c3kgdG8gcmVhZCBhbmQgZGVidWcgYSB0ZXN0IGluCisgICAgaXNvbGF0aW9uLgorICAgIFJlbWVt
YmVyLCBldmVuIGlmIHdlIGRvIG5lZWQgdG8gbWFrZSBhbGwgdGVzdHMgdGFrZSwgc2F5IDIwMHMg
ZWFjaCwgdGV4dAorICAgIGVkaXRvcnMgYXJlIHZlcnkgZ29vZCBhdCBzZWFyY2ggYW5kIHJlcGxh
Y2UuCisKKyogICBVc2UgdGhlIGBhc3NlcnRfdGltZXNfZXF1YWxgIGFzc2VydGlvbiBmb3IgY29t
cGFyaW5nIGNhbGN1bGF0ZWQgdGltZXMuCisgICAgSXQgdGVzdHMgdGltZXMgYXJlIGVxdWFsIHVz
aW5nIHRoZSBwcmVjaXNpb24gcmVjb21tZW5kZWQgaW4gdGhlIHNwZWMgd2hpbHN0CisgICAgYWxs
b3dpbmcgaW1wbGVtZW50YXRpb25zIHRvIG92ZXJyaWRlIHRoZSBmdW5jdGlvbiB0byBtZWV0IHRo
ZWlyIG93bgorICAgIHByZWNpc2lvbiByZXF1aXJlbWVudHMuCisKKyogICBUaGVyZSBhcmUgcXVp
dGUgYSBmZXcgYmFkIHRlc3RzIGluIHRoZSByZXBvc2l0b3J5LiBXZSdyZSBsZWFybmluZyBhcwor
ICAgIHdlIGdvLiBEb24ndCBqdXN0IGNvcHkgdGhlbSBibGluZGx5Jm1kYXNoO3BsZWFzZSBmaXgg
dGhlbSEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2Fu
aW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvYWNjdW11bGF0aW9uLXBlci1wcm9wZXJ0eS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRp
b24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FjY3VtdWxhdGlvbi1wZXItcHJvcGVydHktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNh
NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FjY3VtdWxhdGlvbi1wZXItcHJvcGVy
dHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FjY3VtdWxhdGlv
bi1wZXItcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvYWNjdW11bGF0aW9uLXBlci1wcm9wZXJ0
eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM0NDM5ZGQzYzk0YmY4ZDgxZDI4NmZhZjdkNmE1MGFhMDhjYmVm
M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FjY3VtdWxhdGlvbi1wZXItcHJvcGVy
dHkuaHRtbApAQCAtMCwwICsxLDU4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9
dXRmLTg+Cis8dGl0bGU+VGVzdHMgZm9yIGFuaW1hdGlvbiB0eXBlIG9mIGFjY3VtdWxhdGlvbjwv
dGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWIt
YW5pbWF0aW9ucy8jYW5pbWF0aW9uLXR5cGVzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJwcm9wZXJ0eS1saXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJwcm9wZXJ0eS10eXBlcy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitodG1sIHsK
KyAgZm9udC1zaXplOiAxMHB4OworfQorPC9zdHlsZT4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2ZvciAodmFyIHByb3BlcnR5IGluIGdD
U1NQcm9wZXJ0aWVzKSB7CisgIGlmICghaXNTdXBwb3J0ZWQocHJvcGVydHkpKSB7CisgICAgY29u
dGludWU7CisgIH0KKworICB2YXIgYW5pbWF0aW9uVHlwZXMgPSBnQ1NTUHJvcGVydGllc1twcm9w
ZXJ0eV0udHlwZXM7CisgIHZhciBzZXR1cEZ1bmN0aW9uID0gZ0NTU1Byb3BlcnRpZXNbcHJvcGVy
dHldLnNldHVwOworICBhbmltYXRpb25UeXBlcy5mb3JFYWNoKGZ1bmN0aW9uKGFuaW1hdGlvblR5
cGUpIHsKKyAgICB2YXIgdHlwZU9iamVjdDsKKyAgICB2YXIgYW5pbWF0aW9uVHlwZVN0cmluZzsK
KyAgICBpZiAodHlwZW9mIGFuaW1hdGlvblR5cGUgPT09ICdzdHJpbmcnKSB7CisgICAgICB0eXBl
T2JqZWN0ID0gdHlwZXNbYW5pbWF0aW9uVHlwZV07CisgICAgICBhbmltYXRpb25UeXBlU3RyaW5n
ID0gYW5pbWF0aW9uVHlwZTsKKyAgICB9IGVsc2UgaWYgKHR5cGVvZiBhbmltYXRpb25UeXBlID09
PSAnb2JqZWN0JyAmJgorICAgICAgICAgICAgICAgYW5pbWF0aW9uVHlwZS50eXBlICYmIHR5cGVv
ZiBhbmltYXRpb25UeXBlLnR5cGUgPT09ICdzdHJpbmcnKSB7CisgICAgICB0eXBlT2JqZWN0ID0g
dHlwZXNbYW5pbWF0aW9uVHlwZS50eXBlXTsKKyAgICAgIGFuaW1hdGlvblR5cGVTdHJpbmcgPSBh
bmltYXRpb25UeXBlLnR5cGU7CisgICAgfQorCisgICAgLy8gRmlyc3QsIHRlc3QgdGhhdCB0aGUg
YW5pbWF0aW9uIHR5cGUgb2JqZWN0IGhhcyAndGVzdEFjY3VtdWxhdGlvbicuCisgICAgLy8gV2Ug
dXNlIHRlc3QoKSBmdW5jdGlvbiBoZXJlIHNvIHRoYXQgd2UgY2FuIGNvbnRpbnVlIHRoZSByZW1h
aW5kZXIgdGVzdHMKKyAgICAvLyBldmVuIGlmIHRoaXMgdGVzdCBmYWlscy4KKyAgICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICAgIGFzc2VydF9vd25fcHJvcGVydHkodHlwZU9iamVjdCwgJ3Rlc3RB
Y2N1bXVsYXRpb24nLCBhbmltYXRpb25UeXBlU3RyaW5nICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgJyBzaG91bGQgaGF2ZSB0ZXN0QWNjdW11bGF0aW9uIHByb3BlcnR5Jyk7CisgICAgICBh
c3NlcnRfZXF1YWxzKHR5cGVvZiB0eXBlT2JqZWN0LnRlc3RBY2N1bXVsYXRpb24sICdmdW5jdGlv
bicsCisgICAgICAgICAgICAgICAgICAgICd0ZXN0QWNjdW11bGF0aW9uIG1ldGhvZCBzaG91bGQg
YmUgYSBmdW5jdGlvbicpOworICAgIH0sIHByb3BlcnR5ICsgJyAodHlwZTogJyArIGFuaW1hdGlv
blR5cGVTdHJpbmcgKworICAgICAgICcpIGhhcyB0ZXN0QWNjdW11bGF0aW9uIGZ1bmN0aW9uJyk7
CisKKyAgICBpZiAodHlwZU9iamVjdC50ZXN0QWNjdW11bGF0aW9uICYmCisgICAgICAgIHR5cGVv
ZiB0eXBlT2JqZWN0LnRlc3RBY2N1bXVsYXRpb24gPT09ICdmdW5jdGlvbicpIHsKKyAgICAgIHR5
cGVPYmplY3QudGVzdEFjY3VtdWxhdGlvbihwcm9wZXJ0eSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNldHVwRnVuY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
bmltYXRpb25UeXBlLm9wdGlvbnMpOworICAgIH0KKyAgfSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2Rl
bC9hbmltYXRpb24tdHlwZXMvYWRkaXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRp
b24tdHlwZXMvYWRkaXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2Fu
aW1hdGlvbi10eXBlcy9hZGRpdGlvbi1wZXItcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNCBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24t
bW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FkZGl0aW9uLXBlci1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10
eXBlcy9hZGRpdGlvbi1wZXItcHJvcGVydHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45N2Y3MjIwNjRjMTI5
ZTY5NTIyODUzNzExMDlhOGNiMGY3ZGY4N2M0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBl
cy9hZGRpdGlvbi1wZXItcHJvcGVydHkuaHRtbApAQCAtMCwwICsxLDU4IEBACis8IWRvY3R5cGUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+VGVzdHMgZm9yIGFuaW1hdGlvbiB0
eXBlIG9mIGFkZGl0aW9uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNhbmltYXRpb24tdHlwZXMiPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InByb3BlcnR5LWxpc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InByb3BlcnR5LXR5cGVzLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KK2h0bWwgeworICBmb250LXNpemU6IDEwcHg7Cit9Cis8L3N0eWxlPgorPGJvZHk+
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworZm9yICh2
YXIgcHJvcGVydHkgaW4gZ0NTU1Byb3BlcnRpZXMpIHsKKyAgaWYgKCFpc1N1cHBvcnRlZChwcm9w
ZXJ0eSkpIHsKKyAgICBjb250aW51ZTsKKyAgfQorCisgIHZhciBhbmltYXRpb25UeXBlcyA9IGdD
U1NQcm9wZXJ0aWVzW3Byb3BlcnR5XS50eXBlczsKKyAgdmFyIHNldHVwRnVuY3Rpb24gPSBnQ1NT
UHJvcGVydGllc1twcm9wZXJ0eV0uc2V0dXA7CisgIGFuaW1hdGlvblR5cGVzLmZvckVhY2goZnVu
Y3Rpb24oYW5pbWF0aW9uVHlwZSkgeworICAgIHZhciB0eXBlT2JqZWN0OworICAgIHZhciBhbmlt
YXRpb25UeXBlU3RyaW5nOworICAgIGlmICh0eXBlb2YgYW5pbWF0aW9uVHlwZSA9PT0gJ3N0cmlu
ZycpIHsKKyAgICAgIHR5cGVPYmplY3QgPSB0eXBlc1thbmltYXRpb25UeXBlXTsKKyAgICAgIGFu
aW1hdGlvblR5cGVTdHJpbmcgPSBhbmltYXRpb25UeXBlOworICAgIH0gZWxzZSBpZiAodHlwZW9m
IGFuaW1hdGlvblR5cGUgPT09ICdvYmplY3QnICYmCisgICAgICAgICAgICAgICBhbmltYXRpb25U
eXBlLnR5cGUgJiYgdHlwZW9mIGFuaW1hdGlvblR5cGUudHlwZSA9PT0gJ3N0cmluZycpIHsKKyAg
ICAgIHR5cGVPYmplY3QgPSB0eXBlc1thbmltYXRpb25UeXBlLnR5cGVdOworICAgICAgYW5pbWF0
aW9uVHlwZVN0cmluZyA9IGFuaW1hdGlvblR5cGUudHlwZTsKKyAgICB9CisKKyAgICAvLyBGaXJz
dCwgdGVzdCB0aGF0IHRoZSBhbmltYXRpb24gdHlwZSBvYmplY3QgaGFzICd0ZXN0QWRkaXRpb24n
LgorICAgIC8vIFdlIHVzZSB0ZXN0KCkgZnVuY3Rpb24gaGVyZSBzbyB0aGF0IHdlIGNhbiBjb250
aW51ZSB0aGUgcmVtYWluZGVyIHRlc3RzCisgICAgLy8gZXZlbiBpZiB0aGlzIHRlc3QgZmFpbHMu
CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICBhc3NlcnRfb3duX3Byb3BlcnR5KHR5cGVP
YmplY3QsICd0ZXN0QWRkaXRpb24nLCBhbmltYXRpb25UeXBlU3RyaW5nICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyBzaG91bGQgaGF2ZSB0ZXN0QWRkaXRpb24gcHJvcGVydHknKTsKKyAg
ICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHR5cGVPYmplY3QudGVzdEFkZGl0aW9uLCAnZnVuY3Rp
b24nLAorICAgICAgICAgICAgICAgICAgICAndGVzdEFkZGl0aW9uIG1ldGhvZCBzaG91bGQgYmUg
YSBmdW5jdGlvbicpOworICAgIH0sIHByb3BlcnR5ICsgJyAodHlwZTogJyArIGFuaW1hdGlvblR5
cGVTdHJpbmcgKworICAgICAgICcpIGhhcyB0ZXN0QWRkaXRpb24gZnVuY3Rpb24nKTsKKworICAg
IGlmICh0eXBlT2JqZWN0LnRlc3RBZGRpdGlvbiAmJgorICAgICAgICB0eXBlb2YgdHlwZU9iamVj
dC50ZXN0QWRkaXRpb24gPT09ICdmdW5jdGlvbicpIHsKKyAgICAgIHR5cGVPYmplY3QudGVzdEFk
ZGl0aW9uKHByb3BlcnR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dXBGdW5j
dGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvblR5cGUub3B0aW9u
cyk7CisgICAgfQorICB9KTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9k
aXNjcmV0ZS1hbmltYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9kaXNjcmV0ZS1hbmlt
YXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1MjlhYWI2NTkxM2M3NGZhMTdjM2NhNTc3
OTM1MDg5MzFhYTQ5ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2Rpc2NyZXRlLWFu
aW1hdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACisKK0ZBSUwgVGVzdCBhbmltYXRp
bmcgZGlzY3JldGUgdmFsdWVzIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKHsgZm9udFN0eWxlOiBbICdub3JtYWwnLCAnaXRhbGljJyBdIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2ZvcndhcmRzJyB9KScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGRpc2NyZXRlIGFuaW1hdGlv
biBpcyB1c2VkIHdoZW4gaW50ZXJwb2xhdGlvbiBmYWlscyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IGhlaWdodDogWyAnYXV0bycsICcyMDBweCcgXSB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdmb3J3
YXJkcycgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBkaXNjcmV0
ZSBhbmltYXRpb24gaXMgdXNlZCBvbmx5IGZvciBwYWlycyBvZiB2YWx1ZXMgdGhhdCBjYW5ub3Qg
YmUgaW50ZXJwb2xhdGVkIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2
LmFuaW1hdGUuLi4nKQorRkFJTCBUZXN0IHRoZSA1MCUgc3dpdGNoIHBvaW50IGZvciBkaXNjcmV0
ZSBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIGVmZmVjdCBlYXNpbmcgdW5kZWZpbmVkIGlzIG5v
dCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIFRlc3QgdGhlIDUw
JSBzd2l0Y2ggcG9pbnQgZm9yIGRpc2NyZXRlIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUga2V5
ZnJhbWUgZWFzaW5nIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFu
aW1hdGUuLi4nKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2Rpc2NyZXRlLWFuaW1hdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVs
L2FuaW1hdGlvbi10eXBlcy9kaXNjcmV0ZS1hbmltYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjdl
NmE1NjU5MjAzZTc3YjBhYTg5ZjU1MDA2NThmZTM1NTJkZmY2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1h
dGlvbi10eXBlcy9kaXNjcmV0ZS1hbmltYXRpb24uaHRtbApAQCAtMCwwICsxLDEzNSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBkaXNj
cmV0ZSBhbmltYXRpb248L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vdzNj
LmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jYW5pbWF0YWJsZS1hcy1zdHJpbmctc2VjdGlvbiI+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRl
KHsgZm9udFN0eWxlOiBbICdub3JtYWwnLCAnaXRhbGljJyBdIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2ZvcndhcmRzJyB9KTsKKworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5mb250U3R5bGUsICdub3JtYWwnLAorICAg
ICAgICAgICAgICAgICdBbmltYXRpb24gcHJvZHVjZXMgXCdmcm9tXCcgdmFsdWUgYXQgc3RhcnQg
b2YgaW50ZXJ2YWwnKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LmdldENvbXB1
dGVkVGltaW5nKCkuZHVyYXRpb24gLyAyIC0gMTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikuZm9udFN0eWxlLCAnbm9ybWFsJywKKyAgICAgICAgICAgICAgICAnQW5pbWF0
aW9uIHByb2R1Y2VzIFwnZnJvbVwnIHZhbHVlIGp1c3QgYmVmb3JlIHRoZSBtaWRkbGUgb2YnCisg
ICAgICAgICAgICAgICAgKyAnIHRoZSBpbnRlcnZhbCcpOworICBhbmltLmN1cnJlbnRUaW1lKys7
CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZvbnRTdHlsZSwgJ2l0YWxp
YycsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBwcm9kdWNlcyBcJ3RvXCcgdmFsdWUgYXQg
ZXhhY3QgbWlkZGxlIG9mJworICAgICAgICAgICAgICAgICsgJyB0aGUgaW50ZXJ2YWwnKTsKKyAg
YW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZm9u
dFN0eWxlLCAnaXRhbGljJywKKyAgICAgICAgICAgICAgICAnQW5pbWF0aW9uIHByb2R1Y2VzIFwn
dG9cJyB2YWx1ZSBkdXJpbmcgZm9yd2FyZHMgZmlsbCcpOworfSwgJ1Rlc3QgYW5pbWF0aW5nIGRp
c2NyZXRlIHZhbHVlcycpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIG9yaWdpbmFsSGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmhl
aWdodDsKKworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgaGVpZ2h0OiBbICdhdXRvJywgJzIw
MHB4JyBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmls
bDogJ2ZvcndhcmRzJyB9KTsKKworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2
KS5oZWlnaHQsIG9yaWdpbmFsSGVpZ2h0LAorICAgICAgICAgICAgICAgICdBbmltYXRpb24gcHJv
ZHVjZXMgXCdmcm9tXCcgdmFsdWUgYXQgc3RhcnQgb2YgaW50ZXJ2YWwnKTsKKyAgYW5pbS5jdXJy
ZW50VGltZSA9IGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuZHVyYXRpb24gLyAyIC0g
MTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuaGVpZ2h0LCBvcmlnaW5h
bEhlaWdodCwKKyAgICAgICAgICAgICAgICAnQW5pbWF0aW9uIHByb2R1Y2VzIFwnZnJvbVwnIHZh
bHVlIGp1c3QgYmVmb3JlIHRoZSBtaWRkbGUgb2YnCisgICAgICAgICAgICAgICAgKyAnIHRoZSBp
bnRlcnZhbCcpOworICBhbmltLmN1cnJlbnRUaW1lKys7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLmhlaWdodCwgJzIwMHB4JywKKyAgICAgICAgICAgICAgICAnQW5pbWF0
aW9uIHByb2R1Y2VzIFwndG9cJyB2YWx1ZSBhdCBleGFjdCBtaWRkbGUgb2YnCisgICAgICAgICAg
ICAgICAgKyAnIHRoZSBpbnRlcnZhbCcpOworICBhbmltLmZpbmlzaCgpOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5oZWlnaHQsICcyMDBweCcsCisgICAgICAgICAgICAg
ICAgJ0FuaW1hdGlvbiBwcm9kdWNlcyBcJ3RvXCcgdmFsdWUgZHVyaW5nIGZvcndhcmRzIGZpbGwn
KTsKK30sICdUZXN0IGRpc2NyZXRlIGFuaW1hdGlvbiBpcyB1c2VkIHdoZW4gaW50ZXJwb2xhdGlv
biBmYWlscycpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0
KTsKKyAgdmFyIG9yaWdpbmFsSGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmhlaWdodDsK
KworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgaGVpZ2h0OiBbICdhdXRvJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjAwcHgnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICczMDBweCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2F1dG8nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc0
MDBweCcgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZp
bGw6ICdmb3J3YXJkcycgfSk7CisKKyAgLy8gVGhlcmUgYXJlIGZpdmUgdmFsdWVzLCBzbyB0aGVy
ZSBhcmUgZm91ciBwYWlycyB0byB0cnkgdG8gaW50ZXJwb2xhdGUuCisgIC8vIFdlIHRlc3QgYXQg
dGhlIG1pZGRsZSBvZiBlYWNoIHBhaXIuCisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShkaXYpLmhlaWdodCwgb3JpZ2luYWxIZWlnaHQsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlv
biBwcm9kdWNlcyBcJ2Zyb21cJyB2YWx1ZSBhdCBzdGFydCBvZiBpbnRlcnZhbCcpOworICBhbmlt
LmN1cnJlbnRUaW1lID0gMTI1OworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2
KS5oZWlnaHQsICcyMDBweCcsCisgICAgICAgICAgICAgICAgJ0ZpcnN0IG5vbi1pbnRlcnBvbGFi
bGUgcGFpciB1c2VzIGRpc2NyZXRlIGludGVycG9sYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGlt
ZSArPSAyNTA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmhlaWdodCwg
JzI1MHB4JywKKyAgICAgICAgICAgICAgICAnU2Vjb25kIGludGVycG9sYWJsZSBwYWlyIHVzZXMg
bGluZWFyIGludGVycG9sYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSAyNTA7CisgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmhlaWdodCwgb3JpZ2luYWxIZWlnaHQs
CisgICAgICAgICAgICAgICAgJ1RoaXJkIG5vbi1pbnRlcnBvbGFibGUgcGFpciB1c2VzIGRpc2Ny
ZXRlIGludGVycG9sYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSAyNTA7CisgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmhlaWdodCwgJzQwMHB4JywKKyAgICAgICAg
ICAgICAgICAnRm91cnRoIG5vbi1pbnRlcnBvbGFibGUgcGFpciB1c2VzIGRpc2NyZXRlIGludGVy
cG9sYXRpb24nKTsKK30sICdUZXN0IGRpc2NyZXRlIGFuaW1hdGlvbiBpcyB1c2VkIG9ubHkgZm9y
IHBhaXJzIG9mIHZhbHVlcyB0aGF0IGNhbm5vdCcKKyAgICsgJyBiZSBpbnRlcnBvbGF0ZWQnKTsK
KwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBv
cmlnaW5hbEhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoZGl2KS5oZWlnaHQ7CisKKyAgLy8gRWFz
aW5nOiBodHRwOi8vY3ViaWMtYmV6aWVyLmNvbS8jLjY4LDAsMSwuMDEKKyAgLy8gV2l0aCB0aGlz
IGN1cnZlLCB3ZSBkb24ndCByZWFjaCB0aGUgNTAlIHBvaW50IHVudGlsIGFib3V0IDk1JSBvZgor
ICAvLyB0aGUgdGltZSBoYXMgZXhwaXJlZC4KKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IGZv
bnRTdHlsZTogWyAnbm9ybWFsJywgJ2l0YWxpYycgXSB9LAorICAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdmb3J3YXJkcycsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMC42OCwwLDEsMC4wMSknIH0pOworCisg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZvbnRTdHlsZSwgJ25vcm1hbCcs
CisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBwcm9kdWNlcyBcJ2Zyb21cJyB2YWx1ZSBhdCBz
dGFydCBvZiBpbnRlcnZhbCcpOworICBhbmltLmN1cnJlbnRUaW1lID0gOTQwOworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5mb250U3R5bGUsICdub3JtYWwnLAorICAgICAg
ICAgICAgICAgICdBbmltYXRpb24gcHJvZHVjZXMgXCdmcm9tXCcgdmFsdWUgYXQgOTQlIG9mIHRo
ZSBpdGVyYXRpb24nCisgICAgICAgICAgICAgICAgKyAnIHRpbWUnKTsKKyAgYW5pbS5jdXJyZW50
VGltZSA9IDk2MDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZm9udFN0
eWxlLCAnaXRhbGljJywKKyAgICAgICAgICAgICAgICAnQW5pbWF0aW9uIHByb2R1Y2VzIFwndG9c
JyB2YWx1ZSBhdCA5NiUgb2YgdGhlIGl0ZXJhdGlvbicKKyAgICAgICAgICAgICAgICArICcgdGlt
ZScpOworfSwgJ1Rlc3QgdGhlIDUwJSBzd2l0Y2ggcG9pbnQgZm9yIGRpc2NyZXRlIGFuaW1hdGlv
biBpcyBiYXNlZCBvbiB0aGUnCisgICArICcgZWZmZWN0IGVhc2luZycpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIG9yaWdpbmFsSGVpZ2h0
ID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmhlaWdodDsKKworICAvLyBFYXNpbmc6IGh0dHA6Ly9j
dWJpYy1iZXppZXIuY29tLyMuNjgsMCwxLC4wMQorICAvLyBXaXRoIHRoaXMgY3VydmUsIHdlIGRv
bid0IHJlYWNoIHRoZSA1MCUgcG9pbnQgdW50aWwgYWJvdXQgOTUlIG9mCisgIC8vIHRoZSB0aW1l
IGhhcyBleHBpcmVkLgorICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKFsgeyBmb250U3R5bGU6ICdu
b3JtYWwnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdjdWJpYy1iZXpp
ZXIoMC42OCwwLDEsMC4wMSknIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGZvbnRT
dHlsZTogJ2l0YWxpYycgfSBdLAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMDAsIGZpbGw6ICdmb3J3YXJkcycgfSk7CisKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikuZm9udFN0eWxlLCAnbm9ybWFsJywKKyAgICAgICAgICAgICAgICAnQW5pbWF0
aW9uIHByb2R1Y2VzIFwnZnJvbVwnIHZhbHVlIGF0IHN0YXJ0IG9mIGludGVydmFsJyk7CisgIGFu
aW0uY3VycmVudFRpbWUgPSA5NDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShk
aXYpLmZvbnRTdHlsZSwgJ25vcm1hbCcsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBwcm9k
dWNlcyBcJ2Zyb21cJyB2YWx1ZSBhdCA5NCUgb2YgdGhlIGl0ZXJhdGlvbicKKyAgICAgICAgICAg
ICAgICArICcgdGltZScpOworICBhbmltLmN1cnJlbnRUaW1lID0gOTYwOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5mb250U3R5bGUsICdpdGFsaWMnLAorICAgICAgICAg
ICAgICAgICdBbmltYXRpb24gcHJvZHVjZXMgXCd0b1wnIHZhbHVlIGF0IDk2JSBvZiB0aGUgaXRl
cmF0aW9uJworICAgICAgICAgICAgICAgICsgJyB0aW1lJyk7Cit9LCAnVGVzdCB0aGUgNTAlIHN3
aXRjaCBwb2ludCBmb3IgZGlzY3JldGUgYW5pbWF0aW9uIGlzIGJhc2VkIG9uIHRoZScKKyAgICsg
JyBrZXlmcmFtZSBlYXNpbmcnKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVz
L2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvaW50
ZXJwb2xhdGlvbi1wZXItcHJvcGVydHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5MjhmNzc1
ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9u
LXR5cGVzL2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1v
ZGVsL2FuaW1hdGlvbi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlv
bi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4ZTRi
NDhmYTY5ZGZhNjk0MzE0OWY5NDVhMjU3NmZlNDQ5ZTdjOTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0
aW9uLXR5cGVzL2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSw1OCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZv
ciBhbmltYXRpb24gdHlwZSBvZiBpbnRlcnBvbGF0aW9uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNhbmltYXRpb24t
dHlwZXMiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InByb3BlcnR5LWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InByb3BlcnR5LXR5
cGVzLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK2h0bWwgeworICBmb250LXNpemU6IDEwcHg7Cit9
Cis8L3N0eWxlPgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ug
c3RyaWN0JzsKKworZm9yICh2YXIgcHJvcGVydHkgaW4gZ0NTU1Byb3BlcnRpZXMpIHsKKyAgaWYg
KCFpc1N1cHBvcnRlZChwcm9wZXJ0eSkpIHsKKyAgICBjb250aW51ZTsKKyAgfQorCisgIHZhciBh
bmltYXRpb25UeXBlcyA9IGdDU1NQcm9wZXJ0aWVzW3Byb3BlcnR5XS50eXBlczsKKyAgdmFyIHNl
dHVwRnVuY3Rpb24gPSBnQ1NTUHJvcGVydGllc1twcm9wZXJ0eV0uc2V0dXA7CisgIGFuaW1hdGlv
blR5cGVzLmZvckVhY2goZnVuY3Rpb24oYW5pbWF0aW9uVHlwZSkgeworICAgIHZhciB0eXBlT2Jq
ZWN0OworICAgIHZhciBhbmltYXRpb25UeXBlU3RyaW5nOworICAgIGlmICh0eXBlb2YgYW5pbWF0
aW9uVHlwZSA9PT0gJ3N0cmluZycpIHsKKyAgICAgIHR5cGVPYmplY3QgPSB0eXBlc1thbmltYXRp
b25UeXBlXTsKKyAgICAgIGFuaW1hdGlvblR5cGVTdHJpbmcgPSBhbmltYXRpb25UeXBlOworICAg
IH0gZWxzZSBpZiAodHlwZW9mIGFuaW1hdGlvblR5cGUgPT09ICdvYmplY3QnICYmCisgICAgICAg
ICAgICAgICBhbmltYXRpb25UeXBlLnR5cGUgJiYgdHlwZW9mIGFuaW1hdGlvblR5cGUudHlwZSA9
PT0gJ3N0cmluZycpIHsKKyAgICAgIHR5cGVPYmplY3QgPSB0eXBlc1thbmltYXRpb25UeXBlLnR5
cGVdOworICAgICAgYW5pbWF0aW9uVHlwZVN0cmluZyA9IGFuaW1hdGlvblR5cGUudHlwZTsKKyAg
ICB9CisKKyAgICAvLyBGaXJzdCwgdGVzdCB0aGF0IHRoZSBhbmltYXRpb24gdHlwZSBvYmplY3Qg
aGFzICd0ZXN0SW50ZXJwb2xhdGlvbicuCisgICAgLy8gV2UgdXNlIHRlc3QoKSBmdW5jdGlvbigp
IGhlcmUgc28gdGhhdCB3ZSBjYW4gY29udGludWUgdGhlIHJlbWFpbmRlciB0ZXN0cworICAgIC8v
IGV2ZW4gaWYgdGhpcyB0ZXN0IGZhaWxzLgorICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAg
YXNzZXJ0X293bl9wcm9wZXJ0eSh0eXBlT2JqZWN0LCAndGVzdEludGVycG9sYXRpb24nLCBhbmlt
YXRpb25UeXBlU3RyaW5nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyBzaG91bGQgaGF2
ZSB0ZXN0SW50ZXJwb2xhdGlvbiBwcm9wZXJ0eScpOworICAgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgdHlwZU9iamVjdC50ZXN0SW50ZXJwb2xhdGlvbiwgJ2Z1bmN0aW9uJywKKyAgICAgICAgICAg
ICAgICAgICAgJ3Rlc3RJbnRlcnBvbGF0aW9uIG1ldGhvZCBzaG91bGQgYmUgYSBmdW5jdGlvbicp
OworICAgIH0sIHByb3BlcnR5ICsgJyAodHlwZTogJyArIGFuaW1hdGlvblR5cGVTdHJpbmcgKwor
ICAgICAgICcpIGhhcyB0ZXN0SW50ZXJwb2xhdGlvbiBmdW5jdGlvbicpOworCisgICAgaWYgKHR5
cGVPYmplY3QudGVzdEludGVycG9sYXRpb24gJiYKKyAgICAgICAgdHlwZW9mIHR5cGVPYmplY3Qu
dGVzdEludGVycG9sYXRpb24gPT09ICdmdW5jdGlvbicpIHsKKyAgICAgIHR5cGVPYmplY3QudGVz
dEludGVycG9sYXRpb24ocHJvcGVydHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNldHVwRnVuY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFu
aW1hdGlvblR5cGUub3B0aW9ucyk7CisgICAgfQorICB9KTsKK30KKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVs
L2FuaW1hdGlvbi10eXBlcy9wcm9wZXJ0eS1saXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9wcm9wZXJ0eS1s
aXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQzMTVkMGZlNzE2NGFkNGE0YjVmODk5ZjYxYTNkNDU5MjY1NzBj
YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL3Byb3BlcnR5LWxpc3QuanMKQEAgLTAs
MCArMSwxNTc0IEBACisndXNlIHN0cmljdCc7CisKK3ZhciBnQ1NTUHJvcGVydGllcyA9IHsKKyAg
J2FsaWduLWNvbnRlbnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1h
bGlnbi8jcHJvcGRlZi1hbGlnbi1jb250ZW50CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTog
J2Rpc2NyZXRlJyAsIG9wdGlvbnM6IFsgWyAnZmxleC1zdGFydCcsICdmbGV4LWVuZCcgXSBdIH0K
KyAgICBdCisgIH0sCisgICdhbGlnbi1pdGVtcyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWFsaWduLyNwcm9wZGVmLWFsaWduLWl0ZW1zCisgICAgdHlwZXM6IFsKKyAg
ICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdmbGV4LXN0YXJ0JywgJ2ZsZXgt
ZW5kJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2FsaWduLXNlbGYnOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbGlnbi8jcHJvcGRlZi1hbGlnbi1zZWxmCisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdmbGV4LXN0YXJ0
JywgJ2ZsZXgtZW5kJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2JhY2tmYWNlLXZpc2liaWxpdHkn
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10cmFuc2Zvcm1zLyNwcm9w
ZGVmLWJhY2tmYWNlLXZpc2liaWxpdHkKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlz
Y3JldGUnLCBvcHRpb25zOiBbIFsgJ3Zpc2libGUnLCAnaGlkZGVuJyBdIF0gfQorICAgIF0KKyAg
fSwKKyAgJ2JhY2tncm91bmQtYXR0YWNobWVudCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JhY2tncm91bmQtYXR0YWNobWVudAorICAgIHR5
cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnZml4ZWQnLCAn
bG9jYWwnIF0gXSB9CisgICAgXQorICB9LAorICAnYmFja2dyb3VuZC1jb2xvcic6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JhY2tncm91bmQt
Y29sb3IKKyAgICB0eXBlczogWyAnY29sb3InIF0KKyAgfSwKKyAgJ2JhY2tncm91bmQtYmxlbmQt
bW9kZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9jb21wb3NpdGluZy0xLyNw
cm9wZGVmLWJhY2tncm91bmQtYmxlbmQtbW9kZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6
ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnbXVsdGlwbHknLCAnc2NyZWVuJyBdIF0gfQorICAg
IF0KKyAgfSwKKyAgJ2JhY2tncm91bmQtY2xpcCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JhY2tncm91bmQtY2xpcAorICAgIHR5cGVzOiBb
CisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAncGFkZGluZy1ib3gnLCAn
Y29udGVudC1ib3gnIF0gXSB9CisgICAgXQorICB9LAorICAnYmFja2dyb3VuZC1pbWFnZSc6IHsK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JhY2tn
cm91bmQtaW1hZ2UKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLAorICAg
ICAgICBvcHRpb25zOiBbIFsgJ3VybCgiaHR0cDovL2xvY2FsaG9zdC90ZXN0LTEiKScsCisgICAg
ICAgICAgICAgICAgICAgJ3VybCgiaHR0cDovL2xvY2FsaG9zdC90ZXN0LTIiKScgXSBdIH0KKyAg
ICBdCisgIH0sCisgICdiYWNrZ3JvdW5kLW9yaWdpbic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JhY2tncm91bmQtb3JpZ2luCisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdwYWRkaW5nLWJv
eCcsICdjb250ZW50LWJveCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdiYWNrZ3JvdW5kLXBvc2l0
aW9uJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMt
My8jYmFja2dyb3VuZC1wb3NpdGlvbgorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnYmFj
a2dyb3VuZC1wb3NpdGlvbi14JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtYmFja2dyb3VuZHMtNC8jcHJvcGRlZi1iYWNrZ3JvdW5kLXBvc2l0aW9uLXgKKyAgICB0eXBl
czogWworICAgIF0KKyAgfSwKKyAgJ2JhY2tncm91bmQtcG9zaXRpb24teSc6IHsKKyAgICAvLyBo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTQvI3Byb3BkZWYtYmFja2dy
b3VuZC1wb3NpdGlvbi15CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdiYWNrZ3JvdW5k
LXJlcGVhdCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91
bmRzLTMvI2JhY2tncm91bmQtcmVwZWF0CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rp
c2NyZXRlJywgb3B0aW9uczogWyBbICdzcGFjZScsICdyb3VuZCcgXSBdIH0KKyAgICBdCisgIH0s
CisgICdiYWNrZ3JvdW5kLXNpemUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1iYWNrZ3JvdW5kcy0zLyNiYWNrZ3JvdW5kLXNpemUKKyAgICB0eXBlczogWworICAgIF0K
KyAgfSwKKyAgJ2Jsb2NrLXNpemUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLWJsb2NrLXNpemUKKyAgICB0eXBlczogWworICAg
IF0KKyAgfSwKKyAgJ2JvcmRlci1ibG9jay1lbmQtY29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLWJvcmRlci1ibG9jay1l
bmQtY29sb3IKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1ibG9jay1lbmQt
c3R5bGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXBy
b3BzLyNwcm9wZGVmLWJvcmRlci1ibG9jay1lbmQtc3R5bGUKKyAgICB0eXBlczogWworICAgIF0K
KyAgfSwKKyAgJ2JvcmRlci1ibG9jay1lbmQtd2lkdGgnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLWJvcmRlci1ibG9jay1lbmQt
d2lkdGgKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1ibG9jay1zdGFydC1j
b2xvcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwtcHJv
cHMvI3Byb3BkZWYtYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yCisgICAgdHlwZXM6IFsKKyAgICBd
CisgIH0sCisgICdib3JkZXItYmxvY2stc3RhcnQtc3R5bGUnOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLWJvcmRlci1ibG9jay1z
dGFydC1zdHlsZQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnYm9yZGVyLWJsb2NrLXN0
YXJ0LXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNh
bC1wcm9wcy8jcHJvcGRlZi1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGgKKyAgICB0eXBlczogWwor
ICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1ib3R0b20tY29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItYm90dG9tLWNvbG9yCisg
ICAgdHlwZXM6IFsgJ2NvbG9yJyBdCisgIH0sCisgICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVz
JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMtMy8j
Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cworICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAn
Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cworICAg
IHR5cGVzOiBbCisgICAgXQorICB9LAorICAnYm9yZGVyLWJvdHRvbS1zdHlsZSc6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JvcmRlci1ib3R0
b20tc3R5bGUKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25z
OiBbIFsgJ2RvdHRlZCcsICdzb2xpZCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdib3JkZXItYm90
dG9tLXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dy
b3VuZHMtMy8jYm9yZGVyLWJvdHRvbS13aWR0aAorICAgIHR5cGVzOiBbICdsZW5ndGgnIF0sCisg
ICAgc2V0dXA6IHQgPT4geworICAgICAgdmFyIGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KHQpOwor
ICAgICAgZWxlbWVudC5zdHlsZS5ib3JkZXJCb3R0b21TdHlsZSA9ICdzb2xpZCc7CisgICAgICBy
ZXR1cm4gZWxlbWVudDsKKyAgICB9CisgIH0sCisgICdib3JkZXItY29sbGFwc2UnOiB7CisgICAg
Ly8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10YWJsZXMvI3Byb3BkZWYtYm9yZGVyLWNv
bGxhcHNlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczog
WyBbICdjb2xsYXBzZScsICdzZXBhcmF0ZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdib3JkZXIt
aW5saW5lLWVuZC1jb2xvcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtYm9yZGVyLWlubGluZS1lbmQtY29sb3IKKyAgICB0eXBl
czogWworICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1pbmxpbmUtZW5kLXN0eWxlJzogeworICAgIC8v
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1ib3Jk
ZXItaW5saW5lLWVuZC1zdHlsZQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnYm9yZGVy
LWlubGluZS1lbmQtd2lkdGgnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLWJvcmRlci1pbmxpbmUtZW5kLXdpZHRoCisgICAgdHlw
ZXM6IFsKKyAgICBdCisgIH0sCisgICdib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yJzogeworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1i
b3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdi
b3JkZXItaW5saW5lLXN0YXJ0LXN0eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1ib3JkZXItYmxvY2stc3RhcnQtc3R5bGUK
KyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGgn
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNw
cm9wZGVmLWJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGgKKyAgICB0eXBlczogWworICAgIF0KKyAg
fSwKKyAgJ2JvcmRlci1pbWFnZS1vdXRzZXQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItaW1hZ2Utb3V0c2V0CisgICAgdHlwZXM6
IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICcxIDIgMyA0JywgJzUg
NiA3IDgnIF0gXSB9CisgICAgXQorICB9LAorICAnYm9yZGVyLWltYWdlLXJlcGVhdCc6IHsKKyAg
ICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JvcmRlci1p
bWFnZS1yZXBlYXQKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRp
b25zOiBbIFsgJ3N0cmV0Y2ggc3RyZXRjaCcsICdyZXBlYXQgcmVwZWF0JyBdIF0gfQorICAgIF0K
KyAgfSwKKyAgJ2JvcmRlci1pbWFnZS1zbGljZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JvcmRlci1pbWFnZS1zbGljZQorICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnMSAyIDMgNCcsICc1
IDYgNyA4JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1pbWFnZS1zb3VyY2UnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXIt
aW1hZ2Utc291cmNlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywKKyAg
ICAgICAgb3B0aW9uczogWyBbICd1cmwoImh0dHA6Ly9sb2NhbGhvc3QvdGVzdC0xIiknLAorICAg
ICAgICAgICAgICAgICAgICd1cmwoImh0dHA6Ly9sb2NhbGhvc3QvdGVzdC0yIiknIF0gXSB9Cisg
ICAgXQorICB9LAorICAnYm9yZGVyLWltYWdlLXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLWltYWdlLXdpZHRoCisgICAg
dHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICcxIDIgMyA0
JywgJzUgNiA3IDgnIF0gXSB9CisgICAgXQorICB9LAorICAnYm9yZGVyLWxlZnQtY29sb3InOiB7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3Jk
ZXItbGVmdC1jb2xvcgorICAgIHR5cGVzOiBbICdjb2xvcicgXQorICB9LAorICAnYm9yZGVyLWxl
ZnQtc3R5bGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3Jv
dW5kcy0zLyNib3JkZXItbGVmdC1zdHlsZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdk
aXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnZG90dGVkJywgJ3NvbGlkJyBdIF0gfQorICAgIF0KKyAg
fSwKKyAgJ2JvcmRlci1sZWZ0LXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLWxlZnQtd2lkdGgKKyAgICB0eXBlczogWyAn
bGVuZ3RoJyBdLAorICAgIHNldHVwOiB0ID0+IHsKKyAgICAgIHZhciBlbGVtZW50ID0gY3JlYXRl
RWxlbWVudCh0KTsKKyAgICAgIGVsZW1lbnQuc3R5bGUuYm9yZGVyTGVmdFN0eWxlID0gJ3NvbGlk
JzsKKyAgICAgIHJldHVybiBlbGVtZW50OworICAgIH0KKyAgfSwKKyAgJ2JvcmRlci1yaWdodC1j
b2xvcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRz
LTMvI2JvcmRlci1yaWdodC1jb2xvcgorICAgIHR5cGVzOiBbICdjb2xvcicgXQorICB9LAorICAn
Ym9yZGVyLXJpZ2h0LXN0eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLXJpZ2h0LXN0eWxlCisgICAgdHlwZXM6IFsKKyAgICAg
IHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdkb3R0ZWQnLCAnc29saWQnIF0gXSB9
CisgICAgXQorICB9LAorICAnYm9yZGVyLXJpZ2h0LXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLXJpZ2h0LXdpZHRoCisg
ICAgdHlwZXM6IFsgJ2xlbmd0aCcgXSwKKyAgICBzZXR1cDogdCA9PiB7CisgICAgICB2YXIgZWxl
bWVudCA9IGNyZWF0ZUVsZW1lbnQodCk7CisgICAgICBlbGVtZW50LnN0eWxlLmJvcmRlclJpZ2h0
U3R5bGUgPSAnc29saWQnOworICAgICAgcmV0dXJuIGVsZW1lbnQ7CisgICAgfQorICB9LAorICAn
Ym9yZGVyLXNwYWNpbmcnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10
YWJsZXMvI3Byb3BkZWYtYm9yZGVyLXNwYWNpbmcKKyAgICB0eXBlczogWyAnbGVuZ3RoUGFpcicg
XQorICB9LAorICAnYm9yZGVyLXRvcC1jb2xvcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JvcmRlci10b3AtY29sb3IKKyAgICB0eXBlczog
WyAnY29sb3InIF0KKyAgfSwKKyAgJ2JvcmRlci10b3AtbGVmdC1yYWRpdXMnOiB7CisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItdG9wLWxl
ZnQtcmFkaXVzCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdib3JkZXItdG9wLXJpZ2h0
LXJhZGl1cyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91
bmRzLTMvI2JvcmRlci10b3AtcmlnaHQtcmFkaXVzCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0s
CisgICdib3JkZXItdG9wLXN0eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLXRvcC1zdHlsZQorICAgIHR5cGVzOiBbCisgICAg
ICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnZG90dGVkJywgJ3NvbGlkJyBdIF0g
fQorICAgIF0KKyAgfSwKKyAgJ2JvcmRlci10b3Atd2lkdGgnOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItdG9wLXdpZHRoCisgICAg
dHlwZXM6IFsgJ2xlbmd0aCcgXSwKKyAgICBzZXR1cDogdCA9PiB7CisgICAgICB2YXIgZWxlbWVu
dCA9IGNyZWF0ZUVsZW1lbnQodCk7CisgICAgICBlbGVtZW50LnN0eWxlLmJvcmRlclRvcFN0eWxl
ID0gJ3NvbGlkJzsKKyAgICAgIHJldHVybiBlbGVtZW50OworICAgIH0KKyAgfSwKKyAgJ2JvdHRv
bSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBvc2l0aW9uLyNwcm9w
ZGVmLWJvdHRvbQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnYm94LWRlY29yYXRpb24t
YnJlYWsnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1icmVhay8jcHJv
cGRlZi1ib3gtZGVjb3JhdGlvbi1icmVhaworICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdk
aXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnc2xpY2UnLCAnY2xvbmUnIF0gXSB9CisgICAgXQorICB9
LAorICAnYm94LXNoYWRvdyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWJhY2tncm91bmRzLyNib3gtc2hhZG93CisgICAgdHlwZXM6IFsgJ2JveFNoYWRvd0xpc3QnIF0s
CisgIH0sCisgICdib3gtc2l6aW5nJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtdWktNC8jYm94LXNpemluZworICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNj
cmV0ZScsIG9wdGlvbnM6IFsgWyAnY29udGVudC1ib3gnLCAnYm9yZGVyLWJveCcgXSBdIH0KKyAg
ICBdCisgIH0sCisgICdjYXB0aW9uLXNpZGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy10YWJsZXMvI3Byb3BkZWYtY2FwdGlvbi1zaWRlCisgICAgdHlwZXM6IFsKKyAg
ICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICd0b3AnLCAnYm90dG9tJyBdIF0g
fQorICAgIF0KKyAgfSwKKyAgJ2NhcmV0LWNvbG9yJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtdWkvI3Byb3BkZWYtY2FyZXQtY29sb3IKKyAgICB0eXBlczogWyAnY29s
b3InIF0KKyAgfSwKKyAgJ2NsZWFyJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtcGFnZS1mbG9hdHMvI3Byb3BkZWYtY2xlYXIKKyAgICB0eXBlczogWworICAgICAgeyB0
eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2xlZnQnLCAncmlnaHQnIF0gXSB9CisgICAg
XQorICB9LAorICAnY2xpcCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9jc3Mt
bWFza2luZy0xLyNwcm9wZGVmLWNsaXAKKyAgICB0eXBlczogWworICAgICAgJ3JlY3QnLAorICAg
ICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3JlY3QoMTBweCwgMTBweCwgMTBw
eCwgMTBweCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dG8n
IF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyAncmVjdCgxMHB4LCAx
MHB4LCAxMHB4LCAxMHB4KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAncmVjdCgxMHB4LCAxMHB4LCAxMHB4LCBhdXRvKSddIF0gfQorICAgIF0KKyAgfSwKKyAgJ2Ns
aXAtcGF0aCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9jc3MtbWFza2luZy0x
LyNwcm9wZGVmLWNsaXAtcGF0aAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnY2xpcC1y
dWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2Nzcy1tYXNraW5nLTEvI3By
b3BkZWYtY2xpcC1ydWxlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICdldmVub2RkJywgJ25vbnplcm8nIF0gXSB9CisgICAgXQorICB9LAorICAn
Y29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb2xvci8jcHJv
cGRlZi1jb2xvcgorICAgIHR5cGVzOiBbICdjb2xvcicgXQorICB9LAorICAnY29sb3ItYWRqdXN0
JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29sb3ItNC8jY29sb3It
YWRqdXN0CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczog
WyBbICdlY29ub215JywgJ2V4YWN0JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2NvbG9yLWludGVy
cG9sYXRpb24nOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGlu
Zy5odG1sI0NvbG9ySW50ZXJwb2xhdGlvblByb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsg
dHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdsaW5lYXJSR0InLCAnYXV0bycgXSBdIH0K
KyAgICBdCisgIH0sCisgICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnOiB7CisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZmlsdGVycy0xLyNwcm9wZGVmLWNvbG9yLWludGVycG9s
YXRpb24tZmlsdGVycworICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9w
dGlvbnM6IFsgWyAnc1JHQicsICdsaW5lYXJSR0InIF0gXSB9CisgICAgXQorICB9LAorICAnY29s
dW1uLWNvdW50JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbXVsdGlj
b2wvI3Byb3BkZWYtY29sdW1uLWNvdW50CisgICAgdHlwZXM6IFsgJ3Bvc2l0aXZlSW50ZWdlcics
CisgICAgICAgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYXV0bycsICcx
MCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdjb2x1bW4tZ2FwJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtbXVsdGljb2wvI3Byb3BkZWYtY29sdW1uLWdhcAorICAgIHR5
cGVzOiBbICdsZW5ndGgnLAorICAgICAgICAgICAgeyAgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9u
czogWyBbICdub3JtYWwnLCAnMjAwcHgnIF0gXSB9CisgICAgXQorICB9LAorICAnY29sdW1uLXJ1
bGUtY29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1tdWx0aWNv
bC8jcHJvcGRlZi1jb2x1bW4tcnVsZS1jb2xvcgorICAgIHR5cGVzOiBbICdjb2xvcicgXQorICB9
LAorICAnY29sdW1uLWZpbGwnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1tdWx0aWNvbC8jcHJvcGRlZi1jb2x1bW4tZmlsbAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5
cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYXV0bycsICdiYWxhbmNlJyBdIF0gfQorICAg
IF0KKyAgfSwKKyAgJ2NvbHVtbi1ydWxlLXN0eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtbXVsdGljb2wvI3Byb3BkZWYtY29sdW1uLXJ1bGUtc3R5bGUKKyAgICB0
eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ25vbmUnLCAn
ZG90dGVkJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2NvbHVtbi1ydWxlLXdpZHRoJzogeworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbXVsdGljb2wvI3Byb3BkZWYtY29sdW1u
LXJ1bGUtd2lkdGgKKyAgICB0eXBlczogWyAnbGVuZ3RoJyBdLAorICAgIHNldHVwOiB0ID0+IHsK
KyAgICAgIHZhciBlbGVtZW50ID0gY3JlYXRlRWxlbWVudCh0KTsKKyAgICAgIGVsZW1lbnQuc3R5
bGUuY29sdW1uUnVsZVN0eWxlID0gJ3NvbGlkJzsKKyAgICAgIHJldHVybiBlbGVtZW50OworICAg
IH0KKyAgfSwKKyAgJ2NvbHVtbi13aWR0aCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLW11bHRpY29sLyNwcm9wZGVmLWNvbHVtbi13aWR0aAorICAgIHR5cGVzOiBbICds
ZW5ndGgnLAorICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAn
MXB4JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2NvbnRhaW4nOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250YWlubWVudC8jcHJvcGRlZi1jb250YWluCisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdzdHJpY3QnLCAn
bm9uZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdjb250ZW50JzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGVudC0zLyNwcm9wZGVmLWNvbnRlbnQKKyAgICB0eXBl
czogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJyJhIicsICciYiIn
IF0gXSB9CisgICAgXSwKKyAgICBzZXR1cDogdCA9PiB7CisgICAgICByZXR1cm4gY3JlYXRlUHNl
dWRvKHQsICdiZWZvcmUnKTsKKyAgICB9CisgIH0sCisgICdjb3VudGVyLWluY3JlbWVudCc6IHsK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxpc3RzLTMvI3Byb3BkZWYtY291
bnRlci1pbmNyZW1lbnQKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBv
cHRpb25zOiBbIFsgJ2lkZW50LTEgMScsICdpZGVudC0yIDInIF0gXSB9CisgICAgXQorICB9LAor
ICAnY291bnRlci1yZXNldCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWxpc3RzLTMvI3Byb3BkZWYtY291bnRlci1yZXNldAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5
cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnaWRlbnQtMSAxJywgJ2lkZW50LTIgMicgXSBd
IH0KKyAgICBdCisgIH0sCisgICdjdXJzb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2NzczIvdWkuaHRtbCNwcm9wZGVmLWN1cnNvcgorICAgIHR5cGVzOiBbCisgICAgICB7
IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAncG9pbnRlcicsICd3YWl0JyBdIF0gfQor
ICAgIF0KKyAgfSwKKyAgJ2RpcmVjdGlvbic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLXdyaXRpbmctbW9kZXMtMy8jcHJvcGRlZi1kaXJlY3Rpb24KKyAgICB0eXBlczog
WworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2x0cicsICdydGwnIF0g
XSB9CisgICAgXQorICB9LAorICAnZG9taW5hbnQtYmFzZWxpbmUnOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1pbmxpbmUvI3Byb3BkZWYtZG9taW5hbnQtYmFzZWxpbmUK
KyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2lk
ZW9ncmFwaGljJywgJ2FscGhhYmV0aWMnIF0gXSB9CisgICAgXQorICB9LAorICAnZW1wdHktY2Vs
bHMnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10YWJsZXMvI3Byb3Bk
ZWYtZW1wdHktY2VsbHMKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBv
cHRpb25zOiBbIFsgJ3Nob3cnLCAnaGlkZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdmaWxsJzog
eworICAgIC8vIGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcuaHRtbCNGaWxs
UHJvcGVydHkKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2ZpbGwtb3BhY2l0eSc6IHsK
KyAgICAvLyBodHRwczovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwjRmlsbE9w
YWNpdHlQcm9wZXJ0eQorICAgIHR5cGVzOiBbICdvcGFjaXR5JyBdCisgIH0sCisgICdmaWxsLXJ1
bGUnOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGluZy5odG1s
I0ZpbGxSdWxlUHJvcGVydHkKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUn
LCBvcHRpb25zOiBbIFsgJ2V2ZW5vZGQnLCAnbm9uemVybycgXSBdIH0KKyAgICBdCisgIH0sCisg
ICdmaWx0ZXInOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZmlsdGVycy8jcHJv
cGRlZi1maWx0ZXIKKyAgICB0eXBlczogWyAnZmlsdGVyTGlzdCcgXQorICB9LAorICAnZmxleC1i
YXNpcyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZsZXhib3gvI3By
b3BkZWYtZmxleC1iYXNpcworICAgIHR5cGVzOiBbCisgICAgICAnbGVuZ3RoUGVyY2VudGFnZU9y
Q2FsYycsCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYXV0bycsICcx
MHB4JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2ZsZXgtZGlyZWN0aW9uJzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZmxleGJveC8jcHJvcGRlZi1mbGV4LWRpcmVjdGlv
bgorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAn
cm93JywgJ3Jvdy1yZXZlcnNlJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2ZsZXgtZ3Jvdyc6IHsK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZsZXhib3gvI2ZsZXgtZ3Jvdy1w
cm9wZXJ0eQorICAgIHR5cGVzOiBbICdwb3NpdGl2ZU51bWJlcicgXQorICB9LAorICAnZmxleC1z
aHJpbmsnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1mbGV4Ym94LyNw
cm9wZGVmLWZsZXgtc2hyaW5rCisgICAgdHlwZXM6IFsgJ3Bvc2l0aXZlTnVtYmVyJyBdCisgIH0s
CisgICdmbGV4LXdyYXAnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1m
bGV4Ym94LyNwcm9wZGVmLWZsZXgtd3JhcAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdk
aXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnbm93cmFwJywgJ3dyYXAnIF0gXSB9CisgICAgXQorICB9
LAorICAnZmxvb2QtY29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvZmls
dGVycy8jRmxvb2RDb2xvclByb3BlcnR5CisgICAgdHlwZXM6IFsgJ2NvbG9yJyBdCisgIH0sCisg
ICdmbG9vZC1vcGFjaXR5JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2ZpbHRl
cnMvI3Byb3BkZWYtZmxvb2Qtb3BhY2l0eQorICAgIHR5cGVzOiBbICdvcGFjaXR5JyBdCisgIH0s
CisgICdmb250LXNpemUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1m
b250cy0zLyNwcm9wZGVmLWZvbnQtc2l6ZQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAn
Zm9udC1zaXplLWFkanVzdCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWZvbnRzLTMvI3Byb3BkZWYtZm9udC1zaXplLWFkanVzdAorICAgIHR5cGVzOiBbCisgICAgXQor
ICB9LAorICAnZm9udC1zdHJldGNoJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LXN0cmV0Y2gKKyAgICB0eXBlczogWyAnZm9udFN0
cmV0Y2gnIF0KKyAgfSwKKyAgJ2ZvbnQtc3R5bGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1mb250cy8jcHJvcGRlZi1mb250LXN0eWxlCisgICAgdHlwZXM6IFsKKyAg
ICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdpdGFsaWMnLCAnb2JsaXF1ZScg
XSBdIH0KKyAgICBdCisgIH0sCisgICdmbG9hdCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXBhZ2UtZmxvYXRzLyNwcm9wZGVmLWZsb2F0CisgICAgdHlwZXM6IFsKKyAg
ICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdsZWZ0JywgJ3JpZ2h0JyBdIF0g
fQorICAgIF0KKyAgfSwKKyAgJ2ZvbnQtZmFtaWx5JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LWZhbWlseQorICAgIHR5cGVzOiBb
CisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnaGVsdmV0aWNhJywgJ3Zl
cmRhbmEnIF0gXSB9CisgICAgXQorICB9LAorICAnZm9udC1mZWF0dXJlLXNldHRpbmdzJzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMvI2Rlc2NkZWYtZm9udC1m
ZWF0dXJlLXNldHRpbmdzCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICcibGlnYSIgNScsICdub3JtYWwnIF0gXSB9CisgICAgXQorICB9LAorICAn
Zm9udC1rZXJuaW5nJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9u
dHMtMy8jcHJvcGRlZi1mb250LWtlcm5pbmcKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAn
ZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAnbm9ybWFsJyBdIF0gfQorICAgIF0KKyAg
fSwKKyAgJ2ZvbnQtbGFuZ3VhZ2Utb3ZlcnJpZGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1mb250cy0zLyNwcm9wZGVmLWZvbnQtbGFuZ3VhZ2Utb3ZlcnJpZGUKKyAg
ICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJyJlbmci
JywgJ25vcm1hbCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdmb250LXN0eWxlJzogeworICAgIC8v
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LXN0eWxl
CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdp
dGFsaWMnLCAnb2JsaXF1ZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdmb250LXN5bnRoZXNpcyc6
IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTMvI3Byb3BkZWYt
Zm9udC1zeW50aGVzaXMKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBv
cHRpb25zOiBbIFsgJ25vbmUnLCAnd2VpZ2h0IHN0eWxlJyBdIF0gfQorICAgIF0KKyAgfSwKKyAg
J2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LXZhcmlhbnQtYWx0ZXJuYXRlcworICAgIHR5
cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsCisgICAgICAgIG9wdGlvbnM6IFsgWyAn
c3dhc2godW5rbm93biknLCAnc3R5bGlzdGljKHVua25vd24pJyBdIF0gfQorICAgIF0KKyAgfSwK
KyAgJ2ZvbnQtdmFyaWFudC1jYXBzJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LXZhcmlhbnQtY2FwcworICAgIHR5cGVzOiBbCisg
ICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnc21hbGwtY2FwcycsICd1bmlj
YXNlJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2ZvbnQtdmFyaWFudC1lYXN0LWFzaWFuJzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250
LXZhcmlhbnQtZWFzdC1hc2lhbgorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0
ZScsIG9wdGlvbnM6IFsgWyAnZnVsbC13aWR0aCcsICdwcm9wb3J0aW9uYWwtd2lkdGgnIF0gXSB9
CisgICAgXQorICB9LAorICAnZm9udC12YXJpYW50LWxpZ2F0dXJlcyc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC12YXJpYW50LWxp
Z2F0dXJlcworICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsCisgICAgICAg
IG9wdGlvbnM6IFsgWyAnY29tbW9uLWxpZ2F0dXJlcycsICduby1jb21tb24tbGlnYXR1cmVzJyBd
IF0gfQorICAgIF0KKyAgfSwKKyAgJ2ZvbnQtdmFyaWFudC1udW1lcmljJzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LXZhcmlhbnQt
bnVtZXJpYworICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6
IFsgWyAnbGluaW5nLW51bXMnLCAnb2xkc3R5bGUtbnVtcycgXSBdIH0KKyAgICBdCisgIH0sCisg
ICdmb250LXZhcmlhbnQtcG9zaXRpb24nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy1mb250cy0zLyNwcm9wZGVmLWZvbnQtdmFyaWFudC1wb3NpdGlvbgorICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnc3ViJywgJ3N1cGVy
JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzJzogeworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtNC8jZGVzY2RlZi1mb250LWZh
Y2UtZm9udC12YXJpYXRpb24tc2V0dGluZ3MKKyAgICB0eXBlczogWworICAgICAgJ2ZvbnRWYXJp
YXRpb25TZXR0aW5ncycsCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsCisgICAgICAgIG9wdGlv
bnM6IFsgWycid2dodCIgMS4xLCAid2R0aCIgMScsICcid2R0aCIgNSddLAorICAgICAgICAgICAg
ICAgICAgIFsnIndkdGgiIDUnLCAnbm9ybWFsJ10KKyAgICAgICAgICAgICAgICAgXSB9LAorICAg
IF0KKyAgfSwKKyAgJ2ZvbnQtd2VpZ2h0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LXdlaWdodAorICAgIHR5cGVzOiBbCisgICAg
XQorICB9LAorICAnZ3JpZC1hdXRvLWNvbHVtbnMnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1ncmlkLyNwcm9wZGVmLWdyaWQtYXV0by1jb2x1bW5zCisgICAgdHlwZXM6
IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICcxcHgnLCAnNXB4JyBd
IF0gfQorICAgIF0KKyAgfSwKKyAgJ2dyaWQtYXV0by1mbG93JzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jcHJvcGRlZi1ncmlkLWF1dG8tZmxvdworICAgIHR5
cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAncm93JywgJ2Nv
bHVtbicgXSBdIH0KKyAgICBdCisgIH0sCisgICdncmlkLWF1dG8tcm93cyc6IHsKKyAgICAvLyBo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWdyaWQvI3Byb3BkZWYtZ3JpZC1hdXRvLXJvd3MK
KyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJzFw
eCcsICc1cHgnIF0gXSB9CisgICAgXQorICB9LAorICAnZ3JpZC1jb2x1bW4tZW5kJzogeworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jcHJvcGRlZi1ncmlkLWNvbHVt
bi1lbmQKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBb
IFsgJzEnLCAnNScgXSBdIH0KKyAgICBdCisgIH0sCisgICdncmlkLWNvbHVtbi1nYXAnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLyNwcm9wZGVmLWdyaWQtY29s
dW1uLWdhcAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnZ3JpZC1jb2x1bW4tc3RhcnQn
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLyNwcm9wZGVmLWdy
aWQtY29sdW1uLXN0YXJ0CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICcxJywgJzUnIF0gXSB9CisgICAgXQorICB9LAorICAnZ3JpZC1yb3ctZW5k
JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jcHJvcGRlZi1n
cmlkLXJvdy1lbmQKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRp
b25zOiBbIFsgJzEnLCAnNScgXSBdIH0KKyAgICBdCisgIH0sCisgICdncmlkLXJvdy1nYXAnOiB7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLyNwcm9wZGVmLWdyaWQt
cm93LWdhcAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnZ3JpZC1yb3ctc3RhcnQnOiB7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLyNwcm9wZGVmLWdyaWQt
cm93LXN0YXJ0CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9u
czogWyBbICcxJywgJzUnIF0gXSB9CisgICAgXQorICB9LAorICAnZ3JpZC10ZW1wbGF0ZS1hcmVh
cyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRlbXBsYXRlLyNncmlk
LXRlbXBsYXRlLWFyZWFzCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICciLiAuIGEgYiIgIi4gLmEgYiInLCAnbm9uZScgXSBdIH0KKyAgICBdCisg
IH0sCisgICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy10ZW1wbGF0ZS8jZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zCisgICAgdHlwZXM6
IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICcxcHgnLCAnNXB4JyBd
IF0gfQorICAgIF0KKyAgfSwKKyAgJ2dyaWQtdGVtcGxhdGUtcm93cyc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRlbXBsYXRlLyNncmlkLXRlbXBsYXRlLXJvd3MKKyAg
ICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJzFweCcs
ICc1cHgnIF0gXSB9CisgICAgXQorICB9LAorICAnaGVpZ2h0JzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MyMS92aXN1ZGV0Lmh0bWwjcHJvcGRlZi1oZWlnaHQKKyAgICB0
eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2h5cGhlbnMnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI3Byb3BkZWYtaHlwaGVucworICAgIHR5cGVzOiBbCisg
ICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnbWFudWFsJywgJ2F1dG8nIF0g
XSB9CisgICAgXQorICB9LAorICAnaW1hZ2Utb3JpZW50YXRpb24nOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1pbWFnZXMtMy8jcHJvcGRlZi1pbWFnZS1vcmllbnRhdGlv
bgorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAn
MGRlZycsICc5MGRlZycgXSBdIH0KKyAgICBdCisgIH0sCisgICdpbWFnZS1yZW5kZXJpbmcnOiB7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1pbWFnZXMtMy8jcHJvcGRlZi1p
bWFnZS1yZW5kZXJpbmcKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2ltZS1tb2RlJzog
eworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdWkvI2lucHV0LW1ldGhvZC1l
ZGl0b3IKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBb
IFsgJ2Rpc2FibGVkJywgJ2F1dG8nIF0gXSB9CisgICAgXQorICB9LAorICAnaW5pdGlhbC1sZXR0
ZXInOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1pbmxpbmUvI3Byb3Bk
ZWYtaW5pdGlhbC1sZXR0ZXIKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUn
LCBvcHRpb25zOiBbIFsgJzEgMicsICczIDQnIF0gXSB9CisgICAgXQorICB9LAorICAnaW5saW5l
LXNpemUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXBy
b3BzLyNwcm9wZGVmLWlubGluZS1zaXplCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdp
c29sYXRpb24nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY29tcG9zaXRpbmct
MS8jcHJvcGRlZi1pc29sYXRpb24KKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3Jl
dGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAnaXNvbGF0ZScgXSBdIH0KKyAgICBdCisgIH0sCisg
ICdqdXN0aWZ5LWNvbnRlbnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1hbGlnbi8jcHJvcGRlZi1qdXN0aWZ5LWNvbnRlbnQKKyAgICB0eXBlczogWworICAgICAgeyB0
eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2Jhc2VsaW5lJywgJ2xhc3QgYmFzZWxpbmUn
IF0gXSB9CisgICAgXQorICB9LAorICAnanVzdGlmeS1pdGVtcyc6IHsKKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFsaWduLyNwcm9wZGVmLWp1c3RpZnktaXRlbXMKKyAgICB0
eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2Jhc2VsaW5l
JywgJ2xhc3QgYmFzZWxpbmUnIF0gXSB9CisgICAgXQorICB9LAorICAnanVzdGlmeS1zZWxmJzog
eworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYWxpZ24vI3Byb3BkZWYtanVz
dGlmeS1zZWxmCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9u
czogWyBbICdiYXNlbGluZScsICdsYXN0IGJhc2VsaW5lJyBdIF0gfQorICAgIF0KKyAgfSwKKyAg
J2xlZnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1wb3NpdGlvbi8j
cHJvcGRlZi1sZWZ0CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdsZXR0ZXItc3BhY2lu
Zyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRleHQtMy8jcHJvcGRl
Zi1sZXR0ZXItc3BhY2luZworICAgIHR5cGVzOiBbICdsZW5ndGgnIF0KKyAgfSwKKyAgJ2xpZ2h0
aW5nLWNvbG9yJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2ZpbHRlcnMvI0xp
Z2h0aW5nQ29sb3JQcm9wZXJ0eQorICAgIHR5cGVzOiBbICdjb2xvcicgXQorICB9LAorICAnbGlu
ZS1oZWlnaHQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2NzczIxL3Zpc3Vk
ZXQuaHRtbCNwcm9wZGVmLWxpbmUtaGVpZ2h0CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisg
ICdsaXN0LXN0eWxlLWltYWdlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtbGlzdHMtMy8jcHJvcGRlZi1saXN0LXN0eWxlLWltYWdlCisgICAgdHlwZXM6IFsKKyAgICAg
IHsgdHlwZTogJ2Rpc2NyZXRlJywKKyAgICAgICAgb3B0aW9uczogWyBbICd1cmwoImh0dHA6Ly9s
b2NhbGhvc3QvdGVzdC0xIiknLAorICAgICAgICAgICAgICAgICAgICAgJ3VybCgiaHR0cDovL2xv
Y2FsaG9zdC90ZXN0LTIiKScgXSBdIH0KKyAgICBdCisgIH0sCisgICdsaXN0LXN0eWxlLXBvc2l0
aW9uJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbGlzdHMtMy8jcHJv
cGRlZi1saXN0LXN0eWxlLXBvc2l0aW9uCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rp
c2NyZXRlJywgb3B0aW9uczogWyBbICdpbnNpZGUnLCAnb3V0c2lkZScgXSBdIH0KKyAgICBdCisg
IH0sCisgICdsaXN0LXN0eWxlLXR5cGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy1saXN0cy0zLyNwcm9wZGVmLWxpc3Qtc3R5bGUtdHlwZQorICAgIHR5cGVzOiBbCisg
ICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnY2lyY2xlJywgJ3NxdWFyZScg
XSBdIH0KKyAgICBdCisgIH0sCisgICdtYXJnaW4tYmxvY2stZW5kJzogeworICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1tYXJnaW4tYmxv
Y2stZW5kCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtYXJnaW4tYmxvY2stc3RhcnQn
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNw
cm9wZGVmLW1hcmdpbi1ibG9jay1zdGFydAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAn
bWFyZ2luLWJvdHRvbSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJv
eC8jcHJvcGRlZi1tYXJnaW4tYm90dG9tCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdt
YXJnaW4taW5saW5lLWVuZCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtbWFyZ2luLWlubGluZS1lbmQKKyAgICB0eXBlczogWwor
ICAgIF0KKyAgfSwKKyAgJ21hcmdpbi1pbmxpbmUtc3RhcnQnOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLW1hcmdpbi1pbmxpbmUt
c3RhcnQKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ21hcmdpbi1sZWZ0JzogeworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYm94LyNwcm9wZGVmLW1hcmdpbi1sZWZ0
CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtYXJnaW4tcmlnaHQnOiB7CisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ib3gvI3Byb3BkZWYtbWFyZ2luLXJpZ2h0Cisg
ICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtYXJnaW4tdG9wJzogeworICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYm94LyNwcm9wZGVmLW1hcmdpbi10b3AKKyAgICB0eXBl
czogWworICAgIF0KKyAgfSwKKyAgJ21hcmtlci1lbmQnOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3
Zy5vcmcvc3BlY3MvbWFya2Vycy8jTWFya2VyRW5kUHJvcGVydHkKKyAgICB0eXBlczogWworICAg
ICAgeyB0eXBlOiAnZGlzY3JldGUnLAorICAgICAgICBvcHRpb25zOiBbIFsgJ3VybCgiaHR0cDov
L2xvY2FsaG9zdC90ZXN0LTEiKScsCisgICAgICAgICAgICAgICAgICAgICAndXJsKCJodHRwOi8v
bG9jYWxob3N0L3Rlc3QtMiIpJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ21hcmtlci1taWQnOiB7
CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3BlY3MvbWFya2Vycy8jTWFya2VyTWlkUHJvcGVy
dHkKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLAorICAgICAgICBvcHRp
b25zOiBbIFsgJ3VybCgiaHR0cDovL2xvY2FsaG9zdC90ZXN0LTEiKScsCisgICAgICAgICAgICAg
ICAgICAgICAndXJsKCJodHRwOi8vbG9jYWxob3N0L3Rlc3QtMiIpJyBdIF0gfQorICAgIF0KKyAg
fSwKKyAgJ21hcmtlci1zdGFydCc6IHsKKyAgICAvLyBodHRwczovL3N2Z3dnLm9yZy9zcGVjcy9t
YXJrZXJzLyNNYXJrZXJTdGFydFByb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTog
J2Rpc2NyZXRlJywKKyAgICAgICAgb3B0aW9uczogWyBbICd1cmwoImh0dHA6Ly9sb2NhbGhvc3Qv
dGVzdC0xIiknLAorICAgICAgICAgICAgICAgICAgICAgJ3VybCgiaHR0cDovL2xvY2FsaG9zdC90
ZXN0LTIiKScgXSBdIH0KKyAgICBdCisgIH0sCisgICdtYXNrJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmZ4dGYub3JnL2Nzcy1tYXNraW5nLTEvI3RoZS1tYXNrCisgICAgdHlwZXM6IFsKKyAg
ICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywKKyAgICAgICAgb3B0aW9uczogWyBbICd1cmwoImh0dHA6
Ly9sb2NhbGhvc3QvdGVzdC0xIiknLAorICAgICAgICAgICAgICAgICAgICAgJ3VybCgiaHR0cDov
L2xvY2FsaG9zdC90ZXN0LTIiKScgXSBdIH0KKyAgICBdCisgIH0sCisgICdtYXNrLWNsaXAnOiB7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY3NzLW1hc2tpbmctMS8jcHJvcGRlZi1t
YXNrLWNsaXAKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25z
OiBbIFsgJ2NvbnRlbnQtYm94JywgJ2JvcmRlci1ib3gnIF0gXSB9CisgICAgXQorICB9LAorICAn
bWFzay1jb21wb3NpdGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY3NzLW1h
c2tpbmctMS8jcHJvcGRlZi1tYXNrLWNvbXBvc2l0ZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5
cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYWRkJywgJ3N1YnRyYWN0JyBdIF0gfQorICAg
IF0KKyAgfSwKKyAgJ21hc2staW1hZ2UnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5v
cmcvY3NzLW1hc2tpbmctMS8jcHJvcGRlZi1tYXNrLWltYWdlCisgICAgdHlwZXM6IFsKKyAgICAg
IHsgdHlwZTogJ2Rpc2NyZXRlJywKKyAgICAgICAgb3B0aW9uczogWyBbICd1cmwoImh0dHA6Ly9s
b2NhbGhvc3QvdGVzdC0xIiknLAorICAgICAgICAgICAgICAgICAgICAgJ3VybCgiaHR0cDovL2xv
Y2FsaG9zdC90ZXN0LTIiKScgXSBdIH0KKyAgICBdCisgIH0sCisgICdtYXNrLW1vZGUnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY3NzLW1hc2tpbmctMS8jcHJvcGRlZi1tYXNr
LW1vZGUKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBb
IFsgJ2FscGhhJywgJ2x1bWluYW5jZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdtYXNrLW9yaWdp
bic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9jc3MtbWFza2luZy0xLyNwcm9w
ZGVmLW1hc2stb3JpZ2luCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICdjb250ZW50LWJveCcsICdib3JkZXItYm94JyBdIF0gfQorICAgIF0KKyAg
fSwKKyAgJ21hc2stcG9zaXRpb24nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcv
Y3NzLW1hc2tpbmctMS8jcHJvcGRlZi1tYXNrLXBvc2l0aW9uCisgICAgdHlwZXM6IFsKKyAgICBd
CisgIH0sCisgICdtYXNrLXBvc2l0aW9uLXgnOiB7CisgICAgLy8gaHR0cHM6Ly9saXN0cy53My5v
cmcvQXJjaGl2ZXMvUHVibGljL3d3dy1zdHlsZS8yMDE0SnVuLzAxNjYuaHRtbAorICAgIHR5cGVz
OiBbCisgICAgXQorICB9LAorICAnbWFzay1wb3NpdGlvbi15JzogeworICAgIC8vIGh0dHBzOi8v
bGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctc3R5bGUvMjAxNEp1bi8wMTY2Lmh0bWwK
KyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ21hc2stcmVwZWF0JzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2Nzcy1tYXNraW5nLTEvI3Byb3BkZWYtbWFzay1yZXBlYXQK
KyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3Nw
YWNlJywgJ3JvdW5kJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ21hc2stc2l6ZSc6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9jc3MtbWFza2luZy0xLyNwcm9wZGVmLW1hc2stc2l6
ZQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbWFzay10eXBlJzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2Nzcy1tYXNraW5nLTEvI3Byb3BkZWYtbWFzay10eXBlCisg
ICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdhbHBo
YScsICdsdW1pbmFuY2UnIF0gXSB9CisgICAgXQorICB9LAorICAnbWF4LWJsb2NrLXNpemUnOiB7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9w
ZGVmLW1heC1ibG9jay1zaXplCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtYXgtaGVp
Z2h0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MyMS92aXN1ZGV0Lmh0
bWwjcHJvcGRlZi1tYXgtaGVpZ2h0CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtYXgt
aW5saW5lLXNpemUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dp
Y2FsLXByb3BzLyNwcm9wZGVmLW1heC1pbmxpbmUtc2l6ZQorICAgIHR5cGVzOiBbCisgICAgXQor
ICB9LAorICAnbWF4LXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MyMS92aXN1ZGV0Lmh0bWwjcHJvcGRlZi1tYXgtd2lkdGgKKyAgICB0eXBlczogWworICAgIF0K
KyAgfSwKKyAgJ21pbi1ibG9jay1zaXplJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1taW4tYmxvY2stc2l6ZQorICAgIHR5cGVz
OiBbCisgICAgXQorICB9LAorICAnbWluLWhlaWdodCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzMjEvdmlzdWRldC5odG1sI3Byb3BkZWYtbWluLWhlaWdodAorICAgIHR5
cGVzOiBbCisgICAgXQorICB9LAorICAnbWluLWlubGluZS1zaXplJzogeworICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1taW4taW5saW5l
LXNpemUKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ21pbi13aWR0aCc6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzMjEvdmlzdWRldC5odG1sI3Byb3BkZWYtbWlu
LXdpZHRoCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtaXgtYmxlbmQtbW9kZSc6IHsK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9jb21wb3NpdGluZy0xLyNwcm9wZGVmLW1p
eC1ibGVuZC1tb2RlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0
aW9uczogWyBbICdtdWx0aXBseScsICdzY3JlZW4nIF0gXSB9CisgICAgXQorICB9LAorICAnb2Jq
ZWN0LWZpdCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWltYWdlcy0z
LyNwcm9wZGVmLW9iamVjdC1maXQKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3Jl
dGUnLCBvcHRpb25zOiBbIFsgJ2ZpbGwnLCAnY29udGFpbicgXSBdIH0KKyAgICBdCisgIH0sCisg
ICdvYmplY3QtcG9zaXRpb24nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1pbWFnZXMtMy8jcHJvcGRlZi1vYmplY3QtcG9zaXRpb24KKyAgICB0eXBlczogWworICAgIF0K
KyAgfSwKKyAgJ29mZnNldC1ibG9jay1lbmQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLW9mZnNldC1ibG9jay1lbmQKKyAgICB0
eXBlczogWworICAgIF0KKyAgfSwKKyAgJ29mZnNldC1ibG9jay1zdGFydCc6IHsKKyAgICAvLyBo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtb2Zmc2V0
LWJsb2NrLXN0YXJ0CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdvZmZzZXQtaW5saW5l
LWVuZCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwtcHJv
cHMvI3Byb3BkZWYtb2Zmc2V0LWlubGluZS1lbmQKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwK
KyAgJ29mZnNldC1pbmxpbmUtc3RhcnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLW9mZnNldC1pbmxpbmUtc3RhcnQKKyAgICB0
eXBlczogWworICAgIF0KKyAgfSwKKyAgJ29wYWNpdHknOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1jb2xvci8jcHJvcGRlZi1vcGFjaXR5CisgICAgdHlwZXM6IFsKKyAg
ICBdCisgIH0sCisgICdvcmRlcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLWZsZXhib3gvI3Byb3BkZWYtb3JkZXIKKyAgICB0eXBlczogWyAnaW50ZWdlcicgXQorICB9
LAorICAnb3V0bGluZS1jb2xvcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLXVpLTMvI3Byb3BkZWYtb3V0bGluZS1jb2xvcgorICAgIHR5cGVzOiBbICdjb2xvcicgXQor
ICB9LAorICAnb3V0bGluZS1vZmZzZXQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy11aS0zLyNwcm9wZGVmLW91dGxpbmUtb2Zmc2V0CisgICAgdHlwZXM6IFsgJ2xlbmd0
aCcgXQorICB9LAorICAnb3V0bGluZS1zdHlsZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXVpLyNwcm9wZGVmLW91dGxpbmUtc3R5bGUKKyAgICB0eXBlczogWworICAg
ICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ25vbmUnLCAnZG90dGVkJyBdIF0g
fQorICAgIF0KKyAgfSwKKyAgJ291dGxpbmUtd2lkdGgnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy11aS0zLyNwcm9wZGVmLW91dGxpbmUtd2lkdGgKKyAgICB0eXBlczog
WyAnbGVuZ3RoJyBdLAorICAgIHNldHVwOiB0ID0+IHsKKyAgICAgIHZhciBlbGVtZW50ID0gY3Jl
YXRlRWxlbWVudCh0KTsKKyAgICAgIGVsZW1lbnQuc3R5bGUub3V0bGluZVN0eWxlID0gJ3NvbGlk
JzsKKyAgICAgIHJldHVybiBlbGVtZW50OworICAgIH0KKyAgfSwKKyAgJ292ZXJmbG93Jzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtb3ZlcmZsb3cvI3Byb3BkZWYtb3Zl
cmZsb3cKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ292ZXJmbG93LWNsaXAtYm94Jzog
eworICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL2RvY3MvV2ViL0NTUy9v
dmVyZmxvdy1jbGlwLWJveAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScs
IG9wdGlvbnM6IFsgWyAncGFkZGluZy1ib3gnLCAnY29udGVudC1ib3gnIF0gXSB9CisgICAgXQor
ICB9LAorICAnb3ZlcmZsb3ctd3JhcCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLXRleHQtMy8jcHJvcGRlZi1vdmVyZmxvdy13cmFwCisgICAgdHlwZXM6IFsKKyAgICAg
IHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdub3JtYWwnLCAnYnJlYWstd29yZCcg
XSBdIH0KKyAgICBdCisgIH0sCisgICdvdmVyZmxvdy14JzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3Mtb3ZlcmZsb3ctMy8jcHJvcGRlZi1vdmVyZmxvdy14CisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICd2aXNpYmxlJywg
J2hpZGRlbicgXSBdIH0KKyAgICBdCisgIH0sCisgICdvdmVyZmxvdy15JzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtb3ZlcmZsb3ctMy8jcHJvcGRlZi1vdmVyZmxvdy15
CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICd2
aXNpYmxlJywgJ2hpZGRlbicgXSBdIH0KKyAgICBdCisgIH0sCisgICdwYWRkaW5nLWJsb2NrLWVu
ZCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwtcHJvcHMv
I3Byb3BkZWYtcGFkZGluZy1ibG9jay1lbmQKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAg
J3BhZGRpbmctYmxvY2stc3RhcnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLXBhZGRpbmctYmxvY2stc3RhcnQKKyAgICB0eXBl
czogWworICAgIF0KKyAgfSwKKyAgJ3BhZGRpbmctYm90dG9tJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtYm94LyNwcm9wZGVmLXBhZGRpbmctYm90dG9tCisgICAgdHlw
ZXM6IFsKKyAgICBdCisgIH0sCisgICdwYWRkaW5nLWlubGluZS1lbmQnOiB7CisgICAgLy8gaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLXBhZGRpbmct
aW5saW5lLWVuZAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAncGFkZGluZy1pbmxpbmUt
c3RhcnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXBy
b3BzLyNwcm9wZGVmLXBhZGRpbmctaW5saW5lLXN0YXJ0CisgICAgdHlwZXM6IFsKKyAgICBdCisg
IH0sCisgICdwYWRkaW5nLWxlZnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1ib3gvI3Byb3BkZWYtcGFkZGluZy1sZWZ0CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0s
CisgICdwYWRkaW5nLXJpZ2h0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtYm94LyNwcm9wZGVmLXBhZGRpbmctcmlnaHQKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwK
KyAgJ3BhZGRpbmctdG9wJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
Ym94LyNwcm9wZGVmLXBhZGRpbmctdG9wCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdw
YWdlLWJyZWFrLWFmdGVyJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
YnJlYWstMy8jcHJvcGRlZi1icmVhay1hZnRlcgorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6
ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYWx3YXlzJywgJ2F1dG8nIF0gXSB9CisgICAgXQor
ICB9LAorICAncGFnZS1icmVhay1iZWZvcmUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1icmVhay0zLyNwcm9wZGVmLWJyZWFrLWJlZm9yZQorICAgIHR5cGVzOiBbCisg
ICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYWx3YXlzJywgJ2F1dG8nIF0g
XSB9CisgICAgXQorICB9LAorICAncGFnZS1icmVhay1pbnNpZGUnOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1icmVhay0zLyNwcm9wZGVmLWJyZWFrLWluc2lkZQorICAg
IHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYXV0bycs
ICdhdm9pZCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdwYWludC1vcmRlcic6IHsKKyAgICAvLyBo
dHRwczovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwjUGFpbnRPcmRlclByb3Bl
cnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBb
ICdmaWxsJywgJ3N0cm9rZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdwZXJzcGVjdGl2ZSc6IHsK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5zZm9ybXMtMS8jcHJvcGRl
Zi1wZXJzcGVjdGl2ZQorICAgIHR5cGVzOiBbICdsZW5ndGgnIF0KKyAgfSwKKyAgJ3BlcnNwZWN0
aXZlLW9yaWdpbic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5z
Zm9ybXMtMS8jcHJvcGRlZi1wZXJzcGVjdGl2ZS1vcmlnaW4KKyAgICB0eXBlczogWyAncG9zaXRp
b24nIF0KKyAgfSwKKyAgJ3BvaW50ZXItZXZlbnRzJzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cu
b3JnL3N2ZzItZHJhZnQvaW50ZXJhY3QuaHRtbCNQb2ludGVyRXZlbnRzUHJvcGVydHkKKyAgICB0
eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2ZpbGwnLCAn
bm9uZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdwb3NpdGlvbic6IHsKKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBvc2l0aW9uLyNwcm9wZGVmLXBvc2l0aW9uCisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdhYnNvbHV0ZScs
ICdmaXhlZCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdxdW90ZXMnOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250ZW50LTMvI3Byb3BkZWYtcXVvdGVzCisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICci4oCcIiAi4oCd
IiAi4oCYIiAi4oCZIicsICci4oCYIiAi4oCZIiAi4oCcIiAi4oCdIicgXSBdIH0KKyAgICBdCisg
IH0sCisgICdyZXNpemUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy11
aS8jcHJvcGRlZi1yZXNpemUKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUn
LCBvcHRpb25zOiBbIFsgJ2JvdGgnLCAnaG9yaXpvbnRhbCcgXSBdIH0KKyAgICBdCisgIH0sCisg
ICdyaWdodCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBvc2l0aW9u
LyNwcm9wZGVmLXJpZ2h0CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdydWJ5LWFsaWdu
JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtcnVieS0xLyNwcm9wZGVm
LXJ1YnktYWxpZ24KKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRp
b25zOiBbIFsgJ3N0YXJ0JywgJ2NlbnRlcicgXSBdIH0KKyAgICBdCisgIH0sCisgICdydWJ5LXBv
c2l0aW9uJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtcnVieS0xLyNw
cm9wZGVmLXJ1YnktcG9zaXRpb24KKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3Jl
dGUnLCBvcHRpb25zOiBbIFsgJ3VuZGVyJywgJ292ZXInIF0gXSB9CisgICAgXSwKKyAgICBzZXR1
cDogdCA9PiB7CisgICAgICByZXR1cm4gY3JlYXRlRWxlbWVudCh0LCAncnVieScpOworICAgIH0K
KyAgfSwKKyAgJ3Njcm9sbC1iZWhhdmlvcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3Nzb20tdmlldy8jcHJvcGRlZi1zY3JvbGwtYmVoYXZpb3IKKyAgICB0eXBlczogWwor
ICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAnc21vb3RoJyBd
IF0gfQorICAgIF0KKyAgfSwKKyAgJ3Njcm9sbC1zbmFwLXR5cGUteCc6IHsKKyAgICAvLyBodHRw
czovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9kb2NzL1dlYi9DU1Mvc2Nyb2xsLXNuYXAtdHlw
ZS14CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBb
ICdtYW5kYXRvcnknLCAncHJveGltaXR5JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3Njcm9sbC1z
bmFwLXR5cGUteSc6IHsKKyAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9k
b2NzL1dlYi9DU1Mvc2Nyb2xsLXNuYXAtdHlwZS15CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlw
ZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdtYW5kYXRvcnknLCAncHJveGltaXR5JyBdIF0g
fQorICAgIF0KKyAgfSwKKyAgJ3NoYXBlLW91dHNpZGUnOiB7CisgICAgLy8gaHR0cDovL2Rldi53
My5vcmcvY3Nzd2cvY3NzLXNoYXBlcy8jcHJvcGRlZi1zaGFwZS1vdXRzaWRlCisgICAgdHlwZXM6
IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywKKyAgICAgICAgb3B0aW9uczogWyBbICd1cmwo
Imh0dHA6Ly9sb2NhbGhvc3QvdGVzdC0xIiknLAorICAgICAgICAgICAgICAgICAgICAgJ3VybCgi
aHR0cDovL2xvY2FsaG9zdC90ZXN0LTIiKScgXSBdIH0KKyAgICBdCisgIH0sCisgICdzaGFwZS1y
ZW5kZXJpbmcnOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGlu
Zy5odG1sI1NoYXBlUmVuZGVyaW5nUHJvcGVydHkKKyAgICB0eXBlczogWworICAgICAgeyB0eXBl
OiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ29wdGltaXplU3BlZWQnLCAnY3Jpc3BFZGdlcycg
XSBdIH0KKyAgICBdCisgIH0sCisgICdzdG9wLWNvbG9yJzogeworICAgIC8vIGh0dHBzOi8vc3Zn
d2cub3JnL3N2ZzItZHJhZnQvcHNlcnZlcnMuaHRtbCNTdG9wQ29sb3JQcm9wZXJ0eQorICAgIHR5
cGVzOiBbICdjb2xvcicgXQorICB9LAorICAnc3RvcC1vcGFjaXR5JzogeworICAgIC8vIGh0dHBz
Oi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcHNlcnZlcnMuaHRtbCNTdG9wT3BhY2l0eVByb3BlcnR5
CisgICAgdHlwZXM6IFsgJ29wYWNpdHknIF0KKyAgfSwKKyAgJ3N0cm9rZSc6IHsKKyAgICAvLyBo
dHRwczovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwjU3Ryb2tlUHJvcGVydHkK
KyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ3N0cm9rZS1kYXNoYXJyYXknOiB7CisgICAg
Ly8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGluZy5odG1sI1N0cm9rZURhc2hh
cnJheVByb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAgICdkYXNoYXJyYXknLAorICAgICAgeyB0
eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ25vbmUnLCAnMTAsIDIwJyBdIF0gfQorICAg
IF0KKyAgfSwKKyAgJ3N0cm9rZS1kYXNob2Zmc2V0JzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cu
b3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcuaHRtbCNTdHJva2VEYXNob2Zmc2V0UHJvcGVydHkKKyAg
ICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ3N0cm9rZS1saW5lY2FwJzogeworICAgIC8vIGh0
dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcuaHRtbCNTdHJva2VMaW5lY2FwUHJv
cGVydHkKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBb
IFsgJ3JvdW5kJywgJ3NxdWFyZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdzdHJva2UtbGluZWpv
aW4nOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGluZy5odG1s
I1N0cm9rZUxpbmVqb2luUHJvcGVydHkKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlz
Y3JldGUnLCBvcHRpb25zOiBbIFsgJ3JvdW5kJywgJ21pdGVyJyBdIF0gfQorICAgIF0sCisgICAg
c2V0dXA6IHQgPT4geworICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodCwgJ3JlY3QnKTsKKyAg
ICB9CisgIH0sCisgICdzdHJva2UtbWl0ZXJsaW1pdCc6IHsKKyAgICAvLyBodHRwczovL3N2Z3dn
Lm9yZy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwjU3Ryb2tlTWl0ZXJsaW1pdFByb3BlcnR5Cisg
ICAgdHlwZXM6IFsgJ3Bvc2l0aXZlTnVtYmVyJyBdCisgIH0sCisgICdzdHJva2Utb3BhY2l0eSc6
IHsKKyAgICAvLyBodHRwczovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwjU3Ry
b2tlT3BhY2l0eVByb3BlcnR5CisgICAgdHlwZXM6IFsgJ29wYWNpdHknIF0KKyAgfSwKKyAgJ3N0
cm9rZS13aWR0aCc6IHsKKyAgICAvLyBodHRwczovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BhaW50
aW5nLmh0bWwjU3Ryb2tlV2lkdGhQcm9wZXJ0eQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAor
ICAndGFibGUtbGF5b3V0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
dGFibGVzLyNwcm9wZGVmLXRhYmxlLWxheW91dAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6
ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYXV0bycsICdmaXhlZCcgXSBdIH0KKyAgICBdCisg
IH0sCisgICd0ZXh0LWFsaWduJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtdGV4dC0zLyNwcm9wZGVmLXRleHQtYWxpZ24KKyAgICB0eXBlczogWworICAgICAgeyB0eXBl
OiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3N0YXJ0JywgJ2VuZCcgXSBdIH0KKyAgICBdCisg
IH0sCisgICd0ZXh0LWFsaWduLWxhc3QnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy10ZXh0LTMvI3Byb3BkZWYtdGV4dC1hbGlnbi1sYXN0CisgICAgdHlwZXM6IFsKKyAg
ICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdzdGFydCcsICdlbmQnIF0gXSB9
CisgICAgXQorICB9LAorICAndGV4dC1hbmNob3InOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5v
cmcvc3ZnMi1kcmFmdC90ZXh0Lmh0bWwjVGV4dEFuY2hvclByb3BlcnR5CisgICAgdHlwZXM6IFsK
KyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdtaWRkbGUnLCAnZW5kJyBd
IF0gfQorICAgIF0KKyAgfSwKKyAgJ3RleHQtY29tYmluZS11cHJpZ2h0JzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtd3JpdGluZy1tb2Rlcy0zLyNwcm9wZGVmLXRleHQt
Y29tYmluZS11cHJpZ2h0CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICdhbGwnLCAnbm9uZScgXSBdIH0KKyAgICBdCisgIH0sCisgICd0ZXh0LWRl
Y29yYXRpb24tY29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10
ZXh0LWRlY29yLTMvI3Byb3BkZWYtdGV4dC1kZWNvcmF0aW9uLWNvbG9yCisgICAgdHlwZXM6IFsg
J2NvbG9yJyBdCisgIH0sCisgICd0ZXh0LWRlY29yYXRpb24tbGluZSc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRleHQtZGVjb3ItMy8jcHJvcGRlZi10ZXh0LWRlY29y
YXRpb24tbGluZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlv
bnM6IFsgWyAndW5kZXJsaW5lJywgJ292ZXJsaW5lJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3Rl
eHQtZGVjb3JhdGlvbi1zdHlsZSc6IHsKKyAgICAvLyBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9j
c3MtdGV4dC1kZWNvci0zLyNwcm9wZGVmLXRleHQtZGVjb3JhdGlvbi1zdHlsZQorICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnc29saWQnLCAnZG90
dGVkJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3RleHQtZW1waGFzaXMtY29sb3InOiB7CisgICAg
Ly8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LWRlY29yLTMvI3Byb3BkZWYtdGV4
dC1lbXBoYXNpcy1jb2xvcgorICAgIHR5cGVzOiBbICdjb2xvcicgXQorICB9LAorICAndGV4dC1l
bXBoYXNpcy1wb3NpdGlvbic6IHsKKyAgICAvLyBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3Mt
dGV4dC1kZWNvci0zLyNwcm9wZGVmLXRleHQtZW1waGFzaXMtcG9zaXRpb24KKyAgICB0eXBlczog
WworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ292ZXIgcmlnaHQnLCAn
dW5kZXIgbGVmdCcgXSBdIH0KKyAgICBdCisgIH0sCisgICd0ZXh0LWVtcGhhc2lzLXN0eWxlJzog
eworICAgIC8vIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzcy10ZXh0LWRlY29yLTMvI3Byb3Bk
ZWYtdGV4dC1lbXBoYXNpcy1zdHlsZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNj
cmV0ZScsIG9wdGlvbnM6IFsgWyAnZmlsbGVkIGNpcmNsZScsICdvcGVuIGRvdCcgXSBdIH0KKyAg
ICBdCisgIH0sCisgICd0ZXh0LWluZGVudCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLXRleHQtMy8jcHJvcGRlZi10ZXh0LWluZGVudAorICAgIHR5cGVzOiBbCisgICAg
XQorICB9LAorICAndGV4dC1vcmllbnRhdGlvbic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXdyaXRpbmctbW9kZXMtMy8jcHJvcGRlZi10ZXh0LW9yaWVudGF0aW9uCisg
ICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICd1cHJp
Z2h0JywgJ3NpZGV3YXlzJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3RleHQtb3ZlcmZsb3cnOiB7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy11aS8jcHJvcGRlZi10ZXh0LW92
ZXJmbG93CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczog
WyBbICdjbGlwJywgJ2VsbGlwc2lzJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3RleHQtcmVuZGVy
aW5nJzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcuaHRt
bCNUZXh0UmVuZGVyaW5nUHJvcGVydHkKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlz
Y3JldGUnLCBvcHRpb25zOiBbIFsgJ29wdGltaXplU3BlZWQnLCAnb3B0aW1pemVMZWdpYmlsaXR5
JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3RleHQtc2hhZG93JzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4dC1kZWNvci0zLyNwcm9wZGVmLXRleHQtc2hhZG93Cisg
ICAgdHlwZXM6IFsgJ3RleHRTaGFkb3dMaXN0JyBdLAorICAgIHNldHVwOiB0ID0+IHsKKyAgICAg
IHZhciBlbGVtZW50ID0gY3JlYXRlRWxlbWVudCh0KTsKKyAgICAgIGVsZW1lbnQuc3R5bGUuY29s
b3IgPSAnZ3JlZW4nOworICAgICAgcmV0dXJuIGVsZW1lbnQ7CisgICAgfQorICB9LAorICAndGV4
dC10cmFuc2Zvcm0nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0
LTMvI3Byb3BkZWYtdGV4dC10cmFuc2Zvcm0KKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAn
ZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2NhcGl0YWxpemUnLCAndXBwZXJjYXNlJyBdIF0gfQor
ICAgIF0KKyAgfSwKKyAgJ3RvdWNoLWFjdGlvbic6IHsKKyAgICAvLyBodHRwczovL3czYy5naXRo
dWIuaW8vcG9pbnRlcmV2ZW50cy8jdGhlLXRvdWNoLWFjdGlvbi1jc3MtcHJvcGVydHkKKyAgICB0
eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAn
bm9uZScgXSBdIH0KKyAgICBdCisgIH0sCisgICd0b3AnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1wb3NpdGlvbi8jcHJvcGRlZi10b3AKKyAgICB0eXBlczogWworICAg
IF0KKyAgfSwKKyAgJ3RyYW5zZm9ybSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLXRyYW5zZm9ybXMvI3Byb3BkZWYtdHJhbnNmb3JtCisgICAgdHlwZXM6IFsgJ3RyYW5z
Zm9ybUxpc3QnIF0KKyAgfSwKKyAgJ3RyYW5zZm9ybS1ib3gnOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy10cmFuc2Zvcm1zLyNwcm9wZGVmLXRyYW5zZm9ybS1ib3gKKyAg
ICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2ZpbGwt
Ym94JywgJ2JvcmRlci1ib3gnIF0gXSB9CisgICAgXQorICB9LAorICAndHJhbnNmb3JtLW9yaWdp
bic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5zZm9ybXMvI3By
b3BkZWYtdHJhbnNmb3JtLW9yaWdpbgorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAndHJh
bnNmb3JtLXN0eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdHJh
bnNmb3Jtcy8jcHJvcGRlZi10cmFuc2Zvcm0tc3R5bGUKKyAgICB0eXBlczogWworICAgICAgeyB0
eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2ZsYXQnLCAncHJlc2VydmUtM2QnIF0gXSB9
CisgICAgXQorICB9LAorICAndW5pY29kZS1iaWRpJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3Mtd3JpdGluZy1tb2Rlcy0zLyNwcm9wZGVmLXVuaWNvZGUtYmlkaQorICAg
IHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnZW1iZWQn
LCAnYmlkaS1vdmVycmlkZScgXSBdIH0sCisgICAgXQorICB9LAorICAndmVjdG9yLWVmZmVjdCc6
IHsKKyAgICAvLyBodHRwczovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L2Nvb3Jkcy5odG1sI1ZlY3Rv
ckVmZmVjdFByb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICdub25lJywgJ25vbi1zY2FsaW5nLXN0cm9rZScgXSBdIH0sCisgICAgXQor
ICB9LAorICAndmVydGljYWwtYWxpZ24nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2NzczIxL3Zpc3VkZXQuaHRtbCNwcm9wZGVmLXZlcnRpY2FsLWFsaWduCisgICAgdHlwZXM6
IFsKKyAgICBdCisgIH0sCisgICd2aXNpYmlsaXR5JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MyL3Zpc3VmeC5odG1sI3Byb3BkZWYtdmlzaWJpbGl0eQorICAgIHR5cGVz
OiBbICd2aXNpYmlsaXR5JyBdCisgIH0sCisgICd3aGl0ZS1zcGFjZSc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRleHQtNC8jcHJvcGRlZi13aGl0ZS1zcGFjZQorICAg
IHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAncHJlJywg
J25vd3JhcCcgXSBdIH0KKyAgICBdCisgIH0sCisgICd3aWR0aCc6IHsKKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzMjEvdmlzdWRldC5odG1sI3Byb3BkZWYtd2lkdGgKKyAgICB0
eXBlczogWworICAgIF0KKyAgfSwKKyAgJ3dvcmQtYnJlYWsnOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI3Byb3BkZWYtd29yZC1icmVhaworICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAna2VlcC1hbGwnLCAn
YnJlYWstYWxsJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3dvcmQtc3BhY2luZyc6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRleHQtMy8jcHJvcGRlZi13b3JkLXNwYWNp
bmcKKyAgICB0eXBlczogWyAnbGVuZ3RoUGVyY2VudGFnZU9yQ2FsYycgXQorICB9LAorICAnd2ls
bC1jaGFuZ2UnOiB7CisgICAgLy8gaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLXdpbGwtY2hh
bmdlLyNwcm9wZGVmLXdpbGwtY2hhbmdlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rp
c2NyZXRlJywgb3B0aW9uczogWyBbICdzY3JvbGwtcG9zaXRpb24nLCAnY29udGVudHMnIF0gXSB9
CisgICAgXQorICB9LAorICAnd3JpdGluZy1tb2RlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3Mtd3JpdGluZy1tb2Rlcy0zLyNwcm9wZGVmLXdyaXRpbmctbW9kZQorICAg
IHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAndmVydGlj
YWwtcmwnLCAnc2lkZXdheXMtcmwnIF0gXSB9CisgICAgXQorICB9LAorICAnei1pbmRleCc6IHsK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXBvc2l0aW9uLyNwcm9wZGVmLXot
aW5kZXgKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKK307CisKK2Z1bmN0aW9uIHRlc3RBbmlt
YXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwgdGVzdFNhbXBsZXMpIHsKKyAgY29uc3Qg
dHlwZSA9IGFuaW1hdGlvbi5lZmZlY3QudGFyZ2V0LnR5cGU7CisgIGNvbnN0IHRhcmdldCA9IGFu
aW1hdGlvbi5lZmZlY3QudGFyZ2V0LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdDU1NQc2V1ZG9FbGVt
ZW50JworICAgICAgICAgICAgICAgICA/IGFuaW1hdGlvbi5lZmZlY3QudGFyZ2V0LnBhcmVudEVs
ZW1lbnQKKyAgICAgICAgICAgICAgICAgOiBhbmltYXRpb24uZWZmZWN0LnRhcmdldDsKKyAgdGVz
dFNhbXBsZXMuZm9yRWFjaCh0ZXN0U2FtcGxlID0+IHsKKyAgICBhbmltYXRpb24uY3VycmVudFRp
bWUgPSB0ZXN0U2FtcGxlLnRpbWU7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KHRhcmdldCwgdHlwZSlbaWRsTmFtZV0sCisgICAgICAgICAgICAgICAgICB0ZXN0U2FtcGxlLmV4
cGVjdGVkLAorICAgICAgICAgICAgICAgICAgYFRoZSB2YWx1ZSBzaG91bGQgYmUgJHt0ZXN0U2Ft
cGxlLmV4cGVjdGVkfWAgKworICAgICAgICAgICAgICAgICAgYCBhdCAke3Rlc3RTYW1wbGUudGlt
ZX1tc2ApOworICB9KTsKK30KKworZnVuY3Rpb24gdG9PcmRlcmVkQXJyYXkoc3RyaW5nKSB7Cisg
IHJldHVybiBzdHJpbmcuc3BsaXQoL1xzKixccy8pLnNvcnQoKTsKK30KKworLy8gVGhpcyB0ZXN0
IGlzIGZvciBzb21lIGxpc3QtYmFzZWQgQ1NTIHByb3BlcnRpZXMgc3VjaCBhcyBmb250LXZhcmlh
bnQtc2V0dGluZ3MKKy8vIGRvbid0IHNwZWNpZnkgYW4gb3JkZXIgZm9yIHNlcmlhbGl6aW5nIGNv
bXB1dGVkIHZhbHVlcy4KKy8vIFRoaXMgdGVzdCBpcyBmb3Igc3VjaCB0aGUgcHJvcGVydHkuCitm
dW5jdGlvbiB0ZXN0QW5pbWF0aW9uU2FtcGxlc1dpdGhBbnlPcmRlcihhbmltYXRpb24sIGlkbE5h
bWUsIHRlc3RTYW1wbGVzKSB7CisgIGNvbnN0IHR5cGUgPSBhbmltYXRpb24uZWZmZWN0LnRhcmdl
dC50eXBlOworICBjb25zdCB0YXJnZXQgPSBhbmltYXRpb24uZWZmZWN0LnRhcmdldC5jb25zdHJ1
Y3Rvci5uYW1lID09PSAnQ1NTUHNldWRvRWxlbWVudCcKKyAgICAgICAgICAgICAgICAgPyBhbmlt
YXRpb24uZWZmZWN0LnRhcmdldC5wYXJlbnRFbGVtZW50CisgICAgICAgICAgICAgICAgIDogYW5p
bWF0aW9uLmVmZmVjdC50YXJnZXQ7CisgIHRlc3RTYW1wbGVzLmZvckVhY2godGVzdFNhbXBsZSA9
PiB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gdGVzdFNhbXBsZS50aW1lOworCisgICAg
Ly8gQ29udmVydCB0byBhcnJheSBhbmQgc29ydCB0aGUgZXhwZWN0ZWQgYW5kIGFjdHVhbCB2YWx1
ZSBsaXN0cyBmaXJzdAorICAgIC8vIGJlZm9yZSBjb21wYXJpbmcgdGhlbS4KKyAgICBjb25zdCBj
b21wdXRlZFZhbHVlcyA9CisgICAgICB0b09yZGVyZWRBcnJheShnZXRDb21wdXRlZFN0eWxlKHRh
cmdldCwgdHlwZSlbaWRsTmFtZV0pOworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gdG9PcmRl
cmVkQXJyYXkodGVzdFNhbXBsZS5leHBlY3RlZCk7CisKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGNvbXB1dGVkVmFsdWVzLCBleHBlY3RlZFZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAgICAg
IGBUaGUgY29tcHV0ZWQgdmFsdWVzIHNob3VsZCBiZSAke2V4cGVjdGVkVmFsdWVzfWAgKworICAg
ICAgICAgICAgICAgICAgICAgICAgYCBhdCAke3Rlc3RTYW1wbGUudGltZX1tc2ApOworICB9KTsK
K30KKworZnVuY3Rpb24gdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRs
TmFtZSwgdGVzdFNhbXBsZXMpIHsKKyAgdmFyIHRhcmdldCA9IGFuaW1hdGlvbi5lZmZlY3QudGFy
Z2V0OworICB0ZXN0U2FtcGxlcy5mb3JFYWNoKGZ1bmN0aW9uKHRlc3RTYW1wbGUpIHsKKyAgICBh
bmltYXRpb24uY3VycmVudFRpbWUgPSB0ZXN0U2FtcGxlLnRpbWU7CisgICAgdmFyIGFjdHVhbCA9
IGdldENvbXB1dGVkU3R5bGUodGFyZ2V0KVtpZGxOYW1lXTsKKyAgICB2YXIgZXhwZWN0ZWQgPSBj
cmVhdGVNYXRyaXhGcm9tQXJyYXkodGVzdFNhbXBsZS5leHBlY3RlZCk7CisgICAgYXNzZXJ0X21h
dHJpeF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAn
VGhlIHZhbHVlIHNob3VsZCBiZSAnICsgZXhwZWN0ZWQgKworICAgICAgICAgICAgICAgICAgICAg
ICAgICcgYXQgJyArIHRlc3RTYW1wbGUudGltZSArICdtcyBidXQgZ290ICcgKyBhY3R1YWwpOwor
ICB9KTsKK30KKworZnVuY3Rpb24gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApIHsKKyAgcmV0
dXJuIHNldHVwID8gc2V0dXAodCkgOiBjcmVhdGVFbGVtZW50KHQpOworfQorCitmdW5jdGlvbiBp
c1N1cHBvcnRlZChwcm9wZXJ0eSkgeworICB2YXIgdGVzdEtleWZyYW1lID0gbmV3IFRlc3RLZXlm
cmFtZShwcm9wZXJ0eVRvSURMKHByb3BlcnR5KSk7CisgIHRyeSB7CisgICAgLy8gU2luY2UgVGVz
dEtleWZyYW1lIHJldHVybnMgJ3VuZGVmaW5lZCcgZm9yIHxwcm9wZXJ0eXwsCisgICAgLy8gdGhl
IEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHdpbGwgdGhyb3cKKyAgICAvLyBpZiB0aGUgc3Ry
aW5nICd1bmRlZmluZWQnIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB0aGUgcHJvcGVydHkuCisg
ICAgbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIHRlc3RLZXlmcmFtZSk7CisgIH0gY2F0Y2goZSkg
e30KKyAgcmV0dXJuIHRlc3RLZXlmcmFtZS5wcm9wQWNjZXNzQ291bnQgIT09IDA7Cit9CisKK2Z1
bmN0aW9uIFRlc3RLZXlmcmFtZSh0ZXN0UHJvcCkgeworICB2YXIgX3Byb3BBY2Nlc3NDb3VudCA9
IDA7CisKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHRlc3RQcm9wLCB7CisgICAgZ2V0
OiBmdW5jdGlvbigpIHsgX3Byb3BBY2Nlc3NDb3VudCsrOyB9LAorICAgIGVudW1lcmFibGU6IHRy
dWUKKyAgfSk7CisKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdwcm9wQWNjZXNzQ291
bnQnLCB7CisgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIF9wcm9wQWNjZXNzQ291bnQ7IH0K
KyAgfSk7Cit9CisKK2Z1bmN0aW9uIHByb3BlcnR5VG9JREwocHJvcGVydHkpIHsKKyAgLy8gaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNhbmltYXRpb24tcHJvcGVydHktbmFt
ZS10by1pZGwtYXR0cmlidXRlLW5hbWUKKyAgaWYgKHByb3BlcnR5ID09PSAnZmxvYXQnKSB7Cisg
ICAgcmV0dXJuICdjc3NGbG9hdCc7CisgIH0KKyAgcmV0dXJuIHByb3BlcnR5LnJlcGxhY2UoLy1b
YS16XS9naSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKHN0cikgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHIuc3Vic3RyKDEpLnRvVXBwZXJDYXNl
KCk7IH0pOworfQorZnVuY3Rpb24gY2FsY0Zyb21QZXJjZW50YWdlKGlkbE5hbWUsIHBlcmNlbnRh
Z2VWYWx1ZSkgeworICB2YXIgZXhhbUVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChleGFtRWxlbSk7CisgIGV4YW1FbGVtLnN0
eWxlW2lkbE5hbWVdID0gcGVyY2VudGFnZVZhbHVlOworCisgIHZhciBjYWxjVmFsdWUgPSBnZXRD
b21wdXRlZFN0eWxlKGV4YW1FbGVtKVtpZGxOYW1lXTsKKyAgZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZChleGFtRWxlbSk7CisKKyAgcmV0dXJuIGNhbGNWYWx1ZTsKK30KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRp
b24tdHlwZXMvcHJvcGVydHktdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL3Byb3BlcnR5LXR5cGVzLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc2NDFiYmViOTIwMzk1NWZlYmU4ZTY4Y2Q2Y2I1MmNhZjJmMTYyOGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmlt
YXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL3Byb3BlcnR5LXR5cGVzLmpzCkBAIC0wLDAgKzEs
MjE2MyBAQAorY29uc3QgZGlzY3JldGVUeXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVu
Y3Rpb24ocHJvcGVydHksIHNldHVwLCBvcHRpb25zKSB7CisgICAgb3B0aW9ucy5mb3JFYWNoKGZ1
bmN0aW9uKGtleWZyYW1lcykgeworICAgICAgdmFyIFsgZnJvbSwgdG8gXSA9IGtleWZyYW1lczsK
KyAgICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5
VG9JREwocHJvcGVydHkpOworICAgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQo
dCwgc2V0dXApOworICAgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRs
TmFtZV06IFtmcm9tLCB0b10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogZnJvbS50b0xvd2VyQ2FzZSgpIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDQ5OSwgIGV4cGVjdGVkOiBmcm9tLnRv
TG93ZXJDYXNlKCkgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgdGltZTogNTAw
LCAgZXhwZWN0ZWQ6IHRvLnRvTG93ZXJDYXNlKCkgfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6IHRvLnRvTG93ZXJDYXNlKCkgfV0pOworICAg
ICAgfSwgcHJvcGVydHkgKyAnIHVzZXMgZGlzY3JldGUgYW5pbWF0aW9uIHdoZW4gYW5pbWF0aW5n
IGJldHdlZW4gIicKKyAgICAgICAgICsgZnJvbSArICciIGFuZCAiJyArIHRvICsgJyIgd2l0aCBs
aW5lYXIgZWFzaW5nJyk7CisKKyAgICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgICAvLyBF
YXNpbmc6IGh0dHA6Ly9jdWJpYy1iZXppZXIuY29tLyMuNjgsMCwxLC4wMQorICAgICAgICAvLyBX
aXRoIHRoaXMgY3VydmUsIHdlIGRvbid0IHJlYWNoIHRoZSA1MCUgcG9pbnQgdW50aWwgYWJvdXQg
OTUlIG9mCisgICAgICAgIC8vIHRoZSB0aW1lIGhhcyBleHBpcmVkLgorICAgICAgICB2YXIgaWRs
TmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgICB2YXIga2V5ZnJhbWVzID0g
e307CisgICAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7Cisg
ICAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogW2Zyb20s
IHRvXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlv
bjogMTAwMCwgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMC42OCwwLDEsMC4wMSknIH0pOworICAgICAg
ICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBmcm9tLnRvTG93ZXJDYXNl
KCkgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgdGltZTogOTQwLCAgZXhwZWN0
ZWQ6IGZyb20udG9Mb3dlckNhc2UoKSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eyB0aW1lOiA5NjAsICBleHBlY3RlZDogdG8udG9Mb3dlckNhc2UoKSB9XSk7CisgICAgICB9LCBw
cm9wZXJ0eSArICcgdXNlcyBkaXNjcmV0ZSBhbmltYXRpb24gd2hlbiBhbmltYXRpbmcgYmV0d2Vl
biAiJworICAgICAgICAgKyBmcm9tICsgJyIgYW5kICInICsgdG8gKyAnIiB3aXRoIGVmZmVjdCBl
YXNpbmcnKTsKKworICAgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgIC8vIEVhc2luZzog
aHR0cDovL2N1YmljLWJlemllci5jb20vIy42OCwwLDEsLjAxCisgICAgICAgIC8vIFdpdGggdGhp
cyBjdXJ2ZSwgd2UgZG9uJ3QgcmVhY2ggdGhlIDUwJSBwb2ludCB1bnRpbCBhYm91dCA5NSUgb2YK
KyAgICAgICAgLy8gdGhlIHRpbWUgaGFzIGV4cGlyZWQuCisgICAgICAgIHZhciBpZGxOYW1lID0g
cHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0
RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogW2Zyb20sIHRvXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAuNjgsMCwxLDAuMDEpJyB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmls
bDogJ2JvdGgnIH0pOworICAgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlk
bE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVj
dGVkOiBmcm9tLnRvTG93ZXJDYXNlKCkgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsgdGltZTogOTQwLCAgZXhwZWN0ZWQ6IGZyb20udG9Mb3dlckNhc2UoKSB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiA5NjAsICBleHBlY3RlZDogdG8udG9Mb3dlckNh
c2UoKSB9XSk7CisgICAgICB9LCBwcm9wZXJ0eSArICcgdXNlcyBkaXNjcmV0ZSBhbmltYXRpb24g
d2hlbiBhbmltYXRpbmcgYmV0d2VlbiAiJworICAgICAgICAgKyBmcm9tICsgJyIgYW5kICInICsg
dG8gKyAnIiB3aXRoIGtleWZyYW1lIGVhc2luZycpOworICAgIH0pOworICB9LAorCisgIHRlc3RB
ZGRpdGlvbk9yQWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAsIG9wdGlvbnMs
IGNvbXBvc2l0ZSkgeworICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbihrZXlmcmFtZXMpIHsK
KyAgICAgIHZhciBbIGZyb20sIHRvIF0gPSBrZXlmcmFtZXM7CisgICAgICB0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAg
ICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgICAg
dGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFtmcm9tLCBmcm9tXSB9LCAxMDAwKTsKKyAgICAg
ICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbdG8sIHRvXSB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAw
MCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVz
KGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGlt
ZTogMCwgZXhwZWN0ZWQ6IHRvLnRvTG93ZXJDYXNlKCkgfV0pOworICAgICAgfSwgcHJvcGVydHkg
KyAnOiAiJyArIHRvICsgJyIgb250byAiJyArIGZyb20gKyAnIicpOworCisgICAgICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5
KTsKKyAgICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAg
ICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFt0bywgdG9dIH0sIDEwMDApOworICAg
ICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFtmcm9tLCBm
cm9tXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlv
bjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICAgIHRlc3RBbmltYXRpb25T
YW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
W3sgdGltZTogMCwgZXhwZWN0ZWQ6IGZyb20udG9Mb3dlckNhc2UoKSB9XSk7CisgICAgICB9LCBw
cm9wZXJ0eSArICc6ICInICsgZnJvbSArICciIG9udG8gIicgKyB0byArICciJyk7CisgICAgfSk7
CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAsIG9wdGlv
bnMpIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1
cCwgb3B0aW9ucywgJ2FkZCcpOworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1bmN0aW9u
KHByb3BlcnR5LCBzZXR1cCwgb3B0aW9ucykgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1
bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCBvcHRpb25zLCAnYWNjdW11bGF0ZScpOworICB9LAor
fTsKKworY29uc3QgbGVuZ3RoVHlwZSA9IHsKKyAgdGVzdEludGVycG9sYXRpb246IGZ1bmN0aW9u
KHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlk
bE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVh
dGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFu
aW1hdGUoeyBbaWRsTmFtZV06IFsnMTBweCcsICc1MHB4J10gfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7Cisg
ICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJzMwcHgnIH1dKTsKKyAg
ICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGEgbGVuZ3RoJyk7CisKKyAg
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChw
cm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXAp
OworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzFy
ZW0nLCAnNXJlbSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBk
dXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBs
ZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGlt
ZTogNTAwLCAgZXhwZWN0ZWQ6ICczMHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBv
cnRzIGFuaW1hdGluZyBhcyBhIGxlbmd0aCBvZiByZW0nKTsKKyAgfSwKKworICB0ZXN0QWRkaXRp
b25PckFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUpIHsK
KyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lE
TChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0
dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJzEwcHgnOworICAgICAgdmFyIGFu
aW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzEwcHgnLCAnNTBweCddIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwg
Y29tcG9zaXRlOiBjb21wb3NpdGV9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1h
dGlvbiwgaWRsTmFtZSwgW3sgdGltZTogMCwgZXhwZWN0ZWQ6ICcyMHB4JyB9XSk7CisgICAgfSwg
cHJvcGVydHkgKyAnOiBsZW5ndGgnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAg
dmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQg
PSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFt
ZV0gPSAnMXJlbSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRs
TmFtZV06IFsnMXJlbScsICc1cmVtJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAg
IHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwgW3sgdGltZTogMCwgZXhw
ZWN0ZWQ6ICcyMHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBsZW5ndGggb2YgcmVtJyk7
CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAg
ICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FkZCcp
OworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkg
eworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAn
YWNjdW11bGF0ZScpOworICB9LAorfTsKKworY29uc3QgbGVuZ3RoUGFpclR5cGUgPSB7CisgIHRl
c3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7
CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAg
dmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzEwcHggMTBweCcs
ICc1MHB4IDUwcHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsg
ZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1w
bGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRp
bWU6IDUwMCwgIGV4cGVjdGVkOiAnMzBweCAzMHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAn
IHN1cHBvcnRzIGFuaW1hdGluZyBhcyBhIGxlbmd0aCBwYWlyJyk7CisKKyAgICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7Cisg
ICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFy
IGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzFyZW0gMXJlbScsICc1
cmVtIDVyZW0nXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVy
YXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVz
KGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6
IDUwMCwgIGV4cGVjdGVkOiAnMzBweCAzMHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1
cHBvcnRzIGFuaW1hdGluZyBhcyBhIGxlbmd0aCBwYWlyIG9mIHJlbScpOworICB9LAorCisgIHRl
c3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAsIGNvbXBv
c2l0ZSkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnMTBweCAxMHB4JzsK
KyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWycxMHB4
IDEwcHgnLCAnNTBweCA1MHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRl
c3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwgW3sgdGltZTogMCwgZXhwZWN0
ZWQ6ICcyMHB4IDIwcHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGxlbmd0aCBwYWlyJyk7
CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJzFyZW0gMXJlbSc7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnMXJlbSAxcmVt
JywgJzVyZW0gNXJlbSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAn
MjBweCAyMHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBsZW5ndGggcGFpciBvZiByZW0n
KTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgewor
ICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAnYWRk
Jyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVw
KSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAs
ICdhY2N1bXVsYXRlJyk7CisgIH0sCit9OworCitjb25zdCBwZXJjZW50YWdlVHlwZSA9IHsKKyAg
dGVzdEludGVycG9sYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5
KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnMTAlJywgJzUw
JSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjog
MTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0
aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogNTAwLCAg
ZXhwZWN0ZWQ6ICczMCUnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0
aW5nIGFzIGEgcGVyY2VudGFnZScpOworICB9LAorCisgIHRlc3RBZGRpdGlvbk9yQWNjdW11bGF0
aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAsIGNvbXBvc2l0ZSkgeworICAgIHRlc3QoZnVu
Y3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsK
KyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0
YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnNjAlJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJn
ZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyc3MCUnLCAnMTAwJSddIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21w
b3NpdGUgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUs
IFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAnMTMwJScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzog
cGVyY2VudGFnZScpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJvcGVydHks
IHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwg
c2V0dXAsICdhZGQnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9w
ZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3Bl
cnR5LCBzZXR1cCwgJ2FjY3VtdWxhdGUnKTsKKyAgfSwKK307CisKK2NvbnN0IGludGVnZXJUeXBl
ID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7Cisg
ICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwo
cHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVw
KTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWy0y
LCAyXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1h
dGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwg
IGV4cGVjdGVkOiAnMCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRp
bmcgYXMgYW4gaW50ZWdlcicpOworICB9LAorCisgIHRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9u
OiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAsIGNvbXBvc2l0ZSkgeworICAgIHRlc3QoZnVuY3Rp
b24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAg
ICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJn
ZXQuc3R5bGVbaWRsTmFtZV0gPSAtMTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWy0yLCAyXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAg
ICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6ICctMycgfV0pOworICAgIH0s
IHByb3BlcnR5ICsgJzogaW50ZWdlcicpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rp
b24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlv
bihwcm9wZXJ0eSwgc2V0dXAsICdhZGQnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBm
dW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11
bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FjY3VtdWxhdGUnKTsKKyAgfSwKK307CisKK2NvbnN0
IHBvc2l0aXZlSW50ZWdlclR5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihw
cm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxO
YW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRl
VGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmlt
YXRlKHsgW2lkbE5hbWVdOiBbMSwgM10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbIHsgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICcyJyB9IF0pOworICAgIH0sIHByb3BlcnR5
ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgYSBwb3NpdGl2ZSBpbnRlZ2VyJyk7CisgIH0sCisK
KyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCwg
Y29tcG9zaXRlKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9
IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RF
bGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9IDE7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsyLCA1XSB9LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNv
bXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0
aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwgICAg
ZXhwZWN0ZWQ6ICczJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBwb3NpdGl2ZSBpbnRlZ2Vy
Jyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsK
KyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2Fk
ZCcpOworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1
cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVw
LCAnYWNjdW11bGF0ZScpOworICB9LAorfTsKKworY29uc3QgbGVuZ3RoUGVyY2VudGFnZU9yQ2Fs
Y1R5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAp
IHsKKyAgICBsZW5ndGhUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKHByb3BlcnR5LCBzZXR1cCk7Cisg
ICAgcGVyY2VudGFnZVR5cGUudGVzdEludGVycG9sYXRpb24ocHJvcGVydHksIHNldHVwKTsKKwor
ICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURM
KHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1
cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsn
MTBweCcsICcyMCUnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsg
ZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1w
bGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRp
bWU6IDUwMCwgIGV4cGVjdGVkOiAnY2FsYyg1cHggKyAxMCUpJyB9XSk7CisgICAgfSwgcHJvcGVy
dHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBjb21iaW5hdGlvbiB1bml0cyAicHgiIGFuZCAi
JSInKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRs
TmFtZV06IFsnMTAlJywgJzJlbSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdjYWxjKDEwcHggKyA1JSknIH1dKTsKKyAgICB9
LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGNvbWJpbmF0aW9uIHVuaXRzICIl
IiBhbmQgImVtIicpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFt
ZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRl
c3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWycxZW0nLCAnMnJlbSddIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICcxNXB4JyB9XSk7CisgICAgfSwg
cHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBjb21iaW5hdGlvbiB1bml0cyAiZW0i
IGFuZCAicmVtIicpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFt
ZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRl
c3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWycxMHB4JywgJ2NhbGMoMWVtICsgMjAlKSddIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgn
IH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdjYWxjKDEw
cHggKyAxMCUpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBh
cyBjb21iaW5hdGlvbiB1bml0cyAicHgiIGFuZCAiY2FsYyInKTsKKworICAgIHRlc3QoZnVuY3Rp
b24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAg
ICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIg
YW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoCisgICAgICAgIHsgW2lkbE5hbWVdOiBbJ2NhbGMo
MTBweCArIDEwJSknLCAnY2FsYygxZW0gKyAxcmVtICsgMjAlKSddIH0sCisgICAgICAgIHsgZHVy
YXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVz
KGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6
IDUwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiAnY2FsYygxNXB4
ICsgMTUlKScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMg
YSBjYWxjJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0aW9u
KHByb3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7CisgICAgbGVuZ3RoVHlwZS50ZXN0QWRkaXRp
b24ocHJvcGVydHksIHNldHVwKTsKKyAgICBwZXJjZW50YWdlVHlwZS50ZXN0QWRkaXRpb24ocHJv
cGVydHksIHNldHVwKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5h
bWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVU
ZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnMTBw
eCc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsn
MTAlJywgJzUwJSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBk
dXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5pbWF0
aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbeyB0aW1lOiAwLCBleHBlY3RlZDogJ2NhbGMoMTBweCArIDEwJSknIH1dKTsKKyAgICB9LCBw
cm9wZXJ0eSArICc6IHVuaXRzICIlIiBvbnRvICJweCInKTsKKworICAgIHRlc3QoZnVuY3Rpb24o
dCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAg
IHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQu
c3R5bGVbaWRsTmFtZV0gPSAnMTAlJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWycxMHB4JywgJzUwcHgnXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRl
IH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0ZWQ6ICdjYWxjKDEwcHgg
KyAxMCUpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiB1bml0cyAicHgiIG9udG8gIiUiJyk7
CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJzEwJSc7CisgICAgICB2YXIg
YW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnMnJlbScsICc1cmVtJ10g
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAw
LCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFu
aW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAs
IGV4cGVjdGVkOiAnY2FsYygyMHB4ICsgMTAlKScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzog
dW5pdHMgInJlbSIgb250byAiJSInKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAg
dmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQg
PSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFt
ZV0gPSAnMnJlbSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRs
TmFtZV06IFsnMTAlJywgJzUwJSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0
ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbeyB0aW1lOiAwLCBleHBlY3RlZDogJ2NhbGMoMjBweCArIDEwJSknIH1dKTsK
KyAgICB9LCBwcm9wZXJ0eSArICc6IHVuaXRzICIlIiBvbnRvICJyZW0iJyk7CisKKyAgICB0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0
eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAg
ICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJzJlbSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0g
dGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnMnJlbScsICc1cmVtJ10gfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6
IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRs
TmFtZSwgW3sgdGltZTogMCwgZXhwZWN0ZWQ6ICc0MHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkg
KyAnOiB1bml0cyAicmVtIiBvbnRvICJlbSInKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgewor
ICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0
YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVb
aWRsTmFtZV0gPSAnMnJlbSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsnMmVtJywgJzVlbSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7Cisg
ICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsIFt7IHRpbWU6IDAs
IGV4cGVjdGVkOiAnNDBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogdW5pdHMgImVtIiBv
bnRvICJyZW0iJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1l
ID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVz
dEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJzEwcHgn
OworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ2Nh
bGMoMmVtICsgMjAlKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnY2FsYyg1cmVtICsgNTAlKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7
CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCBleHBlY3RlZDogJ2NhbGMoMzBweCArIDIw
JSknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHVuaXRzICJjYWxjIiBvbnRvICJweCInKTsK
KworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRv
SURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBz
ZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnY2FsYygxMHB4ICsgMTAlKSc7
CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnY2Fs
YygyMHB4ICsgMjAlKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnY2FsYygyZW0gKyAzcmVtICsgNDAlKSddIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3Np
dGUgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCBleHBlY3RlZDogJ2NhbGMoMzBw
eCArIDMwJSknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGNhbGMnKTsKKyAgfSwKKworICB0
ZXN0QWRkaXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFk
ZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAnYWRkJyk7CisgIH0sCisKKyAg
dGVzdEFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50
ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhY2N1bXVsYXRlJyk7
CisgIH0sCit9OworCitjb25zdCBwb3NpdGl2ZU51bWJlclR5cGUgPSB7CisgIHRlc3RJbnRlcnBv
bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2
YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1h
dGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbMS4xLCAxLjVdIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2Jv
dGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICcxLjMn
IH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGEgcG9zaXRp
dmUgbnVtYmVyJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0
aW9uKHByb3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7
CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFy
IHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHls
ZVtpZGxOYW1lXSA9IDEuMTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7
IFtpZGxOYW1lXTogWzEuMSwgMS41XSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLCBbeyB0aW1lOiAwLCBleHBl
Y3RlZDogJzIuMicgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogcG9zaXRpdmUgbnVtYmVyJyk7
CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAg
ICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FkZCcp
OworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkg
eworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAn
YWNjdW11bGF0ZScpOworICB9LAorfTsKKworLy8gVGVzdCB1c2luZyBmbG9hdCB2YWx1ZXMgaW4g
dGhlIHJhbmdlIFswLCAxXQorY29uc3Qgb3BhY2l0eVR5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0
aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIg
dGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlv
biA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbMC4zLCAwLjhdIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgn
IH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICcwLjU1JyB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBhIFswLCAxXSBu
dW1iZXInKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbjogZnVuY3Rpb24o
cHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
ICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFy
Z2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lk
bE5hbWVdID0gMC4zOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lk
bE5hbWVdOiBbMC4zLCAwLjhdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0
QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsIFt7IHRpbWU6IDAsIGV4cGVjdGVk
OiAnMC42JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBbMCwgMV0gbnVtYmVyJyk7CisKKyAg
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChw
cm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXAp
OworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gMC44OworICAgICAgdmFyIGFuaW1hdGlv
biA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbMC4zLCAwLjhdIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBj
b21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5h
bWUsIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAnMScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzog
WzAsIDFdIG51bWJlciAoY2xhbXBlZCknKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0
aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRp
b24ocHJvcGVydHksIHNldHVwLCAnYWRkJyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjog
ZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3Vt
dWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhY2N1bXVsYXRlJyk7CisgIH0sCit9OworCitjb25z
dCB2aXNpYmlsaXR5VHlwZSA9IHsKKyAgdGVzdEludGVycG9sYXRpb246IGZ1bmN0aW9uKHByb3Bl
cnR5LCBzZXR1cCkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUg
PSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0
RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsndmlzaWJsZScsICdoaWRkZW4nXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAg
ICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiAndmlzaWJsZScgfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDk5OSwgIGV4cGVjdGVkOiAndmlzaWJs
ZScgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVk
OiAnaGlkZGVuJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHVzZXMgdmlzaWJpbGl0eSBhbmlt
YXRpb24gd2hlbiBhbmltYXRpbmcgJworICAgICAgICsgJ2Zyb20gInZpc2libGUiIHRvICJoaWRk
ZW4iJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJv
cGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1l
bnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lk
bE5hbWVdOiBbJ2hpZGRlbicsICd2aXNpYmxlJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0
ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogJ2hpZGRlbicgfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDEsICAgIGV4cGVjdGVkOiAndmlzaWJsZScgfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiAndmlz
aWJsZScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyB1c2VzIHZpc2liaWxpdHkgYW5pbWF0aW9u
IHdoZW4gYW5pbWF0aW5nICcKKyAgICAgKyAnZnJvbSAiaGlkZGVuIiB0byAidmlzaWJsZSInKTsK
KworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRv
SURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBz
ZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06
IFsnaGlkZGVuJywgJ2NvbGxhcHNlJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogJ2hpZGRlbicgfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7IHRpbWU6IDQ5OSwgIGV4cGVjdGVkOiAnaGlkZGVuJyB9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdjb2xsYXBzZScg
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiAn
Y29sbGFwc2UnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgdXNlcyB2aXNpYmlsaXR5IGFuaW1h
dGlvbiB3aGVuIGFuaW1hdGluZyAnCisgICAgICsgJ2Zyb20gImhpZGRlbiIgdG8gImNvbGxhcHNl
IicpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAvLyBFYXNpbmc6IGh0dHA6Ly9j
dWJpYy1iZXppZXIuY29tLyMuNjgsLS41NSwuMjYsMS41NQorICAgICAgLy8gV2l0aCB0aGlzIGN1
cnZlLCB0aGUgdmFsdWUgaXMgbGVzcyB0aGFuIDAgdGlsbCBhYm91dCAzNCUKKyAgICAgIC8vIGFs
c28gbW9yZSB0aGFuIDEgc2luY2UgYWJvdXQgNjMlCisgICAgICB2YXIgaWRsTmFtZSA9IHByb3Bl
cnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50
KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWyd2aXNpYmxlJywgJ2hpZGRlbiddIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjYsIDEuNTUpJyB9
KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiAndmlzaWJsZScg
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDEsICAgIGV4cGVjdGVkOiAn
dmlzaWJsZScgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDMzMCwgIGV4
cGVjdGVkOiAndmlzaWJsZScgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6
IDM0MCwgIGV4cGVjdGVkOiAndmlzaWJsZScgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7IHRpbWU6IDYyMCwgIGV4cGVjdGVkOiAndmlzaWJsZScgfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7IHRpbWU6IDYzMCwgIGV4cGVjdGVkOiAnaGlkZGVuJyB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6ICdoaWRkZW4nIH1dKTsK
KyAgICB9LCBwcm9wZXJ0eSArICcgdXNlcyB2aXNpYmlsaXR5IGFuaW1hdGlvbiB3aGVuIGFuaW1h
dGluZyAnCisgICAgICsgJ2Zyb20gInZpc2libGUiIHRvICJoaWRkZW4iIHdpdGggZWFzZUluT3V0
QmFjayBlYXNpbmcnKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbjogZnVu
Y3Rpb24ocHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2
YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0
eWxlW2lkbE5hbWVdID0gJ3Zpc2libGUnOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5h
bmltYXRlKHsgW2lkbE5hbWVdOiBbJ3Zpc2libGUnLCAnaGlkZGVuJ10gfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGU6IGNvbXBv
c2l0ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiAndmlz
aWJsZScgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVj
dGVkOiAndmlzaWJsZScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogb250byAidmlzaWJsZSIn
KTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0
eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0
LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnaGlkZGVuJzsKKyAgICAg
IHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydoaWRkZW4nLCAn
dmlzaWJsZSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2Ft
cGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0
aW1lOiAwLCAgICBleHBlY3RlZDogJ2hpZGRlbicgfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiAndmlzaWJsZScgfV0pOworICAgIH0sIHByb3Bl
cnR5ICsgJzogb250byAiaGlkZGVuIicpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rp
b24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlv
bihwcm9wZXJ0eSwgc2V0dXAsICdhZGQnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBm
dW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11
bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FjY3VtdWxhdGUnKTsKKyAgfSwKK307CisKK2NvbnN0
IGNvbG9yVHlwZSA9IHsKKyAgdGVzdEludGVycG9sYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBz
ZXR1cCkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRs
TmFtZV06IFsncmdiKDI1NSwgMCwgMCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3JnYigwLCAwLCAyNTUpJ10gfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxMDAwKTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVz
KGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6
IDUwMCwgIGV4cGVjdGVkOiAncmdiKDEyOCwgMCwgMTI4KScgfV0pOworICAgIH0sIHByb3BlcnR5
ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgY29sb3Igb2YgcmdiKCknKTsKKworICAgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5
KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnI2ZmMDAwMCcs
ICcjMDAwMGZmJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAw
KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAncmdiKDEyOCwg
MCwgMTI4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMg
Y29sb3Igb2YgI1JHQicpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRs
TmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0
ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWydoc2woMCwgICAxMDAlLCA1MCUpJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoc2woMjQwLCAxMDAlLCA1MCUp
J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwKTsKKyAgICAg
IHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAncmdiKDEyOCwgMCwgMTI4KScg
fV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgY29sb3Igb2Yg
aHNsKCknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBw
cm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxl
bWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBb
aWRsTmFtZV06IFsnI2ZmMDAwMDY2JywgJyMwMDAwZmZjYyddIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTAwMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBSOiAyNTUgKiAoMC40ICogMC41KSAvIDAuNiA9IDg1CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHOiAyNTUgKiAoMC44
ICogMC41KSAvIDAuNiA9IDE3MAorICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9u
LCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhw
ZWN0ZWQ6ICdyZ2JhKDg1LCAwLCAxNzAsIDAuNiknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcg
c3VwcG9ydHMgYW5pbWF0aW5nIGFzIGNvbG9yIG9mICNSR0JhJyk7CisKKyAgICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7Cisg
ICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFy
IGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3JnYmEoMjU1LCAwLCAw
LCAwLjQpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdyZ2JhKDAsIDAsIDI1NSwgMC44KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMTAwMCk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24s
IGlkbE5hbWUsICAgICAgLy8gU2FtZSBhcyBhYm92ZS4KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAncmdiYSg4NSwgMCwgMTcwLCAwLjYpJyB9XSk7
CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBjb2xvciBvZiByZ2Jh
KCknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRs
TmFtZV06IFsnaHNsYSgwLCAgIDEwMCUsIDUwJSwgMC40KScsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHNsYSgyNDAsIDEwMCUsIDUwJSwgMC44
KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMCk7CisgICAg
ICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsICAgICAgLy8gU2FtZSBh
cyBhYm92ZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVj
dGVkOiAncmdiYSg4NSwgMCwgMTcwLCAwLjYpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1
cHBvcnRzIGFuaW1hdGluZyBhcyBjb2xvciBvZiBoc2xhKCknKTsKKyAgfSwKKworICB0ZXN0QWRk
aXRpb25PckFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUp
IHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3JnYigxMjgsIDEyOCwgMTI4
KSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsn
cmdiKDI1NSwgMCwgMCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3JnYigwLCAwLCAyNTUpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsK
KyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICAgZXhwZWN0ZWQ6ICdyZ2IoMjU1LCAxMjgs
IDEyOCknIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHZhbHVlIGF0IDUw
JSBpcyBpbnRlcnBvbGF0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmcm9tICdy
Z2IoMTI4KzI1NSwgMTI4LCAxMjgpJworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRv
ICAgJ3JnYigxMjgsICAgICAxMjgsIDEyOCsyNTUpJy4KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IHRpbWU6IDUwMCwgZXhwZWN0ZWQ6ICdyZ2IoMjU1LCAxMjgsIDI1NSknIH1dKTsKKyAg
ICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGNvbG9yIG9mIHJnYigpIHdp
dGggb3ZlcmZsb3dlZCAnICsKKyAgICAgICAnZnJvbSBhbmQgdG8gdmFsdWVzJyk7CisKKyAgICB0
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9w
ZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOwor
ICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3JnYigxMjgsIDEyOCwgMTI4KSc7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnI2ZmMDAwMCcs
ICcjMDAwMGZmJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1
cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRp
b25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IFt7IHRpbWU6IDAsICBleHBlY3RlZDogJ3JnYigyNTUsIDEyOCwgMTI4KScgfV0pOworICAgIH0s
IHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgY29sb3Igb2YgI1JHQicpOworCisg
ICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwo
cHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVw
KTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdyZ2IoMTI4LCAxMjgsIDEyOCknOwor
ICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ2hzbCgw
LCAgIDEwMCUsIDUwJSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2hzbCgyNDAsIDEwMCUsIDUwJSknXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRl
IH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwgIGV4cGVjdGVkOiAncmdiKDI1NSwg
MTI4LCAxMjgpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBh
cyBjb2xvciBvZiBoc2woKScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIg
aWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNy
ZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9
ICdyZ2IoMTI4LCAxMjgsIDEyOCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmlt
YXRlKHsgW2lkbE5hbWVdOiBbJyNmZjAwMDA2NicsICcjMDAwMGZmY2MnXSB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTog
Y29tcG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxO
YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwgIGV4cGVjdGVkOiAn
cmdiKDIzMCwgMTI4LCAxMjgpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFu
aW1hdGluZyBhcyBjb2xvciBvZiAjUkdCYScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRh
cmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtp
ZGxOYW1lXSA9ICdyZ2IoMTI4LCAxMjgsIDEyOCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRh
cmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3JnYmEoMjU1LCAwLCAwLCAwLjQpJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2JhKDAsIDAs
IDI1NSwgMC44KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBk
dXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5pbWF0
aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsICAgICAgLy8gU2FtZSBhcyBhYm92ZS4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICBleHBlY3RlZDogJ3JnYigyMzAs
IDEyOCwgMTI4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcg
YXMgY29sb3Igb2YgcmdiYSgpJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZh
ciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0g
Y3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVd
ID0gJ3JnYigxMjgsIDEyOCwgMTI4KSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFu
aW1hdGUoeyBbaWRsTmFtZV06IFsnaHNsYSgwLCAgIDEwMCUsIDUwJSwgMC40KScsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHNsYSgyNDAsIDEw
MCUsIDUwJSwgMC44KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsICAgICAgLy8gU2FtZSBhcyBhYm92ZS4K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICBleHBlY3RlZDogJ3JnYigy
MzAsIDEyOCwgMTI4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRp
bmcgYXMgY29sb3Igb2YgaHNsYSgpJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlv
bihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9u
KHByb3BlcnR5LCBzZXR1cCwgJ2FkZCcpOworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1
bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVs
YXRpb24ocHJvcGVydHksIHNldHVwLCAnYWNjdW11bGF0ZScpOworICB9LAorfTsKKworY29uc3Qg
dHJhbnNmb3JtTGlzdFR5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihwcm9w
ZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1l
ID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVz
dEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRl
KHsgW2lkbE5hbWVdOiBbJ3RyYW5zbGF0ZSgyMDBweCwgLTIwMHB4KScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRlKDQwMHB4LCA0
MDBweCknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDApOwor
ICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAg
ICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6IFsgMSwgMCwgMCwgMSwgMzAwLCAxMDAgXSB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiB0cmFuc2xhdGUnKTsKKworICAgIHRlc3QoZnVuY3Rp
b24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAg
ICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIg
YW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsncm90YXRlKDQ1ZGVnKScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm90
YXRlKDEzNWRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEw
MDApOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxO
YW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogWyBNYXRoLmNvcyhNYXRoLlBJ
IC8gMiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguc2luKE1hdGgu
UEkgLyAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtTWF0aC5zaW4oTWF0
aC5QSSAvIDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmNvcyhN
YXRoLlBJIC8gMiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDBdIH1d
KTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHJvdGF0ZScpOworCisgICAgdGVzdChmdW5jdGlvbih0
KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAg
dmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmlt
YXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydzY2FsZSgzKScsICdzY2FsZSg1
KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMCk7CisKKyAg
ICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAg
ICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiBbIDQsIDAsIDAsIDQsIDAsIDAgXSB9XSk7Cisg
ICAgfSwgcHJvcGVydHkgKyAnOiBzY2FsZScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRh
cmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24g
PSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydza2V3KDMwZGVnLCA2MGRlZyknLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NrZXcoNjBk
ZWcsIDMwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAw
MCk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5h
bWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiBbIDEsIE1hdGgudGFuKE1hdGgu
UEkgLyA0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC50YW4oTWF0
aC5QSSAvIDQpLCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwXSB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBza2V3Jyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2
YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1h
dGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3RyYW5zbGF0ZVgo
MTAwcHgpIHJvdGF0ZSg0NWRlZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICd0cmFuc2xhdGVYKDIwMHB4KSByb3RhdGUoMTM1ZGVnKSddIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgIDEwMDApOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5p
bWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogWyBNYXRo
LmNvcyhNYXRoLlBJIC8gMiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1h
dGguc2luKE1hdGguUEkgLyAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
TWF0aC5zaW4oTWF0aC5QSSAvIDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBNYXRoLmNvcyhNYXRoLlBJIC8gMiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDE1MCwgMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHJvdGF0ZSBhbmQgdHJhbnNs
YXRlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJv
cGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1l
bnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5hbmlt
YXRlKHsgW2lkbE5hbWVdOiBbJ3JvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWCgxMDBweCknLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyb3RhdGUoMTM1ZGVnKSB0cmFuc2xh
dGVYKDIwMHB4KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIDEwMDApOworCisgICAgICB0
ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBb
eyB0aW1lOiA1MDAsIGV4cGVjdGVkOiBbIE1hdGguY29zKE1hdGguUEkgLyAyKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnNpbihNYXRoLlBJIC8gMiksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtTWF0aC5zaW4oTWF0aC5QSSAvIDIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguY29zKE1hdGguUEkgLyAyKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTAgKiBNYXRoLmNvcyhNYXRoLlBJIC8gMiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwICogTWF0aC5zaW4oTWF0aC5Q
SSAvIDIpIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogdHJhbnNsYXRlIGFuZCByb3RhdGUn
KTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0
eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0
LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgLy8gbWF0cml4
KDAsIDEsIC0xLCAwLCAwLCAxMDApCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVd
OiBbJ3JvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWCgxMDBweCknLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgtMSwgMCwgMCwgLTEsIDIwMCwgMCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRlWCgyMDBweCkgcm90YXRl
KDE4MGRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAxMDAwKTsKKworICAgICAgdGVz
dEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sg
dGltZTogNTAwLCBleHBlY3RlZDogWyBNYXRoLmNvcyhNYXRoLlBJICogMyAvIDQpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguc2luKE1hdGguUEkgKiAzIC8gNCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtTWF0aC5zaW4oTWF0aC5QSSAqIDMgLyA0
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmNvcyhNYXRoLlBJICog
MyAvIDQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCwgNTAgXSB9XSk7
CisgICAgfSwgcHJvcGVydHkgKyAnOiBtaXNtYXRjaCBvcmRlciBvZiB0cmFuc2xhdGUgYW5kIHJv
dGF0ZScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHBy
b3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVt
ZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAgLy8g
U2FtZSBtYXRyaWNlcyBhcyBhYm92ZS4KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFt
ZV06IFsgJ21hdHJpeCgwLCAxLCAtMSwgMCwgMCwgMTAwKScsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApJyBdIH0sCisg
ICAgICAgICAgICAgICAgICAgICAgIDEwMDApOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxl
TWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsIGV4cGVj
dGVkOiBbIE1hdGguY29zKE1hdGguUEkgKiAzIC8gNCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWF0aC5zaW4oTWF0aC5QSSAqIDMgLyA0KSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC1NYXRoLnNpbihNYXRoLlBJICogMyAvIDQpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE1hdGguY29zKE1hdGguUEkgKiAzIC8gNCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwLCA1MCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0
eSArICc6IG1hdHJpeCcpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRs
TmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0
ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0
YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncm90YXRlM2QoMSwgMSwgMCwgMGRlZyknLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm90YXRlM2QoMSwgMSwgMCwg
OTBkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RB
bmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRp
bWU6IDUwMCwgZXhwZWN0ZWQ6IHJvdGF0ZTNkVG9NYXRyaXgoMSwgMSwgMCwgTWF0aC5QSSAvIDQp
IH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHJvdGF0ZTNkJyk7CisKKyAgICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7Cisg
ICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgLy8g
VG8gY2FsY3VsYXRlIGV4cGVjdGVkIG1hdHJpY2VzIGVhc2lseSwgZ2VuZXJhdGUgaW5wdXQgbWF0
cmljZXMgZnJvbQorICAgICAgLy8gcm90YXRlM2QuCisgICAgICB2YXIgZnJvbSA9IHJvdGF0ZTNk
VG9NYXRyaXgzZCgxLCAxLCAwLCBNYXRoLlBJIC8gNCk7CisgICAgICB2YXIgdG8gPSByb3RhdGUz
ZFRvTWF0cml4M2QoMSwgMSwgMCwgTWF0aC5QSSAqIDMgLyA0KTsKKyAgICAgIHZhciBhbmltYXRp
b24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyBmcm9tLCB0byBdIH0s
IDEwMDApOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBp
ZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsIGV4cGVjdGVkOiByb3RhdGUzZFRvTWF0cml4
KDEsIDEsIDAsIE1hdGguUEkgKiAyIC8gNCkgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbWF0
cml4M2QnKTsKKworICAgIC8vIFRoaXMgdGVzdCBhaW1zIGZvciBmb3JjaW5nIHRoZSB0d28gbWlz
bWF0Y2hlZCB0cmFuc2Zvcm1zIHRvIGJlCisgICAgLy8gZGVjb21wb3NlZCBpbnRvIG1hdHJpeDNk
IGJlZm9yZSBpbnRlcnBvbGF0aW9uLiBUaGVyZWZvcmUsIHdlIG5vdCBvbmx5CisgICAgLy8gdGVz
dCB0aGUgaW50ZXJwb2xhdGlvbiwgYnV0IGFsc28gdGVzdCB0aGUgM0QgbWF0cml4IGRlY29tcG9z
aXRpb24uCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3Bl
cnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50
KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWydzY2FsZSgwLjMpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBzY2FsZSgwLjUpIHRyYW5zbGF0ZVooMXB4KQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgzZCgwLjUsIDAsIDAsIDAsIDAsIDAuNSwgMCwg
MCwgMCwgMCwgMSwgMCwgMCwgMCwgMSwgMSknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAx
MDAwKTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRs
TmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6IFsgMC40LCAwLCAgIDAsICAg
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgICAwLjQsIDAsICAgMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgICAwLCAgIDEsICAgMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgICAwLCAgIDAuNSwgMV0gfV0pOwor
ICAgIH0sIHByb3BlcnR5ICsgJzogbWlzbWF0Y2hlZCAzRCB0cmFuc2Zvcm1zJyk7CisKKyAgICB0
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9w
ZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOwor
ICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVd
OiBbJ3JvdGF0ZVkoNjBkZWcpJywgJ25vbmUnIF0gfSwgMTAwMCk7CisKKyAgICAgIHRlc3RBbmlt
YXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAg
ICAgLy8gcm90YXRlWSgzMGRlZykgPT0gcm90YXRlM0QoMCwgMSwgMCwgMzBkZWcpCisgICAgICAg
IFt7IHRpbWU6IDUwMCwgZXhwZWN0ZWQ6IHJvdGF0ZTNkVG9NYXRyaXgoMCwgMSwgMCwgTWF0aC5Q
SSAvIDYpIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHJvdGF0ZVknKTsKKworICAgIC8vIEZv
bGxvd2luZyB0ZXN0cyBhaW0gZm9yIHRlc3QgdGhlIGZhbGxiYWNrIGRpc2NyZXRlIGludGVycG9s
YXRpb24gYmVoYXZpb3IKKyAgICAvLyBmb3Igbm9uLWludmVydGlibGUgbWF0cmljZXMuIFRoZSBu
b24taW52ZXJ0aWJsZSBtYXRyaXggdGhhdCB3ZSB1c2UgaXMgdGhlCisgICAgLy8gc2luZ3VsZXIg
bWF0cml4LCBtYXRyaXgoMSwgMSwgMCwgMCwgMCwgMTAwKS4KKyAgICB0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2
YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1h
dGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ21hdHJpeCgtMSwg
MCwgMCwgLTEsIDIwMCwgMCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdtYXRyaXgoIDEsIDEsIDAsICAwLCAwLCAxMDApJ10gfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworCisgICAgICB0ZXN0QW5pbWF0
aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGltZTog
MCwgICAgZXhwZWN0ZWQ6IFsgLTEsIDAsIDAsIC0xLCAyMDAsICAgMCBdIH0sCisgICAgICAgICAg
eyB0aW1lOiA0OTksICBleHBlY3RlZDogWyAtMSwgMCwgMCwgLTEsIDIwMCwgICAwIF0gfSwKKyAg
ICAgICAgICB7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiBbICAxLCAxLCAwLCAgMCwgICAwLCAxMDAg
XSB9LAorICAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6IFsgIDEsIDEsIDAsICAwLCAg
IDAsIDEwMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IG5vbi1pbnZlcnRpYmxlIG1hdHJp
Y2VzJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJv
cGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1l
bnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9ICAgICAgICAgICAgICAgIC8vIG1h
dHJpeCgwLCAtMSwgMSwgMCwgMjUwLCAwKQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWyd0cmFuc2xhdGUoNTBweCkgIG1hdHJpeCgtMSwgMCwgMCwgLTEsIDIwMCwgMCkgcm90
YXRlKDkwZGVnKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0
cml4KC0xLCAtMSwgMCwgMCwgMTAwLCAxMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ3RyYW5zbGF0ZSgxMDBweCkgbWF0cml4KCAxLCAxLCAwLCAgMCwgMCwgMTAwKSBy
b3RhdGUoMTgwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MDAsIGZpbGw6ICdib3RoJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2Vz
KGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgWyB7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBb
ICAwLCAtMSwgMSwgMCwgMjUwLCAgIDAgXSB9LAorICAgICAgICAgIHsgdGltZTogNDk5LCAgZXhw
ZWN0ZWQ6IFsgIDAsIC0xLCAxLCAwLCAyNTAsICAgMCBdIH0sCisgICAgICAgICAgeyB0aW1lOiA1
MDAsICBleHBlY3RlZDogWyAtMSwgLTEsIDAsIDAsIDEwMCwgMTAwIF0gfSwKKyAgICAgICAgICB7
IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiBbIC0xLCAtMSwgMCwgMCwgMTAwLCAxMDAgXSB9XSk7Cisg
ICAgfSwgcHJvcGVydHkgKyAnOiBub24taW52ZXJ0aWJsZSBtYXRyaWNlcyBpbiBtYXRjaGVkIHRy
YW5zZm9ybSBsaXN0cycpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRs
TmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0
ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSAgICAgICAgICAg
ICAgICAvLyBtYXRyaXgoLTIsIDAsIDAsIC0yLCAyNTAsIDApCisgICAgICAgIHRhcmdldC5hbmlt
YXRlKHsgW2lkbE5hbWVdOiBbJ3RyYW5zbGF0ZSg1MHB4KSAgbWF0cml4KC0xLCAwLCAwLCAtMSwg
MjAwLCAwKSBzY2FsZSgyKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gbWF0cml4KDEsIDEsIDEsIDEsIDEwMCwgMTAwKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICd0cmFuc2xhdGUoMTAwcHgpIG1hdHJpeCggMSwgMSwgMCwgIDAsIDAsIDEw
MCkgc2tldyg0NWRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAx
MDAwLCBmaWxsOiAnYm90aCcgfSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNl
cyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFsgeyB0aW1lOiAwLCAgICBleHBlY3RlZDog
WyAtMiwgMCwgMCwgLTIsIDI1MCwgICAwIF0gfSwKKyAgICAgICAgICB7IHRpbWU6IDQ5OSwgIGV4
cGVjdGVkOiBbIC0yLCAwLCAwLCAtMiwgMjUwLCAgIDAgXSB9LAorICAgICAgICAgIHsgdGltZTog
NTAwLCAgZXhwZWN0ZWQ6IFsgIDEsIDEsIDEsICAxLCAxMDAsIDEwMCBdIH0sCisgICAgICAgICAg
eyB0aW1lOiAxMDAwLCBleHBlY3RlZDogWyAgMSwgMSwgMSwgIDEsIDEwMCwgMTAwIF0gfV0pOwor
ICAgIH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUgbWF0cmljZXMgaW4gbWlzbWF0Y2hl
ZCB0cmFuc2Zvcm0gbGlzdHMnKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9uKHBy
b3BlcnR5LCBzZXR1cCkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5h
bWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVU
ZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAndHJh
bnNsYXRlWCgxMDBweCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsg
W2lkbE5hbWVdOiBbJ3RyYW5zbGF0ZVgoLTIwMHB4KScsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRlWCg1MDBweCknXSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6
ICdib3RoJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvc2l0
ZTogJ2FkZCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9u
LCBpZGxOYW1lLAorICAgICAgICBbIHsgdGltZTogMCwgICAgZXhwZWN0ZWQ6IFsgMSwgMCwgMCwg
MSwgLTEwMCwgMCBdIH0sCisgICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogWyAxLCAw
LCAwLCAxLCAgNjAwLCAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogdHJhbnNsYXRlJyk7
CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3JvdGF0ZSg0NWRlZyknOwor
ICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3JvdGF0
ZSgtOTBkZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdyb3RhdGUoOTBkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGU6ICdhZGQnIH0pOworCisgICAgICB0ZXN0
QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0
aW1lOiAwLCAgICBleHBlY3RlZDogWyBNYXRoLmNvcygtTWF0aC5QSSAvIDQpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnNpbigtTWF0aC5QSSAvIDQpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1NYXRoLnNpbigtTWF0aC5QSSAvIDQpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmNvcygtTWF0aC5QSSAvIDQpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwXSB9LAorICAgICAgICAgeyB0
aW1lOiAxMDAwLCBleHBlY3RlZDogWyBNYXRoLmNvcyhNYXRoLlBJICogMyAvIDQpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnNpbihNYXRoLlBJICogMyAvIDQpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1NYXRoLnNpbihNYXRoLlBJICogMyAv
IDQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmNvcyhNYXRoLlBJ
ICogMyAvIDQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwXSB9XSk7
CisgICAgfSwgcHJvcGVydHkgKyAnOiByb3RhdGUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5
bGVbaWRsTmFtZV0gPSAnc2NhbGUoMiknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5h
bmltYXRlKHsgW2lkbE5hbWVdOiBbJ3NjYWxlKC0zKScsICdzY2FsZSg1KSddIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2Jv
dGgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9zaXRlOiAn
YWRkJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6IFsgLTYsIDAsIDAsIC02
LCAwLCAwIF0gfSwgLy8gc2NhbGUoLTMpIHNjYWxlKDIpCisgICAgICAgICB7IHRpbWU6IDEwMDAs
IGV4cGVjdGVkOiBbIDEwLCAwLCAwLCAxMCwgMCwgMCBdIH1dKTsgLy8gc2NhbGUoNSkgc2NhbGUo
MikKKyAgICB9LCBwcm9wZXJ0eSArICc6IHNjYWxlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2
YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gbWF0cml4KDEsIHRhbigxMGRlZyksIHRhbigxMGRlZyksIDEpCisg
ICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnc2tldygxMGRlZywgMTBkZWcpJzsKKyAgICAg
IHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAvLyBtYXRyaXgoMSwgdGFuKDIwZGVnKSwg
dGFuKC0zMGRlZyksIDEpCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3Nr
ZXcoLTMwZGVnLCAyMGRlZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIG1hdHJpeCgxLCB0YW4oLTMwZGVnKSwgdGFuKDIwZGVnKSwgMSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnc2tldygyMGRlZywgLTMwZGVnKSddIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywgY29tcG9zaXRl
OiAnYWRkJyB9KTsKKworICAgICAgLy8gbWF0cml4IGF0IDAlLgorICAgICAgLy8gWyAxICAgICAg
ICAgIHRhbigxMGRlZykgXSBbIDEgICAgICAgICAgdGFuKC0zMGRlZykgXQorICAgICAgLy8gWyB0
YW4oMTBkZWcpICAgICAgICAgIDEgXSBbIHRhbigyMGRlZykgICAgICAgICAgIDEgXSA9CisgICAg
ICAvLworICAgICAgLy8gWyAxICsgdGFuKDEwZGVnKSAqIHRhbigyMGRlZykgdGFuKC0zMGRlZykg
KyB0YW4oMTBkZWcpICAgICBdCisgICAgICAvLyBbICAgICB0YW4oMTBkZWcpICsgdGFuKDIwZGVn
KSB0YW4oMTBkZWcpICogdGFuKC0zMGRlZykgKyAxIF0KKworICAgICAgLy8gbWF0cml4IGF0IDEw
MCUuCisgICAgICAvLyBbIDEgICAgICAgICAgdGFuKDEwZGVnKSBdIFsgMSAgICAgICAgICAgdGFu
KDIwZGVnKSBdCisgICAgICAvLyBbIHRhbigxMGRlZykgICAgICAgICAgMSBdIFsgdGFuKC0zMGRl
ZykgICAgICAgICAgMSBdID0KKyAgICAgIC8vCisgICAgICAvLyBbIDEgKyB0YW4oMTBkZWcpICog
dGFuKC0zMGRlZykgdGFuKDIwZGVnKSArIHRhbigxMGRlZykgICAgIF0KKyAgICAgIC8vIFsgICAg
IHRhbigxMGRlZykgKyB0YW4oLTMwZGVnKSB0YW4oMTBkZWcpICogdGFuKDIwZGVnKSArIDEgXQor
CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAor
ICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogWyAxICsgTWF0aC50YW4oTWF0aC5QSS8x
OCkgKiBNYXRoLnRhbihNYXRoLlBJLzkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBNYXRoLnRhbihNYXRoLlBJLzE4KSArIE1hdGgudGFuKE1hdGguUEkvOSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGgudGFuKC1NYXRoLlBJLzYpICsgTWF0aC50
YW4oTWF0aC5QSS8xOCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgKyBN
YXRoLnRhbihNYXRoLlBJLzE4KSAqIE1hdGgudGFuKC1NYXRoLlBJLzYpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwLCAwXSB9LAorICAgICAgICAgeyB0aW1lOiAxMDAwLCBl
eHBlY3RlZDogWyAxICsgTWF0aC50YW4oTWF0aC5QSS8xOCkgKiBNYXRoLnRhbigtTWF0aC5QSS82
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC50YW4oTWF0aC5QSS8x
OCkgKyBNYXRoLnRhbigtTWF0aC5QSS82KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTWF0aC50YW4oTWF0aC5QSS85KSArIE1hdGgudGFuKE1hdGguUEkvMTgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICsgTWF0aC50YW4oTWF0aC5QSS8xOCkgKiBN
YXRoLnRhbihNYXRoLlBJLzkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw
LCAwXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBza2V3Jyk7CisKKyAgICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7Cisg
ICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgxLCAwLCAwLCAxLCAxMDAsIDApCisgICAg
ICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAndHJhbnNsYXRlWCgxMDBweCknOworICAgICAgdmFy
IGFuaW1hdGlvbiA9ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgwLCAxLCAtMSwgMCwgMCwgMCkK
KyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsncm90YXRlKDkwZGVnKScsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0cml4KC0xLCAwLCAwLCAt
MSwgMCwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm90YXRlKDE4
MGRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxs
OiAnYm90aCcsIGNvbXBvc2l0ZTogJ2FkZCcgfSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1w
bGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4
cGVjdGVkOiBbICAwLCAxLCAtMSwgIDAsIDEwMCwgMCBdIH0sCisgICAgICAgICB7IHRpbWU6IDEw
MDAsIGV4cGVjdGVkOiBbIC0xLCAwLCAgMCwgLTEsIDEwMCwgMCBdIH1dKTsKKyAgICB9LCBwcm9w
ZXJ0eSArICc6IHJvdGF0ZSBvbiB0cmFuc2xhdGUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gbWF0cml4KDAsIDEsIC0xLCAwLCAwLCAwKQorICAgICAgdGFyZ2V0
LnN0eWxlW2lkbE5hbWVdID0gJ3JvdGF0ZSg5MGRlZyknOworICAgICAgdmFyIGFuaW1hdGlvbiA9
ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgxLCAwLCAwLCAxLCAxMDAsIDApCisgICAgICAgIHRh
cmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3RyYW5zbGF0ZVgoMTAwcHgpJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXRyaXgoMSwgMCwgMCwgMSwgMjAwLCAw
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGVYKDIwMHB4
KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdi
b3RoJywgY29tcG9zaXRlOiAnYWRkJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1h
dHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0
ZWQ6IFsgMCwgMSwgLTEsIDAsIDAsIDEwMCBdIH0sCisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4
cGVjdGVkOiBbIDAsIDEsIC0xLCAwLCAwLCAyMDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAn
OiB0cmFuc2xhdGUgb24gcm90YXRlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAg
IHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0
ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5h
bWVdID0gJ21hdHJpeCgwLCAxLCAtMSwgMCwgMCwgMCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9
ICAgICAgICAgICAgICAgICAvLyBTYW1lIG1hdHJpY2VzIGFzIGFib3ZlLgorICAgICAgICB0YXJn
ZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAnbWF0cml4KDEsIDAsIDAsIDEsIDEwMCwgMCknLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF0cml4KDEsIDAsIDAsIDEs
IDIwMCwgMCknIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwg
ZmlsbDogJ2JvdGgnLCBjb21wb3NpdGU6ICdhZGQnIH0pOworCisgICAgICB0ZXN0QW5pbWF0aW9u
U2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiAwLCAg
ICBleHBlY3RlZDogWyAwLCAxLCAtMSwgMCwgMCwgMTAwIF0gfSwKKyAgICAgICAgIHsgdGltZTog
MTAwMCwgZXhwZWN0ZWQ6IFsgMCwgMSwgLTEsIDAsIDAsIDIwMCBdIH1dKTsKKyAgICB9LCBwcm9w
ZXJ0eSArICc6IG1hdHJpeCcpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIg
aWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNy
ZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9
ICdyb3RhdGUzZCgxLCAxLCAwLCA0NWRlZyknOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAg
ICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbICdyb3RhdGUzZCgxLCAxLCAwLCAtOTBk
ZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JvdGF0ZTNkKDEs
IDEsIDAsIDkwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MDAsIGZpbGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWRkJyB9KTsKKworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTog
MCwgICAgZXhwZWN0ZWQ6IHJvdGF0ZTNkVG9NYXRyaXgoMSwgMSwgMCwgICAgLU1hdGguUEkgLyA0
KSB9LAorICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogcm90YXRlM2RUb01hdHJpeCgx
LCAxLCAwLCAzICogTWF0aC5QSSAvIDQpIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHJvdGF0
ZTNkJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJv
cGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1l
bnQodCwgc2V0dXApOworICAgICAgLy8gVG8gY2FsY3VsYXRlIGV4cGVjdGVkIG1hdHJpY2VzIGVh
c2lseSwgZ2VuZXJhdGUgaW5wdXQgbWF0cmljZXMgZnJvbQorICAgICAgLy8gcm90YXRlM2QuCisg
ICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSByb3RhdGUzZFRvTWF0cml4M2QoMSwgMSwgMCwg
TWF0aC5QSSAvIDQpOworICAgICAgdmFyIGZyb20gPSByb3RhdGUzZFRvTWF0cml4M2QoMSwgMSwg
MCwgLU1hdGguUEkgLyAyKTsKKyAgICAgIHZhciB0byA9IHJvdGF0ZTNkVG9NYXRyaXgzZCgxLCAx
LCAwLCBNYXRoLlBJIC8gMik7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0
LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgZnJvbSwgdG8gXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcsIGNvbXBvc2l0ZTogJ2FkZCcgfSk7
CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUs
CisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiByb3RhdGUzZFRvTWF0cml4KDEsIDEs
IDAsICAgIC1NYXRoLlBJIC8gNCkgfSwKKyAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6
IHJvdGF0ZTNkVG9NYXRyaXgoMSwgMSwgMCwgMyAqIE1hdGguUEkgLyA0KSB9XSk7CisgICAgfSwg
cHJvcGVydHkgKyAnOiBtYXRyaXgzZCcpOworCisgICAgLy8gRm9sbG93aW5nIHRlc3RzIGFpbSBm
b3IgdGVzdCB0aGUgYWRkaXRpb24gYmVoYXZpb3IgZm9yIG5vbi1pbnZlcnRpYmxlCisgICAgLy8g
bWF0cmljZXMuIE5vdGUgdGhhdCB0aGUgYWRkaXRpb24gZm9yIG5vbi1pbnZlcnRpYmxlIG1hdHJp
Y2VzIHNob3VsZCBiZQorICAgIC8vIHRoZSBzYW1lLCBqdXN0IGxpa2UgYWRkaXRpb24gZm9yIGlu
dmVydGlibGUgbWF0cmljZXMuIFdpdGggdGhlc2UgdGVzdHMsCisgICAgLy8gd2UgY2FuIGFzc3Vy
ZSB0aGF0IGFkZGl0aW9uIG5ldmVyIGJlaGF2ZXMgYXMgZGlzY3JldGUuIFRoZSBub24taW52ZXJ0
aWJsZQorICAgIC8vIG1hdHJpeCB0aGF0IHdlIHVzZSBpcyB0aGUgc2luZ3VsZXIgbWF0cml4LCBt
YXRyaXgoMSwgMSwgMCwgMCwgMCwgMTAwKS4KKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAg
IHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0
ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5h
bWVdID0gJ3RyYW5zbGF0ZVgoNTBweCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAg
IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ21hdHJpeCgtMSwgMCwgMCwgLTEsIDIwMCwg
MCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgoIDEsIDEs
IDAsICAwLCAwLCAxMDApJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjog
MTAwMCwgZmlsbDogJ2JvdGgnLCBjb21wb3NpdGU6ICdhZGQnIH0pOworCisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGlt
ZTogMCwgICAgZXhwZWN0ZWQ6IFsgLTEsIDAsIDAsIC0xLCAyNTAsICAgMCBdIH0sCisgICAgICAg
ICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogWyAgMSwgMSwgMCwgIDAsICA1MCwgMTAwIF0gfV0p
OworICAgIH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUgbWF0cmljZXMnKTsKKworICAg
IHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHBy
b3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7
CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAndHJhbnNsYXRlWCg1MHB4KSc7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgLy8gbWF0cml4KDAsIC0xLCAxLCAwLCAy
MDAsIDApCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ21hdHJpeCgtMSwg
MCwgMCwgLTEsIDIwMCwgMCkgcm90YXRlKDkwZGVnKScsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gbWF0cml4KC0xLCAtMSwgMCwgMCwgMCwgMTAwKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgoIDEsIDEsIDAsICAwLCAwLCAxMDAp
IHJvdGF0ZSgxODBkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjog
MTAwMCwgZmlsbDogJ2JvdGgnLCBjb21wb3NpdGU6ICdhZGQnIH0pOworCisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGlt
ZTogMCwgICAgZXhwZWN0ZWQ6IFsgIDAsIC0xLCAxLCAwLCAyNTAsICAgMCBdIH0sCisgICAgICAg
ICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogWyAtMSwgLTEsIDAsIDAsICA1MCwgMTAwIF0gfV0p
OworICAgIH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUgbWF0cmljZXMgaW4gbWF0Y2hl
ZCB0cmFuc2Zvcm0gbGlzdHMnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFy
IGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBj
cmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0g
PSAndHJhbnNsYXRlWCg1MHB4KSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAg
ICAgLy8gbWF0cml4KC0yLCAwLCAwLCAtMiwgMjAwLCAwKQorICAgICAgICB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWydtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApIHNjYWxlKDIpJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXRyaXgoMSwgMSwgMSwg
MSwgMCwgMTAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgo
IDEsIDEsIDAsICAwLCAwLCAxMDApIHNrZXcoNDVkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLCBjb21wb3NpdGU6ICdhZGQnIH0p
OworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1l
LAorICAgICAgICBbIHsgdGltZTogMCwgICAgZXhwZWN0ZWQ6IFsgLTIsIDAsIDAsIC0yLCAyNTAs
ICAgMCBdIH0sCisgICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogWyAgMSwgMSwgMSwg
IDEsICA1MCwgMTAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUg
bWF0cmljZXMgaW4gbWlzbWF0Y2hlZCB0cmFuc2Zvcm0gbGlzdHMnKTsKKyAgfSwKKworICB0ZXN0
QWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7Cisg
ICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFy
Z2V0LnN0eWxlW2lkbE5hbWVdID0gJ3RyYW5zbGF0ZVgoMTAwcHgpJzsKKyAgICAgIHZhciBhbmlt
YXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyd0cmFuc2xhdGVYKC0yMDBweCkn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Ry
YW5zbGF0ZVgoNTAwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgICAgIHRlc3RB
bmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFsgeyB0
aW1lOiAwLCAgICBleHBlY3RlZDogWyAxLCAwLCAwLCAxLCAtMTAwLCAwIF0gfSwKKyAgICAgICAg
ICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiBbIDEsIDAsIDAsIDEsICA2MDAsIDAgXSB9XSk7Cisg
ICAgfSwgcHJvcGVydHkgKyAnOiB0cmFuc2xhdGUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5
bGVbaWRsTmFtZV0gPSAncm90YXRlKDQ1ZGVnKSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFy
Z2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsncm90YXRlKC05MGRlZyknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JvdGF0ZSg5MGRlZyknXSB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAs
IGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0
cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3Rl
ZDogWyBNYXRoLmNvcygtTWF0aC5QSSAvIDQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBNYXRoLnNpbigtTWF0aC5QSSAvIDQpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC1NYXRoLnNpbigtTWF0aC5QSSAvIDQpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBNYXRoLmNvcygtTWF0aC5QSSAvIDQpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAwLCAwXSB9LAorICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3Rl
ZDogWyBNYXRoLmNvcyhNYXRoLlBJICogMyAvIDQpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBNYXRoLnNpbihNYXRoLlBJICogMyAvIDQpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC1NYXRoLnNpbihNYXRoLlBJICogMyAvIDQpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmNvcyhNYXRoLlBJICogMyAvIDQpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwXSB9XSk7CisgICAgfSwgcHJvcGVydHkg
KyAnOiByb3RhdGUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5h
bWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVU
ZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnc2Nh
bGUoMiknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVd
OiBbJ3NjYWxlKC0zKScsICdzY2FsZSg1KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisK
KyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2NhbGUoKDIgLSAxKSArICgtMyAt
IDEpICsgMSkKKyAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6IFsgLTIsIDAsIDAsIC0y
LCAwLCAwIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzY2FsZSgo
MiAtIDEpICsgKDUgLSAxKSArIDEpCisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiBb
ICA2LCAwLCAwLCAgNiwgMCwgMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHNjYWxlJyk7
CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0cml4KDEsIHRhbigx
MGRlZyksIHRhbigxMGRlZyksIDEpCisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnc2tl
dygxMGRlZywgMTBkZWcpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAv
LyBtYXRyaXgoMSwgdGFuKDIwZGVnKSwgdGFuKC0zMGRlZyksIDEpCisgICAgICAgIHRhcmdldC5h
bmltYXRlKHsgW2lkbE5hbWVdOiBbJ3NrZXcoLTMwZGVnLCAyMGRlZyknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgxLCB0YW4oLTMwZGVnKSwgdGFuKDIw
ZGVnKSwgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2tldygyMGRl
ZywgLTMwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAs
IGZpbGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisKKyAgICAgIHRlc3RB
bmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRp
bWU6IDAsICAgIGV4cGVjdGVkOiBbIDEsIE1hdGgudGFuKE1hdGguUEkvNiksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGgudGFuKC1NYXRoLlBJLzkpLCAxLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwXSB9LAorICAgICAgICAgeyB0aW1lOiAx
MDAwLCBleHBlY3RlZDogWyAxLCBNYXRoLnRhbigtTWF0aC5QSS85KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTWF0aC50YW4oTWF0aC5QSS82KSwgMSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMCwgMF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzog
c2tldycpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHBy
b3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVt
ZW50KHQsIHNldHVwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXRyaXgo
MSwgMCwgMCwgMSwgMTAwLCAwKQorICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3RyYW5z
bGF0ZVgoMTAwcHgpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAvLyBt
YXRyaXgoMCwgMSwgLTEsIDAsIDAsIDApCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5h
bWVdOiBbJ3JvdGF0ZSg5MGRlZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIG1hdHJpeCgtMSwgMCwgMCwgLTEsIDAsIDApCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ3JvdGF0ZSgxODBkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLCBjb21wb3NpdGU6ICdhY2N1bXVsYXRl
JyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRs
TmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6IFsgIDAsIDEsIC0xLCAgMCwg
MTAwLCAwIF0gfSwKKyAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6IFsgLTEsIDAsICAw
LCAtMSwgMTAwLCAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogcm90YXRlIG9uIHRyYW5z
bGF0ZScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHBy
b3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVt
ZW50KHQsIHNldHVwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXRyaXgo
MCwgMSwgLTEsIDAsIDAsIDApCisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAncm90YXRl
KDkwZGVnKSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgLy8gbWF0cml4
KDEsIDAsIDAsIDEsIDEwMCwgMCkKKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06
IFsndHJhbnNsYXRlWCgxMDBweCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIG1hdHJpeCgxLCAwLCAwLCAxLCAyMDAsIDApCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZVgoMjAwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLCBjb21wb3NpdGU6ICdhY2N1bXVs
YXRlJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6IFsgMCwgMSwgLTEsIDAs
IDEwMCwgMCBdIH0sCisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiBbIDAsIDEsIC0x
LCAwLCAyMDAsIDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiB0cmFuc2xhdGUgb24gcm90
YXRlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJv
cGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1l
bnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ21hdHJpeCgwLCAx
LCAtMSwgMCwgMCwgMCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9ICAgICAgICAgICAgICAgICAv
LyBTYW1lIG1hdHJpY2VzIGFzIGFib3ZlLgorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWyAnbWF0cml4KDEsIDAsIDAsIDEsIDEwMCwgMCknLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnbWF0cml4KDEsIDAsIDAsIDEsIDIwMCwgMCknIF0gfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLCBjb21w
b3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJp
Y2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6
IFsgMCwgMSwgLTEsIDAsIDEwMCwgMCBdIH0sCisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVj
dGVkOiBbIDAsIDEsIC0xLCAwLCAyMDAsIDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBt
YXRyaXgnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBw
cm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxl
bWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAncm90YXRlM2Qo
MSwgMSwgMCwgNDVkZWcpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQu
YW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncm90YXRlM2QoMSwgMSwgMCwgLTkwZGVnKScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyb3RhdGUzZCgxLCAxLCAwLCA5MGRl
ZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAn
Ym90aCcsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworCisgICAgICB0ZXN0QW5pbWF0aW9u
U2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiAwLCAg
ICBleHBlY3RlZDogcm90YXRlM2RUb01hdHJpeCgxLCAxLCAwLCAgICAtTWF0aC5QSSAvIDQpIH0s
CisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiByb3RhdGUzZFRvTWF0cml4KDEsIDEs
IDAsIDMgKiBNYXRoLlBJIC8gNCkgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogcm90YXRlM2Qn
KTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0
eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0
LCBzZXR1cCk7CisgICAgICAvLyBUbyBjYWxjdWxhdGUgZXhwZWN0ZWQgbWF0cmljZXMgZWFzaWx5
LCBnZW5lcmF0ZSBpbnB1dCBtYXRyaWNlcyBmcm9tCisgICAgICAvLyByb3RhdGUzZC4KKyAgICAg
IHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9IHJvdGF0ZTNkVG9NYXRyaXgzZCgxLCAxLCAwLCBNYXRo
LlBJIC8gNCk7CisgICAgICB2YXIgZnJvbSA9IHJvdGF0ZTNkVG9NYXRyaXgzZCgxLCAxLCAwLCAt
TWF0aC5QSSAvIDIpOworICAgICAgdmFyIHRvID0gcm90YXRlM2RUb01hdHJpeDNkKDEsIDEsIDAs
IE1hdGguUEkgLyAyKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWyBmcm9tLCB0byBdIH0sCisgICAgICAgICAgICAgICAgICAgICAg
IHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScg
fSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5h
bWUsCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiByb3RhdGUzZFRvTWF0cml4KDEs
IDEsIDAsICAgIC1NYXRoLlBJIC8gNCkgfSwKKyAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0
ZWQ6IHJvdGF0ZTNkVG9NYXRyaXgoMSwgMSwgMCwgMyAqIE1hdGguUEkgLyA0KSB9XSk7CisgICAg
fSwgcHJvcGVydHkgKyAnOiBtYXRyaXgzZCcpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRh
cmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBtYXRyaXhBcnJh
eSA9IFsgMSwgMCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMSwgMCwgMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMSwgMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgMCwgMCwgMSwgMSBdOworCisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSBj
cmVhdGVNYXRyaXhGcm9tQXJyYXkobWF0cml4QXJyYXkpOworICAgICAgdmFyIGFuaW1hdGlvbiA9
CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbICdub25lJywgJ25vbmUnIF0g
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgn
LCBjb21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBs
ZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAgZXhw
ZWN0ZWQ6IG1hdHJpeEFycmF5IH0sCisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiBt
YXRyaXhBcnJheSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBub25lJyk7CisKKyAgICAvLyBG
b2xsb3dpbmcgdGVzdHMgYWltIGZvciB0ZXN0IHRoZSBmYWxsYmFjayBkaXNjcmV0ZSBhY2N1bXVs
YXRpb24gYmVoYXZpb3IKKyAgICAvLyBmb3Igbm9uLWludmVydGlibGUgbWF0cmljZXMuIFRoZSBu
b24taW52ZXJ0aWJsZSBtYXRyaXggdGhhdCB3ZSB1c2UgaXMgdGhlCisgICAgLy8gc2luZ3VsZXIg
bWF0cml4LCBtYXRyaXgoMSwgMSwgMCwgMCwgMCwgMTAwKS4KKyAgICB0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2
YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LmFu
aW1hdGUoeyBbaWRsTmFtZV06IFsnbWF0cml4KC0xLCAwLCAwLCAtMSwgMjAwLCAwKScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAs
IDApJ10gfSwgMTAwMCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBb
aWRsTmFtZV06IFsnbWF0cml4KCAxLCAxLCAwLCAwLCAwLCAxMDApJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgoIDEsIDEsIDAsIDAs
IDAsIDEwMCknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVy
YXRpb246IDEwMDAsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCBleHBlY3RlZDogWyAxLCAxLCAwLCAwLCAwLCAx
MDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBub24taW52ZXJ0aWJsZSBtYXRyaWNlcyAo
bm9uLWludmVydGlibGUgb250byBpbnZlcnRpYmxlKScpOworCisgICAgdGVzdChmdW5jdGlvbih0
KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAg
dmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5h
bmltYXRlKHsgW2lkbE5hbWVdOiBbJ21hdHJpeCggMSwgMSwgMCwgMCwgMCwgMTAwKScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgoIDEsIDEsIDAsIDAsIDAsIDEw
MCknXSB9LCAxMDAwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtp
ZGxOYW1lXTogWydtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgoLTEsIDAsIDAsIC0x
LCAyMDAsIDApJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1
cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgICAgIHRlc3RBbmlt
YXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0ZWQ6IFsgLTEsIDAsIDAsIC0xLCAy
MDAsIDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBub24taW52ZXJ0aWJsZSBtYXRyaWNl
cyAoaW52ZXJ0aWJsZSBvbnRvIG5vbi1pbnZlcnRpYmxlKScpOworCisgICAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAg
ICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0cml4KDAsIC0xLCAxLCAwLCAyNTAsIDApCisg
ICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyd0cmFuc2xhdGUoNTBweCkgIG1hdHJp
eCgtMSwgMCwgMCwgLTEsIDIwMCwgMCkgcm90YXRlKDkwZGVnKScsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGUoNTBweCkgIG1hdHJpeCgtMSwgMCwgMCwgLTEs
IDIwMCwgMCkgcm90YXRlKDkwZGVnKSddIH0sIDEwMDApOworICAgICAgdmFyIGFuaW1hdGlvbiA9
ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgtMSwgLTEsIDAsIDAsIDEwMCwgMTAwKQorICAgICAg
ICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyd0cmFuc2xhdGUoMTAwcHgpIG1hdHJpeCgg
MSwgMSwgMCwgMCwgMCwgMTAwKSByb3RhdGUoMTgwZGVnKScsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZSgxMDBweCkgbWF0cml4KCAxLCAxLCAwLCAwLCAw
LCAxMDApIHJvdGF0ZSgxODBkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMTAwMCwgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgICAgICB0ZXN0QW5pbWF0
aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiBbIC0xLCAtMSwgMCwgMCwgMTAw
LCAxMDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBub24taW52ZXJ0aWJsZSBtYXRyaWNl
cyBpbiBtYXRjaGVkIHRyYW5zZm9ybSBsaXN0cyAobm9uLWludmVydGlibGUgb250byBpbnZlcnRp
YmxlKScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHBy
b3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVt
ZW50KHQsIHNldHVwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0
cml4KC0xLCAtMSwgMCwgMCwgMTAwLCAxMDApCisgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWyd0cmFuc2xhdGUoMTAwcHgpIG1hdHJpeCgxLCAxLCAwLCAwLCAwLCAxMDApIHJvdGF0
ZSgxODBkZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0
ZSgxMDBweCkgbWF0cml4KDEsIDEsIDAsIDAsIDAsIDEwMCkgcm90YXRlKDE4MGRlZyknXSB9LCAx
MDAwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAvLyBtYXRyaXgoMCwg
LTEsIDEsIDAsIDI1MCwgMCkKKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsn
dHJhbnNsYXRlKDUwcHgpICBtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApIHJvdGF0ZSg5MGRl
ZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGUoNTBw
eCkgIG1hdHJpeCgtMSwgMCwgMCwgLTEsIDIwMCwgMCkgcm90YXRlKDkwZGVnKSddIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogJ2FjY3VtdWxh
dGUnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRs
TmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCBleHBl
Y3RlZDogWyAwLCAtMSwgMSwgMCwgMjUwLCAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzog
bm9uLWludmVydGlibGUgbWF0cmljZXMgaW4gbWF0Y2hlZCB0cmFuc2Zvcm0gbGlzdHMgKGludmVy
dGlibGUgb250byBub24taW52ZXJ0aWJsZSknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgewor
ICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0
YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgtMiwgMCwgMCwgLTIsIDI1MCwgMCkKKyAgICAgIHRh
cmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3RyYW5zbGF0ZSg1MHB4KSAgbWF0cml4KC0xLCAw
LCAwLCAtMSwgMjAwLCAwKSBzY2FsZSgyKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICd0cmFuc2xhdGUoNTBweCkgIG1hdHJpeCgtMSwgMCwgMCwgLTEsIDIwMCwgMCkgc2Nh
bGUoMiknXSB9LCAxMDAwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAv
LyBtYXRyaXgoMSwgMSwgMSwgMSwgMTAwLCAxMDApCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsg
W2lkbE5hbWVdOiBbJ3RyYW5zbGF0ZSgxMDBweCkgbWF0cml4KDEsIDEsIDAsIDAsIDAsIDEwMCkg
c2tldyg0NWRlZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFu
c2xhdGUoMTAwcHgpIG1hdHJpeCgxLCAxLCAwLCAwLCAwLCAxMDApIHNrZXcoNDVkZWcpJ10gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiAnYWNj
dW11bGF0ZScgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9u
LCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAs
IGV4cGVjdGVkOiBbIDEsIDEsIDEsIDEsIDEwMCwgMTAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5
ICsgJzogbm9uLWludmVydGlibGUgbWF0cmljZXMgaW4gbWlzbWF0Y2hlZCB0cmFuc2Zvcm0gbGlz
dHMnICsKKyAgICAgICAgICAgICAgICAgICcgKG5vbi1pbnZlcnRpYmxlIG9udG8gaW52ZXJ0aWJs
ZSknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdHJp
eCgxLCAxLCAxLCAxLCAxMDAsIDEwMCkKKyAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVd
OiBbJ3RyYW5zbGF0ZSgxMDBweCkgbWF0cml4KDEsIDEsIDAsIDAsIDAsIDEwMCkgc2tldyg0NWRl
ZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRlKDEwMHB4
KSBtYXRyaXgoMSwgMSwgMCwgMCwgMCwgMTAwKSBza2V3KDQ1ZGVnKSddIH0sIDEwMDApOworICAg
ICAgdmFyIGFuaW1hdGlvbiA9ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgtMiwgMCwgMCwgLTIs
IDI1MCwgMCkKKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsndHJhbnNsYXRl
KDUwcHgpICBtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApIHNjYWxlKDIpJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRlKDUwcHgpICBtYXRyaXgoLTEs
IDAsIDAsIC0xLCAyMDAsIDApIHNjYWxlKDIpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgICAgICB0ZXN0
QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiBbIC0yLCAwLCAwLCAt
MiwgMjUwLCAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUgbWF0
cmljZXMgaW4gbWlzbWF0Y2hlZCB0cmFuc2Zvcm0gbGlzdHMnICsKKyAgICAgICAgICAgICAgICAg
ICcgKGludmVydGlibGUgb250byBub24taW52ZXJ0aWJsZSknKTsKKyAgfSwKK307CisKK2NvbnN0
IGZpbHRlckxpc3RUeXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVy
dHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9
IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RF
bGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7
IFtpZGxOYW1lXToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnYmx1
cigxMHB4KScsICdibHVyKDUwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgICBleHBlY3RlZDogJ2JsdXIoMzBweCkn
IH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGJsdXIgZnVuY3Rpb24nICk7CisKKyAgICB0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0
eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAg
ICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ2h1ZS1yb3Rh
dGUoMGRlZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2h1ZS1yb3RhdGUoMTAwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlv
biwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgICBleHBlY3RlZDogJ2h1ZS1yb3Rh
dGUoNTBkZWcpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBodWUtcm90YXRlIGZ1bmN0aW9u
IHdpdGggc2FtZSB1bml0KGRlZyknICk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAg
IHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0
ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRh
cmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ2h1ZS1yb3RhdGUoMTBkZWcpJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdodWUtcm90YXRlKDEw
MHJhZCknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDApOwor
CisgICAgICAvLyAxMGRlZyA9IDAuMTc0NXJhZC4KKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVz
KGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgICBleHBlY3RlZDog
J2h1ZS1yb3RhdGUoNTAuMDg3M3JhZCknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGh1ZS1y
b3RhdGUgZnVuY3Rpb24gd2l0aCBkaWZmZXJlbnQgdW5pdChkZWcgLT4gcmFkKScpOworCisgICAg
dGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJv
cGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsK
KyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSgKKyAgICAgICAgeyBbaWRsTmFt
ZV06CisgICAgICAgICAgWydkcm9wLXNoYWRvdygxMHB4IDEwcHggMTBweCByZ2JhKDI1NSwgMCwg
MCwgMC40KSknLAorICAgICAgICAgICAnZHJvcC1zaGFkb3coNTBweCA1MHB4IDUwcHggcmdiYSgw
LCAwLCAyNTUsIDAuOCkpJ10gfSwKKyAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RBbmltYXRp
b25TYW1wbGVzKAorICAgICAgICBhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6
IDUwMCwKKyAgICAgICAgICAgIGV4cGVjdGVkOiAnZHJvcC1zaGFkb3cocmdiYSg4NSwgMCwgMTcw
LCAwLjYpIDMwcHggMzBweCAzMHB4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogZHJvcC1z
aGFkb3cgZnVuY3Rpb24nICk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBp
ZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3Jl
YXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5h
bmltYXRlKAorICAgICAgICB7IFtpZGxOYW1lXToKKyAgICAgICAgICBbJ2JyaWdodG5lc3MoMC4x
KSBjb250cmFzdCgwLjEpIGdyYXlzY2FsZSgwLjEpIGludmVydCgwLjEpICcgKworICAgICAgICAg
ICAnb3BhY2l0eSgwLjEpIHNhdHVyYXRlKDAuMSkgc2VwaWEoMC4xKScsCisgICAgICAgICAgICdi
cmlnaHRuZXNzKDAuNSkgY29udHJhc3QoMC41KSBncmF5c2NhbGUoMC41KSBpbnZlcnQoMC41KSAn
ICsKKyAgICAgICAgICAgJ29wYWNpdHkoMC41KSBzYXR1cmF0ZSgwLjUpIHNlcGlhKDAuNSknXSB9
LAorICAgICAgICAxMDAwKTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9u
LCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsCisgICAgICAgICAgIGV4cGVjdGVkOiAn
YnJpZ2h0bmVzcygwLjMpIGNvbnRyYXN0KDAuMykgZ3JheXNjYWxlKDAuMykgJyArCisgICAgICAg
ICAgICdpbnZlcnQoMC4zKSBvcGFjaXR5KDAuMykgc2F0dXJhdGUoMC4zKSBzZXBpYSgwLjMpJyB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBwZXJjZW50YWdlIG9yIG51bWVyaWMtc3BlY2lmaWFi
bGUgZnVuY3Rpb25zJyArCisgICAgICAgJyhudW1iZXIgdmFsdWUpJyk7CisKKyAgICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7
CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAg
dmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKAorICAgICAgICB7IFtpZGxOYW1lXToKKyAg
ICAgICAgICBbJ2JyaWdodG5lc3MoMTAlKSBjb250cmFzdCgxMCUpIGdyYXlzY2FsZSgxMCUpIGlu
dmVydCgxMCUpICcgKworICAgICAgICAgICAnb3BhY2l0eSgxMCUpIHNhdHVyYXRlKDEwJSkgc2Vw
aWEoMTAlKScsCisgICAgICAgICAgICdicmlnaHRuZXNzKDUwJSkgY29udHJhc3QoNTAlKSBncmF5
c2NhbGUoNTAlKSBpbnZlcnQoNTAlKSAnICsKKyAgICAgICAgICAgJ29wYWNpdHkoNTAlKSBzYXR1
cmF0ZSg1MCUpIHNlcGlhKDUwJSknXSB9LAorICAgICAgICAxMDAwKTsKKworICAgICAgdGVzdEFu
aW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAs
CisgICAgICAgICAgIGV4cGVjdGVkOiAnYnJpZ2h0bmVzcygwLjMpIGNvbnRyYXN0KDAuMykgZ3Jh
eXNjYWxlKDAuMykgJyArCisgICAgICAgICAgICdpbnZlcnQoMC4zKSBvcGFjaXR5KDAuMykgc2F0
dXJhdGUoMC4zKSBzZXBpYSgwLjMpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBwZXJjZW50
YWdlIG9yIG51bWVyaWMtc3BlY2lmaWFibGUgZnVuY3Rpb25zJyArCisgICAgICAgJyhwZXJjZW50
YWdlIHZhbHVlKScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFt
ZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRl
c3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0
ZSgKKyAgICAgICAgeyBbaWRsTmFtZV06CisgICAgICAgICAgLy8gVG8gbWFrZSBtaXNzaW5nIGZp
bHRlci1mdW5jdGlvbi1saXN0cywgc3BlY2lmaWVkIHRoZSBncmF5c2NhbGUuCisgICAgICAgICAg
WydncmF5c2NhbGUoMCknLAorICAgICAgICAgICAnZ3JheXNjYWxlKDEpIGJyaWdodG5lc3MoMCkg
Y29udHJhc3QoMCkgb3BhY2l0eSgwKSBzYXR1cmF0ZSgwKScgXX0sCisgICAgICAgIDEwMDApOwor
CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAg
IFt7IHRpbWU6IDUwMCwKKyAgICAgICAgICAgZXhwZWN0ZWQ6ICdncmF5c2NhbGUoMC41KSBicmln
aHRuZXNzKDAuNSkgY29udHJhc3QoMC41KSAnICsKKyAgICAgICAgICAgICAgICAgICAgICdvcGFj
aXR5KDAuNSkgc2F0dXJhdGUoMC41KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogaW50ZXJw
b2xhdGUgZGlmZmVyZW50IGxlbmd0aCBvZiBmaWx0ZXItZnVuY3Rpb24tbGlzdCAnICsKKyAgICAg
ICAnIHdpdGggZnVuY3Rpb24gd2hpY2ggbGFjdW5hIHZhbHVlIGlzIDEnKTsKKworICAgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5
KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoCisgICAgICAgIHsgW2lkbE5hbWVdOgor
ICAgICAgICAgIC8vIFRvIG1ha2UgbWlzc2luZyBmaWx0ZXItZnVuY3Rpb24tbGlzdHMsIHNwZWNp
ZmllZCB0aGUgb3BhY2l0eS4KKyAgICAgICAgICBbJ29wb2FjaXR5KDEpJywKKyAgICAgICAgICAg
J29wYWNpdHkoMCkgZ3JheXNjYWxlKDEpIGludmVydCgxKSBzZXBpYSgxKSBibHVyKDEwcHgpJ10g
fSwKKyAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlv
biwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLAorICAgICAgICAgICBleHBlY3RlZDoK
KyAgICAgICAgICAgJ29wYWNpdHkoMC41KSBncmF5c2NhbGUoMC41KSBpbnZlcnQoMC41KSBzZXBp
YSgwLjUpIGJsdXIoNXB4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogaW50ZXJwb2xhdGUg
ZGlmZmVyZW50IGxlbmd0aCBvZiBmaWx0ZXItZnVuY3Rpb24tbGlzdCAnICsKKyAgICAgICAnIHdp
dGggZnVuY3Rpb24gd2hpY2ggbGFjdW5hIHZhbHVlIGlzIDAnKTsKKworICAgIHRlc3QoZnVuY3Rp
b24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAg
ICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJn
ZXQuc3R5bGUuY29sb3IgPSAicmdiYSgyNTUsIDAsIDAsIDAuNCkiOworICAgICAgdmFyIGFuaW1h
dGlvbiA9IHRhcmdldC5hbmltYXRlKAorICAgICAgICB7IFtpZGxOYW1lXToKKyAgICAgICAgICBb
J2JsdXIoMHB4KScsCisgICAgICAgICAgICdibHVyKDEwcHgpIGRyb3Atc2hhZG93KDEwcHggMTBw
eCAxMHB4IHJnYmEoMCwgMCwgMjU1LCAwLjgpKSddIH0sCisgICAgICAgIDEwMDApOworCisgICAg
ICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRp
bWU6IDUwMCwKKyAgICAgICAgICAgLy8gVGhlIGxhY3VuYSB2YWx1ZSBvZiBkcm9wLXNoYWRvdydz
IGNvbG9yIGlzIHRha2VuIGZyb20KKyAgICAgICAgICAgLy8gdGhlIGNvbG9yIHByb3BlcnR5Lgor
ICAgICAgICAgICBleHBlY3RlZDogJ2JsdXIoNXB4KSBkcm9wLXNoYWRvdyhyZ2JhKDg1LCAwLCAx
NzAsIDAuNikgNXB4IDVweCA1cHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGludGVycG9s
YXRlIGRpZmZlcmVudCBsZW5ndGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3QgJyArCisgICAgICAg
J3dpdGggZHJvcC1zaGFkb3cgZnVuY3Rpb24nKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgewor
ICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0
YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9u
ID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnbm9uZScsICdibHVyKDEwcHgpJ10gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwKTsKKworICAgICAgdGVz
dEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1
MDAsIGV4cGVjdGVkOiAnYmx1cig1cHgpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBpbnRl
cnBvbGF0ZSBmcm9tIG5vbmUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFy
IGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBj
cmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0
LmFuaW1hdGUoCisgICAgICAgIHsgW2lkbE5hbWVdOgorICAgICAgICAgIFsnYmx1cigwcHgpIHVy
bChcIiNmMVwiKScsCisgICAgICAgICAgICdibHVyKDEwcHgpIHVybChcIiNmMlwiKSddfSwKKyAg
ICAgICAgMTAwMCk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5h
bWUsCisgICAgICAgIFt7IHRpbWU6IDQ5OSwgZXhwZWN0ZWQ6ICdibHVyKDBweCkgdXJsKFwiI2Yx
XCIpJyB9LAorICAgICAgICAgeyB0aW1lOiA1MDAsIGV4cGVjdGVkOiAnYmx1cigxMHB4KSB1cmwo
XCIjZjJcIiknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHVybCBmdW5jdGlvbiAoaW50ZXJw
b2FsdGUgYXMgZGlzY3JldGUpJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihw
cm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxO
YW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRl
VGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ2Js
dXIoMTBweCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5h
bWVdOiBbJ2JsdXIoMjBweCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ2JsdXIoNTBweCknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogJ2FkZCcgfSk7CisgICAg
ICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFsgeyB0
aW1lOiAwLCAgICBleHBlY3RlZDogJ2JsdXIoMTBweCkgYmx1cigyMHB4KScgfV0pOworICAgIH0s
IHByb3BlcnR5ICsgJzogYmx1ciBvbiBibHVyJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIg
dGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxl
W2lkbE5hbWVdID0gJ2JsdXIoMTBweCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5h
bmltYXRlKHsgW2lkbE5hbWVdOiBbJ2JyaWdodG5lc3MoODAlKScsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnJpZ2h0bmVzcyg0MCUpJ10gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBj
b21wb3NpdGU6ICdhZGQnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9u
LCBpZGxOYW1lLAorICAgICAgICBbIHsgdGltZTogMCwgICAgZXhwZWN0ZWQ6ICdibHVyKDEwcHgp
IGJyaWdodG5lc3MoMC44KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogZGlmZmVyZW50IGZp
bHRlciBmdW5jdGlvbnMnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5jdGlvbihw
cm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxO
YW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRl
VGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ2Js
dXIoMTBweCkgYnJpZ2h0bmVzcygwLjMpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQu
YW5pbWF0ZSh7IFtpZGxOYW1lXTogWydibHVyKDIwcHgpIGJyaWdodG5lc3MoMC4xKScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmx1cigyMHB4
KSBicmlnaHRuZXNzKDAuMSknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICAgICAg
Ly8gYnJpZ2h0bmVzcygwLjEpIG9udG8gYnJpZ2h0bmVzcygwLjMpIG1lYW5zCisgICAgICAvLyBi
cmlnaHRuZXNzKCgwLjEgLSAxLjApICsgKDAuMyAtIDEuMCkgKyAxLjApLiBUaGUgcmVzdWx0IG9m
IHRoaXMgZm9ybXVsYQorICAgICAgLy8gaXMgYnJpZ2h0bmVzcygtMC42KSB0aGF0IG1lYW5zIGJy
aWdodG5lc3MoMC4wKS4KKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRs
TmFtZSwKKyAgICAgICAgWyB7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiAnYmx1cigzMHB4KSBicmln
aHRuZXNzKDApJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBzYW1lIG9yZGVyZWQgZmlsdGVy
IGZ1bmN0aW9ucycpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFt
ZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRl
c3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdibHVy
KDEwcHgpIGJyaWdodG5lc3MoMS4zKSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFu
aW1hdGUoeyBbaWRsTmFtZV06IFsnYnJpZ2h0bmVzcygxLjIpIGJsdXIoMjBweCknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyaWdodG5lc3Mo
MS4yKSBibHVyKDIwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgICAgIC8v
IE1pc21hdGNoZWQgb3JkZXJlZCBmdW5jdGlvbnMgY2FuJ3QgYmUgYWNjdW11bGF0ZWQuCisgICAg
ICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFsgeyB0
aW1lOiAwLCAgICBleHBlY3RlZDogJ2JyaWdodG5lc3MoMS4yKSBibHVyKDIwcHgpJyB9XSk7Cisg
ICAgfSwgcHJvcGVydHkgKyAnOiBtaXNtYXRjaGVkIG9yZGVyZWQgZmlsdGVyIGZ1bmN0aW9ucycp
OworICB9LAorfTsKKworY29uc3QgdGV4dFNoYWRvd0xpc3RUeXBlID0geworICB0ZXN0SW50ZXJw
b2xhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0
KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAg
dmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmlt
YXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAnbm9uZScsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2IoMTAwLCAxMDAsIDEwMCkg
MTBweCAxMHB4IDEwcHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAx
MDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRp
b24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJlbXVs
dGlwbGllZAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3JnYmEoMTAwLCAxMDAs
IDEwMCwgMC41KSA1cHggNXB4IDVweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogZnJvbSBu
b25lIHRvIG90aGVyJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxO
YW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRl
VGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRh
cmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbICdyZ2IoMTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4
IDEwcHgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbm9uZScgXSB9
LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcg
fSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJlbXVsdGlwbGllZAorICAgICAgICBb
eyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC41KSA1cHggNXB4
IDVweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogZnJvbSBvdGhlciB0byBub25lJyk7CisK
KyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lE
TChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0
dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lk
bE5hbWVdOiBbICdyZ2IoMCwgMCwgMCkgMHB4IDBweCAwcHgnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAncmdiKDEwMCwgMTAwLCAxMDApIDEwcHggMTBweCAxMHB4J10g
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgn
IH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAg
ICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3JnYig1MCwgNTAsIDUwKSA1cHggNXB4IDVw
eCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogc2luZ2xlIHNoYWRvdycpOworCisgICAgdGVz
dChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVy
dHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAg
ICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTog
WyAncmdiKDAsIDAsIDApIDBweCAwcHggMHB4LCAnCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICArICdyZ2IoMjAwLCAyMDAsIDIwMCkgMjBweCAyMHB4IDIwcHgnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiKDEwMCwgMTAwLCAxMDApIDEwcHgg
MTBweCAxMHB4LCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICdyZ2Io
MTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAg
ICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9u
U2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVj
dGVkOiAncmdiKDUwLCA1MCwgNTApIDVweCA1cHggNXB4LCAnCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKyAncmdiKDE1MCwgMTUwLCAxNTApIDE1cHggMTVweCAxNXB4JyB9XSk7Cisg
ICAgfSwgcHJvcGVydHkgKyAnOiBzaGFkb3cgbGlzdCcpOworCisgICAgdGVzdChmdW5jdGlvbih0
KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAg
dmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmlt
YXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncmdiKDIwMCwg
MjAwLCAyMDApIDIwcHggMjBweCAyMHB4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEwcHggMTBweCwgJworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAncmdiKDEwMCwgMTAwLCAxMDApIDEwcHggMTBw
eCAxMHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmls
bDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxO
YW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3JnYigxNTAsIDE1MCwgMTUw
KSAxNXB4IDE1cHggMTVweCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJ3Jn
YmEoMTAwLCAxMDAsIDEwMCwgMC41KSA1cHggNXB4IDVweCcgfV0pOworICAgIH0sIHByb3BlcnR5
ICsgJzogbWlzbWF0Y2hlZCBsaXN0IGxlbmd0aCAoZnJvbSBsb25nZXIgdG8gc2hvcnRlciknKTsK
KworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRv
SURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBz
ZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBb
aWRsTmFtZV06IFsgJ3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEwcHggMTBweCwgJworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAncmdiKDEwMCwgMTAwLCAxMDApIDEwcHgg
MTBweCAxMHB4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYigy
MDAsIDIwMCwgMjAwKSAyMHB4IDIwcHggMjBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAg
IHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25T
YW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0
ZWQ6ICdyZ2IoMTUwLCAxNTAsIDE1MCkgMTVweCAxNXB4IDE1cHgsICcKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICArICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNSkgNXB4IDVweCA1cHgn
IH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IG1pc21hdGNoZWQgbGlzdCBsZW5ndGggKGZyb20g
c2hvcnRlciB0byBsb25nZXIpJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZh
ciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0g
Y3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlLmNvbG9yID0g
J3JnYigwLCAyNTUsIDApJzsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQu
YW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAnY3VycmVudGNvbG9yIDBweCAwcHggMHB4JywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2N1cnJlbnRjb2xvciAxMHB4IDEwcHgg
MTBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6
ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFt
ZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdyZ2IoMCwgMjU1LCAwKSA1cHgg
NXB4IDVweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogd2l0aCBjdXJyZW50Y29sb3InKTsK
KyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAg
IHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHBy
b3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7
CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAncmdiKDAsIDAsIDApIDBweCAwcHggMHB4
JzsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWyAncmdiKDEyMCwgMTIwLCAxMjApIDEwcHggMTBweCAxMHB4JywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYigxMjAsIDEyMCwgMTIwKSAxMHB4IDEwcHgg
MTBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBv
c2l0ZTogJ2FkZCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlk
bE5hbWUsCisgICAgICAgIFsgeyB0aW1lOiAwLCBleHBlY3RlZDogJ3JnYigwLCAwLCAwKSAwcHgg
MHB4IDBweCwgJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYigxMjAsIDEy
MCwgMTIwKSAxMHB4IDEwcHggMTBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogc2hhZG93
Jyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVw
KSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5
VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQs
IHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdyZ2IoMTIwLCAxMjAsIDEy
MCkgMTBweCAxMHB4IDEwcHgnOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdl
dC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbICdyZ2IoMTIwLCAxMjAsIDEyMCkgMTBweCAxMHB4IDEw
cHgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiKDEyMCwgMTIw
LCAxMjApIDEwcHggMTBweCAxMHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMTAwMCwgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgICAgICB0ZXN0QW5pbWF0
aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFsgeyB0aW1lOiAwLCBleHBl
Y3RlZDogJ3JnYigyNDAsIDI0MCwgMjQwKSAyMHB4IDIwcHggMjBweCcgfV0pOworICAgIH0sIHBy
b3BlcnR5ICsgJzogc2hhZG93Jyk7CisgIH0sCit9OworCisKK2NvbnN0IGJveFNoYWRvd0xpc3RU
eXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7
CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9J
REwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNl
dHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtp
ZGxOYW1lXTogWyAnbm9uZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdyZ2IoMTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHggMHB4J10gfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVz
dEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIFByZW11bHRpcGxpZWQKKyAgICAgICAgW3sgdGltZTogNTAwLCAg
ZXhwZWN0ZWQ6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNSkgNXB4IDVweCA1cHggMHB4JyB9XSk7
CisgICAgfSwgcHJvcGVydHkgKyAnOiBmcm9tIG5vbmUgdG8gb3RoZXInKTsKKworICAgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5
KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsg
J3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEwcHggMTBweCAwcHgnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnbm9uZScgXSB9LAorICAgICAgICAgICAgICAgICAgICAg
ICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9u
U2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gUHJlbXVsdGlwbGllZAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDog
J3JnYmEoMTAwLCAxMDAsIDEwMCwgMC41KSA1cHggNXB4IDVweCAwcHgnIH1dKTsKKyAgICB9LCBw
cm9wZXJ0eSArICc6IGZyb20gb3RoZXIgdG8gbm9uZScpOworCisgICAgdGVzdChmdW5jdGlvbih0
KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAg
dmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmlt
YXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncmdiKDAsIDAs
IDApIDBweCAwcHggMHB4IDBweCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdyZ2IoMTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHggMHB4J10gfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1l
OiA1MDAsICBleHBlY3RlZDogJ3JnYig1MCwgNTAsIDUwKSA1cHggNXB4IDVweCAwcHgnIH1dKTsK
KyAgICB9LCBwcm9wZXJ0eSArICc6IHNpbmdsZSBzaGFkb3cnKTsKKworICAgIHRlc3QoZnVuY3Rp
b24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAg
ICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIg
YW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgJ3JnYigw
LCAwLCAwKSAwcHggMHB4IDBweCAwcHgsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICsgJ3JnYigyMDAsIDIwMCwgMjAwKSAyMHB4IDIwcHggMjBweCAyMHB4JywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4
IDEwcHggMTBweCAwcHgsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsg
J3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEwcHggMTBweCAwcHgnXSB9LAorICAgICAgICAgICAg
ICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0
QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUw
MCwgIGV4cGVjdGVkOiAncmdiKDUwLCA1MCwgNTApIDVweCA1cHggNXB4IDBweCwgJworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICsgJ3JnYigxNTAsIDE1MCwgMTUwKSAxNXB4IDE1cHgg
MTVweCAxMHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBzaGFkb3cgbGlzdCcpOworCisg
ICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwo
cHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVw
KTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWyAncmdiKDIwMCwgMjAwLCAyMDApIDIwcHggMjBweCAyMHB4IDIwcHgnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiKDEwMCwgMTAwLCAxMDApIDEwcHgg
MTBweCAxMHB4IDBweCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAn
cmdiKDEwMCwgMTAwLCAxMDApIDEwcHggMTBweCAxMHB4IDBweCddIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RB
bmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAw
LCAgZXhwZWN0ZWQ6ICdyZ2IoMTUwLCAxNTAsIDE1MCkgMTVweCAxNXB4IDE1cHggMTBweCwgJwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC41
KSA1cHggNXB4IDVweCAwcHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IG1pc21hdGNoZWQg
bGlzdCBsZW5ndGggKGZyb20gc2hvcnRlciB0byBsb25nZXIpJyk7CisKKyAgICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7Cisg
ICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFy
IGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbICdyZ2Io
MTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHggMHB4LCAnCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICArICdyZ2IoMTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHggMHB4
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYigyMDAsIDIwMCwg
MjAwKSAyMHB4IDIwcHggMjBweCAyMHB4J119LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1
cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxl
cyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAn
cmdiKDE1MCwgMTUwLCAxNTApIDE1cHggMTVweCAxNXB4IDEwcHgsICcKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICArICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNSkgNXB4IDVweCA1cHgg
MHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBtaXNtYXRjaGVkIGxpc3QgbGVuZ3RoIChm
cm9tIGxvbmdlciB0byBzaG9ydGVyKScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAg
ICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdl
dCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZS5jb2xv
ciA9ICdyZ2IoMCwgMjU1LCAwKSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFy
Z2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgJ2N1cnJlbnRjb2xvciAwcHggMHB4IDBweCAwcHgn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3VycmVudGNvbG9yIDEw
cHggMTBweCAxMHB4IDEwcHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9u
OiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmlt
YXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAncmdiKDAs
IDI1NSwgMCkgNXB4IDVweCA1cHggNXB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiB3aXRo
IGN1cnJlbnRjb2xvcicpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJvcGVy
dHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9
IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RF
bGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdyZ2IoMCwg
MCwgMCkgMHB4IDBweCAwcHggMHB4JzsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0
YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncmdiKDEyMCwgMTIwLCAxMjApIDEwcHggMTBw
eCAxMHB4IDBweCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2Io
MTIwLCAxMjAsIDEyMCkgMTBweCAxMHB4IDEwcHggMHB4J10gfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiAnYWRkJyB9KTsKKyAgICAgIHRlc3RB
bmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgWyB7IHRpbWU6IDAs
IGV4cGVjdGVkOiAncmdiKDAsIDAsIDApIDBweCAwcHggMHB4IDBweCwgJyArCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3JnYigxMjAsIDEyMCwgMTIwKSAxMHB4IDEwcHggMTBweCAw
cHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHNoYWRvdycpOworICB9LAorCisgIHRlc3RB
Y2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRlc3QoZnVuY3Rp
b24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAg
ICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJn
ZXQuc3R5bGVbaWRsTmFtZV0gPSAncmdiKDEyMCwgMTIwLCAxMjApIDEwcHggMTBweCAxMHB4IDEw
cHgnOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lk
bE5hbWVdOiBbICdyZ2IoMTIwLCAxMjAsIDEyMCkgMTBweCAxMHB4IDEwcHggMTBweCcsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2IoMTIwLCAxMjAsIDEyMCkgMTBw
eCAxMHB4IDEwcHggMTBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMDAsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNh
bXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGltZTogMCwgZXhwZWN0ZWQ6
ICdyZ2IoMjQwLCAyNDAsIDI0MCkgMjBweCAyMHB4IDIwcHggMjBweCcgfV0pOworICAgIH0sIHBy
b3BlcnR5ICsgJzogc2hhZG93Jyk7CisgIH0sCit9OworCitjb25zdCBwb3NpdGlvblR5cGUgPSB7
CisgIHRlc3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICBs
ZW5ndGhQYWlyVHlwZS50ZXN0SW50ZXJwb2xhdGlvbihwcm9wZXJ0eSwgc2V0dXApOworCisgICAg
dGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJv
cGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsK
KyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWycxMCUg
MTAlJywgJzUwJSA1MCUnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25T
YW1wbGVzKAorICAgICAgICBhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUw
MCwgIGV4cGVjdGVkOiBjYWxjRnJvbVBlcmNlbnRhZ2UoaWRsTmFtZSwgJzMwJSAzMCUnKSB9XSk7
CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBhIHBvc2l0aW9uIG9m
IHBlcmNlbnQnKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbjogZnVuY3Rp
b24ocHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUpIHsKKyAgICBsZW5ndGhQYWlyVHlwZS50ZXN0
QWRkaXRpb24ocHJvcGVydHksIHNldHVwKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAg
ICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJn
ZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRs
TmFtZV0gPSAnNjAlIDYwJSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsnNzAlIDcwJScsICcxMDAlIDEwMCUnXSB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9z
aXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoCisgICAgICAgIGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0ZWQ6IGNhbGNGcm9tUGVyY2VudGFn
ZShpZGxOYW1lLCAnMTMwJSAxMzAlJykgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogcG9zaXRp
b24gb2YgcGVyY2VudGFnZScpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJv
cGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9w
ZXJ0eSwgc2V0dXAsICdhZGQnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5jdGlv
bihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9u
KHByb3BlcnR5LCBzZXR1cCwgJ2FjY3VtdWxhdGUnKTsKKyAgfSwKK307CisKK2NvbnN0IHJlY3RU
eXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7
CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9J
REwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNl
dHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXToK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWydyZWN0KDEwcHgsIDEw
cHgsIDEwcHgsIDEwcHgpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdyZWN0KDUwcHgsIDUwcHgsIDUwcHgsIDUwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7Cisg
ICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcygKKyAgICAgICAgICBhbmltYXRpb24sIGlkbE5hbWUs
CisgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdyZWN0KDMwcHgsIDMwcHgsIDMw
cHgsIDMwcHgpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBh
cyBhIHJlY3QnKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbjogZnVuY3Rp
b24ocHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIg
dGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxl
W2lkbE5hbWVdID0gJ3JlY3QoMTAwcHgsIDEwMHB4LCAxMDBweCwgMTAwcHgpJzsKKyAgICAgIHZh
ciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXToKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWydyZWN0KDEwcHgsIDEwcHgsIDEwcHgsIDEwcHgp
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWN0KDEwcHgs
IDEwcHgsIDEwcHgsIDEwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRl
c3RBbmltYXRpb25TYW1wbGVzKAorICAgICAgICBhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAg
IFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAncmVjdCgxMTBweCwgMTEwcHgsIDExMHB4LCAxMTBweCkn
IH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHJlY3QnKTsKKyAgfSwKKworICB0ZXN0QWRkaXRp
b246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JB
Y2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAnYWRkJyk7CisgIH0sCisKKyAgdGVzdEFjY3Vt
dWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRp
b25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhY2N1bXVsYXRlJyk7CisgIH0sCit9
CisKKy8vIHN0cm9rZS1kYXNoYXJyYXk6IG5vbmUgfCBbIDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+
IHwgPG51bWJlcj4gXSoKK2NvbnN0IGRhc2hhcnJheVR5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0
aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICBwZXJjZW50YWdlVHlwZS50ZXN0
SW50ZXJwb2xhdGlvbihwcm9wZXJ0eSwgc2V0dXApOworICAgIHBvc2l0aXZlTnVtYmVyVHlwZS50
ZXN0SW50ZXJwb2xhdGlvbihwcm9wZXJ0eSwgc2V0dXApOworCisgICAgdGVzdChmdW5jdGlvbih0
KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAg
dmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmlt
YXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXToKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgWyc4LCAxNiwgNCcsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnNCwgOCwgMTIsIDE2J10gfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7Cisg
ICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcygKKyAgICAgICAgICBhbmltYXRpb24sIGlkbE5hbWUs
CisgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICc2LCAxMiwgOCwgMTIsIDEwLCA2
LCAxMCwgMTYsIDQsIDgsIDE0LCAxMCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0
cyBhbmltYXRpbmcgYXMgYSBkYXNoYXJyYXkgKG1pc21hdGNoZWQgbGVuZ3RoKScpOworCisgICAg
dGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJv
cGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsK
KyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXToKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycyLCA1MCUsIDYsIDEwJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc2LCAzMCUsIDIsIDInXSB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAs
IGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKAorICAgICAgICAg
IGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDog
JzQsIDQwJSwgNCwgNicgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRp
bmcgYXMgYSBkYXNoYXJyYXkgKG1peGVkIG51bWJlciBhbmQgcGVyY2VudGFnZSknKTsKKworICB9
LAorCisgIC8vIE5vdGUgdGhhdCBzdHJva2UtZGFzaGFycmF5IGlzIG5laXRoZXIgYWRkaXRpdmUg
bm9yIGN1bXVsYXRpdmUsIHNvIHdlIHNob3VsZAorICAvLyB3cml0ZSB0aGlzIGFkZGl0aXZlIHRl
c3QgY2FzZSB0aGF0IGFuaW1hdGluZyB2YWx1ZSByZXBsYWNlcyB1bmRlcmx5aW5nCisgIC8vIHZh
bHVlcy4KKyAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9TVkcyL3BhaW50aW5nLmh0bWwj
U3Ryb2tlRGFzaGluZy4KKyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHBy
b3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAg
ICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdl
dCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxO
YW1lXSA9ICc2LCAzMCUsIDJweCc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1h
dGUoeyBbaWRsTmFtZV06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFsnMSwgMiwgMywgNCwgNScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnNiwgNywgOCwgOSwgMTAnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoCisgICAgICAgICAgYW5pbWF0aW9uLCBpZGxOYW1lLAorICAg
ICAgICAgIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAnMSwgMiwgMywgNCwgNScgfV0pOworICAgIH0s
IHByb3BlcnR5ICsgJzogZGFzaGFycmF5Jyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5j
dGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0
aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FkZCcpOworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246
IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1
bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAnYWNjdW11bGF0ZScpOworICB9LAorfQorCitjb25z
dCBmb250U3RyZXRjaFR5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihwcm9w
ZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1l
ID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVz
dEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdl
dC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3VsdHJhLWNvbmRlbnNlZCcsICdleHRyYS1jb25kZW5z
ZWQnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAn
Ym90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiA0OTksICBleHBlY3RlZDogJ3Vs
dHJhLWNvbmRlbnNlZCcgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDUw
MCwgIGV4cGVjdGVkOiAnZXh0cmEtY29uZGVuc2VkJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAn
IHN1cHBvcnRzIGFuaW1hdGluZyBhcyBhIGZvbnQtc3RyZXRjaCAoYWRqYWNlbnQgdmFsdWVzKScp
OworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5
VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQs
IHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7
IFtpZGxOYW1lXTogWyd1bHRyYS1jb25kZW5zZWQnLCAnY29uZGVuc2VkJ10gfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdleHRyYS1jb25kZW5zZWQnIH1d
KTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGEgZm9udC1zdHJl
dGNoIChiZXR3ZWVuIHZhbHVlKScpOworICB9LAorCisgIHRlc3RBZGRpdGlvbk9yQWNjdW11bGF0
aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAsIGNvbXBvc2l0ZSkgeworICAgIHRlc3QoZnVu
Y3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsK
KyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0
YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnY29uZGVuc2VkJzsKKyAgICAgIHZhciBhbmltYXRpb24g
PQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydleHBhbmRlZCcsICd1bHRy
YS1leHBhbmRlZCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAs
IGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5p
bWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwg
ZXhwZWN0ZWQ6ICdub3JtYWwnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1l
OiAyNTAsIGV4cGVjdGVkOiAnc2VtaS1leHBhbmRlZCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsg
JyB1c2VzIGZvbnQtc3RyZXRjaCBiZWhhdmlvciBmb3IgY29tcG9zaXRlIHR5cGUgJyArIGNvbXBv
c2l0ZSk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAp
IHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwg
J2FkZCcpOworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBz
ZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNl
dHVwLCAnYWNjdW11bGF0ZScpOworICB9LAorfQorCitjb25zdCBmb250VmFyaWF0aW9uU2V0dGlu
Z3NUeXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogKHByb3BlcnR5LCBzZXR1cCkgPT4gewor
ICAgIHRlc3QodCA9PiB7CisgICAgICBjb25zdCBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9w
ZXJ0eSk7CisgICAgICBjb25zdCB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7
CisgICAgICBjb25zdCBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWycid2dodCIgMS4xJywgJyJ3Z2h0IiAxLjUnXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0
aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbeyB0aW1lOiAwLCAgZXhwZWN0ZWQ6ICcid2dodCIgMS4xJyB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgdGltZTogMjUwLCAgZXhwZWN0ZWQ6ICcid2dodCIgMS4yJyB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsgdGltZTogNzUwLCAgZXhwZWN0ZWQ6ICcid2dodCIg
MS40JyB9IF0pOworICAgIH0sIGAke3Byb3BlcnR5fSBzdXBwb3J0cyBhbmltYXRpb24gYXMgZmxv
YXRgKTsKKworICAgIHRlc3QodCA9PiB7CisgICAgICBjb25zdCBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICBjb25zdCB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0
LCBzZXR1cCk7CisgICAgICBjb25zdCBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWycid2R0aCIgMSwgIndnaHQiIDEuMScsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJyJ3Z2h0IiAxLjUsICJ3ZHRoIiA1J10gfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXNXaXRoQW55T3JkZXIoCisgICAgICAgIGFuaW1hdGlvbiwgaWRs
TmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0ZWQ6ICcid2R0aCIgMSwgIndnaHQiIDEu
MScgfSwKKyAgICAgICAgIHsgdGltZTogMjUwLCBleHBlY3RlZDogJyJ3ZHRoIiAyLCAid2dodCIg
MS4yJyB9LAorICAgICAgICAgeyB0aW1lOiA3NTAsIGV4cGVjdGVkOiAnIndkdGgiIDQsICJ3Z2h0
IiAxLjQnIH0gXSk7CisgICAgfSwgYCR7cHJvcGVydHl9IHN1cHBvcnRzIGFuaW1hdGlvbiBhcyBm
bG9hdCB3aXRoIG11bHRpcGxlIHRhZ3NgKTsKKworICAgIHRlc3QodCA9PiB7CisgICAgICBjb25z
dCBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICBjb25zdCB0YXJnZXQg
PSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICBjb25zdCBhbmltYXRpb24gPQor
ICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWycid2R0aCIgMSwgIndnaHQiIDEu
MScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyJ3Z2h0IiAxMCwgIndk
dGgiIDUsICJ3Z2h0IiAxLjUnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9u
OiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlc1dpdGhB
bnlPcmRlcigKKyAgICAgICAgYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiAy
NTAsIGV4cGVjdGVkOiAnIndkdGgiIDIsICJ3Z2h0IiAxLjInIH0sCisgICAgICAgICB7IHRpbWU6
IDc1MCwgZXhwZWN0ZWQ6ICcid2R0aCIgNCwgIndnaHQiIDEuNCcgfSBdKTsKKyAgICB9LCBgJHtw
cm9wZXJ0eX0gc3VwcG9ydHMgYW5pbWF0aW9uIGFzIGZsb2F0IHdpdGggbXVsdGlwbGUgZHVwbGlj
YXRlIHRhZ3NgKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbjogKHByb3Bl
cnR5LCBzZXR1cCwgY29tcG9zaXRlKSA9PiB7CisgICAgdGVzdCh0ID0+IHsKKyAgICAgIGNvbnN0
IGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIGNvbnN0IHRhcmdldCA9
IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1l
XSA9ICcid2dodCIgMSc7CisgICAgICBjb25zdCBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQu
YW5pbWF0ZSh7IFtpZGxOYW1lXTogWycid2dodCIgMS4xJywgJyJ3Z2h0IiAxLjUnXSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0
ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDI1MCwgIGV4cGVjdGVkOiAnIndnaHQi
IDIuMicgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDc1MCwgIGV4cGVj
dGVkOiAnIndnaHQiIDIuNCcgfSBdKTsKKyAgICB9LCBgJHtwcm9wZXJ0eX0gd2l0aCBjb21wb3Np
dGUgdHlwZSAke2NvbXBvc2l0ZX1gKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9u
KHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24o
cHJvcGVydHksIHNldHVwLCAnYWRkJyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjogZnVu
Y3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxh
dGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhY2N1bXVsYXRlJyk7CisgIH0sCit9CisKK2NvbnN0IHR5
cGVzID0geworICBjb2xvcjogY29sb3JUeXBlLAorICBkaXNjcmV0ZTogZGlzY3JldGVUeXBlLAor
ICBmaWx0ZXJMaXN0OiBmaWx0ZXJMaXN0VHlwZSwKKyAgaW50ZWdlcjogaW50ZWdlclR5cGUsCisg
IHBvc2l0aXZlSW50ZWdlcjogcG9zaXRpdmVJbnRlZ2VyVHlwZSwKKyAgbGVuZ3RoOiBsZW5ndGhU
eXBlLAorICBwZXJjZW50YWdlOiBwZXJjZW50YWdlVHlwZSwKKyAgbGVuZ3RoUGVyY2VudGFnZU9y
Q2FsYzogbGVuZ3RoUGVyY2VudGFnZU9yQ2FsY1R5cGUsCisgIGxlbmd0aFBhaXI6IGxlbmd0aFBh
aXJUeXBlLAorICBwb3NpdGl2ZU51bWJlcjogcG9zaXRpdmVOdW1iZXJUeXBlLAorICBvcGFjaXR5
OiBvcGFjaXR5VHlwZSwKKyAgdHJhbnNmb3JtTGlzdDogdHJhbnNmb3JtTGlzdFR5cGUsCisgIHZp
c2liaWxpdHk6IHZpc2liaWxpdHlUeXBlLAorICBib3hTaGFkb3dMaXN0OiBib3hTaGFkb3dMaXN0
VHlwZSwKKyAgdGV4dFNoYWRvd0xpc3Q6IHRleHRTaGFkb3dMaXN0VHlwZSwKKyAgcmVjdDogcmVj
dFR5cGUsCisgIHBvc2l0aW9uOiBwb3NpdGlvblR5cGUsCisgIGRhc2hhcnJheTogZGFzaGFycmF5
VHlwZSwKKyAgZm9udFN0cmV0Y2g6IGZvbnRTdHJldGNoVHlwZSwKKyAgZm9udFZhcmlhdGlvblNl
dHRpbmdzOiBmb250VmFyaWF0aW9uU2V0dGluZ3NUeXBlLAorfTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9jb21iaW5pbmct
ZWZmZWN0cy9lZmZlY3QtY29tcG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2NvbWJpbmluZy1lZmZlY3RzL2Vm
ZmVjdC1jb21wb3NpdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhjMDk2ZTViOGZkMzQy
MWM2MWEyZDMyZDcxNjNkYTkxNTIyMWM3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9jb21iaW5pbmctZWZmZWN0
cy9lZmZlY3QtY29tcG9zaXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKKworRkFJ
TCBhY2N1bXVsYXRlIG9udG8gdGhlIGJhc2UgdmFsdWUgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbJzBweCcsICcxMHB4J10sIGNv
bXBvc2l0ZSB9LCAxMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIGFjY3Vt
dWxhdGUgb250byBhbiB1bmRlcmx5aW5nIGFuaW1hdGlvbiB2YWx1ZSBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG1hcmdpbkxlZnQ6IFsnMTBweCcsICcy
MHB4J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvc2l0ZTogJ3JlcGxhY2Un
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIENvbXBvc2l0ZSB3aGVuIG1peGluZyBhY2N1bXVsYXRlIGFuZCByZXBs
YWNlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKFt7IG1h
cmdpbkxlZnQ6ICcxMHB4JywgY29tcG9zaXRlIH0sCisgICAgICAgICAgICAgICAgICAgeyBtYXJn
aW5MZWZ0OiAnMzBweCcsIGNvbXBvc2l0ZTogJ3JlcGxhY2UnIH1dLAorICAgICAgICAgICAgICAg
ICAgMTAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBhY2N1bXVsYXRlIHNw
ZWNpZmllZCBvbiBhIGtleWZyYW1lIG92ZXJyaWRlcyB0aGUgY29tcG9zaXRlIG1vZGUgb2YgdGhl
IGVmZmVjdCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRl
Li4uJykKK0ZBSUwgdW5zcGVjaWZpZWQgY29tcG9zaXRlIG1vZGUgb24gYSBrZXlmcmFtZSBpcyBv
dmVycmlkZW4gYnkgc2V0dGluZyBhY2N1bXVsYXRlIG9mIHRoZSBlZmZlY3QgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoW3sgbWFyZ2luTGVmdDogJzEwcHgn
LCBjb21wb3NpdGU6ICdyZXBsYWNlJyB9LAorICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVm
dDogJzIwcHgnIH1dLAorICAgICAgICAgICAgICAgICAgMTAwKScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBhZGQgb250byB0aGUgYmFzZSB2YWx1ZSBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG1hcmdpbkxlZnQ6IFsnMHB4JywgJzEw
cHgnXSwgY29tcG9zaXRlIH0sIDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgYWRkIG9udG8gYW4gdW5kZXJseWluZyBhbmltYXRpb24gdmFsdWUgZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbJzEwcHgnLCAn
MjBweCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGU6ICdyZXBsYWNl
JyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwKScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBDb21wb3NpdGUgd2hlbiBtaXhpbmcgYWRkIGFuZCByZXBsYWNlIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKFt7IG1hcmdpbkxl
ZnQ6ICcxMHB4JywgY29tcG9zaXRlIH0sCisgICAgICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0
OiAnMzBweCcsIGNvbXBvc2l0ZTogJ3JlcGxhY2UnIH1dLAorICAgICAgICAgICAgICAgICAgMTAw
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBhZGQgc3BlY2lmaWVkIG9uIGEg
a2V5ZnJhbWUgb3ZlcnJpZGVzIHRoZSBjb21wb3NpdGUgbW9kZSBvZiB0aGUgZWZmZWN0IHVuZGVm
aW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCB1
bnNwZWNpZmllZCBjb21wb3NpdGUgbW9kZSBvbiBhIGtleWZyYW1lIGlzIG92ZXJyaWRlbiBieSBz
ZXR0aW5nIGFkZCBvZiB0aGUgZWZmZWN0IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKFt7IG1hcmdpbkxlZnQ6ICcxMHB4JywgY29tcG9zaXRlOiAncmVwbGFj
ZScgfSwKKyAgICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6ICcyMHB4JyB9XSwKKyAgICAg
ICAgICAgICAgICAgIDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVs
L2NvbWJpbmluZy1lZmZlY3RzL2VmZmVjdC1jb21wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2NvbWJpbmluZy1lZmZlY3Rz
L2VmZmVjdC1jb21wb3NpdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2MDRiZDIxZTllYjdjZmE3Mjk4
YjA4YTM1Yjk1ZDg5ZGJjN2FhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvY29tYmluaW5nLWVmZmVjdHMvZWZm
ZWN0LWNvbXBvc2l0aW9uLmh0bWwKQEAgLTAsMCArMSw4NSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3QgZm9yIGVmZmVjdCBjb21wb3NpdGlvbjwv
dGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWIt
YW5pbWF0aW9ucy8jZWZmZWN0LWNvbXBvc2l0aW9uIj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7
CisKK1sgJ2FjY3VtdWxhdGUnLCAnYWRkJyBdLmZvckVhY2goZnVuY3Rpb24oY29tcG9zaXRlKSB7
CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgICAg
ZGl2LnN0eWxlLm1hcmdpbkxlZnQgPSAnMTBweCc7CisgICAgdmFyIGFuaW0gPQorICAgICAgZGl2
LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbJzBweCcsICcxMHB4J10sIGNvbXBvc2l0ZSB9LCAxMDAp
OworCisgICAgYW5pbS5jdXJyZW50VGltZSA9IDUwOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcxNXB4JywKKyAgICAgICdBbmltYXRlZCBtYXJn
aW4tbGVmdCBzdHlsZSBhdCA1MCUnKTsKKyAgfSwgY29tcG9zaXRlICsgJyBvbnRvIHRoZSBiYXNl
IHZhbHVlJyk7CisKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGRpdiA9IGNyZWF0ZURp
dih0KTsKKyAgICB2YXIgYW5pbXMgPSBbXTsKKyAgICBhbmltcy5wdXNoKGRpdi5hbmltYXRlKHsg
bWFyZ2luTGVmdDogWycxMHB4JywgJzIwcHgnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29tcG9zaXRlOiAncmVwbGFjZScgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDEw
MCkpOworICAgIGFuaW1zLnB1c2goZGl2LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbJzBweCcsICcx
MHB4J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvc2l0ZSB9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTAwKSk7CisKKyAgICBhbmltcy5mb3JFYWNoKGZ1bmN0aW9u
KGFuaW0pIHsKKyAgICAgIGFuaW0uY3VycmVudFRpbWUgPSA1MDsKKyAgICB9KTsKKworICAgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcyMHB4JywKKyAg
ICAgICdBbmltYXRlZCBzdHlsZSBhdCA1MCUnKTsKKyAgfSwgY29tcG9zaXRlICsgJyBvbnRvIGFu
IHVuZGVybHlpbmcgYW5pbWF0aW9uIHZhbHVlJyk7CisKKyAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgICBkaXYuc3R5bGUubWFyZ2luTGVmdCA9ICcx
MHB4JzsKKyAgICB2YXIgYW5pbSA9CisgICAgICBkaXYuYW5pbWF0ZShbeyBtYXJnaW5MZWZ0OiAn
MTBweCcsIGNvbXBvc2l0ZSB9LAorICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDogJzMw
cHgnLCBjb21wb3NpdGU6ICdyZXBsYWNlJyB9XSwKKyAgICAgICAgICAgICAgICAgIDEwMCk7CisK
KyAgICBhbmltLmN1cnJlbnRUaW1lID0gNTA7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzI1cHgnLAorICAgICAgJ0FuaW1hdGVkIHN0eWxlIGF0
IDUwJScpOworICB9LCAnQ29tcG9zaXRlIHdoZW4gbWl4aW5nICcgKyBjb21wb3NpdGUgKyAnIGFu
ZCByZXBsYWNlJyk7CisKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgICBkaXYuc3R5bGUubWFyZ2luTGVmdCA9ICcxMHB4JzsKKyAgICB2YXIgYW5p
bSA9CisgICAgICBkaXYuYW5pbWF0ZShbeyBtYXJnaW5MZWZ0OiAnMTBweCcsIGNvbXBvc2l0ZTog
J3JlcGxhY2UnIH0sCisgICAgICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBweCcgfV0s
CisgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgLCBjb21wb3NpdGUgfSk7CisKKyAg
ICBhbmltLmN1cnJlbnRUaW1lID0gNTA7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0
eWxlKGRpdikubWFyZ2luTGVmdCwgJzIwcHgnLAorICAgICAgJ0FuaW1hdGVkIHN0eWxlIGF0IDUw
JScpOworICB9LCBjb21wb3NpdGUgKyAnIHNwZWNpZmllZCBvbiBhIGtleWZyYW1lIG92ZXJyaWRl
cyB0aGUgY29tcG9zaXRlIG1vZGUgb2YgJyArCisgICAgICd0aGUgZWZmZWN0Jyk7CisKKyAgdGVz
dChmdW5jdGlvbih0KSB7CisgICAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgICBkaXYuc3R5
bGUubWFyZ2luTGVmdCA9ICcxMHB4JzsKKyAgICB2YXIgYW5pbSA9CisgICAgICBkaXYuYW5pbWF0
ZShbeyBtYXJnaW5MZWZ0OiAnMTBweCcsIGNvbXBvc2l0ZTogJ3JlcGxhY2UnIH0sCisgICAgICAg
ICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBweCcgfV0sCisgICAgICAgICAgICAgICAgICAx
MDApOworCisgICAgYW5pbS5lZmZlY3QuY29tcG9zaXRlID0gY29tcG9zaXRlOworICAgIGFuaW0u
Y3VycmVudFRpbWUgPSA1MDsgICAgICAgICAgICAgICAgICAgICAgIC8vICgxMCArICgxMCArIDIw
KSkgKiAwLjUKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5M
ZWZ0LCAnMjBweCcsCisgICAgICAnQW5pbWF0ZWQgc3R5bGUgYXQgNTAlJyk7CisgIH0sICd1bnNw
ZWNpZmllZCBjb21wb3NpdGUgbW9kZSBvbiBhIGtleWZyYW1lIGlzIG92ZXJyaWRlbiBieSBzZXR0
aW5nICcgKworICAgICBjb21wb3NpdGUgKyAnIG9mIHRoZSBlZmZlY3QnKTsKK30pOworCis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2Fu
aW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1jb250ZXh0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1t
b2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1jb250ZXh0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44YTRhNDYwNmE2NDFmMjAwY2UzNzI5MGM0MTAwNDliMmQxNGI4MDRkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0
aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLWNvbnRleHQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKKworRkFJTCBFZmZlY3QgdmFsdWVzIHJlZmxlY3QgY2hhbmdl
cyB0byBmb250LXNpemUgb24gZWxlbWVudCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZShbIHsgbWFyZ2luTGVmdDogJzEwZW0nIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDogJzIwZW0nIH0gXSwgMTAwMCknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWZmZWN0IHZhbHVlcyByZWZsZWN0IGNoYW5n
ZXMgdG8gZm9udC1zaXplIG9uIHBhcmVudCBlbGVtZW50IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKFsgeyBtYXJnaW5MZWZ0OiAnMTBlbScgfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBlbScgfSBdLCAxMDAw
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFZmZlY3QgdmFsdWVzIHJlZmxl
Y3QgY2hhbmdlcyB0byBmb250LXNpemUgd2hlbiBjb21wdXRlZCBzdHlsZSBpcyBub3QgaW1tZWRp
YXRlbHkgZmx1c2hlZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZShbIHsgbWFyZ2luTGVmdDogJzEwZW0nIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHsgbWFyZ2luTGVmdDogJzIwZW0nIH0gXSwgMTAwMCknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgRWZmZWN0IHZhbHVlcyByZWZsZWN0IGNoYW5nZXMgdG8gZm9udC1z
aXplIGZyb20gcmVwYXJlbnRpbmcgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoWyB7IG1hcmdpbkxlZnQ6ICcxMGVtJyB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6ICcyMGVtJyB9IF0sIDEwMDApJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVmZmVjdCB2YWx1ZXMgcmVmbGVjdCBjaGFuZ2VzIHRv
IHRhcmdldCBlbGVtZW50IGRpdkEuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXZB
LmFuaW1hdGUoWyB7IG1hcmdpbkxlZnQ6ICcxMGVtJyB9LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBlbScgfSBdLCAxMDAwKScsICdkaXZBLmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVl
LWNvbnRleHQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1h
dGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1jb250ZXh0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDdmYjYwOTdjOWZlZDQ2OWI2ZDdhMGZjMTFiYzA5YzcxMGEwNzUwZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlv
bi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1jb250ZXh0Lmh0bWwKQEAgLTAs
MCArMSwxMDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRs
ZT5UZXN0cyB0aGF0IHByb3BlcnR5IHZhbHVlcyByZXNwb25kIHRvIGNoYW5nZXMgdG8gdGhlaXIg
Y29udGV4dDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWItYW5pbWF0aW9ucy8ja2V5ZnJhbWVzLXNlY3Rpb24iPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNj
cmlwdD4KKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IGRpdi5zdHlsZS5mb250U2l6ZSA9ICcxMHB4JzsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmlt
YXRlKFsgeyBtYXJnaW5MZWZ0OiAnMTBlbScgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBlbScgfSBdLCAxMDAwKTsKKyAgYW5pbWF0aW9uLmN1cnJl
bnRUaW1lID0gNTAwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJn
aW5MZWZ0LCAnMTUwcHgnLAorICAgICAgICAgICAgICAgICdFZmZlY3QgdmFsdWUgYmVmb3JlIHVw
ZGF0aW5nIGZvbnQtc2l6ZScpOworICBkaXYuc3R5bGUuZm9udFNpemUgPSAnMjBweCc7CisgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICczMDBweCcsCisg
ICAgICAgICAgICAgICAgJ0VmZmVjdCB2YWx1ZSBhZnRlciB1cGRhdGluZyBmb250LXNpemUnKTsK
K30sICdFZmZlY3QgdmFsdWVzIHJlZmxlY3QgY2hhbmdlcyB0byBmb250LXNpemUgb24gZWxlbWVu
dCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHBhcmVudERpdiA9IGNyZWF0ZURpdih0
KTsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgcGFyZW50RGl2LmFwcGVuZENoaWxkKGRp
dik7CisgIHBhcmVudERpdi5zdHlsZS5mb250U2l6ZSA9ICcxMHB4JzsKKworICB2YXIgYW5pbWF0
aW9uID0gZGl2LmFuaW1hdGUoWyB7IG1hcmdpbkxlZnQ6ICcxMGVtJyB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6ICcyMGVtJyB9IF0sIDEwMDApOworICBh
bmltYXRpb24uY3VycmVudFRpbWUgPSA1MDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLm1hcmdpbkxlZnQsICcxNTBweCcsCisgICAgICAgICAgICAgICAgJ0VmZmVjdCB2
YWx1ZSBiZWZvcmUgdXBkYXRpbmcgZm9udC1zaXplIG9uIHBhcmVudCBlbGVtZW50Jyk7CisgIHBh
cmVudERpdi5zdHlsZS5mb250U2l6ZSA9ICcyMHB4JzsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzMwMHB4JywKKyAgICAgICAgICAgICAgICAnRWZm
ZWN0IHZhbHVlIGFmdGVyIHVwZGF0aW5nIGZvbnQtc2l6ZSBvbiBwYXJlbnQgZWxlbWVudCcpOwor
fSwgJ0VmZmVjdCB2YWx1ZXMgcmVmbGVjdCBjaGFuZ2VzIHRvIGZvbnQtc2l6ZSBvbiBwYXJlbnQg
ZWxlbWVudCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgcGFyZW50RGl2
ID0gY3JlYXRlRGl2KHQpOworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBwYXJlbnREaXYu
YXBwZW5kQ2hpbGQoZGl2KTsKKyAgcGFyZW50RGl2LnN0eWxlLmZvbnRTaXplID0gJzEwcHgnOwor
ICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoWyB7IG1hcmdpbkxlZnQ6ICcxMGVtJyB9LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6ICcyMGVtJyB9IF0s
IDEwMDApOworCisgIGFuaW1hdGlvbi5wYXVzZSgpOworICBhbmltYXRpb24uY3VycmVudFRpbWUg
PSA1MDA7CisgIHBhcmVudERpdi5zdHlsZS5mb250U2l6ZSA9ICcyMHB4JzsKKworICByZXR1cm4g
YW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzMwMHB4JywKKyAgICAgICAgICAgICAgICAg
ICdFZmZlY3QgdmFsdWUgYWZ0ZXIgdXBkYXRpbmcgZm9udC1zaXplIG9uIHBhcmVudCBlbGVtZW50
Jyk7CisgIH0pOworfSwgJ0VmZmVjdCB2YWx1ZXMgcmVmbGVjdCBjaGFuZ2VzIHRvIGZvbnQtc2l6
ZSB3aGVuIGNvbXB1dGVkIHN0eWxlIGlzIG5vdCcKKyAgICsgJyBpbW1lZGlhdGVseSBmbHVzaGVk
Jyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXZXaXRoMTBweEZvbnRT
aXplID0gY3JlYXRlRGl2KHQpOworICBkaXZXaXRoMTBweEZvbnRTaXplLnN0eWxlLmZvbnRTaXpl
ID0gJzEwcHgnOworICB2YXIgZGl2V2l0aDIwcHhGb250U2l6ZSA9IGNyZWF0ZURpdih0KTsKKyAg
ZGl2V2l0aDIwcHhGb250U2l6ZS5zdHlsZS5mb250U2l6ZSA9ICcyMHB4JzsKKworICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICBkaXYucmVtb3ZlKCk7IC8vIERldGFjaAorICB2YXIgYW5pbWF0
aW9uID0gZGl2LmFuaW1hdGUoWyB7IG1hcmdpbkxlZnQ6ICcxMGVtJyB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6ICcyMGVtJyB9IF0sIDEwMDApOworICBh
bmltYXRpb24ucGF1c2UoKTsKKworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rp
b24oKSB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gNTAwOworCisgICAgZGl2V2l0aDEw
cHhGb250U2l6ZS5hcHBlbmRDaGlsZChkaXYpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcxNTBweCcsCisgICAgICAgICAgICAgICAgICAnRWZm
ZWN0IHZhbHVlIGFmdGVyIGF0dGFjaGluZyB0byBmb250LXNpemU6MTBweCBwYXJlbnQnKTsKKyAg
ICBkaXZXaXRoMjBweEZvbnRTaXplLmFwcGVuZENoaWxkKGRpdik7CisgICAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzMwMHB4JywKKyAgICAgICAgICAg
ICAgICAgICdFZmZlY3QgdmFsdWUgYWZ0ZXIgYXR0YWNoaW5nIHRvIGZvbnQtc2l6ZToyMHB4IHBh
cmVudCcpOworICB9KTsKK30sICdFZmZlY3QgdmFsdWVzIHJlZmxlY3QgY2hhbmdlcyB0byBmb250
LXNpemUgZnJvbSByZXBhcmVudGluZycpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRp
dkEgPSBjcmVhdGVEaXYodCk7CisgIGRpdkEuc3R5bGUuZm9udFNpemUgPSAnMTBweCc7CisKKyAg
dmFyIGRpdkIgPSBjcmVhdGVEaXYodCk7CisgIGRpdkIuc3R5bGUuZm9udFNpemUgPSAnMjBweCc7
CisKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdkEuYW5pbWF0ZShbIHsgbWFyZ2luTGVmdDogJzEwZW0n
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6ICcyMGVt
JyB9IF0sIDEwMDApOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSA1MDA7CisgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXZBKS5tYXJnaW5MZWZ0LCAnMTUwcHgnLAorICAgICAg
ICAgICAgICAgICdFZmZlY3QgdmFsdWUgYmVmb3JlIHVwZGF0aW5nIHRhcmdldCBlbGVtZW50Jyk7
CisKKyAgYW5pbWF0aW9uLmVmZmVjdC50YXJnZXQgPSBkaXZCOworICBhc3NlcnRfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2QikubWFyZ2luTGVmdCwgJzMwMHB4JywKKyAgICAgICAgICAgICAg
ICAnRWZmZWN0IHZhbHVlIGFmdGVyIHVwZGF0aW5nIHRhcmdldCBlbGVtZW50Jyk7Cit9LCAnRWZm
ZWN0IHZhbHVlcyByZWZsZWN0IGNoYW5nZXMgdG8gdGFyZ2V0IGVsZW1lbnQnKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtb3Zlcmxh
cHBpbmcta2V5ZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1v
dmVybGFwcGluZy1rZXlmcmFtZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4YjNiNzAzNGNj
YjJjMjg5ZDVjYzgwN2MyZjIwNTU1YjllY2UzMzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZm
ZWN0cy9lZmZlY3QtdmFsdWUtb3ZlcmxhcHBpbmcta2V5ZnJhbWVzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKKworRkFJTCBPdmVybGFwcGluZyBrZXlmcmFtZXMgYXQgMCBhbmQgMSB1c2Ug
dGhlIGFwcHJvcHJpYXRlIHZhbHVlIHdoZW4gdGhlIHByb2dyZXNzIGlzIG91dHNpZGUgdGhlIHJh
bmdlIFswLCAxXSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmlt
YXRlLi4uJykKK0ZBSUwgT3ZlcmxhcHBpbmcga2V5ZnJhbWVzIGJldHdlZW4gMCBhbmQgMSB1c2Ug
dGhlIGFwcHJvcHJpYXRlIHZhbHVlIG9uIGVhY2ggc2lkZSBvZiB0aGUgb3ZlcmxhcCBwb2ludCB1
bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLW92ZXJsYXBwaW5nLWtleWZyYW1l
cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1v
ZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLW92ZXJsYXBwaW5nLWtleWZyYW1lcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk5YjRmM2RmNmZlMGM2ZWRhNmUzNmE5MDgyMjA4ZTJiOWJhMjE0MmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9h
bmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtb3ZlcmxhcHBpbmct
a2V5ZnJhbWVzLmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PXV0Zi04PgorPHRpdGxlPkVmZmVjdCB2YWx1ZSBjb21wdXRhdGlvbiB0ZXN0cyB3aGVu
IGtleWZyYW1lcyBvdmVybGFwPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyN0aGUtZWZmZWN0LXZhbHVlLW9mLWEta2V5
ZnJhbWUtYW5pbWF0aW9uLWVmZmVjdCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQiPjwv
ZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoWyB7IG9mZnNl
dDogMCwgb3BhY2l0eTogMCB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvZmZzZXQ6
IDAsIG9wYWNpdHk6IDAuMSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvZmZzZXQ6
IDAsIG9wYWNpdHk6IDAuMiB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvZmZzZXQ6
IDEsIG9wYWNpdHk6IDAuOCB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvZmZzZXQ6
IDEsIG9wYWNpdHk6IDAuOSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvZmZzZXQ6
IDEsIG9wYWNpdHk6IDEgfSBdLAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdjdWJpYy1iZXppZXIo
MC41LCAtMC41LCAwLjUsIDEuNSknIH0pOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS5vcGFjaXR5LCAnMC4yJywKKyAgICAgICAgICAgICAgICAnV2hlbiBwcm9ncmVzcyBp
cyB6ZXJvIHRoZSBsYXN0IGtleWZyYW1lIHdpdGggb2Zmc2V0IDAgc2hvdWxkJworICAgICAgICAg
ICAgICAgICsgJyBiZSB1c2VkJyk7CisgIC8vIGh0dHA6Ly9jdWJpYy1iZXppZXIuY29tLyMuNSwt
MC41LC41LDEuNQorICAvLyBBdCB0PTAuMTUsIHRoZSBwcm9ncmVzcyBzaG91bGQgYmUgbmVnYXRp
dmUKKyAgYW5pbS5jdXJyZW50VGltZSA9IDE1MDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikub3BhY2l0eSwgJzAnLAorICAgICAgICAgICAgICAgICdXaGVuIHByb2dyZXNz
IGlzIG5lZ2F0aXZlLCB0aGUgZmlyc3Qga2V5ZnJhbWUgd2l0aCBhIDAgb2Zmc2V0JworICAgICAg
ICAgICAgICAgICsgJyBzaG91bGQgYmUgdXNlZCcpOworICAvLyBBdCB0PTAuNzEsIHRoZSBwcm9n
cmVzcyBzaG91bGQgYmUganVzdCBsZXNzIHRoYW4gMQorICBhbmltLmN1cnJlbnRUaW1lID0gNzEw
OworICBhc3NlcnRfYXBwcm94X2VxdWFscyhwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZGl2
KS5vcGFjaXR5KSwgMC44LCAwLjAxLAorICAgICAgICAgICAgICAgICdXaGVuIHByb2dyZXNzIGlz
IGp1c3QgbGVzcyB0aGFuIDEsIHRoZSBmaXJzdCBrZXlmcmFtZSB3aXRoIGFuJworICAgICAgICAg
ICAgICAgICsgJyBvZmZzZXQgb2YgMSBzaG91bGQgYmUgdXNlZCBhcyB0aGUgaW50ZXJ2YWwgZW5k
cG9pbnQnKTsKKyAgLy8gQXQgdD0wLjg1LCB0aGUgcHJvZ3Jlc3Mgc2hvdWxkIGJlID4gMQorICBh
bmltLmN1cnJlbnRUaW1lID0gODUwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS5vcGFjaXR5LCAnMScsCisgICAgICAgICAgICAgICAgJ1doZW4gcHJvZ3Jlc3MgaXMgZ3Jl
YXRlciB0aGFuIDEuMCwgdGhlIGxhc3Qga2V5ZnJhbWUgd2l0aCBhIDEnCisgICAgICAgICAgICAg
ICAgKyAnIG9mZnNldCBzaG91bGQgYmUgdXNlZCcpOworICBhbmltLmZpbmlzaCgpOworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMScsCisgICAgICAgICAg
ICAgICAgJ1doZW4gcHJvZ3Jlc3MgaXMgZXF1YWwgdG8gMS4wLCB0aGUgbGFzdCBrZXlmcmFtZSB3
aXRoIGEgMScKKyAgICAgICAgICAgICAgICArICcgb2Zmc2V0IHNob3VsZCBiZSB1c2VkJyk7Cit9
LCAnT3ZlcmxhcHBpbmcga2V5ZnJhbWVzIGF0IDAgYW5kIDEgdXNlIHRoZSBhcHByb3ByaWF0ZSB2
YWx1ZSB3aGVuIHRoZScKKyAgICsgJyBwcm9ncmVzcyBpcyBvdXRzaWRlIHRoZSByYW5nZSBbMCwg
MV0nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltID0gZGl2LmFuaW1hdGUoWyB7IG9mZnNldDogMCwgb3BhY2l0eTogMCB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuNSwgb3BhY2l0eTogMC4zIH0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBvcGFjaXR5OiAwLjUgfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjUsIG9wYWNpdHk6IDAuNyB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9wYWNpdHk6IDEgfSBd
LCAxMDAwKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDI1MDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuMTUnLAorICAgICAgICAgICAgICAgICdCZWZv
cmUgdGhlIG92ZXJsYXAgcG9pbnQsIHRoZSBmaXJzdCBrZXlmcmFtZSBmcm9tIHRoZScKKyAgICAg
ICAgICAgICAgICArICcgb3ZlcmxhcCBwb2ludCBzaG91bGQgYmUgdXNlZCBhcyBpbnRlcnZhbCBl
bmRwb2ludCcpOworICBhbmltLmN1cnJlbnRUaW1lID0gNTAwOworICBhc3NlcnRfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMC43JywKKyAgICAgICAgICAgICAgICAnQXQg
dGhlIG92ZXJsYXAgcG9pbnQsIHRoZSBsYXN0IGtleWZyYW1lIGZyb20gdGhlJworICAgICAgICAg
ICAgICAgICsgJyBvdmVybGFwIHBvaW50IHNob3VsZCBiZSB1c2VkIGFzIGludGVydmFsIHN0YXJ0
cG9pbnQnKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDc1MDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuODUnLAorICAgICAgICAgICAgICAgICdBZnRl
ciB0aGUgb3ZlcmxhcCBwb2ludCwgdGhlIGxhc3Qga2V5ZnJhbWUgZnJvbSB0aGUnCisgICAgICAg
ICAgICAgICAgKyAnIG92ZXJsYXAgcG9pbnQgc2hvdWxkIGJlIHVzZWQgYXMgaW50ZXJ2YWwgc3Rh
cnRwb2ludCcpOworfSwgJ092ZXJsYXBwaW5nIGtleWZyYW1lcyBiZXR3ZWVuIDAgYW5kIDEgdXNl
IHRoZSBhcHByb3ByaWF0ZSB2YWx1ZSBvbiBlYWNoJworICAgKyAnIHNpZGUgb2YgdGhlIG92ZXJs
YXAgcG9pbnQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0
cy9lZmZlY3QtdmFsdWUtdHJhbnNmb3JtZWQtZGlzdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVm
ZmVjdHMvZWZmZWN0LXZhbHVlLXRyYW5zZm9ybWVkLWRpc3RhbmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41YjFhZGIyNmYxNTBkZjFkMWI1Y2M0NjRiMmY3ZWY2YmY5ZmEwZGFkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLXRyYW5zZm9ybWVkLWRpc3RhbmNl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBACisKK0ZBSUwgQSBzdGVwLXN0YXJ0IGZ1bmN0
aW9uIG9uIGEga2V5ZnJhbWUgYWZmZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5lZCBp
cyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBBIHN0
ZXBzKDEsIHN0YXJ0KSBmdW5jdGlvbiBvbiBhIGtleWZyYW1lIGFmZmVjdHMgdGhlIHJlc3VsdGlu
ZyBzdHlsZSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmlt
YXRlLi4uJykKK0ZBSUwgQSBzdGVwcygyLCBzdGFydCkgZnVuY3Rpb24gb24gYSBrZXlmcmFtZSBh
ZmZlY3RzIHRoZSByZXN1bHRpbmcgc3R5bGUgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChu
ZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIEEgc3RlcC1lbmQgZnVuY3Rpb24gb24g
YSBrZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1bHRpbmcgc3R5bGUgdW5kZWZpbmVkIGlzIG5vdCBh
IGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIEEgc3RlcHMoMSkg
ZnVuY3Rpb24gb24gYSBrZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1bHRpbmcgc3R5bGUgdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlM
IEEgc3RlcHMoMSwgZW5kKSBmdW5jdGlvbiBvbiBhIGtleWZyYW1lIGFmZmVjdHMgdGhlIHJlc3Vs
dGluZyBzdHlsZSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5h
bmltYXRlLi4uJykKK0ZBSUwgQSBzdGVwcygyLCBlbmQpIGZ1bmN0aW9uIG9uIGEga2V5ZnJhbWUg
YWZmZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAo
bmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBBIGZyYW1lcyBmdW5jdGlvbiBvbiBh
IGtleWZyYW1lIGFmZmVjdHMgdGhlIHJlc3VsdGluZyBzdHlsZSB1bmRlZmluZWQgaXMgbm90IGEg
ZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgQSBsaW5lYXIgZnVu
Y3Rpb24gb24gYSBrZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1bHRpbmcgc3R5bGUgdW5kZWZpbmVk
IGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIEEg
ZWFzZSBmdW5jdGlvbiBvbiBhIGtleWZyYW1lIGFmZmVjdHMgdGhlIHJlc3VsdGluZyBzdHlsZSB1
bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykK
K0ZBSUwgQSBlYXNlLWluIGZ1bmN0aW9uIG9uIGEga2V5ZnJhbWUgYWZmZWN0cyB0aGUgcmVzdWx0
aW5nIHN0eWxlIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFu
aW1hdGUuLi4nKQorRkFJTCBBIGVhc2UtaW4tb3V0IGZ1bmN0aW9uIG9uIGEga2V5ZnJhbWUgYWZm
ZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVh
ciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBBIGVhc2Utb3V0IGZ1bmN0aW9uIG9uIGEg
a2V5ZnJhbWUgYWZmZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5lZCBpcyBub3QgYSBm
dW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBBIGVhc2luZyBmdW5j
dGlvbiB3aGljaCBwcm9kdWNlcyB2YWx1ZXMgZ3JlYXRlciB0aGFuIDEgb24gYSBrZXlmcmFtZSBh
ZmZlY3RzIHRoZSByZXN1bHRpbmcgc3R5bGUgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChu
ZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIEEgZWFzaW5nIGZ1bmN0aW9uIHdoaWNo
IHByb2R1Y2VzIHZhbHVlcyBsZXNzIHRoYW4gMSBvbiBhIGtleWZyYW1lIGFmZmVjdHMgdGhlIHJl
c3VsdGluZyBzdHlsZSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdl
dC5hbmltYXRlLi4uJykKK0ZBSUwgTGluZWFyLWVxdWl2YWxlbnQgY3ViaWMtYmV6aWVyIGtleWZy
YW1lIGVhc2luZyBhcHBsaWVkIHRvIGFuIGVmZmVjdCB3aXRoIGEgc3RlcC1zdGFydCBmdW5jdGlv
biBkb2VzIG5vdCBhbHRlciB0aGUgcmVzdWx0IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAo
bmVhciAnLi4ubGluZWFyVGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBMaW5lYXItZXF1aXZhbGVu
dCBjdWJpYy1iZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYW4gZWZmZWN0IHdpdGgg
YSBzdGVwcygxLCBzdGFydCkgZnVuY3Rpb24gZG9lcyBub3QgYWx0ZXIgdGhlIHJlc3VsdCB1bmRl
ZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmxpbmVhclRhcmdldC5hbmltYXRlLi4u
JykKK0ZBSUwgTGluZWFyLWVxdWl2YWxlbnQgY3ViaWMtYmV6aWVyIGtleWZyYW1lIGVhc2luZyBh
cHBsaWVkIHRvIGFuIGVmZmVjdCB3aXRoIGEgc3RlcHMoMiwgc3RhcnQpIGZ1bmN0aW9uIGRvZXMg
bm90IGFsdGVyIHRoZSByZXN1bHQgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcu
Li5saW5lYXJUYXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIExpbmVhci1lcXVpdmFsZW50IGN1Ymlj
LWJlemllciBrZXlmcmFtZSBlYXNpbmcgYXBwbGllZCB0byBhbiBlZmZlY3Qgd2l0aCBhIHN0ZXAt
ZW5kIGZ1bmN0aW9uIGRvZXMgbm90IGFsdGVyIHRoZSByZXN1bHQgdW5kZWZpbmVkIGlzIG5vdCBh
IGZ1bmN0aW9uIChuZWFyICcuLi5saW5lYXJUYXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIExpbmVh
ci1lcXVpdmFsZW50IGN1YmljLWJlemllciBrZXlmcmFtZSBlYXNpbmcgYXBwbGllZCB0byBhbiBl
ZmZlY3Qgd2l0aCBhIHN0ZXBzKDEpIGZ1bmN0aW9uIGRvZXMgbm90IGFsdGVyIHRoZSByZXN1bHQg
dW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5saW5lYXJUYXJnZXQuYW5pbWF0
ZS4uLicpCitGQUlMIExpbmVhci1lcXVpdmFsZW50IGN1YmljLWJlemllciBrZXlmcmFtZSBlYXNp
bmcgYXBwbGllZCB0byBhbiBlZmZlY3Qgd2l0aCBhIHN0ZXBzKDEsIGVuZCkgZnVuY3Rpb24gZG9l
cyBub3QgYWx0ZXIgdGhlIHJlc3VsdCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIg
Jy4uLmxpbmVhclRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgTGluZWFyLWVxdWl2YWxlbnQgY3Vi
aWMtYmV6aWVyIGtleWZyYW1lIGVhc2luZyBhcHBsaWVkIHRvIGFuIGVmZmVjdCB3aXRoIGEgc3Rl
cHMoMiwgZW5kKSBmdW5jdGlvbiBkb2VzIG5vdCBhbHRlciB0aGUgcmVzdWx0IHVuZGVmaW5lZCBp
cyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4ubGluZWFyVGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJ
TCBMaW5lYXItZXF1aXZhbGVudCBjdWJpYy1iZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxpZWQg
dG8gYW4gZWZmZWN0IHdpdGggYSBmcmFtZXMgZnVuY3Rpb24gZG9lcyBub3QgYWx0ZXIgdGhlIHJl
c3VsdCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmxpbmVhclRhcmdldC5h
bmltYXRlLi4uJykKK0ZBSUwgTGluZWFyLWVxdWl2YWxlbnQgY3ViaWMtYmV6aWVyIGtleWZyYW1l
IGVhc2luZyBhcHBsaWVkIHRvIGFuIGVmZmVjdCB3aXRoIGEgbGluZWFyIGZ1bmN0aW9uIGRvZXMg
bm90IGFsdGVyIHRoZSByZXN1bHQgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcu
Li5saW5lYXJUYXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIExpbmVhci1lcXVpdmFsZW50IGN1Ymlj
LWJlemllciBrZXlmcmFtZSBlYXNpbmcgYXBwbGllZCB0byBhbiBlZmZlY3Qgd2l0aCBhIGVhc2Ug
ZnVuY3Rpb24gZG9lcyBub3QgYWx0ZXIgdGhlIHJlc3VsdCB1bmRlZmluZWQgaXMgbm90IGEgZnVu
Y3Rpb24gKG5lYXIgJy4uLmxpbmVhclRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgTGluZWFyLWVx
dWl2YWxlbnQgY3ViaWMtYmV6aWVyIGtleWZyYW1lIGVhc2luZyBhcHBsaWVkIHRvIGFuIGVmZmVj
dCB3aXRoIGEgZWFzZS1pbiBmdW5jdGlvbiBkb2VzIG5vdCBhbHRlciB0aGUgcmVzdWx0IHVuZGVm
aW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4ubGluZWFyVGFyZ2V0LmFuaW1hdGUuLi4n
KQorRkFJTCBMaW5lYXItZXF1aXZhbGVudCBjdWJpYy1iZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFw
cGxpZWQgdG8gYW4gZWZmZWN0IHdpdGggYSBlYXNlLWluLW91dCBmdW5jdGlvbiBkb2VzIG5vdCBh
bHRlciB0aGUgcmVzdWx0IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4ubGlu
ZWFyVGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBMaW5lYXItZXF1aXZhbGVudCBjdWJpYy1iZXpp
ZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYW4gZWZmZWN0IHdpdGggYSBlYXNlLW91dCBm
dW5jdGlvbiBkb2VzIG5vdCBhbHRlciB0aGUgcmVzdWx0IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5j
dGlvbiAobmVhciAnLi4ubGluZWFyVGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBMaW5lYXItZXF1
aXZhbGVudCBjdWJpYy1iZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYW4gZWZmZWN0
IHdpdGggYSBlYXNpbmcgZnVuY3Rpb24gd2hpY2ggcHJvZHVjZXMgdmFsdWVzIGdyZWF0ZXIgdGhh
biAxIGRvZXMgbm90IGFsdGVyIHRoZSByZXN1bHQgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9u
IChuZWFyICcuLi5saW5lYXJUYXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIExpbmVhci1lcXVpdmFs
ZW50IGN1YmljLWJlemllciBrZXlmcmFtZSBlYXNpbmcgYXBwbGllZCB0byBhbiBlZmZlY3Qgd2l0
aCBhIGVhc2luZyBmdW5jdGlvbiB3aGljaCBwcm9kdWNlcyB2YWx1ZXMgbGVzcyB0aGFuIDEgZG9l
cyBub3QgYWx0ZXIgdGhlIHJlc3VsdCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIg
Jy4uLmxpbmVhclRhcmdldC5hbmltYXRlLi4uJykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMv
ZWZmZWN0LXZhbHVlLXRyYW5zZm9ybWVkLWRpc3RhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZl
Y3QtdmFsdWUtdHJhbnNmb3JtZWQtZGlzdGFuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2VmZDQyYjU3
N2U4NzNjZWIyZjI3NDc4NDVlODA1Y2Q4N2RlNGJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVm
ZmVjdHMvZWZmZWN0LXZhbHVlLXRyYW5zZm9ybWVkLWRpc3RhbmNlLmh0bWwKQEAgLTAsMCArMSw4
MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3Rz
IGZvciBjYWxjdWxhdGlvbiBvZiB0aGUgdHJhbnNmb3JtZWQgZGlzdGFuY2Ugd2hlbiBjb21wdXRp
bmcgYW4gZWZmZWN0IHZhbHVlPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyN0aGUtZWZmZWN0LXZhbHVlLW9mLWEta2V5
ZnJhbWUtYW5pbWF0aW9uLWVmZmVjdCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Vhc2luZy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJp
Y3QnOworCisvLyBUZXN0IHRoYXQgYXBwbHlpbmcgZWFzaW5nIHRvIGtleWZyYW1lcyBpcyBhcHBs
aWVkIGFzIGV4cGVjdGVkCisKK2dFYXNpbmdUZXN0cy5mb3JFYWNoKHBhcmFtcyA9PiB7CisgIHRl
c3QoZnVuY3Rpb24odCkgeworICAgIGNvbnN0IHRhcmdldCA9IGNyZWF0ZURpdih0KTsKKyAgICBj
b25zdCBhbmltICAgPSB0YXJnZXQuYW5pbWF0ZShbIHsgd2lkdGg6ICcwcHgnIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBwdXQgdGhlIGVhc2luZyBvbiB0aGUg
c2Vjb25kIGtleWZyYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBz
byB3ZSBjYW4gdGVzdCB0aGF0IGl0IGlzIG9ubHkgYXBwbGllZAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gdG8gdGhlIHNwZWNpZmllZCBrZXlmcmFtZS4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgd2lkdGg6ICcxMDBweCcsIGVhc2luZzogcGFy
YW1zLmVhc2luZyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB3aWR0
aDogJzIwMHB4JyB9IF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMjAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICdm
b3J3YXJkcycgfSk7CisKKyAgICBbIDAsIDk5OSwgMTAwMCwgMTEwMCwgMTUwMCwgMjAwMCBdLmZv
ckVhY2goc2FtcGxlVGltZSA9PiB7CisgICAgICBhbmltLmN1cnJlbnRUaW1lID0gc2FtcGxlVGlt
ZTsKKworICAgICAgY29uc3QgcG9ydGlvbiA9IChzYW1wbGVUaW1lIC0gMTAwMCkgLyAxMDAwOwor
ICAgICAgY29uc3QgZXhwZWN0ZWRXaWR0aCA9IHNhbXBsZVRpbWUgPCAxMDAwCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPyBzYW1wbGVUaW1lIC8gMTAgLy8gZmlyc3Qgc2VnbWVudCBpcyBs
aW5lYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEwMCArIHBhcmFtcy5lYXNpbmdG
dW5jdGlvbihwb3J0aW9uKSAqIDEwMDsKKyAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHBhcnNl
RmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLndpZHRoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdGVkV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjAx
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSB3aWR0aCBzaG91bGQgYmUgYXBwcm94
aW1hdGVseSAnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2V4cGVjdGVkV2lkdGh9
IGF0ICR7c2FtcGxlVGltZX1tc2ApOworICAgIH0pOworICB9LCBgQSAke3BhcmFtcy5kZXNjfSBv
biBhIGtleWZyYW1lIGFmZmVjdHMgdGhlIHJlc3VsdGluZyBzdHlsZWApOworfSk7CisKKy8vIFRl
c3QgdGhhdCBhIGxpbmVhci1lcXVpdmFsZW50IGN1YmljLWJlemllciBlYXNpbmcgYXBwbGllZCB0
byBhIGtleWZyYW1lIGRvZXMKKy8vIG5vdCBhbHRlciAoaW5jbHVkaW5nIGNsYW1waW5nKSB0aGUg
cmVzdWx0LgorCitnRWFzaW5nVGVzdHMuZm9yRWFjaChwYXJhbXMgPT4geworICBjb25zdCBsaW5l
YXJFcXVpdmFsZW50RWFzaW5ncyA9IFsgJ2N1YmljLWJlemllcigwLCAwLCAwLCAwKScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3ViaWMtYmV6aWVyKDEsIDEsIDEsIDEp
JyBdOworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBsaW5lYXJFcXVpdmFsZW50RWFzaW5ncy5m
b3JFYWNoKGxpbmVhckVxdWl2YWxlbnRFYXNpbmcgPT4geworICAgICAgY29uc3QgdGltaW5nID0g
eyBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2ZvcndhcmRz
JywKKyAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiBwYXJhbXMuZWFzaW5nIH07CisKKyAg
ICAgIGNvbnN0IGxpbmVhclRhcmdldCA9IGNyZWF0ZURpdih0KTsKKyAgICAgIGNvbnN0IGxpbmVh
ckFuaW0gPSBsaW5lYXJUYXJnZXQuYW5pbWF0ZShbIHsgd2lkdGg6ICcwcHgnIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHdpZHRoOiAnMTAwcHgn
IH0gXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1p
bmcpOworCisgICAgICBjb25zdCBlcXVpdmFsZW50VGFyZ2V0ID0gY3JlYXRlRGl2KHQpOworICAg
ICAgY29uc3QgZXF1aXZhbGVudEFuaW0gPQorICAgICAgICBlcXVpdmFsZW50VGFyZ2V0LmFuaW1h
dGUoWyB7IHdpZHRoOiAnMHB4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBlYXNpbmc6IGxpbmVhckVxdWl2YWxlbnRFYXNpbmcgfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeyB3aWR0aDogJzEwMHB4JyB9IF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aW1pbmcpOworCisgICAgICBbIDAsIDI1MCwgNTAwLCA3NTAsIDEwMDAg
XS5mb3JFYWNoKHNhbXBsZVRpbWUgPT4geworICAgICAgICBsaW5lYXJBbmltLmN1cnJlbnRUaW1l
ID0gc2FtcGxlVGltZTsKKyAgICAgICAgZXF1aXZhbGVudEFuaW0uY3VycmVudFRpbWUgPSBzYW1w
bGVUaW1lOworCisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShsaW5lYXJU
YXJnZXQpLndpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIGdldENvbXB1dGVkU3R5bGUoZXF1
aXZhbGVudFRhcmdldCkud2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgYFRoZSAnd2lkdGgn
IG9mIHRoZSBhbmltYXRlZCBlbGVtZW50cyBzaG91bGQgYmUgZXF1YWwgYCArCisgICAgICAgICAg
ICAgICAgICAgICAgYGF0ICR7c2FtcGxlVGltZX1tc2ApOworICAgICAgfSk7CisgICAgfSk7Cisg
IH0sICdMaW5lYXItZXF1aXZhbGVudCBjdWJpYy1iZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxp
ZWQgdG8gYW4gZWZmZWN0ICcgKworICAgICBgd2l0aCBhICR7cGFyYW1zLmRlc2N9IGRvZXMgbm90
IGFsdGVyIHRoZSByZXN1bHRgKTsKK30pOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9r
ZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFt
ZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NGFlN2Y2ZjNiZTMxMGU2NmI2OTgzZDQxMjJmODY4YzIwM2VkODBkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVs
L2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorCitGQUlMIFZpc2liaWxpdHkgY2xhbXBpbmcgYmVoYXZpb3IgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyB2aXNpYmlsaXR5OiBb
J2hpZGRlbicsJ3Zpc2libGUnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IDEwMCAqIE1TX1BFUl9TRUMsIGZpbGw6ICdib3RoJyB9KScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBWaXNpYmlsaXR5IGNsYW1waW5nIGJlaGF2aW9yIHdpdGggYW4gZWFz
aW5nIHRoYXQgaGFzIGEgbmVnYXRpdmUgY29tcG9uZW50IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5j
dGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0
cy9lZmZlY3QtdmFsdWUtdmlzaWJpbGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVl
LXZpc2liaWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjk1MWIwMTIzM2UwMjcwMjYyZjAwNTlhMTk3
OThlNmJjZmZiN2VjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVl
LXZpc2liaWxpdHkuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+RWZmZWN0IHZhbHVlIGNvbXB1dGF0aW9uIHRlc3RzIGZv
ciAndmlzaWJpbGl0eScgcHJvcGVydHk8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI3RoZS1lZmZlY3QtdmFsdWUtb2Yt
YS1rZXlmcmFtZS1hbmltYXRpb24tZWZmZWN0Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxkaXYgaWQ9InRhcmdl
dCI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IHZp
c2liaWxpdHk6IFsnaGlkZGVuJywndmlzaWJsZSddIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywgZmlsbDogJ2JvdGgnIH0pOworCisgIGFu
aW0uY3VycmVudFRpbWUgPSAwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2
KS52aXNpYmlsaXR5LCAnaGlkZGVuJywKKyAgICAgICAgICAgICAgICAnVmlzaWJpbGl0eSB3aGVu
IHByb2dyZXNzID0gMCcpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSAxMCAqIE1TX1BFUl9TRUMg
KyAxOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS52aXNpYmlsaXR5LCAn
dmlzaWJsZScsCisgICAgICAgICAgICAgICAgJ1Zpc2liaWxpdHkgd2hlbiBwcm9ncmVzcyA+IDAg
ZHVlIHRvIGxpbmVhciBlYXNpbmcnKTsKKworICBhbmltLmZpbmlzaCgpOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS52aXNpYmlsaXR5LCAndmlzaWJsZScsCisgICAgICAg
ICAgICAgICAgJ1Zpc2liaWxpdHkgd2hlbiBwcm9ncmVzcyA9IDEnKTsKKworfSwgJ1Zpc2liaWxp
dHkgY2xhbXBpbmcgYmVoYXZpb3InKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyB2aXNpYmlsaXR5OiBb
J2hpZGRlbicsICd2aXNpYmxlJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0
aW9uOiAxMDAgKiBNU19QRVJfU0VDLCBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMC4yNSwgLTAuNiwgMCwgMC41KScgfSk7CisK
KyAgYW5pbS5jdXJyZW50VGltZSA9IDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShkaXYpLnZpc2liaWxpdHksICdoaWRkZW4nLAorICAgICAgICAgICAgICAgICdWaXNpYmlsaXR5
IHdoZW4gcHJvZ3Jlc3MgPSAwJyk7CisKKyAgLy8gVGltaW5nIGZ1bmN0aW9uIGlzIGJlbG93IHpl
cm8uIFNvIHdlIGV4cGVjdGVkIHZpc2liaWxpdHkgaXMgaGlkZGVuLgorICBhbmltLmN1cnJlbnRU
aW1lID0gMTAgKiBNU19QRVJfU0VDICsgMTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0
eWxlKGRpdikudmlzaWJpbGl0eSwgJ2hpZGRlbicsCisgICAgICAgICAgICAgICAgJ1Zpc2liaWxp
dHkgd2hlbiBwcm9ncmVzcyA8IDAgZHVlIHRvIGN1YmljLWJlemllciBlYXNpbmcnKTsKKworICBh
bmltLmN1cnJlbnRUaW1lID0gNjAgKiBNU19QRVJfU0VDOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoZGl2KS52aXNpYmlsaXR5LCAndmlzaWJsZScsCisgICAgICAgICAgICAgICAg
J1Zpc2liaWxpdHkgd2hlbiBwcm9ncmVzcyA+IDAgZHVlIHRvIGN1YmljLWJlemllciBlYXNpbmcn
KTsKKworfSwgJ1Zpc2liaWxpdHkgY2xhbXBpbmcgYmVoYXZpb3Igd2l0aCBhbiBlYXNpbmcgdGhh
dCBoYXMgYSBuZWdhdGl2ZSBjb21wb25lbnQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGFibGUvYW5pbWF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjQ3ZTc4NDA0MDQzZjA2OWMyZjcwM2U3ZGRmOGEzODdmMmNlYjRmNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0YWJsZS9hbmltYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDk2IEBACisKK0ZB
SUwgRWxlbWVudC5hbmltYXRlKCkgY3JlYXRlcyBhbiBBbmltYXRpb24gb2JqZWN0IGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKG51bGwpJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4gQW5p
bWF0aW9uIG9iamVjdCBpbiB0aGUgcmVsZXZhbnQgcmVhbG0gb2YgdGhlIHRhcmdldCBlbGVtZW50
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdFbGVtZW50LnByb3RvdHlw
ZS5hbmltYXRlLmNhbGwnKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1h
dGlvbiBvYmplY3Qgd2l0aCBhIEtleWZyYW1lRWZmZWN0IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdFbGVtZW50LnByb3RvdHlwZS5hbmltYXRlLmNhbGwnKQorRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBvYmplY3Qgd2l0aCBhIEtleWZy
YW1lRWZmZWN0IHRoYXQgaXMgY3JlYXRlZCBpbiB0aGUgcmVsZXZhbnQgcmVhbG0gb2YgdGhlIHRh
cmdldCBlbGVtZW50IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdFbGVt
ZW50LnByb3RvdHlwZS5hbmltYXRlLmNhbGwnKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBjcmVh
dGVzIGFuIEFuaW1hdGlvbiBvYmplY3Qgd2l0aCBhIEtleWZyYW1lRWZmZWN0IHdob3NlIEFuaW1h
dGlvbkVmZmVjdFRpbWluZyBvYmplY3QgaXMgY3JlYXRlZCBpbiB0aGUgcmVsZXZhbnQgcmVhbG0g
b2YgdGhlIHRhcmdldCBlbGVtZW50IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKG51bGwpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVs
ZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgZW1wdHkga2V5ZnJhbWUgbGlzdHMgKGlucHV0OiBbXSkg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3ViVGVzdCwg
MjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRl
KCkgYWNjZXB0cyBlbXB0eSBrZXlmcmFtZSBsaXN0cyAoaW5wdXQ6IG51bGwpIGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YlRlc3QsIDIwMDApJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMg
ZW1wdHkga2V5ZnJhbWUgbGlzdHMgKGlucHV0OiB1bmRlZmluZWQpIGRpdi5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YlRlc3QsIDIwMDApJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUg
cHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVz
dC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVu
dC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVlIHBy
b3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZGl2LmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBh
IHR3byBwcm9wZXJ0eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBsb25naGFuZCBjb21w
b25lbnRzKSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlv
biBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0
LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVy
dHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGRpZmZlcmVu
dCBudW1iZXJzIG9mIHZhbHVlcyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGFuIGludmFsaWQgdmFsdWUgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNj
ZXB0cyBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIw
MDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGgg
YSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNl
IGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkg
b25lIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwg
MjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRl
KCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSBvbmUgbm9uLWFycmF5IHZhbHVlIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9w
ZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3
aGVyZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHBy
b3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9u
IHdoZXJlIHRoZSBzZWNvbmQgdmFsdWUgaXMgaW52YWxpZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25l
IHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHBy
b3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3Bl
cnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHNob3J0aGFu
ZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBw
cm9wZXJ0eSAoYSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykg
dHdvIGtleWZyYW1lIHNlcXVlbmNlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gaW50ZXJpb3Igb2Zmc2V0IGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQs
IDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0
ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9y
IG9mZnNldHMgMCBhbmQgMSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IGZvdXIga2V5
ZnJhbWUgc2VxdWVuY2UgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBzaW5nbGUga2V5ZnJhbWUg
c2VxdWVuY2Ugd2l0aCBudWxsIG9mZnNldCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgc2luZ2xlIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggc3RyaW5nIG9mZnNldCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHBy
b3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwg
MjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRl
KCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVs
bCBvZmZzZXRzIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3Bl
cnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYWxsIG9taXR0ZWQgb2Zmc2V0cyBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAw
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBh
Y2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQgZWFzaW5nIHZhbHVlcywg
YnV0IHRoZSBzYW1lIGVhc2luZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNj
ZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGNvbXBvc2l0ZSB2YWx1ZXMs
IGJ1dCB0aGUgc2FtZSBjb21wb3NpdGUgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIw
MDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIHRoYXQgbmVlZHMg
dG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVl
bmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFu
ZCBwcm9wZXJ0eSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0
ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgc2hv
cnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aGVyZSBsb25naGFuZCBwcmVjZWRlcyBzaG9ydGhhbmQgZGl2LmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBh
IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxlc3NlciBzaG9ydGhhbmQgcHJlY2VkZXMgZ3JlYXRl
ciBzaG9ydGhhbmQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGdy
ZWF0ZXIgc2hvcnRoYW5kIHByZWNlZGVzIGxlc3NlciBzaG9ydGhhbmQgZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0
cyBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMg
bWlzc2luZyBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHBy
b3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZy
b20gdGhlIGxhc3Qga2V5ZnJhbWUgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggcmVwZWF0ZWQgdmFsdWVzIGF0IG9mZnNldCAxIHdpdGggZGlmZmVyZW50IGVhc2luZ3Mg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5p
bnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK1BBU1MgRWxlbWVudC5h
bmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVk
IHBvc2l0aXZlIG9mZnNldCAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0
IGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIG5lZ2F0aXZlIG9mZnNldCAKK1BBU1Mg
RWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGtleWZyYW1lcyBub3QgbG9vc2VseSBz
b3J0ZWQgYnkgb2Zmc2V0IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAK
K1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkg
ZG9lcyBub3QgYWNjZXB0IGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgY29tcG9zaXRlIHZhbHVl
IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6
ICcnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNp
bmc6ICc3JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAndGVzdCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBp
bnZhbGlkIGVhc2luZzogJ2luaXRpYWwnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5v
dCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdpbmhlcml0JyAKK1BBU1MgRWxlbWVudC5hbmltYXRl
KCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAndW5zZXQnIAorUEFTUyBFbGVtZW50
LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICd1bnJlY29nbml6ZWQn
IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6
ICd2YXIoLS14KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZh
bGlkIGVhc2luZzogJ2Vhc2UtaW4tb3V0LCBlYXNlLW91dCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0
ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigxLjEsIDAs
IDEsIDEpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAsIDAsIDEuMSwgMSknIAorUEFTUyBFbGVtZW50LmFuaW1h
dGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoLTAuMSwg
MCwgMSwgMSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxp
ZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMCwgMCwgLTAuMSwgMSknIAorUEFTUyBFbGVtZW50LmFu
aW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMC4x
LCAwLCA0LCAwLjQpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGlu
dmFsaWQgZWFzaW5nOiAnc3RlcHMoLTEsIHN0YXJ0KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgp
IGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3N0ZXBzKDAuMSwgc3RhcnQpJyAKK1BB
U1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnc3Rl
cHMoMywgbm93aGVyZSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQg
aW52YWxpZCBlYXNpbmc6ICdzdGVwcygtMywgZW5kKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgp
IGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2Z1bmN0aW9uIChhKXtyZXR1cm4gYX0n
IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6
ICdmdW5jdGlvbiAoeCl7cmV0dXJuIHh9JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBu
b3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnVuY3Rpb24oeCwgeSl7cmV0dXJuIDAuM30nIAor
UEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdm
cmFtZXMoMSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxp
ZCBlYXNpbmc6ICdmcmFtZXMnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2Nl
cHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygsKScgCitQQVNTIEVsZW1lbnQu
YW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcyhhKScgCitQ
QVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2Zy
YW1lcygyLjApJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFs
aWQgZWFzaW5nOiAnZnJhbWVzKDIuNSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5v
dCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoMiAzKScgCitGQUlMIEVsZW1lbnQuYW5p
bWF0ZSgpIGFjY2VwdHMgYSBkb3VibGUgYXMgYW4gb3B0aW9ucyBhcmd1bWVudCBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBd
IH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5p
bWF0ZSgpIGFjY2VwdHMgYSBLZXlmcmFtZUFuaW1hdGlvbk9wdGlvbnMgYXJndW1lbnQgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IEluZmluaXR5LCBm
aWxsOiAnZm9yd2FyZHMnIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVs
ZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYW4gYWJzZW50IG9wdGlvbnMgYXJndW1lbnQgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBjb3JyZWN0bHkgc2V0cyB0aGUgaWQgYXR0cmlidXRlIHdoZW4gbm8gaWQgaXMgc3BlY2lm
aWVkIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3Bh
Y2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgRWxlbWVudC5hbmltYXRlKCkgY29ycmVjdGx5IHNldHMgdGhlIGlkIGF0dHJpYnV0ZSBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsg
MCwgMSBdIH0sIHsgaWQ6ICd0ZXN0JyB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBFbGVtZW50LmFuaW1hdGUoKSBjb3JyZWN0bHkgc2V0cyB0aGUgQW5pbWF0aW9uJ3MgdGlt
ZWxpbmUgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBv
cGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBFbGVtZW50LmFuaW1hdGUoKSBjb3JyZWN0bHkgc2V0cyB0aGUgQW5pbWF0aW9uJ3MgdGlt
ZWxpbmUgd2hlbiB0cmlnZ2VyZWQgb24gYW4gZWxlbWVudCBpbiBhIGRpZmZlcmVudCBkb2N1bWVu
dCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNp
dHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGNhbGxzIHBsYXkgb24gdGhlIEFuaW1hdGlvbiBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBd
IH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIENTU1BzZXVkb0Vs
ZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4gQW5pbWF0aW9uIG9iamVjdCBkb2N1bWVudC5nZXRB
bmltYXRpb25zIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2RvY3VtZW50LmdldEFuaW1hdGlvbnMo
KScsICdkb2N1bWVudC5nZXRBbmltYXRpb25zJyBpcyB1bmRlZmluZWQpCitGQUlMIENTU1BzZXVk
b0VsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4gQW5pbWF0aW9uIG9iamVjdCB0YXJnZXRpbmcg
dG8gdGhlIGNvcnJlY3QgQ1NTUHNldWRvRWxlbWVudCBvYmplY3QgZG9jdW1lbnQuZ2V0QW5pbWF0
aW9ucyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkb2N1bWVudC5nZXRBbmltYXRpb25zKCknLCAn
ZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucycgaXMgdW5kZWZpbmVkKQorIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2Fu
aW1hdGUtbm8tYnJvd3NpbmctY29udGV4dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS1uby1icm93
c2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWJkNGU3NjJkOGU1NTE1Nzdk
ZDM3ZTAxZWZmYzFkOWNiNWIzNDllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUtbm8tYnJv
d3NpbmctY29udGV4dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwgRWxlbWVu
dC5hbmltYXRlKCkgY3JlYXRlcyBhbiBhbmltYXRpb24gd2l0aCB0aGUgY29ycmVjdCB0aW1lbGlu
ZSB3aGVuIGNhbGxlZCBvbiBhbiBlbGVtZW50IGluIGEgZG9jdW1lbnQgd2l0aG91dCBhIGJyb3dz
aW5nIGNvbnRleHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZShudWxsKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgVGhl
IHRpbWVsaW5lIGFzc29jaWF0ZWQgd2l0aCBhbiBhbmltYXRpb24gdHJpZ2dlciBvbiBhbiBlbGVt
ZW50IGluIGEgZG9jdW1lbnQgd2l0aG91dCBhIGJyb3dzaW5nIGNvbnRleHQgaXMgaW5hY3RpdmUg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShu
dWxsKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgUmVwbGFjaW5nIHRoZSB0
aW1lbGluZSBvZiBhbiBhbmltYXRpb24gdGFyZ2V0dGluZyBhbiBlbGVtZW50IGluIGEgZG9jdW1l
bnQgd2l0aG91dCBhIGJyb3dzaW5nIGNvbnRleHQgbGVhdmVzIGl0IGluIHRoZSBwZW5kaW5nIHN0
YXRlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUobnVsbCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIFJlcGxhY2luZyB0
aGUgdGltZWxpbmUgb2YgYW4gYW5pbWF0aW9uIHRhcmdldHRpbmcgYW4gZWxlbWVudCBpbiBhIGRv
Y3VtZW50IHdpdGhvdXQgYSBicm93c2luZyBjb250ZXh0IGFuZCB0aGVuIGFkb3B0aW5nIHRoYXQg
ZWxlbWVudCBjYXVzZXMgaXQgdG8gc3RhcnQgdXBkYXRpbmcgc3R5bGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwg
MSBdIH0sIDEwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpIgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFi
bGUvYW5pbWF0ZS1uby1icm93c2luZy1jb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS1uby1icm93c2lu
Zy1jb250ZXh0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAzNzE5NTlkMzM1OWYyY2UxZDZhNzIyYjgxMjJk
MjgyNTkxYjZkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9hbmltYXRlLW5vLWJyb3dzaW5nLWNvbnRl
eHQuaHRtbApAQCAtMCwwICsxLDEwOCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PXV0Zi04PgorPHRpdGxlPkFuaW1hdGFibGUuYW5pbWF0ZSB0ZXN0cyBpbiBjb21iaW5hdGlvbiB3
aXRoIGVsZW1lbnRzIGluIGRvY3VtZW50cworICAgICAgIHdpdGhvdXQgYSBicm93c2luZyBjb250
ZXh0PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3dlYi1hbmltYXRpb25zLyNkb20tYW5pbWF0YWJsZS1hbmltYXRlIj4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90
ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0Pgor
J3VzZSBzdHJpY3QnOworCisvLworLy8gVGhlIGZvbGxvd2luZyB0ZXN0cyByZWxhdGUgdG8gYW5p
bWF0aW9ucyBvbiBlbGVtZW50cyBpbiBkb2N1bWVudHMgd2l0aG91dAorLy8gYSBicm93c2luZyBj
b250ZXh0LiBUaGlzIGlzIE5PVCB0aGUgc2FtZSBhcyBkb2N1bWVudHMgdGhhdCBhcmUgbm90IGJv
dW5kIHRvCisvLyBhIGRvY3VtZW50IHRyZWUuCisvLworCitmdW5jdGlvbiBnZXRYSFJEb2ModCkg
eworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgeGhyID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgeGhyLm9wZW4oJ0dFVCcsICcuLi8uLi9yZXNvdXJjZXMv
eGhyLWRvYy5weScpOworICAgIHhoci5yZXNwb25zZVR5cGUgPSAnZG9jdW1lbnQnOworICAgIHho
ci5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHhoci5y
ZWFkeVN0YXRlLCB4aHIuRE9ORSwKKyAgICAgICAgICAgICAgICAgICAgJ1JlcXVlc3Qgc2hvdWxk
IGNvbXBsZXRlIHN1Y2Nlc3NmdWxseScpOworICAgICAgYXNzZXJ0X2VxdWFscyh4aHIuc3RhdHVz
LCAyMDAsCisgICAgICAgICAgICAgICAgICAgICdSZXNwb25zZSBzaG91bGQgYmUgT0snKTsKKyAg
ICAgIHJlc29sdmUoeGhyLnJlc3BvbnNlWE1MKTsKKyAgICB9KTsKKyAgICB4aHIuc2VuZCgpOwor
ICB9KTsKK30KKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gZ2V0WEhSRG9jKHQpLnRo
ZW4oeGhyZG9jID0+IHsKKyAgICBjb25zdCBkaXYgPSB4aHJkb2MuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3QnKTsKKyAgICBjb25zdCBhbmltID0gZGl2LmFuaW1hdGUobnVsbCk7CisgICAgYXNzZXJ0X2Ns
YXNzX3N0cmluZyhhbmltLnRpbWVsaW5lLCAnRG9jdW1lbnRUaW1lbGluZScsCisgICAgICAgICAg
ICAgICAgICAgICAgICAnQW5pbWF0aW9uIHNob3VsZCBoYXZlIGEgdGltZWxpbmUnKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGFuaW0udGltZWxpbmUsIHhocmRvYy50aW1lbGluZSwKKyAgICAgICAgICAg
ICAgICAgICdBbmltYXRpb24gdGltZWxpbmUgc2hvdWxkIGJlIHRoZSBkZWZhdWx0IGRvY3VtZW50
IHRpbWVsaW5lJworICAgICAgICAgICAgICAgICAgKyAnIG9mIHRoZSBYSFIgZG9jJyk7CisgICAg
YXNzZXJ0X25vdF9lcXVhbHMoYW5pbS50aW1lbGluZSwgZG9jdW1lbnQudGltZWxpbmUsCisgICAg
ICAgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiB0aW1lbGluZSBzaG91bGQgTk9UIGJlIHRoZSBz
YW1lIHRpbWVsaW5lIGFzJworICAgICAgICAgICAgICAgICAgICAgICsgJyB0aGUgZGVmYXVsdCBk
b2N1bWVudCB0aW1lbGluZSBmb3IgdGhlIGN1cnJlbnQnCisgICAgICAgICAgICAgICAgICAgICAg
KyAnIGRvY3VtZW50Jyk7CisKKyAgfSk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkgY3JlYXRlcyBh
biBhbmltYXRpb24gd2l0aCB0aGUgY29ycmVjdCB0aW1lbGluZScKKyAgICsgJyB3aGVuIGNhbGxl
ZCBvbiBhbiBlbGVtZW50IGluIGEgZG9jdW1lbnQgd2l0aG91dCBhIGJyb3dzaW5nIGNvbnRleHQn
KTsKKworLy8KKy8vIFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIGNyb3NzLWN1dHRpbmcgdGVzdHMg
dGhhdCBhcmUgbm90IHNwZWNpZmljIHRvIHRoZQorLy8gQW5pbWF0YWJsZS5hbmltYXRlKCkgaW50
ZXJmYWNlLiBJbnN0ZWFkLCB0aGV5IGRyYXcgb24gYXNzZXJ0aW9ucyBmcm9tCisvLyB2YXJpb3Vz
IHBhcnRzIG9mIHRoZSBzcGVjLiBUaGVzZSBhc3NlcnRpb25zIGFyZSB0ZXN0ZWQgaW4gb3RoZXIg
dGVzdHMKKy8vIGJ1dCBhcmUgcmVwZWF0ZWQgaGVyZSB0byBjb25maXJtIHRoYXQgdXNlciBhZ2Vu
dHMgYXJlIG5vdCBkb2luZyBhbnl0aGluZworLy8gZGlmZmVyZW50IGluIHRoZSBwYXJ0aWN1bGFy
IGNhc2Ugb2YgZG9jdW1lbnQgd2l0aG91dCBhIGJyb3dzaW5nIGNvbnRleHQuCisvLworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBnZXRYSFJEb2ModCkudGhlbih4aHJkb2MgPT4gewor
ICAgIGNvbnN0IGRpdiA9IHhocmRvYy5nZXRFbGVtZW50QnlJZCgndGVzdCcpOworICAgIGNvbnN0
IGFuaW0gPSBkaXYuYW5pbWF0ZShudWxsKTsKKyAgICAvLyBTaW5jZSBhIGRvY3VtZW50IGZyb20g
WEhSIHdpbGwgbm90IGJlIGFjdGl2ZSBieSBpdHNlbGYsIGl0cyBkb2N1bWVudAorICAgIC8vIHRp
bWVsaW5lIHdpbGwgYWxzbyBiZSBpbmFjdGl2ZS4KKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0udGlt
ZWxpbmUuY3VycmVudFRpbWUsIG51bGwsCisgICAgICAgICAgICAgICAgICAnRG9jdW1lbnQgdGlt
ZWxpbmUgdGltZSBzaG91bGQgYmUgbnVsbCcpOworICB9KTsKK30sICdUaGUgdGltZWxpbmUgYXNz
b2NpYXRlZCB3aXRoIGFuIGFuaW1hdGlvbiB0cmlnZ2VyIG9uIGFuIGVsZW1lbnQgaW4nCisgICAr
ICcgYSBkb2N1bWVudCB3aXRob3V0IGEgYnJvd3NpbmcgY29udGV4dCBpcyBpbmFjdGl2ZScpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIGxldCBhbmltOworICByZXR1cm4gZ2V0WEhSRG9jKHQp
LnRoZW4oeGhyZG9jID0+IHsKKyAgICBjb25zdCBkaXYgPSB4aHJkb2MuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3QnKTsKKyAgICBhbmltID0gZGl2LmFuaW1hdGUobnVsbCk7CisgICAgYW5pbS50aW1lbGlu
ZSA9IGRvY3VtZW50LnRpbWVsaW5lOworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5wbGF5U3RhdGUs
ICdwZW5kaW5nJywKKyAgICAgICAgICAgICAgICAgICdUaGUgYW5pbWF0aW9uIHNob3VsZCBiZSBp
bml0aWFsbHkgcGVuZGluZycpOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDIp
OworICB9KS50aGVuKCgpID0+IHsKKyAgICAvLyBCZWNhdXNlIHRoZSBlbGVtZW50IGlzIGluIGEg
ZG9jdW1lbnQgd2l0aG91dCBhIGJyb3dzaW5nIGNvbnRleHQsIGl0IHdpbGwKKyAgICAvLyBub3Qg
YmUgcmVuZGVyZWQgYW5kIGhlbmNlIHRoZSB1c2VyIGFnZW50IHdpbGwgbmV2ZXIgZGVlbSBpdCBy
ZWFkeSB0bworICAgIC8vIGFuaW1hdGUuCisgICAgYXNzZXJ0X2VxdWFscyhhbmltLnBsYXlTdGF0
ZSwgJ3BlbmRpbmcnLAorICAgICAgICAgICAgICAgICAgJ1RoZSBhbmltYXRpb24gc2hvdWxkIHN0
aWxsIGJlIHBlbmRpbmcgYWZ0ZXIgcmVwbGFjaW5nJworICAgICAgICAgICAgICAgICAgKyAnIHRo
ZSBkb2N1bWVudCB0aW1lbGluZScpOworICB9KTsKK30sICdSZXBsYWNpbmcgdGhlIHRpbWVsaW5l
IG9mIGFuIGFuaW1hdGlvbiB0YXJnZXR0aW5nIGFuIGVsZW1lbnQgaW4gYScKKyAgICsgJyBkb2N1
bWVudCB3aXRob3V0IGEgYnJvd3NpbmcgY29udGV4dCBsZWF2ZXMgaXQgaW4gdGhlIHBlbmRpbmcg
c3RhdGUnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgYW5pbTsKKyAgcmV0dXJuIGdl
dFhIUkRvYyh0KS50aGVuKHhocmRvYyA9PiB7CisgICAgY29uc3QgZGl2ID0geGhyZG9jLmdldEVs
ZW1lbnRCeUlkKCd0ZXN0Jyk7CisgICAgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAw
LCAxIF0gfSwgMTAwMCk7CisgICAgYW5pbS50aW1lbGluZSA9IGRvY3VtZW50LnRpbWVsaW5lOwor
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICBhc3NlcnRfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMCcsCisgICAgICAgICAgICAgICAgICAnU3R5
bGUgc2hvdWxkIGJlIHVwZGF0ZWQnKTsKKyAgfSk7Cit9LCAnUmVwbGFjaW5nIHRoZSB0aW1lbGlu
ZSBvZiBhbiBhbmltYXRpb24gdGFyZ2V0dGluZyBhbiBlbGVtZW50IGluIGEnCisgICArICcgZG9j
dW1lbnQgd2l0aG91dCBhIGJyb3dzaW5nIGNvbnRleHQgYW5kIHRoZW4gYWRvcHRpbmcgdGhhdCBl
bGVtZW50JworICAgKyAnIGNhdXNlcyBpdCB0byBzdGFydCB1cGRhdGluZyBzdHlsZScpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9hbmltYXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQyNTcwMzMzNzUzNGY5OTJhZTVlNzNjY2MyNzk5NTk4OTEzM2MxOWYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS5odG1sCkBAIC0wLDAgKzEsMTk5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QW5pbWF0YWJsZS5hbmlt
YXRlIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20tYW5pbWF0YWJsZS1hbmltYXRlIj4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZWFzaW5nLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMva2V5ZnJhbWUtdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwv
ZGl2PgorPGlmcmFtZSB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIGlkPSJpZnJhbWUiPjwvaWZyYW1l
PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworLy8gVGVzdHMgb24gRWxlbWVudAorCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBk
aXYuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2NsYXNzX3N0cmluZyhhbmltLCAnQW5pbWF0aW9u
JywgJ1JldHVybmVkIG9iamVjdCBpcyBhbiBBbmltYXRpb24nKTsKK30sICdFbGVtZW50LmFuaW1h
dGUoKSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBvYmplY3QnKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBpZnJhbWUgPSB3aW5kb3cuZnJhbWVzWzBdOworICB2YXIgZGl2ID0gY3JlYXRlRGl2
KHQsIGlmcmFtZS5kb2N1bWVudCk7CisgIHZhciBhbmltID0gRWxlbWVudC5wcm90b3R5cGUuYW5p
bWF0ZS5jYWxsKGRpdiwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKGFuaW0pLCBpZnJhbWUuQW5pbWF0aW9uLnByb3RvdHlwZSwKKyAgICAgICAgICAgICAgICAn
VGhlIHByb3RvdHlwZSBvZiB0aGUgY3JlYXRlZCBBbmltYXRpb24gaXMgdGhhdCBkZWZpbmVkIG9u
JworICAgICAgICAgICAgICAgICsgJyB0aGUgcmVsZXZhbnQgZ2xvYmFsIGZvciB0aGUgdGFyZ2V0
IGVsZW1lbnQnKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFu
aW0pLCBBbmltYXRpb24ucHJvdG90eXBlLAorICAgICAgICAgICAgICAgICAgICAnVGhlIHByb3Rv
dHlwZSBvZiB0aGUgY3JlYXRlZCBBbmltYXRpb24gaXMgTk9UIHRoYXQgb2YnCisgICAgICAgICAg
ICAgICAgICAgICsgJyB0aGUgY3VycmVudCBnbG9iYWwnKTsKK30sICdFbGVtZW50LmFuaW1hdGUo
KSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBvYmplY3QgaW4gdGhlIHJlbGV2YW50IHJlYWxtIG9mJwor
ICAgKyAnIHRoZSB0YXJnZXQgZWxlbWVudCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBFbGVtZW50LnByb3RvdHlwZS5hbmlt
YXRlLmNhbGwoZGl2LCBudWxsKTsKKyAgYXNzZXJ0X2NsYXNzX3N0cmluZyhhbmltLmVmZmVjdCwg
J0tleWZyYW1lRWZmZWN0JywKKyAgICAgICAgICAgICAgICAgICAgICAnUmV0dXJuZWQgQW5pbWF0
aW9uIGhhcyBhIEtleWZyYW1lRWZmZWN0Jyk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkgY3JlYXRl
cyBhbiBBbmltYXRpb24gb2JqZWN0IHdpdGggYSBLZXlmcmFtZUVmZmVjdCcpOworCit0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGlmcmFtZSA9IHdpbmRvdy5mcmFtZXNbMF07CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodCwgaWZyYW1lLmRvY3VtZW50KTsKKyAgdmFyIGFuaW0gPSBFbGVtZW50LnBy
b3RvdHlwZS5hbmltYXRlLmNhbGwoZGl2LCBudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3Qu
Z2V0UHJvdG90eXBlT2YoYW5pbS5lZmZlY3QpLAorICAgICAgICAgICAgICAgIGlmcmFtZS5LZXlm
cmFtZUVmZmVjdC5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAgJ1RoZSBwcm90b3R5cGUgb2Yg
dGhlIGNyZWF0ZWQgS2V5ZnJhbWVFZmZlY3QgaXMgdGhhdCBkZWZpbmVkIG9uJworICAgICAgICAg
ICAgICAgICsgJyB0aGUgcmVsZXZhbnQgZ2xvYmFsIGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQnKTsK
KyAgYXNzZXJ0X25vdF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFuaW0uZWZmZWN0KSwK
KyAgICAgICAgICAgICAgICAgICAgS2V5ZnJhbWVFZmZlY3QucHJvdG90eXBlLAorICAgICAgICAg
ICAgICAgICAgICAnVGhlIHByb3RvdHlwZSBvZiB0aGUgY3JlYXRlZCBLZXlmcmFtZUVmZmVjdCBp
cyBOT1QgdGhhdCBvZicKKyAgICAgICAgICAgICAgICAgICAgKyAnIHRoZSBjdXJyZW50IGdsb2Jh
bCcpOworfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4gQW5pbWF0aW9uIG9iamVjdCB3
aXRoIGEgS2V5ZnJhbWVFZmZlY3QnCisgICArICcgdGhhdCBpcyBjcmVhdGVkIGluIHRoZSByZWxl
dmFudCByZWFsbSBvZiB0aGUgdGFyZ2V0IGVsZW1lbnQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBpZnJhbWUgPSB3aW5kb3cuZnJhbWVzWzBdOworICB2YXIgZGl2ID0gY3JlYXRlRGl2
KHQsIGlmcmFtZS5kb2N1bWVudCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUobnVsbCk7Cisg
IGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFuaW0uZWZmZWN0LnRpbWluZyks
CisgICAgICAgICAgICAgICAgaWZyYW1lLkFuaW1hdGlvbkVmZmVjdFRpbWluZy5wcm90b3R5cGUs
CisgICAgICAgICAgICAgICAgJ1RoZSBwcm90b3R5cGUgb2YgdGhlIGNyZWF0ZWQgQW5pbWF0aW9u
RWZmZWN0VGltaW5nIGlzIHRoYXQnCisgICAgICAgICAgICAgICAgKyAnIGRlZmluZWQgb24gdGhl
IHJlbGV2YW50IGdsb2JhbCBmb3IgdGhlIHRhcmdldCBlbGVtZW50Jyk7CisgIGFzc2VydF9ub3Rf
ZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihhbmltLmVmZmVjdC50aW1pbmcpLAorICAgICAg
ICAgICAgICAgICAgICBBbmltYXRpb25FZmZlY3RUaW1pbmcucHJvdG90eXBlLAorICAgICAgICAg
ICAgICAgICAgICAnVGhlIHByb3RvdHlwZSBvZiB0aGUgY3JlYXRlZCBBbmltYXRpb25FZmZlY3RU
aW1pbmcgaXMgTk9UJworICAgICAgICAgICAgICAgICAgICArICcgdGhhdCBvZiB0aGUgY3VycmVu
dCBnbG9iYWwnKTsKK30sICdFbGVtZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBv
YmplY3Qgd2l0aCBhIEtleWZyYW1lRWZmZWN0JworICAgKyAnIHdob3NlIEFuaW1hdGlvbkVmZmVj
dFRpbWluZyBvYmplY3QgaXMgY3JlYXRlZCBpbiB0aGUgcmVsZXZhbnQgcmVhbG0nCisgICArICcg
b2YgdGhlIHRhcmdldCBlbGVtZW50Jyk7CisKK2dFbXB0eUtleWZyYW1lTGlzdFRlc3RzLmZvckVh
Y2goZnVuY3Rpb24oc3ViVGVzdCkgeworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICAgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoc3ViVGVzdCwgMjAw
MCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbSwgbnVsbCk7CisgIH0sICdFbGVtZW50LmFu
aW1hdGUoKSBhY2NlcHRzIGVtcHR5IGtleWZyYW1lIGxpc3RzICcgKworICAgICBgKGlucHV0OiAk
e0pTT04uc3RyaW5naWZ5KHN1YlRlc3QpfSlgKTsKK30pOworCitnUHJvcGVydHlJbmRleGVkS2V5
ZnJhbWVzVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdWJ0ZXN0KSB7CisgIHRlc3QoZnVuY3Rpb24o
dCkgeworICAgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgICAgdmFyIGFuaW0gPSBkaXYuYW5p
bWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKTsKKyAgICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwo
YW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIHN1YnRlc3Qub3V0cHV0KTsKKyAgfSwgJ0VsZW1l
bnQuYW5pbWF0ZSgpIGFjY2VwdHMgJyArIHN1YnRlc3QuZGVzYyk7Cit9KTsKKworZ0tleWZyYW1l
U2VxdWVuY2VUZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKHN1YnRlc3QpIHsKKyAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgICB2YXIgYW5pbSA9IGRpdi5h
bmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApOworICAgIGFzc2VydF9mcmFtZV9saXN0c19lcXVh
bChhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKSwgc3VidGVzdC5vdXRwdXQpOworICB9LCAnRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyAnICsgc3VidGVzdC5kZXNjKTsKK30pOworCitnSW52YWxp
ZEtleWZyYW1lc1Rlc3RzLmZvckVhY2goZnVuY3Rpb24oc3VidGVzdCkgeworICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICAgIGFzc2VydF90aHJvd3Mo
c3VidGVzdC5leHBlY3RlZCwgZnVuY3Rpb24oKSB7CisgICAgICBkaXYuYW5pbWF0ZShzdWJ0ZXN0
LmlucHV0LCAyMDAwKTsKKyAgICB9KTsKKyAgfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90
IGFjY2VwdCAnICsgc3VidGVzdC5kZXNjKTsKK30pOworCitnSW52YWxpZEVhc2luZ3MuZm9yRWFj
aChpbnZhbGlkRWFzaW5nID0+IHsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IHsK
KyAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOworICAg
IH0pOworICB9LCBgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFz
aW5nOiAnJHtpbnZhbGlkRWFzaW5nfSdgKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
dmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNp
dHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWlu
Zy5kdXJhdGlvbiwgMjAwMCk7CisgIC8vIEFsc28gY2hlY2sgdGhhdCB1bnNwZWNpZmllZCBwYXJh
bWV0ZXJzIHJlY2VpdmUgdGhlaXIgZGVmYXVsdCB2YWx1ZXMKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
LmVmZmVjdC50aW1pbmcuZmlsbCwgJ2F1dG8nKTsKK30sICdFbGVtZW50LmFuaW1hdGUoKSBhY2Nl
cHRzIGEgZG91YmxlIGFzIGFuIG9wdGlvbnMgYXJndW1lbnQnKTsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUo
eyBvcGFjaXR5OiBbIDAsIDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IEluZmluaXR5LCBmaWxsOiAnZm9yd2FyZHMnIH0pOworICBhc3NlcnRfZXF1YWxzKGFuaW0u
ZWZmZWN0LnRpbWluZy5kdXJhdGlvbiwgSW5maW5pdHkpOworICBhc3NlcnRfZXF1YWxzKGFuaW0u
ZWZmZWN0LnRpbWluZy5maWxsLCAnZm9yd2FyZHMnKTsKKyAgLy8gQWxzbyBjaGVjayB0aGF0IHVu
c3BlY2lmaWVkIHBhcmFtZXRlcnMgcmVjZWl2ZSB0aGVpciBkZWZhdWx0IHZhbHVlcworICBhc3Nl
cnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5kaXJlY3Rpb24sICdub3JtYWwnKTsKK30sICdF
bGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgS2V5ZnJhbWVBbmltYXRpb25PcHRpb25zIGFyZ3Vt
ZW50Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOwor
ICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSk7CisgIGFzc2Vy
dF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uLCAnYXV0bycpOworfSwgJ0VsZW1l
bnQuYW5pbWF0ZSgpIGFjY2VwdHMgYW4gYWJzZW50IG9wdGlvbnMgYXJndW1lbnQnKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0g
ZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYXNzZXJ0X2VxdWFs
cyhhbmltLmlkLCAnJyk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkgY29ycmVjdGx5IHNldHMgdGhl
IGlkIGF0dHJpYnV0ZSB3aGVuIG5vIGlkIGlzIHNwZWNpZmllZCcpOworCit0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0
ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIHsgaWQ6ICd0ZXN0JyB9KTsKKyAgYXNzZXJ0X2VxdWFs
cyhhbmltLmlkLCAndGVzdCcpOworfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNvcnJlY3RseSBzZXRz
IHRoZSBpZCBhdHRyaWJ1dGUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCAyMDAwKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLnRpbWVsaW5lLCBkb2N1bWVudC50aW1l
bGluZSk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkgY29ycmVjdGx5IHNldHMgdGhlIEFuaW1hdGlv
blwncyB0aW1lbGluZScpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGlmcmFt
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICBpZnJhbWUud2lkdGggPSAx
MDsKKyAgaWZyYW1lLmhlaWdodCA9IDEwOworCisgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgdmFyIGRpdiA9IGNyZWF0ZURpdih0
LCBpZnJhbWUuY29udGVudERvY3VtZW50KTsKKyAgICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLnRpbWVs
aW5lLCBpZnJhbWUuY29udGVudERvY3VtZW50LnRpbWVsaW5lKTsKKyAgICBpZnJhbWUucmVtb3Zl
KCk7CisgICAgdC5kb25lKCk7CisgIH0pKTsKKworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGlmcmFtZSk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkgY29ycmVjdGx5IHNldHMgdGhlIEFuaW1h
dGlvblwncyB0aW1lbGluZSB3aGVuICcgKworICAgJ3RyaWdnZXJlZCBvbiBhbiBlbGVtZW50IGlu
IGEgZGlmZmVyZW50IGRvY3VtZW50Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAw
LCAxIF0gfSwgMjAwMCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5wbGF5U3RhdGUsICdwZW5kaW5n
Jyk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkgY2FsbHMgcGxheSBvbiB0aGUgQW5pbWF0aW9uJyk7
CisKKy8vIFRlc3RzIG9uIENTU1BzZXVkb0VsZW1lbnQKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBwc2V1ZG9UYXJnZXQgPSBjcmVhdGVQc2V1ZG8odCwgJ2JlZm9yZScpOworICB2YXIgYW5p
bSA9IHBzZXVkb1RhcmdldC5hbmltYXRlKG51bGwpOworICBhc3NlcnRfY2xhc3Nfc3RyaW5nKGFu
aW0sICdBbmltYXRpb24nLCAnVGhlIHJldHVybmVkIG9iamVjdCBpcyBhbiBBbmltYXRpb24nKTsK
K30sICdDU1NQc2V1ZG9FbGVtZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBvYmpl
Y3QnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBwc2V1ZG9UYXJnZXQgPSBjcmVhdGVQ
c2V1ZG8odCwgJ2JlZm9yZScpOworICB2YXIgYW5pbSA9IHBzZXVkb1RhcmdldC5hbmltYXRlKG51
bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRhcmdldCwgcHNldWRvVGFyZ2V0LAor
ICAgICAgICAgICAgICAgICdUaGUgcmV0dXJuZWQgQW5pbWF0aW9uIHRhcmdldHMgdG8gdGhlIGNv
cnJlY3Qgb2JqZWN0Jyk7Cit9LCAnQ1NTUHNldWRvRWxlbWVudC5hbmltYXRlKCkgY3JlYXRlcyBh
biBBbmltYXRpb24gb2JqZWN0IHRhcmdldGluZyAnICsKKyAgICd0byB0aGUgY29ycmVjdCBDU1NQ
c2V1ZG9FbGVtZW50IG9iamVjdCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUv
Z2V0QW5pbWF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvZ2V0QW5pbWF0aW9ucy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjkxYzM5NmVjMzM1Yzk3ZmQzYjk2Nzk3MmVlNDhmYzliM2U3Y2MyNgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0YWJsZS9nZXRBbmltYXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1
IEBACisKK0ZBSUwgVGVzdCBnZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCBubyBhbmltYXRp
b25zIGRpdi5nZXRBbmltYXRpb25zIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5nZXRBbmlt
YXRpb25zKCknLCAnZGl2LmdldEFuaW1hdGlvbnMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBn
ZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCB0d28gYW5pbWF0aW9ucyBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VD
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGdldEFuaW1hdGlvbnMg
b24gc2VwYXJhdGUgZWxlbWVudHMgd2l0aCBzZXBhcmF0ZSBhbmltYXRpb25zIGRpdkEuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXZBLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVS
X1NFQyknLCAnZGl2QS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZ2V0QW5pbWF0
aW9ucyBvbiBwYXJlbnQgYW5kIGNoaWxkIGVsZW1lbnRzIHdpdGggc2VwYXJhdGUgYW5pbWF0aW9u
cyBkaXZQYXJlbnQuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXZQYXJlbnQuYW5p
bWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXZQYXJlbnQuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IGdldEFuaW1hdGlvbnMgb24gZWxlbWVudCB3aXRoIGZpbmlzaGVk
IGZpbGwgbm9uZSBhbmltYXRpb24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCBnZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCBmaW5pc2hl
ZCBmaWxsIGZvcndhcmRzIGFuaW1hdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZShudWxsLCB7CisgICAgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMs
CisgICAgZmlsbDogJ2ZvcndhcmRzJywKKyAgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgVGVzdCBnZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCBkZWxheWVkIGFuaW1h
dGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShudWxs
LCB7CisgICAgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgZGVsYXk6IDEwMCAqIE1T
X1BFUl9TRUMsCisgIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0
YWJsZS9nZXRBbmltYXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvZ2V0QW5pbWF0aW9ucy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ5NTUxYThlZjJiM2NkNGMwMGE1MTQyMzFkMjJlODQyNzUwN2U3OGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGFibGUvZ2V0QW5pbWF0aW9ucy5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5BbmltYXRhYmxlLmdldEFuaW1hdGlvbnMg
dGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRhYmxlLWdldGFuaW1hdGlvbnMiPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorJ3VzZSBz
dHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsK
KyAgYXNzZXJ0X2FycmF5X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLCBbXSk7Cit9LCAnVGVz
dCBnZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCBubyBhbmltYXRpb25zJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9u
QSA9IGRpdi5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgYW5pbWF0aW9u
QiA9IGRpdi5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKCksIFthbmltYXRpb25BLCBhbmltYXRpb25CXSk7Cit9
LCAnVGVzdCBnZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCB0d28gYW5pbWF0aW9ucycpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdkEgPSBjcmVhdGVEaXYodCk7CisgIHZhciBk
aXZCID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uQSA9IGRpdkEuYW5pbWF0ZShudWxs
LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIGFuaW1hdGlvbkIgPSBkaXZCLmFuaW1hdGUobnVs
bCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoZGl2QS5nZXRBbmlt
YXRpb25zKCksIFthbmltYXRpb25BXSwgJ2RpdkEnKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhk
aXZCLmdldEFuaW1hdGlvbnMoKSwgW2FuaW1hdGlvbkJdLCAnZGl2QicpOworfSwgJ1Rlc3QgZ2V0
QW5pbWF0aW9ucyBvbiBzZXBhcmF0ZSBlbGVtZW50cyB3aXRoIHNlcGFyYXRlIGFuaW1hdGlvbnMn
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXZQYXJlbnQgPSBjcmVhdGVEaXYodCk7
CisgIHZhciBkaXZDaGlsZCA9IGNyZWF0ZURpdih0KTsKKyAgZGl2UGFyZW50LmFwcGVuZENoaWxk
KGRpdkNoaWxkKTsKKyAgdmFyIGFuaW1hdGlvblBhcmVudCA9IGRpdlBhcmVudC5hbmltYXRlKG51
bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgYW5pbWF0aW9uQ2hpbGQgPSBkaXZDaGlsZC5h
bmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRp
dlBhcmVudC5nZXRBbmltYXRpb25zKCksIFthbmltYXRpb25QYXJlbnRdLCAnZGl2UGFyZW50Jyk7
CisgIGFzc2VydF9hcnJheV9lcXVhbHMoZGl2Q2hpbGQuZ2V0QW5pbWF0aW9ucygpLCBbYW5pbWF0
aW9uQ2hpbGRdLCAnZGl2Q2hpbGQnKTsKK30sICdUZXN0IGdldEFuaW1hdGlvbnMgb24gcGFyZW50
IGFuZCBjaGlsZCBlbGVtZW50cyB3aXRoIHNlcGFyYXRlIGFuaW1hdGlvbnMnKTsKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24g
PSBkaXYuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLmZpbmlz
aCgpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKCksIFtdKTsKK30s
ICdUZXN0IGdldEFuaW1hdGlvbnMgb24gZWxlbWVudCB3aXRoIGZpbmlzaGVkIGZpbGwgbm9uZSBh
bmltYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYo
dCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShudWxsLCB7CisgICAgZHVyYXRpb246
IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgZmlsbDogJ2ZvcndhcmRzJywKKyAgfSk7CisgIGFuaW1h
dGlvbi5maW5pc2goKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygp
LCBbYW5pbWF0aW9uXSk7Cit9LCAnVGVzdCBnZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCBm
aW5pc2hlZCBmaWxsIGZvcndhcmRzIGFuaW1hdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRl
KG51bGwsIHsKKyAgICBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICBkZWxheTogMTAw
ICogTVNfUEVSX1NFQywKKyAgfSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoZGl2LmdldEFuaW1h
dGlvbnMoKSwgW2FuaW1hdGlvbl0pOworfSwgJ1Rlc3QgZ2V0QW5pbWF0aW9ucyBvbiBlbGVtZW50
IHdpdGggZGVsYXllZCBhbmltYXRpb24nKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbi9jYW5jZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vY2FuY2VsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNDg2OTQ0NTgxNmVhNzQ1OWNjMGVjNGRmMTA2MTE4NzA1ODllNjg1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb24vY2FuY2VsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworRkFJTCBBbmltYXRl
ZCBzdHlsZSBpcyBjbGVhcmVkIGFmdGVyIGNhbGxpbmcgQW5pbWF0aW9uLmNhbmNlbCgpIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt0cmFuc2Zvcm06IFsn
dHJhbnNsYXRlKDEwMHB4KScsICd0cmFuc2xhdGUoMTAwcHgpJ119LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgQWZ0ZXIgY2FuY2VsbGluZyBhbiBhbmltYXRpb24sIGl0IGNhbiBzdGlsbCBi
ZSBzZWVrZWQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUo
e21hcmdpbkxlZnQ6IFsnMTAwcHgnLCAnMjAwcHgnXX0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBBZnRlciBjYW5jZWxsaW5nIGFuIGFuaW1hdGlvbiwgaXQgY2FuIHN0aWxsIGJlIHJlLXVz
ZWQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe21hcmdp
bkxlZnQ6WycxMDBweCcsICcyMDBweCddfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5p
bWF0aW9uL2NhbmNlbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb24vY2FuY2VsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhmMTc0YWJkOTFi
YzIyMDNhZTYxODIxYjBkNzRkYjgxNWM2YzI0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2NhbmNlbC5o
dG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYt
OD4KKzx0aXRsZT5BbmltYXRpb24uY2FuY2VsKCk8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb24t
Y2FuY2VsIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5Pgor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Byb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmlt
YXRpb24gPSBkaXYuYW5pbWF0ZSh7dHJhbnNmb3JtOiBbJ3RyYW5zbGF0ZSgxMDBweCknLCAndHJh
bnNsYXRlKDEwMHB4KSddfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCAqIE1T
X1BFUl9TRUMpOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7Cisg
ICAgYXNzZXJ0X25vdF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwgJ25v
bmUnLAorICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2Zvcm0gc3R5bGUgaXMgYW5pbWF0ZWQg
YmVmb3JlIGNhbmNlbGxpbmcnKTsKKyAgICBhbmltYXRpb24uY2FuY2VsKCk7CisgICAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLCAnbm9uZScsCisgICAgICAg
ICAgICAgICAgICAndHJhbnNmb3JtIHN0eWxlIGlzIG5vIGxvbmdlciBhbmltYXRlZCBhZnRlciBj
YW5jZWxsaW5nJyk7CisgIH0pOworfSwgJ0FuaW1hdGVkIHN0eWxlIGlzIGNsZWFyZWQgYWZ0ZXIg
Y2FsbGluZyBBbmltYXRpb24uY2FuY2VsKCknKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7bWFy
Z2luTGVmdDogWycxMDBweCcsICcyMDBweCddfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24uZWZmZWN0LnRpbWluZy5lYXNpbmcg
PSAnbGluZWFyJzsKKyAgYW5pbWF0aW9uLmNhbmNlbCgpOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMHB4JywKKyAgICAgICAgICAgICAgICAnbWFy
Z2luLWxlZnQgc3R5bGUgaXMgbm90IGFuaW1hdGVkIGFmdGVyIGNhbmNlbGxpbmcnKTsKKworICBh
bmltYXRpb24uY3VycmVudFRpbWUgPSA1MCAqIE1TX1BFUl9TRUM7CisgIGFzc2VydF9lcXVhbHMo
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcxNTBweCcsCisgICAgICAgICAgICAg
ICAgJ21hcmdpbi1sZWZ0IHN0eWxlIGlzIHVwZGF0ZWQgd2hlbiBjYW5jZWxsZWQgYW5pbWF0aW9u
IGlzJworICAgICAgICAgICAgICAgICsgJyBzZWVrZWQnKTsKK30sICdBZnRlciBjYW5jZWxsaW5n
IGFuIGFuaW1hdGlvbiwgaXQgY2FuIHN0aWxsIGJlIHNlZWtlZCcpOworCitwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9u
ID0gZGl2LmFuaW1hdGUoe21hcmdpbkxlZnQ6WycxMDBweCcsICcyMDBweCddfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEwMCAqIE1TX1BFUl9TRUMpOworICByZXR1cm4gYW5pbWF0
aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmNhbmNlbCgpOworICAg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcwcHgnLAor
ICAgICAgICAgICAgICAgICAgJ21hcmdpbi1sZWZ0IHN0eWxlIGlzIG5vdCBhbmltYXRlZCBhZnRl
ciBjYW5jZWxsaW5nJyk7CisgICAgYW5pbWF0aW9uLnBsYXkoKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMTAwcHgnLAorICAgICAgICAgICAg
ICAgICAgJ21hcmdpbi1sZWZ0IHN0eWxlIGlzIGFuaW1hdGVkIGFmdGVyIHJlLXN0YXJ0aW5nIGFu
aW1hdGlvbicpOworICAgIHJldHVybiBhbmltYXRpb24ucmVhZHk7CisgIH0pLnRoZW4oZnVuY3Rp
b24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncnVubmluZycs
CisgICAgICAgICAgICAgICAgICAnQW5pbWF0aW9uIHN1Y2NlZWRzIGluIHJ1bm5pbmcgYWZ0ZXIg
YmVpbmcgcmUtc3RhcnRlZCcpOworICB9KTsKK30sICdBZnRlciBjYW5jZWxsaW5nIGFuIGFuaW1h
dGlvbiwgaXQgY2FuIHN0aWxsIGJlIHJlLXVzZWQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0FuaW1hdGlvbi9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzZkYjgwZjU1NjYyZTY0YTNjODIxNjBlNTA4ZmE2MDEyZTM5NGNi
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uL2NvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEwIEBACisKK0ZBSUwgQW5pbWF0aW9uIGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIG51bGwgZWZm
ZWN0IGFuZCBudWxsIHRpbWVsaW5lIGFzc2VydF9lcXVhbHM6IEFuaW1hdGlvbi5wbGF5U3RhdGUg
c2hvdWxkIGJlIGluaXRpYWxseSAnaWRsZScgZXhwZWN0ZWQgKHN0cmluZykgImlkbGUiIGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIEFuaW1hdGlvbiBjYW4gYmUgY29uc3RydWN0
ZWQgd2l0aCBudWxsIGVmZmVjdCBhbmQgbm9uLW51bGwgdGltZWxpbmUgYXNzZXJ0X2VxdWFsczog
QW5pbWF0aW9uIHRpbWVsaW5lIHNob3VsZCBiZSBkb2N1bWVudC50aW1lbGluZSBleHBlY3RlZCBv
YmplY3QgIltvYmplY3QgRG9jdW1lbnRUaW1lbGluZV0iIGJ1dCBnb3QgbnVsbAorRkFJTCBBbmlt
YXRpb24gY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggbnVsbCBlZmZlY3QgYW5kIG5vIHRpbWVsaW5l
IHBhcmFtZXRlciBhc3NlcnRfZXF1YWxzOiBBbmltYXRpb24gdGltZWxpbmUgc2hvdWxkIGJlIGRv
Y3VtZW50LnRpbWVsaW5lIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBEb2N1bWVudFRpbWVsaW5l
XSIgYnV0IGdvdCBudWxsCitGQUlMIEFuaW1hdGlvbiBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBu
b24tbnVsbCBlZmZlY3QgYW5kIG51bGwgdGltZWxpbmUgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5
ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBBbmltYXRpb24gY2FuIGJlIGNvbnN0cnVjdGVkIHdp
dGggbm9uLW51bGwgZWZmZWN0IGFuZCBub24tbnVsbCB0aW1lbGluZSBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIEFuaW1hdGlvbiBjYW4gYmUgY29uc3Ry
dWN0ZWQgd2l0aCBub24tbnVsbCBlZmZlY3QgYW5kIG5vIHRpbWVsaW5lIHBhcmFtZXRlciBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIEFuaW1hdGlvbiBj
b25zdHJ1Y3RlZCBieSBhbiBlZmZlY3Qgd2l0aCBudWxsIHRhcmdldCBydW5zIG5vcm1hbGx5IENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgQW5pbWF0aW9u
IGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSB0aGF0IHRhcmdldCBlbGVtZW50IGlzIGluIGlm
cmFtZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5p
bWF0aW9uL2NvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9jb25zdHJ1Y3Rvci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRm
NzYxOTRiNmYwNTU3N2ZiNWNlOGE2YzU2NGY0NGJlZWNiYjJhODEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlv
bi9jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMTE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QW5pbWF0aW9uIGNvbnN0cnVjdG9yIHRlc3RzPC90
aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3czYy5naXRodWIuaW8vd2ViLWFu
aW1hdGlvbnMvI2RvbS1hbmltYXRpb24tYW5pbWF0aW9uIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iSGlyb3l1a2kgSWtlem9lIiBocmVmPSJtYWlsdG86aGlpa2V6b2VAbW96aWxsYS1qYXBh
bi5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8
ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CisKK3ZhciBnVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpOworCitmdW5jdGlvbiBjcmVhdGVFZmZlY3QoKSB7CisgIHJldHVybiBuZXcgS2V5ZnJh
bWVFZmZlY3RSZWFkT25seShnVGFyZ2V0LCB7IG9wYWNpdHk6IFswLCAxXSB9KTsKK30KKworZnVu
Y3Rpb24gY3JlYXRlTnVsbCgpIHsKKyAgcmV0dXJuIG51bGw7Cit9CisKK3ZhciBnVGVzdEFyZ3Vt
ZW50cyA9IFsKKyAgeworICAgIGNyZWF0ZUVmZmVjdDogY3JlYXRlTnVsbCwKKyAgICB0aW1lbGlu
ZTogbnVsbCwKKyAgICBleHBlY3RlZFRpbWVsaW5lOiBudWxsLAorICAgIGV4cGVjdGVkVGltZWxp
bmVEZXNjcmlwdGlvbjogIm51bGwiLAorICAgIGRlc2NyaXB0aW9uOiAid2l0aCBudWxsIGVmZmVj
dCBhbmQgbnVsbCB0aW1lbGluZSIKKyAgfSwKKyAgeworICAgIGNyZWF0ZUVmZmVjdDogY3JlYXRl
TnVsbCwKKyAgICB0aW1lbGluZTogZG9jdW1lbnQudGltZWxpbmUsCisgICAgZXhwZWN0ZWRUaW1l
bGluZTogZG9jdW1lbnQudGltZWxpbmUsCisgICAgZXhwZWN0ZWRUaW1lbGluZURlc2NyaXB0aW9u
OiAiZG9jdW1lbnQudGltZWxpbmUiLAorICAgIGRlc2NyaXB0aW9uOiAid2l0aCBudWxsIGVmZmVj
dCBhbmQgbm9uLW51bGwgdGltZWxpbmUiCisgIH0sCisgIHsKKyAgICBjcmVhdGVFZmZlY3Q6IGNy
ZWF0ZU51bGwsCisgICAgZXhwZWN0ZWRUaW1lbGluZTogZG9jdW1lbnQudGltZWxpbmUsCisgICAg
ZXhwZWN0ZWRUaW1lbGluZURlc2NyaXB0aW9uOiAiZG9jdW1lbnQudGltZWxpbmUiLAorICAgIGRl
c2NyaXB0aW9uOiAid2l0aCBudWxsIGVmZmVjdCBhbmQgbm8gdGltZWxpbmUgcGFyYW1ldGVyIgor
ICB9LAorICB7CisgICAgY3JlYXRlRWZmZWN0OiBjcmVhdGVFZmZlY3QsCisgICAgdGltZWxpbmU6
IG51bGwsCisgICAgZXhwZWN0ZWRUaW1lbGluZTogbnVsbCwKKyAgICBleHBlY3RlZFRpbWVsaW5l
RGVzY3JpcHRpb246ICJudWxsIiwKKyAgICBkZXNjcmlwdGlvbjogIndpdGggbm9uLW51bGwgZWZm
ZWN0IGFuZCBudWxsIHRpbWVsaW5lIgorICB9LAorICB7CisgICAgY3JlYXRlRWZmZWN0OiBjcmVh
dGVFZmZlY3QsCisgICAgdGltZWxpbmU6IGRvY3VtZW50LnRpbWVsaW5lLAorICAgIGV4cGVjdGVk
VGltZWxpbmU6IGRvY3VtZW50LnRpbWVsaW5lLAorICAgIGV4cGVjdGVkVGltZWxpbmVEZXNjcmlw
dGlvbjogImRvY3VtZW50LnRpbWVsaW5lIiwKKyAgICBkZXNjcmlwdGlvbjogIndpdGggbm9uLW51
bGwgZWZmZWN0IGFuZCBub24tbnVsbCB0aW1lbGluZSIKKyAgfSwKKyAgeworICAgIGNyZWF0ZUVm
ZmVjdDogY3JlYXRlRWZmZWN0LAorICAgIGV4cGVjdGVkVGltZWxpbmU6IGRvY3VtZW50LnRpbWVs
aW5lLAorICAgIGV4cGVjdGVkVGltZWxpbmVEZXNjcmlwdGlvbjogImRvY3VtZW50LnRpbWVsaW5l
IiwKKyAgICBkZXNjcmlwdGlvbjogIndpdGggbm9uLW51bGwgZWZmZWN0IGFuZCBubyB0aW1lbGlu
ZSBwYXJhbWV0ZXIiCisgIH0sCitdOworCitnVGVzdEFyZ3VtZW50cy5mb3JFYWNoKGZ1bmN0aW9u
KGFyZ3MpIHsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGVmZmVjdCA9IGFyZ3MuY3Jl
YXRlRWZmZWN0KCk7CisgICAgdmFyIGFuaW1hdGlvbiA9IG5ldyBBbmltYXRpb24oZWZmZWN0LCBh
cmdzLnRpbWVsaW5lKTsKKworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFuaW1hdGlvbiwgbnVsbCwK
KyAgICAgICAgICAgICAgICAgICAgICAiQW4gYW5pbWF0aW9uIHNvaHVsZCBiZSBjcmVhdGVkIik7
CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LCBlZmZlY3QsCisgICAgICAgICAg
ICAgICAgICAiQW5pbWF0aW9uIHJldHVybnMgdGhlIHNhbWUgZWZmZWN0IHBhc3NlZCB0byAiICsK
KyAgICAgICAgICAgICAgICAgICJ0aGUgQ29uc3RydWN0b3IiKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi50aW1lbGluZSwgYXJncy5leHBlY3RlZFRpbWVsaW5lLAorICAgICAgICAgICAg
ICAgICAgIkFuaW1hdGlvbiB0aW1lbGluZSBzaG91bGQgYmUgIiArIGFyZ3MuZXhwZWN0ZWRUaW1l
bGluZURlc2NyaXB0aW9uKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUs
ICJpZGxlIiwKKyAgICAgICAgICAgICAgICAgICJBbmltYXRpb24ucGxheVN0YXRlIHNob3VsZCBi
ZSBpbml0aWFsbHkgJ2lkbGUnIik7CisgIH0sICJBbmltYXRpb24gY2FuIGJlIGNvbnN0cnVjdGVk
ICIgKyBhcmdzLmRlc2NyaXB0aW9uKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KG51bGwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MDAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAi
Zm9yd2FyZHMiIH0pOworICB2YXIgYW5pbSA9IG5ldyBBbmltYXRpb24oZWZmZWN0LCBkb2N1bWVu
dC50aW1lbGluZSk7CisgIGFuaW0ucGF1c2UoKTsKKyAgYXNzZXJ0X2VxdWFscyhlZmZlY3QuZ2V0
Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMC4wKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSA1
MDAwOworICBhc3NlcnRfZXF1YWxzKGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNz
LCAwLjUpOworICBhbmltLmZpbmlzaCgpOworICBhc3NlcnRfZXF1YWxzKGVmZmVjdC5nZXRDb21w
dXRlZFRpbWluZygpLnByb2dyZXNzLCAxLjApOworfSwgIkFuaW1hdGlvbiBjb25zdHJ1Y3RlZCBi
eSBhbiBlZmZlY3Qgd2l0aCBudWxsIHRhcmdldCBydW5zIG5vcm1hbGx5Iik7CisKK2FzeW5jX3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aWZyYW1lJyk7CisKKyAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0LnN0ZXBfZnVu
YyhmdW5jdGlvbigpIHsKKyAgICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQsIGlmcmFtZS5jb250ZW50
RG9jdW1lbnQpOworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seShk
aXYsIG51bGwsIDEwMDAwKTsKKyAgICB2YXIgYW5pbSA9IG5ldyBBbmltYXRpb24oZWZmZWN0KTsK
KyAgICBhc3NlcnRfZXF1YWxzKGFuaW0udGltZWxpbmUsIGRvY3VtZW50LnRpbWVsaW5lKTsKKyAg
ICBpZnJhbWUucmVtb3ZlKCk7CisgICAgdC5kb25lKCk7CisgIH0pKTsKKworICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9LCAiQW5pbWF0aW9uIGNvbnN0cnVjdGVkIHdpdGgg
YSBrZXlmcmFtZSB0aGF0IHRhcmdldCBlbGVtZW50IGlzIGluIGlmcmFtZSIpOworCis8L3Njcmlw
dD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2VmZmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9lZmZlY3QtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhYTViOWViMTkyZWFiM2UzYzIwMGIxOGM2MWNiZTgwZDYz
ODg1N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9lZmZlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorCitGQUlMIGVmZmVjdCBpcyBzZXQgY29ycmVjdGx5LiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIENsZWFyaW5nIGFuZCBzZXR0aW5nIEFuaW1h
dGlvbi5lZmZlY3Qgc2hvdWxkIHVwZGF0ZSB0aGUgY29tcHV0ZWQgc3R5bGUgb2YgdGhlIHRhcmdl
dCBlbGVtZW50IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHsgbGVmdDogWycxMDBweCcsICcxMDBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IGZpbGw6ICdmb3J3YXJkcycgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRpb24vZWZmZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9lZmZlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzlj
NGYwNzljMDQzMzRkMGNiZjE0YmVkOWE5ODUxNmU2NzgwOThkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
ZWZmZWN0Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PXV0Zi04PgorPHRpdGxlPkFuaW1hdGlvbi5lZmZlY3QgdGVzdHM8L3RpdGxlPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2Rv
bS1hbmltYXRpb24tZWZmZWN0Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3Njcmlw
dD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IG5ldyBBbmltYXRpb24oKTsKKyAg
YXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdCwgbnVsbCwgImluaXRpYWwgZWZmZWN0IGlzIG51bGwi
KTsKKworICB2YXIgbmV3RWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkoY3JlYXRl
RGl2KHQpLCBudWxsKTsKKyAgYW5pbS5lZmZlY3QgPSBuZXdFZmZlY3Q7CisgIGFzc2VydF9lcXVh
bHMoYW5pbS5lZmZlY3QsIG5ld0VmZmVjdCwgIm5ldyBlZmZlY3QgaXMgc2V0Iik7Cit9LCAiZWZm
ZWN0IGlzIHNldCBjb3JyZWN0bHkuIik7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoeyBsZWZ0OiBb
JzEwMHB4JywgJzEwMHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZmls
bDogJ2ZvcndhcmRzJyB9KTsKKyAgdmFyIGVmZmVjdCA9IGFuaW1hdGlvbi5lZmZlY3Q7CisKKyAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubGVmdCwgJzEwMHB4JywKKyAgICAg
ICAgICAgICAgICAnYW5pbWF0aW9uIGlzIGluaXRpYWxseSBoYXZpbmcgYW4gZWZmZWN0Jyk7CisK
KyAgYW5pbWF0aW9uLmVmZmVjdCA9IG51bGw7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLmxlZnQsICdhdXRvJywKKyAgICAgICAgICAgICAgICAnYW5pbWF0aW9uIG5vIGxv
bmdlciBoYXMgYW4gZWZmZWN0Jyk7CisKKyAgYW5pbWF0aW9uLmVmZmVjdCA9IGVmZmVjdDsKKyAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubGVmdCwgJzEwMHB4JywKKyAgICAg
ICAgICAgICAgICAnYW5pbWF0aW9uIGhhcyBhbiBlZmZlY3QgYWdhaW4nKTsKK30sICdDbGVhcmlu
ZyBhbmQgc2V0dGluZyBBbmltYXRpb24uZWZmZWN0IHNob3VsZCB1cGRhdGUgdGhlIGNvbXB1dGVk
IHN0eWxlJworICAgKyAnIG9mIHRoZSB0YXJnZXQgZWxlbWVudCcpOworCis8L3NjcmlwdD4KKzwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvQW5pbWF0aW9uL2ZpbmlzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9maW5pc2gtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY0NWYwNjdlNDBmYzQ0ZjRlODU5OWRiZTM5NjZmOWY0YmM0MjVhMGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0FuaW1hdGlvbi9maW5pc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAK
KworRkFJTCBUZXN0IGV4Y2VwdGlvbnMgd2hlbiBmaW5pc2hpbmcgbm9uLXJ1bm5pbmcgYW5pbWF0
aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKGdLZXlG
cmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFRlc3QgZXhjZXB0aW9ucyB3aGVuIGZpbmlzaGluZyBpbmZpbml0ZSBhbmltYXRpb24gZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtkdXJhdGlvbiA6IDEwMCAqIE1TX1BFUl9T
RUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9ucyA6IEluZmluaXR5
fSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2hpbmcgb2Yg
YW5pbWF0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIFRlc3QgZmluaXNoaW5nIG9mIGFuaW1hdGlvbiB3aXRoIGEgY3VycmVudCB0aW1l
IHBhc3QgdGhlIGVmZmVjdCBlbmQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2hpbmcgb2YgcmV2ZXJzZWQgYW5pbWF0aW9u
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKGdLZXlGcmFt
ZXMsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgZmluaXNoaW5nIG9mIHJldmVyc2VkIGFuaW1hdGlvbiB3aXRoIGEgY3VycmVudCB0aW1l
IGxlc3MgdGhhbiB6ZXJvIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoKCkgd2hpbGUgcGF1c2VkIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BF
Ul9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoKCkg
d2hpbGUgcGF1c2UtcGVuZGluZyB3aXRoIHBvc2l0aXZlIHBsYXliYWNrUmF0ZSBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBN
U19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlz
aCgpIHdoaWxlIHBhdXNlLXBlbmRpbmcgd2l0aCBuZWdhdGl2ZSBwbGF5YmFja1JhdGUgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAw
ICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBm
aW5pc2goKSB3aGlsZSBwbGF5LXBlbmRpbmcgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFu
aW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2goKSBkdXJpbmcgYWJvcnRlZCBw
YXVzZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5
RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBUZXN0IHJlc2V0dGluZyBvZiBjb21wdXRlZCBzdHlsZSBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VD
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaCgpIHJlc29s
dmVzIGZpbmlzaGVkIHByb21pc2Ugc3luY2hyb25vdXNseSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaCgpIHJlc29sdmVz
IGZpbmlzaGVkIHByb21pc2Ugc3luY2hyb25vdXNseSB3aXRoIGFuIGFuaW1hdGlvbiB3aXRob3V0
IGEgdGFyZ2V0IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZB
SUwgVGVzdCBub3JtYWxseSBmaW5pc2hlZCBhbmltYXRpb24gcmVzb2x2ZXMgZmluaXNoZWQgcHJv
bWlzZSBzeW5jaHJvbm91c2x5IHdpdGggYW4gYW5pbWF0aW9uIHdpdGhvdXQgYSB0YXJnZXQgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9m
aW5pc2guaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uL2ZpbmlzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliOWM0YzcxMGUzZDM4YzhjMWE1
MzNjZWFmZjk5N2E3MTU5NTlkZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9maW5pc2guaHRtbApAQCAt
MCwwICsxLDI0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRp
dGxlPkFuaW1hdGlvbi5maW5pc2goKTwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlvbi1maW5pc2gi
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlk
PSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordmFyIGdLZXlGcmFtZXMg
PSB7ICdtYXJnaW5MZWZ0JzogWycxMDBweCcsICcyMDBweCddIH07CisKK3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFu
aW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5wbGF5YmFj
a1JhdGUgPSAwOworCisgIGFzc2VydF90aHJvd3Moe25hbWU6ICdJbnZhbGlkU3RhdGVFcnJvcid9
LCBmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24uZmluaXNoKCk7CisgIH0pOworfSwgJ1Rlc3Qg
ZXhjZXB0aW9ucyB3aGVuIGZpbmlzaGluZyBub24tcnVubmluZyBhbmltYXRpb24nKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRp
b24gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAge2R1cmF0aW9uIDogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpdGVyYXRpb25zIDogSW5maW5pdHl9KTsKKworICBhc3NlcnRfdGhyb3dzKHtuYW1l
OiAnSW52YWxpZFN0YXRlRXJyb3InfSwgZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmZpbmlz
aCgpOworICB9KTsKK30sICdUZXN0IGV4Y2VwdGlvbnMgd2hlbiBmaW5pc2hpbmcgaW5maW5pdGUg
YW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2
KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNf
UEVSX1NFQyk7CisgIGFuaW1hdGlvbi5maW5pc2goKTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1h
dGlvbi5jdXJyZW50VGltZSwgMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAnQWZ0
ZXIgZmluaXNoaW5nLCB0aGUgY3VycmVudFRpbWUgc2hvdWxkIGJlIHNldCB0byB0aGUgZW5kICcg
KworICAgICAgICAgICAgICAgICdvZiB0aGUgYWN0aXZlIGR1cmF0aW9uJyk7Cit9LCAnVGVzdCBm
aW5pc2hpbmcgb2YgYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1l
cywgMTAwICogTVNfUEVSX1NFQyk7CisgICAvLyAxcyBwYXN0IGVmZmVjdCBlbmQKKyAgYW5pbWF0
aW9uLmN1cnJlbnRUaW1lID0KKyAgICBhbmltYXRpb24uZWZmZWN0LmdldENvbXB1dGVkVGltaW5n
KCkuZW5kVGltZSArIDEgKiBNU19QRVJfU0VDOworICBhbmltYXRpb24uZmluaXNoKCk7CisKKyAg
YXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMsCisg
ICAgICAgICAgICAgICAgJ0FmdGVyIGZpbmlzaGluZywgdGhlIGN1cnJlbnRUaW1lIHNob3VsZCBi
ZSBzZXQgYmFjayB0byB0aGUgJyArCisgICAgICAgICAgICAgICAgJ2VuZCBvZiB0aGUgYWN0aXZl
IGR1cmF0aW9uJyk7Cit9LCAnVGVzdCBmaW5pc2hpbmcgb2YgYW5pbWF0aW9uIHdpdGggYSBjdXJy
ZW50IHRpbWUgcGFzdCB0aGUgZWZmZWN0IGVuZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFu
aW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5jdXJyZW50
VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7CisgIHJldHVybiBhbmltYXRpb24uZmluaXNoZWQudGhl
bihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gLTE7CisgICAgYW5p
bWF0aW9uLmZpbmlzaCgpOworCisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRp
bWUsIDAsCisgICAgICAgICAgICAgICAgICAnQWZ0ZXIgZmluaXNoaW5nIGEgcmV2ZXJzZWQgYW5p
bWF0aW9uIHRoZSBjdXJyZW50VGltZSAnICsKKyAgICAgICAgICAgICAgICAgICdzaG91bGQgYmUg
c2V0IHRvIHplcm8nKTsKKyAgfSk7Cit9LCAnVGVzdCBmaW5pc2hpbmcgb2YgcmV2ZXJzZWQgYW5p
bWF0aW9uJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVh
dGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAg
KiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMTAwICogTVNfUEVSX1NF
QzsKKyAgcmV0dXJuIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFu
aW1hdGlvbi5wbGF5YmFja1JhdGUgPSAtMTsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAt
MTAwMDsKKyAgICBhbmltYXRpb24uZmluaXNoKCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1h
dGlvbi5jdXJyZW50VGltZSwgMCwKKyAgICAgICAgICAgICAgICAgICdBZnRlciBmaW5pc2hpbmcg
YSByZXZlcnNlZCBhbmltYXRpb24gdGhlIGN1cnJlbnRUaW1lICcgKworICAgICAgICAgICAgICAg
ICAgJ3Nob3VsZCBiZSBzZXQgYmFjayB0byB6ZXJvJyk7CisgIH0pOworfSwgJ1Rlc3QgZmluaXNo
aW5nIG9mIHJldmVyc2VkIGFuaW1hdGlvbiB3aXRoIGEgY3VycmVudCB0aW1lIGxlc3MgdGhhbiB6
ZXJvJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVE
aXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBN
U19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisgIHJldHVybiBhbmltYXRpb24ucmVh
ZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24uZmluaXNoKCk7CisKKyAgICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdmaW5pc2hlZCcsCisgICAgICAgICAgICAg
ICAgICAnVGhlIHBsYXkgc3RhdGUgb2YgYSBwYXVzZWQgYW5pbWF0aW9uIHNob3VsZCBiZWNvbWUg
JyArCisgICAgICAgICAgICAgICAgICAnImZpbmlzaGVkIiBhZnRlciBmaW5pc2goKSBpcyBjYWxs
ZWQnKTsKKyAgICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbWF0aW9uLnN0YXJ0VGltZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLnRpbWVsaW5lLmN1cnJlbnRUaW1lIC0gMTAwICog
TVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBzdGFydCB0aW1lIG9mIGEg
cGF1c2VkIGFuaW1hdGlvbiBzaG91bGQgYmUgc2V0ICcgKworICAgICAgICAgICAgICAgICAgICAg
ICAnYWZ0ZXIgY2FsbGluZyBmaW5pc2goKScpOworICB9KTsKK30sICdUZXN0IGZpbmlzaCgpIHdo
aWxlIHBhdXNlZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURp
dih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1T
X1BFUl9TRUMpOworICBhbmltYXRpb24ucGF1c2UoKTsKKyAgLy8gVXBkYXRlIHBsYXliYWNrUmF0
ZSBzbyB3ZSBjYW4gdGVzdCB0aGF0IHRoZSBjYWxjdWxhdGVkIHN0YXJ0VGltZQorICAvLyByZXNw
ZWN0cyBpdAorICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gMjsKKyAgLy8gV2hpbGUgYW5pbWF0
aW9uIGlzIHN0aWxsIHBhdXNlLXBlbmRpbmcgY2FsbCBmaW5pc2goKQorICBhbmltYXRpb24uZmlu
aXNoKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAnZmluaXNoZWQn
LAorICAgICAgICAgICAgICAgICdUaGUgcGxheSBzdGF0ZSBvZiBhIHBhdXNlLXBlbmRpbmcgYW5p
bWF0aW9uIHNob3VsZCBiZWNvbWUgJyArCisgICAgICAgICAgICAgICAgJyJmaW5pc2hlZCIgYWZ0
ZXIgZmluaXNoKCkgaXMgY2FsbGVkJyk7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltYXRpb24u
c3RhcnRUaW1lLAorICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLnRpbWVsaW5lLmN1cnJl
bnRUaW1lIC0gMTAwICogTVNfUEVSX1NFQyAvIDIsCisgICAgICAgICAgICAgICAgICAgICAnVGhl
IHN0YXJ0IHRpbWUgb2YgYSBwYXVzZS1wZW5kaW5nIGFuaW1hdGlvbiBzaG91bGQgJyArCisgICAg
ICAgICAgICAgICAgICAgICAnYmUgc2V0IGFmdGVyIGNhbGxpbmcgZmluaXNoKCknKTsKK30sICdU
ZXN0IGZpbmlzaCgpIHdoaWxlIHBhdXNlLXBlbmRpbmcgd2l0aCBwb3NpdGl2ZSBwbGF5YmFja1Jh
dGUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VD
KTsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAtMjsK
KyAgYW5pbWF0aW9uLmZpbmlzaCgpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlT
dGF0ZSwgJ2ZpbmlzaGVkJywKKyAgICAgICAgICAgICAgICAnVGhlIHBsYXkgc3RhdGUgb2YgYSBw
YXVzZS1wZW5kaW5nIGFuaW1hdGlvbiBzaG91bGQgYmVjb21lICcgKworICAgICAgICAgICAgICAg
ICciZmluaXNoZWQiIGFmdGVyIGZpbmlzaCgpIGlzIGNhbGxlZCcpOworICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5zdGFydFRpbWUsIGFuaW1hdGlvbi50aW1lbGluZS5jdXJyZW50VGltZSwKKyAg
ICAgICAgICAgICAgICAnVGhlIHN0YXJ0IHRpbWUgb2YgYSBwYXVzZS1wZW5kaW5nIGFuaW1hdGlv
biBzaG91bGQgYmUgJyArCisgICAgICAgICAgICAgICAgJ3NldCBhZnRlciBjYWxsaW5nIGZpbmlz
aCgpJyk7Cit9LCAnVGVzdCBmaW5pc2goKSB3aGlsZSBwYXVzZS1wZW5kaW5nIHdpdGggbmVnYXRp
dmUgcGxheWJhY2tSYXRlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3Jl
YXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAw
ICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAwLjU7CisgIGFuaW1h
dGlvbi5maW5pc2goKTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdm
aW5pc2hlZCcsCisgICAgICAgICAgICAgICAgJ1RoZSBwbGF5IHN0YXRlIG9mIGEgcGxheS1wZW5k
aW5nIGFuaW1hdGlvbiBzaG91bGQgYmVjb21lICcgKworICAgICAgICAgICAgICAgICciZmluaXNo
ZWQiIGFmdGVyIGZpbmlzaCgpIGlzIGNhbGxlZCcpOworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5p
bWF0aW9uLnN0YXJ0VGltZSwKKyAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi50aW1lbGlu
ZS5jdXJyZW50VGltZSAtIDEwMCAqIE1TX1BFUl9TRUMgLyAwLjUsCisgICAgICAgICAgICAgICAg
ICAgICAnVGhlIHN0YXJ0IHRpbWUgb2YgYSBwbGF5LXBlbmRpbmcgYW5pbWF0aW9uIHNob3VsZCAn
ICsKKyAgICAgICAgICAgICAgICAgICAgICdiZSBzZXQgYWZ0ZXIgY2FsbGluZyBmaW5pc2goKScp
OworfSwgJ1Rlc3QgZmluaXNoKCkgd2hpbGUgcGxheS1wZW5kaW5nJyk7CisKKy8vIEZJWE1FOiBB
ZGQgYSB0ZXN0IGZvciB3aGVuIHdlIGFyZSBwbGF5LXBlbmRpbmcgd2l0aG91dCBhbiBhY3RpdmUg
dGltZWxpbmUuCisvLyAtIEluIHRoYXQgY2FzZSBldmVuIGFmdGVyIGNhbGxpbmcgZmluaXNoKCkg
d2Ugc2hvdWxkIHN0aWxsIGJlIHBlbmRpbmcgYnV0CisvLyAgIHRoZSBjdXJyZW50IHRpbWUgc2hv
dWxkIGJlIHVwZGF0ZWQKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMs
IDEwMCAqIE1TX1BFUl9TRUMpOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rp
b24oKSB7CisgICAgYW5pbWF0aW9uLnBhdXNlKCk7CisgICAgYW5pbWF0aW9uLnBsYXkoKTsKKyAg
ICAvLyBXZSBhcmUgbm93IGluIHRoZSB1bnVzdWFsIHNpdHVhdGlvbiBvZiBiZWluZyBwbGF5LXBl
bmRpbmcgd2hpbHN0IGhhdmluZworICAgIC8vIGEgcmVzb2x2ZWQgc3RhcnQgdGltZS4gQ2hlY2sg
dGhhdCBmaW5pc2goKSBzdGlsbCB0cmlnZ2VycyBhIHRyYW5zaXRpb24KKyAgICAvLyB0byB0aGUg
ZmluaXNoZWQgc3RhdGUgaW1tZWRpYXRlbHkuCisgICAgYW5pbWF0aW9uLmZpbmlzaCgpOworCisg
ICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAnZmluaXNoZWQnLAorICAgICAg
ICAgICAgICAgICAgJ0FmdGVyIGFib3J0aW5nIGEgcGF1c2UgdGhlbiBjYWxsaW5nIGZpbmlzaCgp
IHRoZSBwbGF5ICcgKworICAgICAgICAgICAgICAgICAgJ3N0YXRlIG9mIGFuIGFuaW1hdGlvbiBz
aG91bGQgYmVjb21lICJmaW5pc2hlZCIgaW1tZWRpYXRlbHknKTsKKyAgfSk7Cit9LCAnVGVzdCBm
aW5pc2goKSBkdXJpbmcgYWJvcnRlZCBwYXVzZScpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBkaXYuc3R5bGUubWFyZ2luTGVmdCA9
ICcxMHB4JzsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAq
IE1TX1BFUl9TRUMpOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7
CisgICAgYW5pbWF0aW9uLmZpbmlzaCgpOworICAgIHZhciBtYXJnaW5MZWZ0ID0gcGFyc2VGbG9h
dChnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCk7CisKKyAgICBhc3NlcnRfZXF1YWxz
KG1hcmdpbkxlZnQsIDEwLAorICAgICAgICAgICAgICAgICAgJ1RoZSBjb21wdXRlZCBzdHlsZSBz
aG91bGQgYmUgcmVzZXQgd2hlbiBmaW5pc2goKSBpcyAnICsKKyAgICAgICAgICAgICAgICAgICdj
YWxsZWQnKTsKKyAgfSk7Cit9LCAnVGVzdCByZXNldHRpbmcgb2YgY29tcHV0ZWQgc3R5bGUnKTsK
KworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsK
KyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9T
RUMpOworICB2YXIgcmVzb2x2ZWRGaW5pc2hlZCA9IGZhbHNlOworICBhbmltYXRpb24uZmluaXNo
ZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICByZXNvbHZlZEZpbmlzaGVkID0gdHJ1ZTsKKyAgfSk7
CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1h
dGlvbi5maW5pc2goKTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfdHJ1ZShy
ZXNvbHZlZEZpbmlzaGVkLAorICAgICAgJ0FuaW1hdGlvbi5maW5pc2hlZCBzaG91bGQgYmUgcmVz
b2x2ZWQgc29vbiBhZnRlciAnICsKKyAgICAgICdBbmltYXRpb24uZmluaXNoKCknKTsKKyAgfSk7
Cit9LCAnVGVzdCBmaW5pc2goKSByZXNvbHZlcyBmaW5pc2hlZCBwcm9taXNlIHN5bmNocm9ub3Vz
bHknKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGVmZmVjdCA9IG5ldyBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5KG51bGwsIGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMp
OworICB2YXIgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbihlZmZlY3QsIGRvY3VtZW50LnRpbWVs
aW5lKTsKKyAgdmFyIHJlc29sdmVkRmluaXNoZWQgPSBmYWxzZTsKKyAgYW5pbWF0aW9uLmZpbmlz
aGVkLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcmVzb2x2ZWRGaW5pc2hlZCA9IHRydWU7CisgIH0p
OworCisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmlt
YXRpb24uZmluaXNoKCk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3RydWUo
cmVzb2x2ZWRGaW5pc2hlZCwKKyAgICAgICAgICAgICAgICAnQW5pbWF0aW9uLmZpbmlzaGVkIHNo
b3VsZCBiZSByZXNvbHZlZCBzb29uIGFmdGVyICcgKworICAgICAgICAgICAgICAgICdBbmltYXRp
b24uZmluaXNoKCknKTsKKyAgfSk7Cit9LCAnVGVzdCBmaW5pc2goKSByZXNvbHZlcyBmaW5pc2hl
ZCBwcm9taXNlIHN5bmNocm9ub3VzbHkgd2l0aCBhbiBhbmltYXRpb24gJyArCisgICAnd2l0aG91
dCBhIHRhcmdldCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZWZmZWN0
ID0gbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkobnVsbCwgZ0tleUZyYW1lcywgMTAwICogTVNf
UEVSX1NFQyk7CisgIHZhciBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uKGVmZmVjdCwgZG9jdW1l
bnQudGltZWxpbmUpOworICBhbmltYXRpb24ucGxheSgpOworCisgIHZhciByZXNvbHZlZEZpbmlz
aGVkID0gZmFsc2U7CisgIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkgeworICAg
IHJlc29sdmVkRmluaXNoZWQgPSB0cnVlOworICB9KTsKKworICByZXR1cm4gYW5pbWF0aW9uLnJl
YWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gYW5pbWF0
aW9uLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmVuZFRpbWUgLSAxOworICAgIHJldHVybiB3
YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDIpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFz
c2VydF90cnVlKHJlc29sdmVkRmluaXNoZWQsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbi5m
aW5pc2hlZCBzaG91bGQgYmUgcmVzb2x2ZWQgc29vbiBhZnRlciAnICsKKyAgICAgICAgICAgICAg
ICAnQW5pbWF0aW9uIGZpbmlzaGVzIG5vcm1hbGx5Jyk7CisgIH0pOworfSwgJ1Rlc3Qgbm9ybWFs
bHkgZmluaXNoZWQgYW5pbWF0aW9uIHJlc29sdmVzIGZpbmlzaGVkIHByb21pc2Ugc3luY2hyb25v
dXNseSAnICsKKyAgICd3aXRoIGFuIGFuaW1hdGlvbiB3aXRob3V0IGEgdGFyZ2V0Jyk7CisKKzwv
c2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmluaXNoZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmlu
aXNoZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiZTViODQxZDM0NDkzOGY4Mzk5NzcxMDFh
MGViYzI3MDJiYWQ2MDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9maW5pc2hlZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyNCBAQAorCitGQUlMIFRlc3QgcGF1c2luZyB0aGVuIHBsYXlpbmcgZG9lcyBu
b3QgY2hhbmdlIHRoZSBmaW5pc2hlZCBwcm9taXNlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IHJlc3RhcnRpbmcgYSBmaW5pc2hlZCBhbmltYXRp
b24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEw
MCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3Qg
cmVzdGFydGluZyBhIHJldmVyc2VkIGZpbmlzaGVkIGFuaW1hdGlvbiBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCByZWR1bmRhbnQgZmluaXNoaW5n
IG9mIGFuaW1hdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgRmluaXNoZWQgcHJvbWlzZSBkb2VzIG5vdCByZXNvbHZlIHdoZW4gcGF1c2VkIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19Q
RVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBGaW5pc2hlZCBwcm9t
aXNlIGRvZXMgbm90IHJlc29sdmUgd2hlbiBwYXVzZS1wZW5kaW5nIGRpdi5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdk
aXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUaGUgZmluaXNoZWQgcHJvbWlzZSBpcyBm
dWxmaWxsZWQgd2l0aCBpdHMgQW5pbWF0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBmaW5pc2hlZCBwcm9taXNlIGlzIHJlamVjdGVkIHdoZW4gYW4g
YW5pbWF0aW9uIGlzIGNhbmNlbGxlZCBieSBjYWxsaW5nIGNhbmNlbCgpIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBjYW5jZWxsaW5nIGFuIGFscmVhZHkt
ZmluaXNoZWQgYW5pbWF0aW9uIHJlcGxhY2VzIHRoZSBmaW5pc2hlZCBwcm9taXNlIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJf
U0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBjYW5jZWxsaW5nIGFuIGlk
bGUgYW5pbWF0aW9uIHN0aWxsIHJlcGxhY2VzIHRoZSBmaW5pc2hlZCBwcm9taXNlIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJf
U0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaGVkIHBy
b21pc2UgY2hhbmdlcyBmb3IgYW5pbWF0aW9uIGR1cmF0aW9uIGNoYW5nZXMgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoZWQgcHJvbWlz
ZSBjaGFuZ2VzIHdoZW4gcGxheWJhY2tSYXRlID09IDAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoZWQgcHJvbWlzZSByZXNvbHZlcyB3
aGVuIHJlYWNoaW5nIHRvIHRoZSBuYXR1cmFsIGJvdW5kYXJ5LiBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2hlZCBwcm9taXNlIGNoYW5n
ZXMgd2hlbiBhIHByaW9yIGZpbmlzaGVkIHByb21pc2UgcmVzb2x2ZWQgYW5kIHRoZSBhbmltYXRp
b24gZmFsbHMgb3V0IGZpbmlzaGVkIHN0YXRlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IG5vIG5ldyBmaW5pc2hlZCBwcm9taXNlIGdlbmVyYXRl
ZCB3aGVuIGZpbmlzaGVkIHN0YXRlIGlzIGNoZWNrZWQgYXN5bmNocm9ub3VzbHkgZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9T
RUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgbmV3IGZpbmlzaGVk
IHByb21pc2UgZ2VuZXJhdGVkIHdoZW4gZmluaXNoZWQgc3RhdGUgaXMgY2hlY2tlZCBzeW5jaHJv
bm91c2x5IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBU
ZXN0IHN5bmNocm9ub3VzIGZpbmlzaGVkIHByb21pc2UgcmVzb2x2ZWQgZXZlbiBpZiBmaW5pc2hl
ZCBzdGF0ZSBpcyBjaGFuZ2VkIHNvb24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3Qgc3luY2hyb25vdXMgZmluaXNoZWQgcHJvbWlzZSByZXNvbHZl
ZCBldmVuIGlmIGFzeW5jaHJvbm91cyBmaW5pc2hlZCBwcm9taXNlIGhhcHBlbnMganVzdCBiZWZv
cmUgc3luY2hyb25vdXMgcHJvbWlzZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2hlZCBwcm9taXNlIGlzIG5vdCByZXNvbHZlZCB3aGVu
IHRoZSBhbmltYXRpb24gZmFsbHMgb3V0IGZpbmlzaGVkIHN0YXRlIGltbWVkaWF0ZWx5IGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19Q
RVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaGVk
IHByb21pc2UgaXMgbm90IHJlc29sdmVkIG9uY2UgdGhlIGFuaW1hdGlvbiBmYWxscyBvdXQgZmlu
aXNoZWQgc3RhdGUgZXZlbiB0aG91Z2ggdGhlIGN1cnJlbnQgZmluaXNoZWQgcHJvbWlzZSBpcyBn
ZW5lcmF0ZWQgc29vbiBhZnRlciBhbmltYXRpb24gc3RhdGUgYmVjYW1lIGZpbmlzaGVkIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19Q
RVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBGaW5pc2hlZCBwcm9t
aXNlIHNob3VsZCBiZSByZXNvbHZlZCBhZnRlciB0aGUgcmVhZHkgcHJvbWlzZSBpcyByZXNvbHZl
ZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYo
dCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBGaW5pc2hlZCBwcm9taXNlIHNob3VsZCBiZSByZWplY3Rl
ZCBhZnRlciB0aGUgcmVhZHkgcHJvbWlzZSBpcyByZWplY3RlZCBjcmVhdGVEaXYodCkuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAg
KiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0FuaW1hdGlvbi9maW5pc2hlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmluaXNoZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDZi
NTRhMGFmMzUyODQxMDg5OGRjZGRkNjJjOTU3YjA1YjBiM2JmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
ZmluaXNoZWQuaHRtbApAQCAtMCwwICsxLDQyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PXV0Zi04PgorPHRpdGxlPkFuaW1hdGlvbi5maW5pc2hlZDwvdGl0bGU+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9t
LWFuaW1hdGlvbi1maW5pc2hlZCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOwor
ICB2YXIgcHJldmlvdXNGaW5pc2hlZFByb21pc2UgPSBhbmltYXRpb24uZmluaXNoZWQ7CisgIHJl
dHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAgICAg
ICAgICAgICAnRmluaXNoZWQgcHJvbWlzZSBpcyB0aGUgc2FtZSBvYmplY3Qgd2hlbiBwbGF5aW5n
IHN0YXJ0cycpOworICAgIGFuaW1hdGlvbi5wYXVzZSgpOworICAgIGFzc2VydF9lcXVhbHMoYW5p
bWF0aW9uLmZpbmlzaGVkLCBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAgICAgICAgICAg
ICAgICdGaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IGNoYW5nZSB3aGVuIHBhdXNpbmcnKTsKKyAg
ICBhbmltYXRpb24ucGxheSgpOworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmZpbmlzaGVk
LCBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICdGaW5pc2hlZCBw
cm9taXNlIGRvZXMgbm90IGNoYW5nZSB3aGVuIHBsYXkoKSB1bnBhdXNlcycpOworCisgICAgYW5p
bWF0aW9uLmN1cnJlbnRUaW1lID0gMTAwICogTVNfUEVSX1NFQzsKKworICAgIHJldHVybiBhbmlt
YXRpb24uZmluaXNoZWQ7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFs
cyhhbmltYXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAg
ICAgICAgICAgJ0ZpbmlzaGVkIHByb21pc2UgaXMgdGhlIHNhbWUgb2JqZWN0IHdoZW4gcGxheWlu
ZyBjb21wbGV0ZXMnKTsKKyAgfSk7Cit9LCAnVGVzdCBwYXVzaW5nIHRoZW4gcGxheWluZyBkb2Vz
IG5vdCBjaGFuZ2UgdGhlIGZpbmlzaGVkIHByb21pc2UnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRp
di5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIHByZXZpb3VzRmluaXNoZWRQ
cm9taXNlID0gYW5pbWF0aW9uLmZpbmlzaGVkOworICBhbmltYXRpb24uZmluaXNoKCk7CisgIHJl
dHVybiBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1
YWxzKGFuaW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAg
ICAgICAgICAgICAnRmluaXNoZWQgcHJvbWlzZSBpcyB0aGUgc2FtZSBvYmplY3Qgd2hlbiBwbGF5
aW5nIGNvbXBsZXRlcycpOworICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgICAgYXNzZXJ0X25vdF9l
cXVhbHMoYW5pbWF0aW9uLmZpbmlzaGVkLCBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAg
ICAgICAgICAgICAgICdGaW5pc2hlZCBwcm9taXNlIGNoYW5nZXMgd2hlbiByZXBsYXlpbmcgYW5p
bWF0aW9uJyk7CisKKyAgICBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSA9IGFuaW1hdGlvbi5maW5p
c2hlZDsKKyAgICBhbmltYXRpb24ucGxheSgpOworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9u
LmZpbmlzaGVkLCBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICdG
aW5pc2hlZCBwcm9taXNlIGlzIHRoZSBzYW1lIGFmdGVyIHJlZHVuZGFudCBwbGF5KCkgY2FsbCcp
OworCisgIH0pOworfSwgJ1Rlc3QgcmVzdGFydGluZyBhIGZpbmlzaGVkIGFuaW1hdGlvbicpOwor
Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOwor
ICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICB2
YXIgcHJldmlvdXNGaW5pc2hlZFByb21pc2U7CisgIGFuaW1hdGlvbi5maW5pc2goKTsKKyAgcmV0
dXJuIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkgeworICAgIHByZXZpb3VzRmlu
aXNoZWRQcm9taXNlID0gYW5pbWF0aW9uLmZpbmlzaGVkOworICAgIGFuaW1hdGlvbi5wbGF5YmFj
a1JhdGUgPSAtMTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhhbmltYXRpb24uZmluaXNoZWQsIHBy
ZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAgICAgICAgICAgICAgICdGaW5pc2hlZCBw
cm9taXNlIHNob3VsZCBiZSByZXBsYWNlZCB3aGVuIHJldmVyc2luZyBhICcgKworICAgICAgICAg
ICAgICAgICAgICAgICdmaW5pc2hlZCBwcm9taXNlJyk7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRU
aW1lID0gMDsKKyAgICByZXR1cm4gYW5pbWF0aW9uLmZpbmlzaGVkOworICB9KS50aGVuKGZ1bmN0
aW9uKCkgeworICAgIHByZXZpb3VzRmluaXNoZWRQcm9taXNlID0gYW5pbWF0aW9uLmZpbmlzaGVk
OworICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9u
LmZpbmlzaGVkLCBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAnRmluaXNoZWQgcHJvbWlzZSBpcyByZXBsYWNlZCBhZnRlciBwbGF5KCkgY2FsbCBvbiAnICsK
KyAgICAgICAgICAgICAgICAgICAgICAnZmluaXNoZWQsIHJldmVyc2VkIGFuaW1hdGlvbicpOwor
ICB9KTsKK30sICdUZXN0IHJlc3RhcnRpbmcgYSByZXZlcnNlZCBmaW5pc2hlZCBhbmltYXRpb24n
KTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0
KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsK
KyAgdmFyIHByZXZpb3VzRmluaXNoZWRQcm9taXNlID0gYW5pbWF0aW9uLmZpbmlzaGVkOworICBh
bmltYXRpb24uZmluaXNoKCk7CisgIHJldHVybiBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5j
dGlvbigpIHsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDICsg
MTAwMDsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5p
c2hlZFByb21pc2UsCisgICAgICAgICAgICAgICAgICAnRmluaXNoZWQgcHJvbWlzZSBpcyB1bmNo
YW5nZWQganVtcGluZyBwYXN0IGVuZCBvZiAnICsKKyAgICAgICAgICAgICAgICAgICdmaW5pc2hl
ZCBhbmltYXRpb24nKTsKKyAgfSk7Cit9LCAnVGVzdCByZWR1bmRhbnQgZmluaXNoaW5nIG9mIGFu
aW1hdGlvbicpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3Jl
YXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BF
Ul9TRUMpOworICAvLyBTZXR1cCBjYWxsYmFjayB0byBydW4gaWYgZmluaXNoZWQgcHJvbWlzZSBp
cyByZXNvbHZlZAorICB2YXIgZmluaXNoUHJvbWlzZVJlc29sdmVkID0gZmFsc2U7CisgIGFuaW1h
dGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkgeworICAgIGZpbmlzaFByb21pc2VSZXNvbHZl
ZCA9IHRydWU7CisgIH0pOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24o
KSB7CisgICAgLy8gSnVtcCB0byBtaWQtd2F5IGluIGludGVydmFsIGFuZCBwYXVzZQorICAgIGFu
aW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUMgLyAyOworICAgIGFuaW1hdGlv
bi5wYXVzZSgpOworICAgIHJldHVybiBhbmltYXRpb24ucmVhZHk7CisgIH0pLnRoZW4oZnVuY3Rp
b24oKSB7CisgICAgLy8gSnVtcCB0byB0aGUgZW5kCisgICAgLy8gKEJ1dCBkb24ndCB1c2UgZmlu
aXNoKCkgc2luY2UgdGhhdCBzaG91bGQgdW5wYXVzZSBhcyB3ZWxsKQorICAgIGFuaW1hdGlvbi5j
dXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRp
b25GcmFtZXMoMik7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2ZhbHNlKGZp
bmlzaFByb21pc2VSZXNvbHZlZCwKKyAgICAgICAgICAgICAgICAgJ0ZpbmlzaGVkIHByb21pc2Ug
c2hvdWxkIG5vdCByZXNvbHZlIHdoZW4gcGF1c2VkJyk7CisgIH0pOworfSwgJ0ZpbmlzaGVkIHBy
b21pc2UgZG9lcyBub3QgcmVzb2x2ZSB3aGVuIHBhdXNlZCcpOworCitwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0g
ZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICAvLyBTZXR1cCBjYWxsYmFjayB0
byBydW4gaWYgZmluaXNoZWQgcHJvbWlzZSBpcyByZXNvbHZlZAorICB2YXIgZmluaXNoUHJvbWlz
ZVJlc29sdmVkID0gZmFsc2U7CisgIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkg
eworICAgIGZpbmlzaFByb21pc2VSZXNvbHZlZCA9IHRydWU7CisgIH0pOworICByZXR1cm4gYW5p
bWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgLy8gSnVtcCB0byBtaWQtd2F5IGlu
IGludGVydmFsIGFuZCBwYXVzZQorICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1T
X1BFUl9TRUMgLyAyOworICAgIGFuaW1hdGlvbi5wYXVzZSgpOworICAgIC8vIEp1bXAgdG8gdGhl
IGVuZAorICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7CisgICAg
cmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMik7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7
CisgICAgYXNzZXJ0X2ZhbHNlKGZpbmlzaFByb21pc2VSZXNvbHZlZCwKKyAgICAgICAgICAgICAg
ICAgJ0ZpbmlzaGVkIHByb21pc2Ugc2hvdWxkIG5vdCByZXNvbHZlIHdoZW4gcGF1c2UtcGVuZGlu
ZycpOworICB9KTsKK30sICdGaW5pc2hlZCBwcm9taXNlIGRvZXMgbm90IHJlc29sdmUgd2hlbiBw
YXVzZS1wZW5kaW5nJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICog
TVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5maW5pc2goKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5m
aW5pc2hlZC50aGVuKGZ1bmN0aW9uKHJlc29sdmVkQW5pbWF0aW9uKSB7CisgICAgYXNzZXJ0X2Vx
dWFscyhyZXNvbHZlZEFuaW1hdGlvbiwgYW5pbWF0aW9uLAorICAgICAgICAgICAgICAgICAgJ09i
amVjdCBpZGVudGl0eSBvZiBhbmltYXRpb24gcGFzc2VkIHRvIFByb21pc2UgY2FsbGJhY2snCisg
ICAgICAgICAgICAgICAgICArICcgbWF0Y2hlcyB0aGUgYW5pbWF0aW9uIG9iamVjdCBvd25pbmcg
dGhlIFByb21pc2UnKTsKKyAgfSk7Cit9LCAnVGhlIGZpbmlzaGVkIHByb21pc2UgaXMgZnVsZmls
bGVkIHdpdGggaXRzIEFuaW1hdGlvbicpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUo
e30sIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgcHJldmlvdXNGaW5pc2hlZFByb21pc2UgPSBh
bmltYXRpb24uZmluaXNoZWQ7CisKKyAgLy8gU2V0IHVwIGxpc3RlbmVycyBvbiBmaW5pc2hlZCBw
cm9taXNlCisgIHZhciByZXRQcm9taXNlID0gYW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4oZnVuY3Rp
b24oKSB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgnZmluaXNoZWQgcHJvbWlzZSB3YXMgZnVsZmls
bGVkJyk7CisgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikgeworICAgIGFzc2VydF9lcXVhbHMoZXJy
Lm5hbWUsICdBYm9ydEVycm9yJywKKyAgICAgICAgICAgICAgICAgICdmaW5pc2hlZCBwcm9taXNl
IGlzIHJlamVjdGVkIHdpdGggQWJvcnRFcnJvcicpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFu
aW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAgICAgICAg
ICAgICAgICAgJ0ZpbmlzaGVkIHByb21pc2Ugc2hvdWxkIGNoYW5nZSBhZnRlciB0aGUgb3JpZ2lu
YWwgaXMgJyArCisgICAgICAgICAgICAgICAgICAgICAgJ3JlamVjdGVkJyk7CisgIH0pOworCisg
IGFuaW1hdGlvbi5jYW5jZWwoKTsKKworICByZXR1cm4gcmV0UHJvbWlzZTsKK30sICdmaW5pc2hl
ZCBwcm9taXNlIGlzIHJlamVjdGVkIHdoZW4gYW4gYW5pbWF0aW9uIGlzIGNhbmNlbGxlZCBieSBj
YWxsaW5nICcgKworICAgJ2NhbmNlbCgpJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0
ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSA9
IGFuaW1hdGlvbi5maW5pc2hlZDsKKyAgYW5pbWF0aW9uLmZpbmlzaCgpOworICByZXR1cm4gYW5p
bWF0aW9uLmZpbmlzaGVkLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmNhbmNlbCgp
OworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFuaW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5p
c2hlZFByb21pc2UsCisgICAgICAgICAgICAgICAgICAgICAgJ0EgbmV3IGZpbmlzaGVkIHByb21p
c2Ugc2hvdWxkIGJlIGNyZWF0ZWQgd2hlbicKKyAgICAgICAgICAgICAgICAgICAgICArICcgY2Fu
Y2VsbGluZyBhIGZpbmlzaGVkIGFuaW1hdGlvbicpOworICB9KTsKK30sICdjYW5jZWxsaW5nIGFu
IGFscmVhZHktZmluaXNoZWQgYW5pbWF0aW9uIHJlcGxhY2VzIHRoZSBmaW5pc2hlZCBwcm9taXNl
Jyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYo
dCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7
CisgIGFuaW1hdGlvbi5jYW5jZWwoKTsKKyAgLy8gVGhlIHNwZWMgc2F5cyB3ZSBzdGlsbCBjcmVh
dGUgYSBuZXcgZmluaXNoZWQgcHJvbWlzZSBhbmQgcmVqZWN0IHRoZSBvbGQKKyAgLy8gb25lIGV2
ZW4gaWYgd2UncmUgYWxyZWFkeSBpZGxlLiBUaGF0IGJlaGF2aW9yIG1pZ2h0IGNoYW5nZSwgYnV0
IGZvciBub3cKKyAgLy8gdGVzdCB0aGF0IHdlIGRvIHRoYXQuCisgIHZhciByZXRQcm9taXNlID0g
YW5pbWF0aW9uLmZpbmlzaGVkLmNhdGNoKGZ1bmN0aW9uKGVycikgeworICAgIGFzc2VydF9lcXVh
bHMoZXJyLm5hbWUsICdBYm9ydEVycm9yJywKKyAgICAgICAgICAgICAgICAgICdmaW5pc2hlZCBw
cm9taXNlIGlzIHJlamVjdGVkIHdpdGggQWJvcnRFcnJvcicpOworICB9KTsKKworICAvLyBSZWR1
bmRhbnQgY2FsbCB0byBjYW5jZWwoKTsKKyAgdmFyIHByZXZpb3VzRmluaXNoZWRQcm9taXNlID0g
YW5pbWF0aW9uLmZpbmlzaGVkOworICBhbmltYXRpb24uY2FuY2VsKCk7CisgIGFzc2VydF9ub3Rf
ZXF1YWxzKGFuaW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAg
ICAgICAgICAgICAgICAgICdBIHJlZHVuZGFudCBjYWxsIHRvIGNhbmNlbCgpIHNob3VsZCBzdGls
bCBnZW5lcmF0ZSBhIG5ldycKKyAgICAgICAgICAgICAgICAgICAgKyAnIGZpbmlzaGVkIHByb21p
c2UnKTsKKyAgcmV0dXJuIHJldFByb21pc2U7Cit9LCAnY2FuY2VsbGluZyBhbiBpZGxlIGFuaW1h
dGlvbiBzdGlsbCByZXBsYWNlcyB0aGUgZmluaXNoZWQgcHJvbWlzZScpOworCitwcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0
aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICBjb25zdCBIQUxGX0RV
UiA9IDEwMCAqIE1TX1BFUl9TRUMgLyAyOworICBjb25zdCBRVUFSVEVSX0RVUiA9IDEwMCAqIE1T
X1BFUl9TRUMgLyA0OworICB2YXIgZ290TmV4dEZyYW1lID0gZmFsc2U7CisgIHZhciBjdXJyZW50
VGltZUJlZm9yZVNob3J0ZW5pbmc7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IEhBTEZfRFVS
OworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgY3VycmVu
dFRpbWVCZWZvcmVTaG9ydGVuaW5nID0gYW5pbWF0aW9uLmN1cnJlbnRUaW1lOworICAgIGFuaW1h
dGlvbi5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gUVVBUlRFUl9EVVI7CisgICAgLy8gQmVsb3cg
d2UgdXNlIGdvdE5leHRGcmFtZSB0byBjaGVjayB0aGF0IHNob3J0ZW5pbmcgb2YgdGhlIGFuaW1h
dGlvbgorICAgIC8vIGR1cmF0aW9uIGNhdXNlcyB0aGUgZmluaXNoZWQgcHJvbWlzZSB0byByZXNv
bHZlLCByYXRoZXIgdGhhbiBpdCBqdXN0CisgICAgLy8gZ2V0dGluZyByZXNvbHZlZCBvbiB0aGUg
bmV4dCBhbmltYXRpb24gZnJhbWUuIFRoaXMgcmVsaWVzIG9uIHRoZSBmYWN0CisgICAgLy8gdGhh
dCB0aGUgcHJvbWlzZXMgYXJlIHJlc29sdmVkIGFzIGEgbWljcm8tdGFzayBiZWZvcmUgdGhlIG5l
eHQgZnJhbWUKKyAgICAvLyBoYXBwZW5zLgorICAgIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSku
dGhlbihmdW5jdGlvbigpIHsKKyAgICAgIGdvdE5leHRGcmFtZSA9IHRydWU7CisgICAgfSk7CisK
KyAgICByZXR1cm4gYW5pbWF0aW9uLmZpbmlzaGVkOworICB9KS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgIGFzc2VydF9mYWxzZShnb3ROZXh0RnJhbWUsICdzaG9ydGVuaW5nIG9mIHRoZSBhbmltYXRp
b24gZHVyYXRpb24gc2hvdWxkICcgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdy
ZXNvbHZlIHRoZSBmaW5pc2hlZCBwcm9taXNlJyk7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRp
b24uY3VycmVudFRpbWUsIGN1cnJlbnRUaW1lQmVmb3JlU2hvcnRlbmluZywKKyAgICAgICAgICAg
ICAgICAgICdjdXJyZW50VGltZSBzaG91bGQgYmUgdW5jaGFuZ2VkIHdoZW4gZHVyYXRpb24gc2hv
cnRlbmVkJyk7CisgICAgdmFyIHByZXZpb3VzRmluaXNoZWRQcm9taXNlID0gYW5pbWF0aW9uLmZp
bmlzaGVkOworICAgIGFuaW1hdGlvbi5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gMTAwICogTVNf
UEVSX1NFQzsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhhbmltYXRpb24uZmluaXNoZWQsIHByZXZp
b3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAgICAgICAgICAgICAgICdGaW5pc2hlZCBwcm9t
aXNlIHNob3VsZCBjaGFuZ2UgYWZ0ZXIgbGVuZ3RoZW5pbmcgdGhlICcgKworICAgICAgICAgICAg
ICAgICAgICAgICdkdXJhdGlvbiBjYXVzZXMgdGhlIGFuaW1hdGlvbiB0byBiZWNvbWUgYWN0aXZl
Jyk7CisgIH0pOworfSwgJ1Rlc3QgZmluaXNoZWQgcHJvbWlzZSBjaGFuZ2VzIGZvciBhbmltYXRp
b24gZHVyYXRpb24gY2hhbmdlcycpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30s
IDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgcmV0UHJvbWlzZSA9IGFuaW1hdGlvbi5yZWFkeS50
aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAwOworICAgIGFu
aW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUMgKyAxMDAwOworICAgIHJldHVy
biB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDIpOworICB9KTsKKworICBhbmltYXRpb24uZmluaXNo
ZWQudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfdW5yZWFjaGVkKCdm
aW5pc2hlZCBwcm9taXNlIHNob3VsZCBub3QgcmVzb2x2ZSB3aGVuIHBsYXliYWNrUmF0ZSAnICsK
KyAgICAgICAgICAgICAgICAgICAgICdpcyB6ZXJvJyk7CisgIH0pKTsKKworICByZXR1cm4gcmV0
UHJvbWlzZTsKK30sICdUZXN0IGZpbmlzaGVkIHByb21pc2UgY2hhbmdlcyB3aGVuIHBsYXliYWNr
UmF0ZSA9PSAwJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNf
UEVSX1NFQyk7CisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAg
ICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gLTE7CisgICAgcmV0dXJuIGFuaW1hdGlvbi5maW5p
c2hlZDsKKyAgfSk7Cit9LCAnVGVzdCBmaW5pc2hlZCBwcm9taXNlIHJlc29sdmVzIHdoZW4gcmVh
Y2hpbmcgdG8gdGhlIG5hdHVyYWwgYm91bmRhcnkuJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYu
YW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBwcmV2aW91c0ZpbmlzaGVkUHJv
bWlzZSA9IGFuaW1hdGlvbi5maW5pc2hlZDsKKyAgYW5pbWF0aW9uLmZpbmlzaCgpOworICByZXR1
cm4gYW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmN1
cnJlbnRUaW1lID0gMDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhhbmltYXRpb24uZmluaXNoZWQs
IHByZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAgICAgICAgICAgICAgICdGaW5pc2hl
ZCBwcm9taXNlIHNob3VsZCBjaGFuZ2Ugb25jZSBhIHByaW9yICcgKworICAgICAgICAgICAgICAg
ICAgICAgICdmaW5pc2hlZCBwcm9taXNlIHJlc29sdmVkIGFuZCB0aGUgYW5pbWF0aW9uICcgKwor
ICAgICAgICAgICAgICAgICAgICAgICdmYWxscyBvdXQgZmluaXNoZWQgc3RhdGUnKTsKKyAgfSk7
Cit9LCAnVGVzdCBmaW5pc2hlZCBwcm9taXNlIGNoYW5nZXMgd2hlbiBhIHByaW9yIGZpbmlzaGVk
IHByb21pc2UgcmVzb2x2ZWQgJyArCisgICAnYW5kIHRoZSBhbmltYXRpb24gZmFsbHMgb3V0IGZp
bmlzaGVkIHN0YXRlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRl
RGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9T
RUMpOworICB2YXIgcHJldmlvdXNGaW5pc2hlZFByb21pc2UgPSBhbmltYXRpb24uZmluaXNoZWQ7
CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7CisgIGFuaW1hdGlv
bi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUMgLyAyOworICBhc3NlcnRfZXF1YWxzKGFu
aW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAgICAgICAg
ICAgJ05vIG5ldyBmaW5pc2hlZCBwcm9taXNlIGdlbmVyYXRlZCB3aGVuIGZpbmlzaGVkIHN0YXRl
ICcgKworICAgICAgICAgICAgICAgICdpcyBjaGVja2VkIGFzeW5jaHJvbm91c2x5Jyk7Cit9LCAn
VGVzdCBubyBuZXcgZmluaXNoZWQgcHJvbWlzZSBnZW5lcmF0ZWQgd2hlbiBmaW5pc2hlZCBzdGF0
ZSAnICsKKyAgICdpcyBjaGVja2VkIGFzeW5jaHJvbm91c2x5Jyk7CisKK3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFu
aW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgcHJldmlvdXNGaW5pc2hlZFByb21p
c2UgPSBhbmltYXRpb24uZmluaXNoZWQ7CisgIGFuaW1hdGlvbi5maW5pc2goKTsKKyAgYW5pbWF0
aW9uLmN1cnJlbnRUaW1lID0gMTAwICogTVNfUEVSX1NFQyAvIDI7CisgIGFzc2VydF9ub3RfZXF1
YWxzKGFuaW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAg
ICAgICAgICAgICAgICdOZXcgZmluaXNoZWQgcHJvbWlzZSBnZW5lcmF0ZWQgd2hlbiBmaW5pc2hl
ZCBzdGF0ZSAnICsKKyAgICAgICAgICAgICAgICAgICAgJ2lzIGNoZWNrZWQgc3luY2hyb25vdXNs
eScpOworfSwgJ1Rlc3QgbmV3IGZpbmlzaGVkIHByb21pc2UgZ2VuZXJhdGVkIHdoZW4gZmluaXNo
ZWQgc3RhdGUgJyArCisgICAnaXMgY2hlY2tlZCBzeW5jaHJvbm91c2x5Jyk7CisKK3Byb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmlt
YXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciByZXNvbHZl
ZEZpbmlzaGVkID0gZmFsc2U7CisgIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkg
eworICAgIHJlc29sdmVkRmluaXNoZWQgPSB0cnVlOworICB9KTsKKyAgcmV0dXJuIGFuaW1hdGlv
bi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5maW5pc2goKTsKKyAgICBh
bmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDIC8gMjsKKyAgfSkudGhlbihm
dW5jdGlvbigpIHsKKyAgICBhc3NlcnRfdHJ1ZShyZXNvbHZlZEZpbmlzaGVkLAorICAgICAgJ0Fu
aW1hdGlvbi5maW5pc2hlZCBzaG91bGQgYmUgcmVzb2x2ZWQgZXZlbiBpZiAnICsKKyAgICAgICd0
aGUgZmluaXNoZWQgc3RhdGUgaXMgY2hhbmdlZCBzb29uJyk7CisgIH0pOworCit9LCAnVGVzdCBz
eW5jaHJvbm91cyBmaW5pc2hlZCBwcm9taXNlIHJlc29sdmVkIGV2ZW4gaWYgZmluaXNoZWQgc3Rh
dGUgJyArCisgICAnaXMgY2hhbmdlZCBzb29uJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5p
bWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciByZXNvbHZlZEZpbmlzaGVkID0gZmFs
c2U7CisgIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkgeworICAgIHJlc29sdmVk
RmluaXNoZWQgPSB0cnVlOworICB9KTsKKworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4o
ZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMTAwICogTVNfUEVSX1NF
QzsKKyAgICBhbmltYXRpb24uZmluaXNoKCk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAg
YXNzZXJ0X3RydWUocmVzb2x2ZWRGaW5pc2hlZCwKKyAgICAgICdBbmltYXRpb24uZmluaXNoZWQg
c2hvdWxkIGJlIHJlc29sdmVkIHNvb24gYWZ0ZXIgZmluaXNoKCkgaXMgJyArCisgICAgICAnY2Fs
bGVkIGV2ZW4gaWYgdGhlcmUgYXJlIG90aGVyIGFzeW5jaHJvbm91cyBwcm9taXNlcyBqdXN0IGJl
Zm9yZSBpdCcpOworICB9KTsKK30sICdUZXN0IHN5bmNocm9ub3VzIGZpbmlzaGVkIHByb21pc2Ug
cmVzb2x2ZWQgZXZlbiBpZiBhc3luY2hyb25vdXMgJyArCisgICAnZmluaXNoZWQgcHJvbWlzZSBo
YXBwZW5zIGp1c3QgYmVmb3JlIHN5bmNocm9ub3VzIHByb21pc2UnKTsKKworcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlv
biA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLmZpbmlz
aGVkLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgn
QW5pbWF0aW9uLmZpbmlzaGVkIHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsKKyAgfSkpOworCisg
IHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24u
Y3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDOworICAgIGFuaW1hdGlvbi5jdXJyZW50VGlt
ZSA9IDEwMCAqIE1TX1BFUl9TRUMgLyAyOworICB9KTsKK30sICdUZXN0IGZpbmlzaGVkIHByb21p
c2UgaXMgbm90IHJlc29sdmVkIHdoZW4gdGhlIGFuaW1hdGlvbiAnICsKKyAgICdmYWxscyBvdXQg
ZmluaXNoZWQgc3RhdGUgaW1tZWRpYXRlbHknKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmlt
YXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVu
KGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9T
RUM7CisgICAgYW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7
CisgICAgICBhc3NlcnRfdW5yZWFjaGVkKCdBbmltYXRpb24uZmluaXNoZWQgc2hvdWxkIG5vdCBi
ZSByZXNvbHZlZCcpOworICAgIH0pKTsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAwOwor
ICB9KTsKKworfSwgJ1Rlc3QgZmluaXNoZWQgcHJvbWlzZSBpcyBub3QgcmVzb2x2ZWQgb25jZSB0
aGUgYW5pbWF0aW9uICcgKworICAgJ2ZhbGxzIG91dCBmaW5pc2hlZCBzdGF0ZSBldmVuIHRob3Vn
aCB0aGUgY3VycmVudCBmaW5pc2hlZCAnICsKKyAgICdwcm9taXNlIGlzIGdlbmVyYXRlZCBzb29u
IGFmdGVyIGFuaW1hdGlvbiBzdGF0ZSBiZWNhbWUgZmluaXNoZWQnKTsKKworcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51
bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgcmVhZHkgPSBmYWxzZTsKKyAgYW5pbWF0aW9u
LnJlYWR5LnRoZW4oCisgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICByZWFkeSA9
IHRydWU7CisgICAgfSksCisgICAgdC51bnJlYWNoZWRfZnVuYygnUmVhZHkgcHJvbWlzZSBtdXN0
IG5vdCBiZSByZWplY3RlZCcpCisgICk7CisKKyAgdmFyIHRlc3RTdWNjZXNzID0gYW5pbWF0aW9u
LmZpbmlzaGVkLnRoZW4oCisgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICBhc3Nl
cnRfdHJ1ZShyZWFkeSwgJ1JlYWR5IHByb21pc2UgaGFzIHJlc29sdmVkJyk7CisgICAgfSksCisg
ICAgdC51bnJlYWNoZWRfZnVuYygnRmluaXNoZWQgcHJvbWlzZSBtdXN0IG5vdCBiZSByZWplY3Rl
ZCcpCisgICk7CisKKyAgdmFyIHRpbWVvdXQgPSB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDMpLnRo
ZW4oZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCdGaW5pc2hlZCBwcm9t
aXNlIGRpZCBub3QgYXJyaXZlIGluIHRpbWUnKTsKKyAgfSk7CisKKyAgYW5pbWF0aW9uLmZpbmlz
aCgpOworICByZXR1cm4gUHJvbWlzZS5yYWNlKFt0aW1lb3V0LCB0ZXN0U3VjY2Vzc10pOworfSwg
J0ZpbmlzaGVkIHByb21pc2Ugc2hvdWxkIGJlIHJlc29sdmVkIGFmdGVyIHRoZSByZWFkeSBwcm9t
aXNlIGlzIHJlc29sdmVkJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBh
bmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsK
KyAgdmFyIGNhdWdodCA9IGZhbHNlOworICBhbmltYXRpb24ucmVhZHkudGhlbigKKyAgICB0LnVu
cmVhY2hlZF9mdW5jKCdSZWFkeSBwcm9taXNlIG11c3Qgbm90IGJlIHJlc29sdmVkJyksCisgICAg
dC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICBjYXVnaHQgPSB0cnVlOworICAgIH0pCisg
ICk7CisKKyAgdmFyIHRlc3RTdWNjZXNzID0gYW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4oCisgICAg
dC51bnJlYWNoZWRfZnVuYygnRmluaXNoZWQgcHJvbWlzZSBtdXN0IG5vdCBiZSByZXNvbHZlZCcp
LAorICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X3RydWUoY2F1Z2h0
LCAnUmVhZHkgcHJvbWlzZSBoYXMgYmVlbiByZWplY3RlZCcpOworICAgIH0pCisgICk7CisKKyAg
dmFyIHRpbWVvdXQgPSB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDMpLnRoZW4oZnVuY3Rpb24oKSB7
CisgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCdGaW5pc2hlZCBwcm9taXNlIHdhcyBub3QgcmVq
ZWN0ZWQgaW4gdGltZScpOworICB9KTsKKworICBhbmltYXRpb24uY2FuY2VsKCk7CisgIHJldHVy
biBQcm9taXNlLnJhY2UoW3RpbWVvdXQsIHRlc3RTdWNjZXNzXSk7Cit9LCAnRmluaXNoZWQgcHJv
bWlzZSBzaG91bGQgYmUgcmVqZWN0ZWQgYWZ0ZXIgdGhlIHJlYWR5IHByb21pc2UgaXMgcmVqZWN0
ZWQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlv
bi9pZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM4MWExMTg3MDJiOThkNGU0NThjMTgxNWJm
ZjM1MGIwMDljZTY3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2lkLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDQgQEAKKworRkFJTCBBbmltYXRpb24uaWQgaW5pdGlhbCB2YWx1ZSBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQykn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQW5pbWF0aW9uLmlkIHNldHRlciBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICog
TVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
aWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uL2lkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZhZGQ1NjIzNjk5NTFlOTMwNWU1NjM4NDZk
MTg5OGUxNGY5YWYyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2lkLmh0bWwKQEAgLTAsMCArMSwyOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFuaW1hdGlv
bi5pZDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5p
by93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlvbi1pZCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0
PgorInVzZSBzdHJpY3QiOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJf
U0VDKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uaWQsICcnLCAnaWQgZm9yIEFuaW1hdGlv
biBpcyBpbml0aWFsbHkgZW1wdHknKTsKK30sICdBbmltYXRpb24uaWQgaW5pdGlhbCB2YWx1ZScp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFy
IGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0
aW9uLmlkID0gJ2FuaW0nOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmlkLCAnYW5pbScs
ICdhbmltYXRpb24uaWQgcmVmbGVjdHMgdGhlIHZhbHVlIHNldCcpOworfSwgJ0FuaW1hdGlvbi5p
ZCBzZXR0ZXInKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZGxoYXJuZXNz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0aW9uL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlZjJm
ZjVmOWFhYzA5OTAyNjUxYmUwMjMwMGMyNmE5MjUwMzEyYWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ2IEBACisKK1BBU1MgQW5pbWF0aW9u
IGludGVyZmFjZSBhdXRvbWF0ZWQgSURMIHRlc3RzIAorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfZXF1
YWxzOiBwcm90b3R5cGUgb2YgQW5pbWF0aW9uIGlzIG5vdCBFdmVudFRhcmdldCBleHBlY3RlZCBm
dW5jdGlvbiAiZnVuY3Rpb24gRXZlbnRUYXJnZXQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIg
YnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCitQ
QVNTIEFuaW1hdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgQW5pbWF0aW9uIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9lcXVh
bHM6IHByb3RvdHlwZSBvZiBBbmltYXRpb24ucHJvdG90eXBlIGlzIG5vdCBFdmVudFRhcmdldC5w
cm90b3R5cGUgZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IEV2ZW50VGFyZ2V0UHJvdG90eXBlXSIg
YnV0IGdvdCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIKK1BBU1MgQW5pbWF0aW9uIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIGlkIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBw
cm9wZXJ0eSAiaWQiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIEFuaW1hdGlvbiBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBlZmZlY3QgCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSB0aW1lbGluZSBhc3NlcnRfZXF1YWxzOiBzZXR0ZXIgbXVzdCBiZSBmdW5jdGlvbiBmb3Ig
UHV0Rm9yd2FyZHMsIFJlcGxhY2VhYmxlLCBvciBub24tcmVhZG9ubHkgYXR0cmlidXRlcyBleHBl
Y3RlZCAiZnVuY3Rpb24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgQW5pbWF0aW9uIGludGVy
ZmFjZTogYXR0cmlidXRlIHN0YXJ0VGltZSAKK1BBU1MgQW5pbWF0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIGN1cnJlbnRUaW1lIAorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
cGxheWJhY2tSYXRlIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUg
YSBwcm9wZXJ0eSAicGxheWJhY2tSYXRlIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBB
bmltYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGxheVN0YXRlIGFzc2VydF90cnVlOiBUaGUg
cHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAicGxheVN0YXRlIiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVh
ZHkgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5
ICJyZWFkeSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFj
ZTogYXR0cmlidXRlIGZpbmlzaGVkIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBt
dXN0IGhhdmUgYSBwcm9wZXJ0eSAiZmluaXNoZWQiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitG
QUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmZpbmlzaCBhc3NlcnRfdHJ1ZTog
VGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uZmluaXNoIiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25jYW5jZWwgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHBy
b3BlcnR5ICJvbmNhbmNlbCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgQW5pbWF0aW9u
IGludGVyZmFjZTogb3BlcmF0aW9uIGNhbmNlbCgpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0
ZWQgcHJvcGVydHkgImNhbmNlbCIgbWlzc2luZworRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBv
cGVyYXRpb24gZmluaXNoKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAi
ZmluaXNoIiBtaXNzaW5nCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwbGF5
KCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2lu
ZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAicGxheSIgbWlzc2luZwor
RkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gcGF1c2UoKSBhc3NlcnRfb3duX3By
b3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3Bl
cmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJwYXVzZSIgbWlzc2luZworRkFJTCBBbmltYXRpb24g
aW50ZXJmYWNlOiBvcGVyYXRpb24gcmV2ZXJzZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0
ZWQgcHJvcGVydHkgInJldmVyc2UiIG1pc3NpbmcKK1BBU1MgQW5pbWF0aW9uIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEFuaW1hdGlvbigpIAorUEFTUyBTdHJpbmdpZmljYXRpb24g
b2YgbmV3IEFuaW1hdGlvbigpIAorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0
aW9uKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiaWQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4K
K1BBU1MgQW5pbWF0aW9uIGludGVyZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiZWZmZWN0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgQW5pbWF0aW9uIGlu
dGVyZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidGltZWxpbmUi
IHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5p
bWF0aW9uKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGFydFRpbWUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJjdXJyZW50VGltZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitGQUlM
IEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInBsYXliYWNrUmF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAicGxheWJhY2tSYXRlIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlM
IEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInBsYXlTdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9w
ZXJ0eSAicGxheVN0YXRlIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIEFuaW1h
dGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJl
YWR5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWFk
eSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNl
OiBuZXcgQW5pbWF0aW9uKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJmaW5pc2hlZCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZmluaXNoZWQiIG5vdCBm
b3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTogbmV3IEFu
aW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25maW5pc2giIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIm9uZmluaXNoIiBub3QgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24o
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY2FuY2VsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJvbmNhbmNlbCIgbm90IGZvdW5kIGluIHByb3RvdHlw
ZSBjaGFpbgorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJjYW5jZWwoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2lu
aGVyaXRzOiBwcm9wZXJ0eSAiY2FuY2VsIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitG
QUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImZpbmlzaCgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJmaW5pc2giIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgQW5pbWF0
aW9uIGludGVyZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGxh
eSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJwbGF5
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6
IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBhdXNlKCkiIHdpdGggdGhl
IHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInBhdXNlIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRp
b24oKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJldmVyc2UoKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmV2ZXJzZSIgbm90IGZvdW5kIGluIHByb3Rv
dHlwZSBjaGFpbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZGxoYXJuZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZGxoYXJuZXNzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjEzOTU4ZjFjNjMwNmZiNzBhZmQ1NDBlNmQ5MzhlNmJjNTQ4ODEyYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvQW5pbWF0aW9uL2lkbGhhcm5lc3MuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QW5pbWF0aW9uIGludGVy
ZmFjZSBhdXRvbWF0ZWQgSURMIHRlc3RzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL1dlYklE
TFBhcnNlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9pZGxoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvcGxhaW4iIGlkPSJB
bmltYXRpb24tSURMIj4KK2VudW0gQW5pbWF0aW9uUGxheVN0YXRlIHsgImlkbGUiLCAicGVuZGlu
ZyIsICJydW5uaW5nIiwgInBhdXNlZCIsICJmaW5pc2hlZCIgfTsKKworW0NvbnN0cnVjdG9yIChv
cHRpb25hbCBBbmltYXRpb25FZmZlY3RSZWFkT25seT8gZWZmZWN0ID0gbnVsbCwKKyAgICAgICAg
ICAgICAgb3B0aW9uYWwgQW5pbWF0aW9uVGltZWxpbmU/IHRpbWVsaW5lKV0KK2ludGVyZmFjZSBB
bmltYXRpb24gOiBFdmVudFRhcmdldCB7CisgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyAgICAgICAgICAgICAgICBpZDsKKyAgICAgICAgICAgICBhdHRyaWJ1dGUgQW5pbWF0aW9uRWZm
ZWN0UmVhZE9ubHk/IGVmZmVjdDsKKyAgICAgICAgICAgICBhdHRyaWJ1dGUgQW5pbWF0aW9uVGlt
ZWxpbmU/ICAgICAgIHRpbWVsaW5lOworICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGU/ICAg
ICAgICAgICAgICAgICAgc3RhcnRUaW1lOworICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGU/
ICAgICAgICAgICAgICAgICAgY3VycmVudFRpbWU7CisgICAgICAgICAgICAgYXR0cmlidXRlIGRv
dWJsZSAgICAgICAgICAgICAgICAgICBwbGF5YmFja1JhdGU7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIEFuaW1hdGlvblBsYXlTdGF0ZSAgICAgICBwbGF5U3RhdGU7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFByb21pc2U8QW5pbWF0aW9uPiAgICAgICByZWFkeTsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgUHJvbWlzZTxBbmltYXRpb24+ICAgICAgIGZpbmlzaGVkOworICAgICAgICAgICAgIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgICAgICAgb25maW5pc2g7CisgICAgICAgICAgICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgICAgICBvbmNhbmNlbDsKKyAgICB2b2lkIGNh
bmNlbCAoKTsKKyAgICB2b2lkIGZpbmlzaCAoKTsKKyAgICB2b2lkIHBsYXkgKCk7CisgICAgdm9p
ZCBwYXVzZSAoKTsKKyAgICB2b2lkIHJldmVyc2UgKCk7Cit9OworPC9zY3JpcHQ+Cis8c2NyaXB0
PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgY29uc3QgaWRsQXJyYXkg
PSBuZXcgSWRsQXJyYXkoKTsKKworICBpZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRscygnaW50ZXJm
YWNlIEFuaW1hdGlvblRpbWVsaW5lIHt9OycpOworICBpZGxBcnJheS5hZGRfdW50ZXN0ZWRfaWRs
cygnaW50ZXJmYWNlIEV2ZW50SGFuZGxlciB7fTsnKTsKKyAgaWRsQXJyYXkuYWRkX3VudGVzdGVk
X2lkbHMoJ2ludGVyZmFjZSBFdmVudFRhcmdldCB7fTsnKTsKKyAgaWRsQXJyYXkuYWRkX2lkbHMo
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0FuaW1hdGlvbi1JREwnKS50ZXh0Q29udGVu
dCk7CisKKyAgLy8gY29uc3QgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCk7
CisgIGlkbEFycmF5LmFkZF9vYmplY3RzKCB7IEFuaW1hdGlvbjogWyduZXcgQW5pbWF0aW9uKCkn
XSB9ICk7CisgIGlkbEFycmF5LnRlc3QoKTsKK30pOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9u
L29uY2FuY2VsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL29uY2FuY2VsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xYjMwZmY4NzJjYTE5MDEwZWQzY2IyOWRmYWMyMGFiYjY3YzEwM2Q4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb24vb25jYW5jZWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIG9uY2Fu
Y2VsIGV2ZW50IGlzIGZpcmVkIHdoZW4gYW5pbWF0aW9uLmNhbmNlbCgpIGlzIGNhbGxlZC4gZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1T
X1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL29u
Y2FuY2VsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0FuaW1hdGlvbi9vbmNhbmNlbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4ZDljZWQ2MWVjZmJjZTQw
ZTQ2NzRjN2IzZDAxMzliMTgxZDQwNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9vbmNhbmNlbC5odG1s
CkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4K
Kzx0aXRsZT5BbmltYXRpb24ub25jYW5jZWw8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb24tb25j
YW5jZWwiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8
ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKworYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRp
b24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBmaW5pc2hlZFRp
bWVsaW5lVGltZTsKKyAgYW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4oKS5jYXRjaChmdW5jdGlvbigp
IHsKKyAgICBmaW5pc2hlZFRpbWVsaW5lVGltZSA9IGFuaW1hdGlvbi50aW1lbGluZS5jdXJyZW50
VGltZTsKKyAgfSk7CisKKyAgYW5pbWF0aW9uLm9uY2FuY2VsID0gdC5zdGVwX2Z1bmNfZG9uZShm
dW5jdGlvbihldmVudCkgeworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuY3VycmVudFRpbWUsIG51
bGwsCisgICAgICAnZXZlbnQuY3VycmVudFRpbWUgc2hvdWxkIGJlIG51bGwnKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGV2ZW50LnRpbWVsaW5lVGltZSwgZmluaXNoZWRUaW1lbGluZVRpbWUsCisgICAg
ICAnZXZlbnQudGltZWxpbmVUaW1lIHNob3VsZCBlcXVhbCB0byB0aGUgYW5pbWF0aW9uIHRpbWVs
aW5lICcgKworICAgICAgJ3doZW4gZmluaXNoZWQgcHJvbWlzZSBpcyByZWplY3RlZCcpOworICB9
KTsKKworICBhbmltYXRpb24uY2FuY2VsKCk7Cit9LCAnb25jYW5jZWwgZXZlbnQgaXMgZmlyZWQg
d2hlbiBhbmltYXRpb24uY2FuY2VsKCkgaXMgY2FsbGVkLicpOworCis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0aW9uL29uZmluaXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL29uZmluaXNoLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MDE4YjM2MWExZTE1MjkyM2RlNjM3ZjRlMjRiZjBiNmI5Y2U2YThl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb24vb25maW5pc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBA
QAorCitGQUlMIG9uZmluaXNoIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIGN1cnJlbnRUaW1lIDwg
MCBhbmQgdGhlIHBsYXliYWNrUmF0ZSA8IDAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIG9uZmluaXNoIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIGN1cnJl
bnRUaW1lID4gMCBhbmQgdGhlIHBsYXliYWNrUmF0ZSA+IDAgZGl2LmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIG9uZmluaXNoIGV2ZW50IGlzIGZpcmVkIHdoZW4g
YW5pbWF0aW9uLmZpbmlzaCgpIGlzIGNhbGxlZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgb25maW5pc2ggZXZlbnQgaXMgbm90IGZpcmVkIHdoZW4gcGF1
c2VkIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAx
MDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBvbmZp
bmlzaCBldmVudCBpcyBub3QgZmlyZWQgd2hlbiB0aGUgcGxheWJhY2tSYXRlIGlzIHplcm8gZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1T
X1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIG9uZmluaXNoIGV2
ZW50IGlzIG5vdCBmaXJlZCB3aGVuIHRoZSBhbmltYXRpb24gZmFsbHMgb3V0IGZpbmlzaGVkIHN0
YXRlIGltbWVkaWF0ZWx5IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbi9vbmZpbmlzaC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vb25maW5pc2guaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41MGU1YmVkNmIxM2M1NWM5YWUwNTA1ZWNmMmVkMzRmMmM5NjVkYWU1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb24vb25maW5pc2guaHRtbApAQCAtMCwwICsxLDEyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFuaW1hdGlvbi5vbmZpbmlzaDwvdGl0bGU+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9u
cy8jZG9tLWFuaW1hdGlvbi1vbmZpbmlzaCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURp
dih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VD
KTsKKyAgdmFyIGZpbmlzaGVkVGltZWxpbmVUaW1lOworICBhbmltYXRpb24uZmluaXNoZWQudGhl
bihmdW5jdGlvbigpIHsKKyAgICBmaW5pc2hlZFRpbWVsaW5lVGltZSA9IGFuaW1hdGlvbi50aW1l
bGluZS5jdXJyZW50VGltZTsKKyAgfSk7CisKKyAgYW5pbWF0aW9uLm9uZmluaXNoID0gdC5zdGVw
X2Z1bmNfZG9uZShmdW5jdGlvbihldmVudCkgeworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuY3Vy
cmVudFRpbWUsIDAsCisgICAgICAnZXZlbnQuY3VycmVudFRpbWUgc2hvdWxkIGJlIHplcm8nKTsK
KyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnRpbWVsaW5lVGltZSwgZmluaXNoZWRUaW1lbGluZVRp
bWUsCisgICAgICAnZXZlbnQudGltZWxpbmVUaW1lIHNob3VsZCBlcXVhbCB0byB0aGUgYW5pbWF0
aW9uIHRpbWVsaW5lICcgKworICAgICAgJ3doZW4gZmluaXNoZWQgcHJvbWlzZSBpcyByZXNvbHZl
ZCcpOworICB9KTsKKworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gLTE7Cit9LCAnb25maW5p
c2ggZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgY3VycmVudFRpbWUgPCAwIGFuZCAnICsKKyAgICd0
aGUgcGxheWJhY2tSYXRlIDwgMCcpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAx
MDAgKiBNU19QRVJfU0VDKTsKKworICB2YXIgZmluaXNoZWRUaW1lbGluZVRpbWU7CisgIGFuaW1h
dGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkgeworICAgIGZpbmlzaGVkVGltZWxpbmVUaW1l
ID0gYW5pbWF0aW9uLnRpbWVsaW5lLmN1cnJlbnRUaW1lOworICB9KTsKKworICBhbmltYXRpb24u
b25maW5pc2ggPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgYXNzZXJ0
X2VxdWFscyhldmVudC5jdXJyZW50VGltZSwgMTAwICogTVNfUEVSX1NFQywKKyAgICAgICdldmVu
dC5jdXJyZW50VGltZSBzaG91bGQgYmUgdGhlIGVmZmVjdCBlbmQnKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGV2ZW50LnRpbWVsaW5lVGltZSwgZmluaXNoZWRUaW1lbGluZVRpbWUsCisgICAgICAnZXZl
bnQudGltZWxpbmVUaW1lIHNob3VsZCBlcXVhbCB0byB0aGUgYW5pbWF0aW9uIHRpbWVsaW5lICcg
KworICAgICAgJ3doZW4gZmluaXNoZWQgcHJvbWlzZSBpcyByZXNvbHZlZCcpOworICB9KTsKKwor
ICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDOworfSwgJ29uZmluaXNo
IGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIGN1cnJlbnRUaW1lID4gMCBhbmQgJyArCisgICAndGhl
IHBsYXliYWNrUmF0ZSA+IDAnKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBk
aXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAw
ICogTVNfUEVSX1NFQyk7CisKKyAgdmFyIGZpbmlzaGVkVGltZWxpbmVUaW1lOworICBhbmltYXRp
b24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICBmaW5pc2hlZFRpbWVsaW5lVGltZSA9
IGFuaW1hdGlvbi50aW1lbGluZS5jdXJyZW50VGltZTsKKyAgfSk7CisKKyAgYW5pbWF0aW9uLm9u
ZmluaXNoID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihldmVudCkgeworICAgIGFzc2VydF9l
cXVhbHMoZXZlbnQuY3VycmVudFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAnZXZlbnQu
Y3VycmVudFRpbWUgc2hvdWxkIGJlIHRoZSBlZmZlY3QgZW5kJyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhldmVudC50aW1lbGluZVRpbWUsIGZpbmlzaGVkVGltZWxpbmVUaW1lLAorICAgICAgJ2V2ZW50
LnRpbWVsaW5lVGltZSBzaG91bGQgZXF1YWwgdG8gdGhlIGFuaW1hdGlvbiB0aW1lbGluZSAnICsK
KyAgICAgICd3aGVuIGZpbmlzaGVkIHByb21pc2UgaXMgcmVzb2x2ZWQnKTsKKyAgfSk7CisKKyAg
YW5pbWF0aW9uLmZpbmlzaCgpOworfSwgJ29uZmluaXNoIGV2ZW50IGlzIGZpcmVkIHdoZW4gYW5p
bWF0aW9uLmZpbmlzaCgpIGlzIGNhbGxlZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1h
dGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworCisgIGFuaW1hdGlvbi5vbmZpbmlzaCA9IGZ1bmN0
aW9uKGV2ZW50KSB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgnb25maW5pc2ggZXZlbnQgc2hvdWxk
IG5vdCBiZSBmaXJlZCcpOworICB9OworCisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAq
IE1TX1BFUl9TRUMgLyAyOworICBhbmltYXRpb24ucGF1c2UoKTsKKworICByZXR1cm4gYW5pbWF0
aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0g
MTAwICogTVNfUEVSX1NFQzsKKyAgICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygyKTsK
KyAgfSk7Cit9LCAnb25maW5pc2ggZXZlbnQgaXMgbm90IGZpcmVkIHdoZW4gcGF1c2VkJyk7CisK
K3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFu
aW1hdGlvbi5vbmZpbmlzaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgYXNzZXJ0X3VucmVhY2hl
ZCgnb25maW5pc2ggZXZlbnQgc2hvdWxkIG5vdCBiZSBmaXJlZCcpOworICB9OworCisgIHJldHVy
biBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24ucGxheWJh
Y2tSYXRlID0gMDsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VD
OworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDIpOworICB9KTsKK30sICdvbmZp
bmlzaCBldmVudCBpcyBub3QgZmlyZWQgd2hlbiB0aGUgcGxheWJhY2tSYXRlIGlzIHplcm8nKTsK
KworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsK
KyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAg
YW5pbWF0aW9uLm9uZmluaXNoID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBhc3NlcnRfdW5yZWFj
aGVkKCdvbmZpbmlzaCBldmVudCBzaG91bGQgbm90IGJlIGZpcmVkJyk7CisgIH07CisKKyAgcmV0
dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jdXJy
ZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0g
MTAwICogTVNfUEVSX1NFQyAvIDI7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMo
Mik7CisgIH0pOworfSwgJ29uZmluaXNoIGV2ZW50IGlzIG5vdCBmaXJlZCB3aGVuIHRoZSBhbmlt
YXRpb24gZmFsbHMgb3V0ICcgKworICAgJ2ZpbmlzaGVkIHN0YXRlIGltbWVkaWF0ZWx5Jyk7CisK
Kzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGF1c2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGF1
c2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmYzM5NGRmY2Q5NmYwOGIzNmNhNDY0NjJkNTEy
NGUxYmZmOTA1NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wYXVzZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw4IEBACisKK0ZBSUwgcGF1c2UoKSBhIHJ1bm5pbmcgYW5pbWF0aW9uIGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAwICogTVNfUEVSX1NF
QyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgcGF1c2UoKSBmcm9tIGlkbGUg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMDAg
KiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBwYXVzZSgp
IGZyb20gaWRsZSB3aXRoIGEgbmVnYXRpdmUgcGxheWJhY2tSYXRlIGRpdi5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAwICogTVNfUEVSX1NFQyknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgcGF1c2UoKSBmcm9tIGlkbGUgd2l0aCBh
IG5lZ2F0aXZlIHBsYXliYWNrUmF0ZSBhbmQgZW5kbGVzcyBlZmZlY3QgZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIHtkdXJhdGlvbjogMTAwMCAqIE1T
X1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6
IEluZmluaXR5fSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgcGF1c2UoKSBv
biBhIGZpbmlzaGVkIGFuaW1hdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7fSwgMTAwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BhdXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wYXVzZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJjZmFmNGE5YjgyM2Y1Yjk2OTBiMjg2NDQ0MDc5Yzk3MDVjZDAxZDIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbi9wYXVzZS5odG1sCkBAIC0wLDAgKzEsOTggQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5BbmltYXRpb24ucGF1c2UoKTwvdGl0bGU+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8j
ZG9tLWFuaW1hdGlvbi1wYXVzZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMDAgKiBNU19QRVJfU0VDKTsK
KyAgdmFyIHByZXZpb3VzQ3VycmVudFRpbWUgPSBhbmltYXRpb24uY3VycmVudFRpbWU7CisKKyAg
cmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSkpLnRo
ZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3RydWUoYW5pbWF0aW9uLmN1cnJlbnRUaW1lID49
IHByZXZpb3VzQ3VycmVudFRpbWUsCisgICAgICAgICAgICAgICAgJ2N1cnJlbnRUaW1lIGlzIGlu
aXRpYWxseSBpbmNyZWFzaW5nJyk7CisgICAgYW5pbWF0aW9uLnBhdXNlKCk7CisgICAgcmV0dXJu
IGFuaW1hdGlvbi5yZWFkeTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBwcmV2aW91c0N1
cnJlbnRUaW1lID0gYW5pbWF0aW9uLmN1cnJlbnRUaW1lOworICAgIHJldHVybiB3YWl0Rm9yQW5p
bWF0aW9uRnJhbWVzKDEpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVh
bHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCBwcmV2aW91c0N1cnJlbnRUaW1lLAorICAgICAgICAg
ICAgICAgICAgJ2N1cnJlbnRUaW1lIGRvZXMgbm90IGluY3JlYXNlIGFmdGVyIGNhbGxpbmcgcGF1
c2UoKScpOworICB9KTsKK30sICdwYXVzZSgpIGEgcnVubmluZyBhbmltYXRpb24nKTsKKworcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFy
IGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAwICogTVNfUEVSX1NFQyk7CisKKyAgLy8g
R28gdG8gaWRsZSBzdGF0ZSB0aGVuIHBhdXNlCisgIGFuaW1hdGlvbi5jYW5jZWwoKTsKKyAgYW5p
bWF0aW9uLnBhdXNlKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUs
IDAsICdjdXJyZW50VGltZSBpcyBzZXQgdG8gMCcpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlv
bi5zdGFydFRpbWUsIG51bGwsICdzdGFydFRpbWUgaXMgbm90IHNldCcpOworICBhc3NlcnRfZXF1
YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJywgJ2luaXRpYWxseSBwYXVzZS1wZW5k
aW5nJyk7CisKKyAgLy8gQ2hlY2sgaXQgc3RpbGwgcmVzb2x2ZXMgYXMgZXhwZWN0ZWQKKyAgcmV0
dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMo
YW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BhdXNlZCcsCisgICAgICAgICAgICAgICAgICAncmVzb2x2
ZXMgdG8gcGF1c2VkIHN0YXRlIGFzeW5jaHJvbm91c2x5Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb24uY3VycmVudFRpbWUsIDAsCisgICAgICAgICAgICAgICAgICAna2VlcHMgdGhlIGlu
aXRpYWxseSBzZXQgY3VycmVudFRpbWUnKTsKKyAgfSk7Cit9LCAncGF1c2UoKSBmcm9tIGlkbGUn
KTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0
KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAwICogTVNfUEVSX1NFQyk7
CisgIGFuaW1hdGlvbi5jYW5jZWwoKTsKKyAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IC0xOwor
ICBhbmltYXRpb24ucGF1c2UoKTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50
VGltZSwgMTAwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgJ2N1cnJlbnRUaW1lIGlz
IHNldCB0byB0aGUgZWZmZWN0IGVuZCcpOworCisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhl
bihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwg
MTAwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAna2VlcHMgdGhlIGluaXRpYWxs
eSBzZXQgY3VycmVudFRpbWUnKTsKKyAgfSk7Cit9LCAncGF1c2UoKSBmcm9tIGlkbGUgd2l0aCBh
IG5lZ2F0aXZlIHBsYXliYWNrUmF0ZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRp
diA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCB7ZHVy
YXRpb246IDEwMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiBJbmZpbml0eX0pOworICBhbmltYXRpb24uY2FuY2VsKCk7CisgIGFu
aW1hdGlvbi5wbGF5YmFja1JhdGUgPSAtMTsKKworICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3Rh
dGVFcnJvcicsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgeyBhbmltYXRpb24ucGF1c2Uo
KTsgfSwKKyAgICAgICAgICAgICAgICAnRXhwZWN0IEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlv
biBvbiBjYWxsaW5nIHBhdXNlKCkgJyArCisgICAgICAgICAgICAgICAgJ2Zyb20gaWRsZSB3aXRo
IGEgbmVnYXRpdmUgcGxheWJhY2tSYXRlIGFuZCAnICsKKyAgICAgICAgICAgICAgICAnaW5maW5p
dGUtZHVyYXRpb24gYW5pbWF0aW9uJyk7Cit9LCAncGF1c2UoKSBmcm9tIGlkbGUgd2l0aCBhIG5l
Z2F0aXZlIHBsYXliYWNrUmF0ZSBhbmQgZW5kbGVzcyBlZmZlY3QnKTsKKworcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlv
biA9IGRpdi5hbmltYXRlKHt9LCAxMDAwICogTVNfUEVSX1NFQyk7CisgIHJldHVybiBhbmltYXRp
b24ucmVhZHkKKyAgICAudGhlbihmdW5jdGlvbihhbmltYXRpb24pIHsKKyAgICAgIGFuaW1hdGlv
bi5maW5pc2goKTsKKyAgICAgIGFuaW1hdGlvbi5wYXVzZSgpOworICAgICAgcmV0dXJuIGFuaW1h
dGlvbi5yZWFkeTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKGFuaW1hdGlvbikgeworICAgICAgYXNz
ZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDEwMDAgKiBNU19QRVJfU0VDLAorICAg
ICAgICAgICAgICAgICAgICAnY3VycmVudFRpbWUgYWZ0ZXIgcGF1c2luZyBmaW5pc2hlZCBhbmlt
YXRpb24nKTsKKyAgICB9KTsKK30sICdwYXVzZSgpIG9uIGEgZmluaXNoZWQgYW5pbWF0aW9uJyk7
CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxheS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9w
bGF5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDlhYjljNzM3YTFkNDJjMTQ5N2EzYWZlMzFi
MjViZjYwMzBkMjMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxheS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK0ZBSUwgcGxheSgpIHRocm93cyB3aGVuIHNlZWtpbmcgYW4gaW5maW5pdGUt
ZHVyYXRpb24gYW5pbWF0aW9uIHBsYXllZCBpbiByZXZlcnNlIHVuZGVmaW5lZCBpcyBub3QgYSBm
dW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbi9wbGF5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY3ZDhkZjE3MDc2Y2E0OWU2NWYzMzZjNGYxOGFm
NzNlYzZiZDQxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXkuaHRtbApAQCAtMCwwICsxLDM0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QW5pbWF0aW9u
LnBsYXkoKTwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlvbi1wbGF5Ij4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90
ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxz
Y3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7IHRy
YW5zZm9ybTogWydub25lJywgJ3RyYW5zbGF0ZSgxMHB4KSddfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb24gOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zIDogSW5maW5pdHl9KTsKKyAgcmV0dXJuIGFu
aW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIC8vIFNlZWsgdG8gYSB0aW1lIG91
dHNpZGUgdGhlIGFjdGl2ZSByYW5nZSBzbyB0aGF0IHBsYXkoKSB3aWxsIGhhdmUgdG8KKyAgICAv
LyBzbmFwIGJhY2sgdG8gdGhlIHN0YXJ0CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gLTUg
KiBNU19QRVJfU0VDOworICAgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAtMTsKKworICAgIGFz
c2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywKKyAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uICgpIHsgYW5pbWF0aW9uLnBsYXkoKTsgfSwKKyAgICAgICAgICAgICAgICAgICdFeHBlY3Rl
ZCBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24gb24gY2FsbGluZyBwbGF5KCkgJyArCisgICAg
ICAgICAgICAgICAgICAnd2l0aCBhIG5lZ2F0aXZlIHBsYXliYWNrUmF0ZSBhbmQgaW5maW5pdGUt
ZHVyYXRpb24gJyArCisgICAgICAgICAgICAgICAgICAnYW5pbWF0aW9uJyk7CisgIH0pOworfSwg
J3BsYXkoKSB0aHJvd3Mgd2hlbiBzZWVraW5nIGFuIGluZmluaXRlLWR1cmF0aW9uIGFuaW1hdGlv
biBwbGF5ZWQgaW4gJyArCisgICAncmV2ZXJzZScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uL3BsYXlTdGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5U3RhdGUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmIwMWE0ZjMzYjhkNzY4ZmZkZWE5ZDY4NGJmY2VlYTEwMjI0OGIzNTgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbi9wbGF5U3RhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAor
CitGQUlMIEFuaW1hdGlvbi5wbGF5U3RhdGUgcmVwb3J0cyAncGVuZGluZyctPidydW5uaW5nJyB3
aGVuIGluaXRpYWxseSBwbGF5ZWQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEFuaW1hdGlvbi5wbGF5U3RhdGUgcmVwb3J0cyAncGVuZGluZyctPidwYXVz
ZWQnIHdoZW4gcGF1c2luZyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgQW5pbWF0aW9uLnBsYXlTdGF0ZSBpcyAnaWRsZScgd2hlbiBjYW5jZWxlZC4gZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1T
X1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEFuaW1hdGlvbi5w
bGF5U3RhdGUgaXMgJ3BhdXNlZCcgYWZ0ZXIgY2FuY2VsbGluZyBhbiBhbmltYXRpb24sIHNlZWtp
bmcgaXQgbWFrZXMgaXQgcGF1c2VkIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5U3RhdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXlTdGF0ZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE1YWY1MjZjZGVmMzAwOTZmMWQ3OWMyZDhmZGNhNjhhODA5MmM1YjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0FuaW1hdGlvbi9wbGF5U3RhdGUuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QW5pbWF0aW9uLnBsYXlTdGF0ZTwv
dGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWIt
YW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlvbi1wbGF5c3RhdGUiPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rj
b21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlw
dD4KKyd1c2Ugc3RyaWN0JzsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRp
diA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAg
KiBNU19QRVJfU0VDKTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdw
ZW5kaW5nJyk7CisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAg
ICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdydW5uaW5nJyk7CisgIH0pOwor
fSwgJ0FuaW1hdGlvbi5wbGF5U3RhdGUgcmVwb3J0cyBcJ3BlbmRpbmdcJy0+XCdydW5uaW5nXCcg
d2hlbiBpbml0aWFsbHkgJyArCisgICAncGxheWVkJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYu
YW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5wYXVzZSgpOworCisg
IGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnKTsKKyAgcmV0dXJu
IGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5p
bWF0aW9uLnBsYXlTdGF0ZSwgJ3BhdXNlZCcpOworICB9KTsKK30sICdBbmltYXRpb24ucGxheVN0
YXRlIHJlcG9ydHMgXCdwZW5kaW5nXCctPlwncGF1c2VkXCcgd2hlbiBwYXVzaW5nJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0
aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24uY2Fu
Y2VsKCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ2lkbGUnKTsKK30s
ICdBbmltYXRpb24ucGxheVN0YXRlIGlzIFwnaWRsZVwnIHdoZW4gY2FuY2VsZWQuJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0
aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24uY2Fu
Y2VsKCk7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgYXNz
ZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGF1c2VkJywKKyAgICAgICAgICAgICAg
ICAnQWZ0ZXIgc2Vla2luZyBhbiBpZGxlIGFuaW1hdGlvbiwgaXQgaXMgZWZmZWN0aXZlbHkgcGF1
c2VkJyk7Cit9LCAnQW5pbWF0aW9uLnBsYXlTdGF0ZSBpcyBcJ3BhdXNlZFwnIGFmdGVyIGNhbmNl
bGxpbmcgYW4gYW5pbWF0aW9uLCAnICsKKyAgICdzZWVraW5nIGl0IG1ha2VzIGl0IHBhdXNlZCcp
OworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXliYWNrUmF0ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbi9wbGF5YmFja1JhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5YzdmYjZkNzE0
ZTBjYTEyMjMxZTdmZGM5NjMxMThiZjBlYzdjMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5YmFj
a1JhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitGQUlMIFRlc3QgdGhlIGluaXRp
YWwgZWZmZWN0IG9mIHNldHRpbmcgcGxheWJhY2tSYXRlIG9uIGN1cnJlbnRUaW1lIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BF
Ul9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgdGhlIGVmZmVj
dCBvZiBzZXR0aW5nIHBsYXliYWNrUmF0ZSBvbiBjdXJyZW50VGltZSBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IHRoZSBlZmZlY3Qgb2Ygc2V0
dGluZyBwbGF5YmFja1JhdGUgd2hpbGUgcGxheWluZyBhbmltYXRpb24gZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQykn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxheWJhY2tSYXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbi9wbGF5YmFja1JhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTIzZGY2YjRiYTM2MWIyM2Qy
YjNkMmQ4YzcxZmQyNmExYWE3NzJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxheWJhY2tSYXRlLmh0
bWwKQEAgLTAsMCArMSw4NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04
PgorPHRpdGxlPkFuaW1hdGlvbi5wbGF5YmFja1JhdGU8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRp
b24tcGxheWJhY2tyYXRlIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4K
Kzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisK
K2Z1bmN0aW9uIGFzc2VydF9wbGF5YmFja3JhdGUoYW5pbWF0aW9uLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwcmV2aW91c0FuaW1hdGlvbkN1cnJlbnRUaW1lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwcmV2aW91c1RpbWVsaW5lQ3VycmVudFRpbWUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKSB7CisgIHZhciBhY2N1cmFjeSA9IDAuMDAx
OyAvKiBhY2N1cmFjeSBvZiBET01IaWdoUmVzVGltZVN0YW1wICovCisgIHZhciBhbmltYXRpb25D
dXJyZW50VGltZURpZmZlcmVuY2UgPQorICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSAtIHByZXZp
b3VzQW5pbWF0aW9uQ3VycmVudFRpbWU7CisgIHZhciB0aW1lbGluZUN1cnJlbnRUaW1lRGlmZmVy
ZW5jZSA9CisgICAgYW5pbWF0aW9uLnRpbWVsaW5lLmN1cnJlbnRUaW1lIC0gcHJldmlvdXNUaW1l
bGluZUN1cnJlbnRUaW1lOworCisgIGFzc2VydF9hcHByb3hfZXF1YWxzKGFuaW1hdGlvbkN1cnJl
bnRUaW1lRGlmZmVyZW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgdGltZWxpbmVDdXJyZW50
VGltZURpZmZlcmVuY2UgKiBhbmltYXRpb24ucGxheWJhY2tSYXRlLAorICAgICAgICAgICAgICAg
ICAgICAgICBhY2N1cmFjeSwKKyAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24pOwor
fQorCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7
CisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRp
b24uY3VycmVudFRpbWUgPSA3ICogTVNfUEVSX1NFQzsgLy8gbXMKKyAgICBhbmltYXRpb24ucGxh
eWJhY2tSYXRlID0gMC41OworCisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRp
bWUsIDcgKiBNU19QRVJfU0VDLAorICAgICAgJ1JlZHVjaW5nIEFuaW1hdGlvbi5wbGF5YmFja1Jh
dGUgc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIGN1cnJlbnRUaW1lICcgKworICAgICAgJ29mIGEgcGxh
eWluZyBhbmltYXRpb24nKTsKKyAgICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gMjsKKyAgICBh
c3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgNyAqIE1TX1BFUl9TRUMsCisgICAg
ICAnSW5jcmVhc2luZyBBbmltYXRpb24ucGxheWJhY2tSYXRlIHNob3VsZCBub3QgY2hhbmdlIHRo
ZSBjdXJyZW50VGltZSAnICsKKyAgICAgICdvZiBhIHBsYXlpbmcgYW5pbWF0aW9uJyk7CisgIH0p
OworfSwgJ1Rlc3QgdGhlIGluaXRpYWwgZWZmZWN0IG9mIHNldHRpbmcgcGxheWJhY2tSYXRlIG9u
IGN1cnJlbnRUaW1lJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShudWxsLCAxMDAg
KiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IDI7CisgIHZhciBwcmV2
aW91c1RpbWVsaW5lQ3VycmVudFRpbWU7CisgIHZhciBwcmV2aW91c0FuaW1hdGlvbkN1cnJlbnRU
aW1lOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcHJl
dmlvdXNBbmltYXRpb25DdXJyZW50VGltZSA9IGFuaW1hdGlvbi5jdXJyZW50VGltZTsKKyAgICBw
cmV2aW91c1RpbWVsaW5lQ3VycmVudFRpbWUgPSBhbmltYXRpb24udGltZWxpbmUuY3VycmVudFRp
bWU7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7CisgIH0pLnRoZW4oZnVu
Y3Rpb24oKSB7CisgICAgYXNzZXJ0X3BsYXliYWNrcmF0ZShhbmltYXRpb24sCisgICAgICBwcmV2
aW91c0FuaW1hdGlvbkN1cnJlbnRUaW1lLAorICAgICAgcHJldmlvdXNUaW1lbGluZUN1cnJlbnRU
aW1lLAorICAgICAgJ2FuaW1hdGlvbi5jdXJyZW50VGltZSBzaG91bGQgYmUgMiB0aW1lcyBmYXN0
ZXIgdGhhbiB0aW1lbGluZS4nKTsKKyAgfSk7Cit9LCAnVGVzdCB0aGUgZWZmZWN0IG9mIHNldHRp
bmcgcGxheWJhY2tSYXRlIG9uIGN1cnJlbnRUaW1lJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYu
YW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLnBsYXliYWNrUmF0
ZSA9IDI7CisgIHZhciBwcmV2aW91c1RpbWVsaW5lQ3VycmVudFRpbWU7CisgIHZhciBwcmV2aW91
c0FuaW1hdGlvbkN1cnJlbnRUaW1lOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVu
Y3Rpb24oKSB7CisgICAgcHJldmlvdXNBbmltYXRpb25DdXJyZW50VGltZSA9IGFuaW1hdGlvbi5j
dXJyZW50VGltZTsKKyAgICBwcmV2aW91c1RpbWVsaW5lQ3VycmVudFRpbWUgPSBhbmltYXRpb24u
dGltZWxpbmUuY3VycmVudFRpbWU7CisgICAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IDE7Cisg
ICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24o
KSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheWJhY2tSYXRlLCAxLAorICAgICAg
J3Nhbml0eSBjaGVjazogYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSBpcyBzdGlsbCAxLicpOworICAg
IGFzc2VydF9wbGF5YmFja3JhdGUoYW5pbWF0aW9uLAorICAgICAgcHJldmlvdXNBbmltYXRpb25D
dXJyZW50VGltZSwKKyAgICAgIHByZXZpb3VzVGltZWxpbmVDdXJyZW50VGltZSwKKyAgICAgICdh
bmltYXRpb24uY3VycmVudFRpbWUgc2hvdWxkIGJlIHRoZSBzYW1lIHNwZWVkIGFzIHRpbWVsaW5l
IG5vdy4nKTsKKyAgfSk7Cit9LCAnVGVzdCB0aGUgZWZmZWN0IG9mIHNldHRpbmcgcGxheWJhY2tS
YXRlIHdoaWxlIHBsYXlpbmcgYW5pbWF0aW9uJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb24vcmVhZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcmVhZHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNmYzJjZGVlZGRhY2Q5ZDFhZDA5NmE3MTZlZjdkZDE2ZGU2MDhmNjYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbi9yZWFkeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK0ZBSUwgQSBuZXcg
cmVhZHkgcHJvbWlzZSBpcyBjcmVhdGVkIHdoZW4gcGxheSgpL3BhdXNlKCkgaXMgY2FsbGVkIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKG51bGwsIDEwMCAq
IE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJlZHVuZGFu
dCBjYWxscyB0byBwbGF5KCkgZG8gbm90IGdlbmVyYXRlIG5ldyByZWFkeSBwcm9taXNlIG9iamVj
dHMgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUobnVsbCwg
MTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGhl
IHJlYWR5IHByb21pc2UgaXMgZnVsZmlsbGVkIHdpdGggaXRzIEFuaW1hdGlvbiBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJf
U0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9yZWFkeS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb24vcmVhZHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjFhM2M0OTNmNThlNzAzZmUyYjZkNTZhY2E2
ZWI4M2E1MjY1MTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcmVhZHkuaHRtbApAQCAtMCwwICsxLDYx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QW5pbWF0
aW9uLnJlYWR5PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20tYW5pbWF0aW9uLXJlYWR5Ij4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShu
dWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIG9yaWdpbmFsUmVhZHlQcm9taXNlID0gYW5p
bWF0aW9uLnJlYWR5OworICB2YXIgcGF1c2VSZWFkeVByb21pc2U7CisKKyAgcmV0dXJuIGFuaW1h
dGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9u
LnJlYWR5LCBvcmlnaW5hbFJlYWR5UHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICdSZWFkeSBw
cm9taXNlIGlzIHRoZSBzYW1lIG9iamVjdCB3aGVuIHBsYXlpbmcgY29tcGxldGVzJyk7CisgICAg
YW5pbWF0aW9uLnBhdXNlKCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9uLnJlYWR5
LCBvcmlnaW5hbFJlYWR5UHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICAgICAnQSBuZXcgcmVh
ZHkgcHJvbWlzZSBpcyBjcmVhdGVkIHdoZW4gcGF1c2luZycpOworICAgIHBhdXNlUmVhZHlQcm9t
aXNlID0gYW5pbWF0aW9uLnJlYWR5OworICAgIC8vIFdhaXQgZm9yIHRoZSBwcm9taXNlIHRvIGZ1
bGZpbGwgc2luY2UgaWYgd2UgYWJvcnQgdGhlIHBhdXNlIHRoZSByZWFkeQorICAgIC8vIHByb21p
c2Ugb2JqZWN0IGlzIHJldXNlZC4KKyAgICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5OworICB9KS50
aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgICAgYXNzZXJ0X25vdF9l
cXVhbHMoYW5pbWF0aW9uLnJlYWR5LCBwYXVzZVJlYWR5UHJvbWlzZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAnQSBuZXcgcmVhZHkgcHJvbWlzZSBpcyBjcmVhdGVkIHdoZW4gcGxheWluZycpOwor
ICB9KTsKK30sICdBIG5ldyByZWFkeSBwcm9taXNlIGlzIGNyZWF0ZWQgd2hlbiBwbGF5KCkvcGF1
c2UoKSBpcyBjYWxsZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRp
diA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKG51bGwsIDEw
MCAqIE1TX1BFUl9TRUMpOworCisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlv
bigpIHsKKyAgICB2YXIgcHJvbWlzZUJlZm9yZUNhbGxpbmdQbGF5ID0gYW5pbWF0aW9uLnJlYWR5
OworICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucmVh
ZHksIHByb21pc2VCZWZvcmVDYWxsaW5nUGxheSwKKyAgICAgICAgICAgICAgICAgICdSZWFkeSBw
cm9taXNlIGhhcyBzYW1lIG9iamVjdCBpZGVudGl0eSBhZnRlciByZWR1bmRhbnQgY2FsbCcKKyAg
ICAgICAgICAgICAgICAgICsgJyB0byBwbGF5KCknKTsKKyAgfSk7Cit9LCAnUmVkdW5kYW50IGNh
bGxzIHRvIHBsYXkoKSBkbyBub3QgZ2VuZXJhdGUgbmV3IHJlYWR5IHByb21pc2Ugb2JqZWN0cycp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7
CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKHJlc29sdmVkQW5pbWF0
aW9uKSB7CisgICAgYXNzZXJ0X2VxdWFscyhyZXNvbHZlZEFuaW1hdGlvbiwgYW5pbWF0aW9uLAor
ICAgICAgICAgICAgICAgICAgJ09iamVjdCBpZGVudGl0eSBvZiBBbmltYXRpb24gcGFzc2VkIHRv
IFByb21pc2UgY2FsbGJhY2snCisgICAgICAgICAgICAgICAgICArICcgbWF0Y2hlcyB0aGUgQW5p
bWF0aW9uIG9iamVjdCBvd25pbmcgdGhlIFByb21pc2UnKTsKKyAgfSk7Cit9LCAnVGhlIHJlYWR5
IHByb21pc2UgaXMgZnVsZmlsbGVkIHdpdGggaXRzIEFuaW1hdGlvbicpOworCis8L3NjcmlwdD4K
KzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uL3N0YXJ0VGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9zdGFydFRpbWUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyNmI1NDcwNDAwZDdjM2ZkNzVhZmEyZjU1NDNmYzNm
NWQwMzQxN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9zdGFydFRpbWUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOCBAQAorCitGQUlMIHN0YXJ0VGltZSBvZiBhIG5ld2x5IGNyZWF0ZWQgKGlkbGUpIGFu
aW1hdGlvbiBpcyB1bnJlc29sdmVkIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmlt
YXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGlu
ZQorRkFJTCBzdGFydFRpbWUgb2YgYSBwbGF5LXBlbmRpbmcgYW5pbWF0aW9uIGlzIHVucmVzb2x2
ZWQgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIHN0YXJ0VGltZSBv
ZiBhIHBhdXNlLXBlbmRpbmcgYW5pbWF0aW9uIGlzIHVucmVzb2x2ZWQgQXJndW1lbnQgMSAoJ3Rp
bWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIHN0YXJ0VGltZSBvZiBhIHBsYXktcGVuZGluZyBh
bmltYXRpb24gY3JlYXRlZCB1c2luZyBFbGVtZW50LmFuaW1hdGUgc2hvcnRjdXQgaXMgdW5yZXNv
bHZlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVE
aXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBzdGFydFRpbWUgaXMgcmVzb2x2ZWQgd2hlbiBydW5uaW5nIGNyZWF0ZURpdih0KS5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGws
IDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIHN0YXJ0VGltZSBhbmQgY3VycmVudFRpbWUgYXJlIHVucmVzb2x2ZWQgd2hlbiBhbmlt
YXRpb24gaXMgY2FuY2VsbGVkIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3N0YXJ0VGlt
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb24vc3RhcnRUaW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRmZDdjZjI5NDE4NjkyYjNiYWY2
MGNhZjQ3NjYzOWJjZGNhMWRkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3N0YXJ0VGltZS5odG1sCkBA
IC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0
aXRsZT5BbmltYXRpb24uc3RhcnRUaW1lIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIK
K2hyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlv
bi1zdGFydHRpbWUiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJv
ZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uKG5ldyBLZXlm
cmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnN0
YXJ0VGltZSwgbnVsbCwgJ3N0YXJ0VGltZSBpcyB1bnJlc29sdmVkJyk7Cit9LCAnc3RhcnRUaW1l
IG9mIGEgbmV3bHkgY3JlYXRlZCAoaWRsZSkgYW5pbWF0aW9uIGlzIHVucmVzb2x2ZWQnKTsKKwor
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uKG5ldyBL
ZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisgIGFuaW1hdGlvbi5wbGF5KCk7CisgIGFz
c2VydF9lcXVhbHMoYW5pbWF0aW9uLnN0YXJ0VGltZSwgbnVsbCwgJ3N0YXJ0VGltZSBpcyB1bnJl
c29sdmVkJyk7Cit9LCAnc3RhcnRUaW1lIG9mIGEgcGxheS1wZW5kaW5nIGFuaW1hdGlvbiBpcyB1
bnJlc29sdmVkJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gbmV3
IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxpbmUpOworICBhbmltYXRp
b24ucGF1c2UoKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uc3RhcnRUaW1lLCBudWxsLCAn
c3RhcnRUaW1lIGlzIHVucmVzb2x2ZWQnKTsKK30sICdzdGFydFRpbWUgb2YgYSBwYXVzZS1wZW5k
aW5nIGFuaW1hdGlvbiBpcyB1bnJlc29sdmVkJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCk7CisgIGFzc2VydF9lcXVh
bHMoYW5pbWF0aW9uLnN0YXJ0VGltZSwgbnVsbCwgJ3N0YXJ0VGltZSBpcyB1bnJlc29sdmVkJyk7
Cit9LCAnc3RhcnRUaW1lIG9mIGEgcGxheS1wZW5kaW5nIGFuaW1hdGlvbiBjcmVhdGVkIHVzaW5n
IEVsZW1lbnQuYW5pbWF0ZScKKyAgICsgJyBzaG9ydGN1dCBpcyB1bnJlc29sdmVkJyk7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCku
YW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFk
eS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oYW5pbWF0aW9uLnN0
YXJ0VGltZSwgMCwgJ3N0YXJ0VGltZSB3aGVuIHJ1bm5pbmcnKTsKKyAgfSk7Cit9LCAnc3RhcnRU
aW1lIGlzIHJlc29sdmVkIHdoZW4gcnVubmluZycpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
dmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9T
RUMpOworICBhbmltYXRpb24uY2FuY2VsKCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnN0
YXJ0VGltZSwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCBu
dWxsKTsKK30sICdzdGFydFRpbWUgYW5kIGN1cnJlbnRUaW1lIGFyZSB1bnJlc29sdmVkIHdoZW4g
YW5pbWF0aW9uIGlzIGNhbmNlbGxlZCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0
aW9uRWZmZWN0VGltaW5nL2RlbGF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2RlbGF5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTJhMTk3ZDRiMzRlM2U5YzAzMzcxYTlkOTJkNmFjODFk
NmZiNjA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZGVsYXktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKKworRkFJTCBUZXN0IGRlZmF1bHQgdmFsdWUgY3JlYXRlRGl2KHQp
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVs
bCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IGRlbGF5
IDEwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9w
YWNpdHk6IFsgMCwgMSBdIH0sIDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgc2V0IGRlbGF5IC0xMDAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2
LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgYWRkaW5nIGEgcG9zaXRpdmUgZGVsYXkgdG8gYW4gYW5pbWF0
aW9uIHdpdGhvdXQgYSBiYWNrd2FyZHMgZmlsbCBtYWtlcyBpdCBubyBsb25nZXIgYWN0aXZlIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTog
WyAwLCAxIF0gfSwgMTAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0
IHNlZWtpbmcgYW4gYW5pbWF0aW9uIGJ5IHNldHRpbmcgYSBuZWdhdGl2ZSBkZWxheSBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwg
MSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgeyBmaWxsOiAnYm90aCcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoaW5nIGFuIGFuaW1hdGlvbiB1c2luZyBhIGxhcmdl
IG5lZ2F0aXZlIGRlbGF5IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7
IGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAg
fSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgU2V0dGluZyBpbnZhbGlkIHZh
bHVlcyBzaG91bGQgdGhyb3cgVHlwZUVycm9yIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKG51bGwpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2RlbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kZWxheS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFiMzRmN2RiZTc2MWM3MmQ3MGZkNmQ3NDk4YjZmZDE4ZTIwN2VmMmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kZWxheS5odG1sCkBAIC0wLDAgKzEsNzkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5kZWxheSB0
ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5p
by93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlvbmVmZmVjdHRpbWluZy1kZWxheSI+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9IkRhaXN1a2UgQWthdHN1a2EiIGhyZWY9Im1haWx0bzpkYWlz
dWtlQG1vemlsbGEtamFwYW4ub3JnIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3Nj
cmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmlj
dCc7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmlt
YXRlKG51bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5kZWxheSwgMCk7
Cit9LCAnVGVzdCBkZWZhdWx0IHZhbHVlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
ZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTog
WyAwLCAxIF0gfSwgMTAwKTsKKyAgYW5pbS5lZmZlY3QudGltaW5nLmRlbGF5ID0gMTAwOworICBh
c3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5kZWxheSwgMTAwLCAnc2V0IGRlbGF5IDEw
MCcpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuZGVs
YXksIDEwMCwKKyAgICAgICAgICAgICAgICAgICdnZXRDb21wdXRlZFRpbWluZygpIGFmdGVyIHNl
dCBkZWxheSAxMDAnKTsKK30sICdzZXQgZGVsYXkgMTAwJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwKTsKKyAgYW5pbS5lZmZlY3QudGltaW5nLmRlbGF5ID0g
LTEwMDsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZGVsYXksIC0xMDAsICdz
ZXQgZGVsYXkgLTEwMCcpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVk
VGltaW5nKCkuZGVsYXksIC0xMDAsCisgICAgICAgICAgICAgICAgJ2dldENvbXB1dGVkVGltaW5n
KCkgYWZ0ZXIgc2V0IGRlbGF5IC0xMDAnKTsKK30sICdzZXQgZGVsYXkgLTEwMCcpOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBk
aXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMCk7CisgIGFuaW0uZWZmZWN0LnRp
bWluZy5kZWxheSA9IDEwMDsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRl
ZFRpbWluZygpLnByb2dyZXNzLCBudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5n
ZXRDb21wdXRlZFRpbWluZygpLmN1cnJlbnRJdGVyYXRpb24sIG51bGwpOworfSwgJ1Rlc3QgYWRk
aW5nIGEgcG9zaXRpdmUgZGVsYXkgdG8gYW4gYW5pbWF0aW9uIHdpdGhvdXQgYSBiYWNrd2FyZHMg
ZmlsbCAnICsKKyAgICdtYWtlcyBpdCBubyBsb25nZXIgYWN0aXZlJyk7CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmlt
YXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGZp
bGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAgfSk7
CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kZWxheSA9IC01MDsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
LmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAwLjUpOworfSwgJ1Rlc3Qgc2Vl
a2luZyBhbiBhbmltYXRpb24gYnkgc2V0dGluZyBhIG5lZ2F0aXZlIGRlbGF5Jyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRp
di5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICB7IGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAx
MDAgfSk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kZWxheSA9IC0xMDA7CisgIGFzc2VydF9lcXVh
bHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMSk7CisgIGFzc2Vy
dF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5jdXJyZW50SXRlcmF0aW9u
LCAwKTsKK30sICdUZXN0IGZpbmlzaGluZyBhbiBhbmltYXRpb24gdXNpbmcgYSBsYXJnZSBuZWdh
dGl2ZSBkZWxheScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURp
dih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZShudWxsKTsKKyAgZm9yIChsZXQgaW52YWxp
ZCBvZiBbTmFOLCBJbmZpbml0eV0pIHsKKyAgICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVF
cnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZGVsYXkgPSBp
bnZhbGlkOworICAgIH0sICdzZXR0aW5nICcgKyBpbnZhbGlkKTsKKyAgICBhc3NlcnRfdGhyb3dz
KHsgbmFtZTogJ1R5cGVFcnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAgICBkaXYuYW5pbWF0ZSh7
fSwgeyBkZWxheTogaW52YWxpZCB9KTsKKyAgICB9LCAnYW5pbWF0ZSgpIHdpdGggJyArIGludmFs
aWQpOworICB9Cit9LCAnU2V0dGluZyBpbnZhbGlkIHZhbHVlcyBzaG91bGQgdGhyb3cgVHlwZUVy
cm9yJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZGly
ZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2RpcmVjdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDI5MDkwMmFlNjA1MTI0MjhlNmNiNTUyOGY5MGQ0NmRjMDY0MTg0ZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2RpcmVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACisKK0ZBSUwgVGVzdCBkZWZhdWx0IHZhbHVlIGNyZWF0ZURpdih0KS5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpJywgJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBkaXJlY3Rpb24gdG8g
YSB2YWxpZCBrZXl3b3JkIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZGlyZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVj
dFRpbWluZy9kaXJlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTcxODEyMDI0NTQ4MGE3NzE3YzU2
MDQwNjdhZWY4NjYwYTI1NDA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZGlyZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PXV0Zi04PgorPHRpdGxlPmRpcmVjdGlvbiB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlv
bmVmZmVjdHRpbWluZy1kaXJlY3Rpb24iPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJSeW8g
S2F0byIgaHJlZj0ibWFpbHRvOmZvb2JhcjA5NEBnbWFpbC5jb20iPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNj
cmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0g
Y3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3Qu
dGltaW5nLmRpcmVjdGlvbiwgJ25vcm1hbCcpOworfSwgJ1Rlc3QgZGVmYXVsdCB2YWx1ZScpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFu
aW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworCisgIHZhciBk
aXJlY3Rpb25zID0gWydub3JtYWwnLCAncmV2ZXJzZScsICdhbHRlcm5hdGUnLCAnYWx0ZXJuYXRl
LXJldmVyc2UnXTsKKyAgZGlyZWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGRpcmVjdGlvbikgewor
ICAgIGFuaW0uZWZmZWN0LnRpbWluZy5kaXJlY3Rpb24gPSBkaXJlY3Rpb247CisgICAgYXNzZXJ0
X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZGlyZWN0aW9uLCBkaXJlY3Rpb24sCisgICAgICAg
ICAgICAgICAgICAnc2V0IGRpcmVjdGlvbiB0byAnICsgZGlyZWN0aW9uKTsKKyAgfSk7Cit9LCAn
c2V0IGRpcmVjdGlvbiB0byBhIHZhbGlkIGtleXdvcmQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kdXJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRp
bWluZy9kdXJhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY5NDJhNDA2YzU1OTEzMmM1
ODExMmVlOTBhNGFjYmI1MjZiYzU5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2R1
cmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACisKK0ZBSUwgVGVzdCBkZWZhdWx0
IHZhbHVlIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0
ZURpdih0KS5hbmltYXRlKG51bGwpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIHNldCBkdXJhdGlvbiAxMjMuNDUgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKScsICdkaXYu
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQgZHVyYXRpb24gYXV0byBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBd
IH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBhdXRvIGR1
cmF0aW9uIGluIGFuaW1hdGUgYXMgb2JqZWN0IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgeyBkdXJhdGlvbjogJ2F1
dG8nIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBkdXJhdGlvbiBJ
bmZpbml0eSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitQQVNTIHNldCBuZWdhdGl2ZSBkdXJhdGlvbiBpbiBhbmltYXRlIHVzaW5nIGEgZHVyYXRpb24g
cGFyYW1ldGVyIAorUEFTUyBzZXQgbmVnYXRpdmUgSW5maW5pdHkgZHVyYXRpb24gaW4gYW5pbWF0
ZSB1c2luZyBhIGR1cmF0aW9uIHBhcmFtZXRlciAKK1BBU1Mgc2V0IE5hTiBkdXJhdGlvbiBpbiBh
bmltYXRlIHVzaW5nIGEgZHVyYXRpb24gcGFyYW1ldGVyIAorUEFTUyBzZXQgbmVnYXRpdmUgZHVy
YXRpb24gaW4gYW5pbWF0ZSB1c2luZyBhbiBvcHRpb25zIG9iamVjdCAKK1BBU1Mgc2V0IG5lZ2F0
aXZlIEluZmluaXR5IGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcgYW4gb3B0aW9ucyBvYmplY3Qg
CitQQVNTIHNldCBOYU4gZHVyYXRpb24gaW4gYW5pbWF0ZSB1c2luZyBhbiBvcHRpb25zIG9iamVj
dCAKK1BBU1Mgc2V0IGFiYyBzdHJpbmcgZHVyYXRpb24gaW4gYW5pbWF0ZSB1c2luZyBhbiBvcHRp
b25zIG9iamVjdCAKK1BBU1Mgc2V0IDEwMCBzdHJpbmcgZHVyYXRpb24gaW4gYW5pbWF0ZSB1c2lu
ZyBhbiBvcHRpb25zIG9iamVjdCAKK0ZBSUwgc2V0IG5lZ2F0aXZlIGR1cmF0aW9uIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAx
IF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IG5lZ2F0
aXZlIEluZmluaXR5IGR1cmF0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IE5hTiBkdXJhdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDAp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBkdXJhdGlvbiBhYmMgZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBb
IDAsIDEgXSB9LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQg
ZHVyYXRpb24gc3RyaW5nIDEwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIEV4dGVuZGluZyBhbiBlZmZlY3QncyBkdXJhdGlvbiBkb2VzIG5v
dCBjaGFuZ2UgdGhlIHN0YXJ0IG9yIGN1cnJlbnQgdGltZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBN
U19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbkVmZmVjdFRpbWluZy9kdXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZHVyYXRpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jODE1NGQ1Mzk3MGE4ZGE1YWQ2NjI1MmNiZGE4ZTY1YjkzZmU1Nzcy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZHVyYXRpb24uaHRtbApAQCAtMCwwICsx
LDE3MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPmR1
cmF0aW9uIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3czYy5n
aXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb25lZmZlY3R0aW1pbmctZHVyYXRp
b24iPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJSeW8gTW90b3phd2EiIGhyZWY9Im1haWx0
bzptb3RvemF3YUBtb3ppbGxhLWphcGFuLm9yZyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3Vz
ZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYo
dCkuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZHVy
YXRpb24sICdhdXRvJyk7Cit9LCAnVGVzdCBkZWZhdWx0IHZhbHVlJyk7CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmlt
YXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5k
dXJhdGlvbiA9IDEyMy40NTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uZWZmZWN0LnRpbWlu
Zy5kdXJhdGlvbiwgMTIzLjQ1LAorICAgICAgICAgICAgICAgICAgICAgJ3NldCBkdXJhdGlvbiAx
MjMuNDUnKTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGlt
aW5nKCkuZHVyYXRpb24sIDEyMy40NSwKKyAgICAgICAgICAgICAgICAgICAgICdnZXRDb21wdXRl
ZFRpbWluZygpIGFmdGVyIHNldCBkdXJhdGlvbiAxMjMuNDUnKTsKK30sICdzZXQgZHVyYXRpb24g
MTIzLjQ1Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7
CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9ICdhdXRvJzsKKyAgYXNzZXJ0X2VxdWFs
cyhhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24sICdhdXRvJywgJ3NldCBkdXJhdGlvbiBcJ2F1
dG9cJycpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCku
ZHVyYXRpb24sIDAsCisgICAgICAgICAgICAgICAgJ2dldENvbXB1dGVkVGltaW5nKCkgYWZ0ZXIg
c2V0IGR1cmF0aW9uIFwnYXV0b1wnJyk7Cit9LCAnc2V0IGR1cmF0aW9uIGF1dG8nKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0g
ZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCB7IGR1cmF0aW9uOiAnYXV0bycgfSk7
CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uLCAnYXV0bycsICdz
ZXQgZHVyYXRpb24gXCdhdXRvXCcnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRD
b21wdXRlZFRpbWluZygpLmR1cmF0aW9uLCAwLAorICAgICAgICAgICAgICAgICdnZXRDb21wdXRl
ZFRpbWluZygpIGFmdGVyIHNldCBkdXJhdGlvbiBcJ2F1dG9cJycpOworfSwgJ3NldCBhdXRvIGR1
cmF0aW9uIGluIGFuaW1hdGUgYXMgb2JqZWN0Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0
eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IElu
ZmluaXR5OworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiwgSW5m
aW5pdHksICdzZXQgZHVyYXRpb24gSW5maW5pdHknKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVm
ZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmR1cmF0aW9uLCBJbmZpbml0eSwKKyAgICAgICAgICAg
ICAgICAnZ2V0Q29tcHV0ZWRUaW1pbmcoKSBhZnRlciBzZXQgZHVyYXRpb24gSW5maW5pdHknKTsK
K30sICdzZXQgZHVyYXRpb24gSW5maW5pdHknKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9y
JyB9LCBmdW5jdGlvbigpIHsKKyAgICBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0s
IC0xKTsKKyAgfSk7Cit9LCAnc2V0IG5lZ2F0aXZlIGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcg
YSBkdXJhdGlvbiBwYXJhbWV0ZXInKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodCk7CisgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCBm
dW5jdGlvbigpIHsKKyAgICBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIC1JbmZp
bml0eSk7CisgIH0pOworfSwgJ3NldCBuZWdhdGl2ZSBJbmZpbml0eSBkdXJhdGlvbiBpbiBhbmlt
YXRlIHVzaW5nIGEgZHVyYXRpb24gcGFyYW1ldGVyJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVF
cnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAgZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCBOYU4pOworICB9KTsKK30sICdzZXQgTmFOIGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcg
YSBkdXJhdGlvbiBwYXJhbWV0ZXInKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodCk7CisgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCBm
dW5jdGlvbigpIHsKKyAgICBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIHsgZHVy
YXRpb246IC0xIH0pOworICB9KTsKK30sICdzZXQgbmVnYXRpdmUgZHVyYXRpb24gaW4gYW5pbWF0
ZSB1c2luZyBhbiBvcHRpb25zIG9iamVjdCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICdUeXBlRXJyb3In
IH0sIGZ1bmN0aW9uKCkgeworICAgIGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwg
eyBkdXJhdGlvbjogLUluZmluaXR5IH0pOworICB9KTsKK30sICdzZXQgbmVnYXRpdmUgSW5maW5p
dHkgZHVyYXRpb24gaW4gYW5pbWF0ZSB1c2luZyBhbiBvcHRpb25zIG9iamVjdCcpOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgYXNzZXJ0X3Rocm93
cyh7IG5hbWU6ICdUeXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgeworICAgIGRpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwgeyBkdXJhdGlvbjogTmFOIH0pOworICB9KTsKK30sICdzZXQg
TmFOIGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcgYW4gb3B0aW9ucyBvYmplY3QnKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIGFzc2VydF90aHJv
d3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCBmdW5jdGlvbigpIHsKKyAgICBkaXYuYW5pbWF0ZSh7
IG9wYWNpdHk6IFsgMCwgMSBdIH0sIHsgZHVyYXRpb246ICdhYmMnIH0pOworICB9KTsKK30sICdz
ZXQgYWJjIHN0cmluZyBkdXJhdGlvbiBpbiBhbmltYXRlIHVzaW5nIGFuIG9wdGlvbnMgb2JqZWN0
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBh
c3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAgZGl2
LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCB7IGR1cmF0aW9uOiAnMTAwJyB9KTsKKyAg
fSk7Cit9LCAnc2V0IDEwMCBzdHJpbmcgZHVyYXRpb24gaW4gYW5pbWF0ZSB1c2luZyBhbiBvcHRp
b25zIG9iamVjdCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURp
dih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIw
MDApOworICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwgZnVuY3Rpb24oKSB7
CisgICAgYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gLTE7CisgIH0pOworfSwgJ3NldCBu
ZWdhdGl2ZSBkdXJhdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNy
ZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBd
IH0sIDIwMDApOworICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwgZnVuY3Rp
b24oKSB7CisgICAgYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gLUluZmluaXR5OworICB9
KTsKK30sICdzZXQgbmVnYXRpdmUgSW5maW5pdHkgZHVyYXRpb24nKTsKKwordGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1h
dGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6
ICdUeXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgeworICAgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJh
dGlvbiA9IE5hTjsKKyAgfSk7Cit9LCAnc2V0IE5hTiBkdXJhdGlvbicpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5p
bWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhc3NlcnRfdGhyb3dzKHsgbmFt
ZTogJ1R5cGVFcnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAgYW5pbS5lZmZlY3QudGltaW5nLmR1
cmF0aW9uID0gJ2FiYyc7CisgIH0pOworfSwgJ3NldCBkdXJhdGlvbiBhYmMnKTsKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2
LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYXNzZXJ0X3Rocm93cyh7
IG5hbWU6ICdUeXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgeworICAgIGFuaW0uZWZmZWN0LnRpbWlu
Zy5kdXJhdGlvbiA9ICcxMDAnOworICB9KTsKK30sICdzZXQgZHVyYXRpb24gc3RyaW5nIDEwMCcp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0
KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICByZXR1cm4gYW5pbS5yZWFkeS50
aGVuKGZ1bmN0aW9uKCkgeworICAgIHZhciBvcmlnaW5hbFN0YXJ0VGltZSAgID0gYW5pbS5zdGFy
dFRpbWU7CisgICAgdmFyIG9yaWdpbmFsQ3VycmVudFRpbWUgPSBhbmltLmN1cnJlbnRUaW1lOwor
ICAgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5kdXJhdGlv
biwgMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdJbml0aWFsIGR1cmF0aW9u
IHNob3VsZCBiZSBhcyBzZXQgb24gS2V5ZnJhbWVFZmZlY3QnKTsKKworICAgIGFuaW0uZWZmZWN0
LnRpbWluZy5kdXJhdGlvbiA9IDIwMCAqIE1TX1BFUl9TRUM7CisgICAgYXNzZXJ0X2VxdWFscyhh
bmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmR1cmF0aW9uLCAyMDAgKiBNU19QRVJfU0VD
LAorICAgICAgICAgICAgICAgICAgJ0VmZmVjdCBkdXJhdGlvbiBzaG91bGQgaGF2ZSBiZWVuIHVw
ZGF0ZWQnKTsKKyAgICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbS5zdGFydFRpbWUsIG9yaWdpbmFs
U3RhcnRUaW1lLAorICAgICAgICAgICAgICAgICAgICAgICAnc3RhcnRUaW1lIHNob3VsZCBiZSB1
bmFmZmVjdGVkIGJ5IGNoYW5naW5nIGVmZmVjdCAnICsKKyAgICAgICAgICAgICAgICAgICAgICAg
J2R1cmF0aW9uJyk7CisgICAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uY3VycmVudFRpbWUsIG9y
aWdpbmFsQ3VycmVudFRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICdjdXJyZW50VGltZSBz
aG91bGQgYmUgdW5hZmZlY3RlZCBieSBjaGFuZ2luZyBlZmZlY3QgJyArCisgICAgICAgICAgICAg
ICAgICAgICAgICdkdXJhdGlvbicpOworICB9KTsKK30sICdFeHRlbmRpbmcgYW4gZWZmZWN0XCdz
IGR1cmF0aW9uIGRvZXMgbm90IGNoYW5nZSB0aGUgc3RhcnQgb3IgY3VycmVudCB0aW1lJyk7CisK
Kzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZWFzaW5nLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uRWZmZWN0VGltaW5nL2Vhc2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODhj
MTg1NjczODk0ZTUyNGFjYTMwMjYzNjM5YTQzZjdjNWJhYjBlMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9u
RWZmZWN0VGltaW5nL2Vhc2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1NyBAQAorCitGQUlM
IFRlc3QgZGVmYXVsdCB2YWx1ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzdGVwLXN0YXJ0IGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBu
b3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBzdGVwcygx
LCBzdGFydCkgZnVuY3Rpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50
YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIHN0ZXBzKDIsIHN0YXJ0KSBmdW5jdGlvbiB1bmRlZmlu
ZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwg
c3RlcC1lbmQgZnVuY3Rpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50
YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIHN0ZXBzKDEpIGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBu
b3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBzdGVwcygx
LCBlbmQpIGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFy
Z2V0LmFuaW1hdGUuLi4nKQorRkFJTCBzdGVwcygyLCBlbmQpIGZ1bmN0aW9uIHVuZGVmaW5lZCBp
cyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBmcmFt
ZXMgZnVuY3Rpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQu
YW5pbWF0ZS4uLicpCitGQUlMIGxpbmVhciBmdW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVu
Y3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgZWFzZSBmdW5jdGlvbiB1
bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykK
K0ZBSUwgZWFzZS1pbiBmdW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIg
Jy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgZWFzZS1pbi1vdXQgZnVuY3Rpb24gdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlM
IGVhc2Utb3V0IGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4u
dGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBlYXNpbmcgZnVuY3Rpb24gd2hpY2ggcHJvZHVjZXMg
dmFsdWVzIGdyZWF0ZXIgdGhhbiAxIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAn
Li4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBlYXNpbmcgZnVuY3Rpb24gd2hpY2ggcHJvZHVj
ZXMgdmFsdWVzIGxlc3MgdGhhbiAxIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAn
Li4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUg
dGVzdDogJycgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUo
eyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJzcn
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0
eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICd0ZXN0JyBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsg
MCwgMSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnaW5pdGlhbCcgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2luaGVyaXQnIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAx
IF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICd1bnNldCcgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBJ
bnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3VucmVjb2duaXplZCcgZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3ZhcigtLXgpJyBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBd
IH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZWFzZS1pbi1vdXQsIGVhc2Utb3V0
JyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNp
dHk6IFsgMCwgMSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnY3ViaWMtYmV6
aWVyKDEuMSwgMCwgMSwgMSknIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVl
IHRlc3Q6ICdjdWJpYy1iZXppZXIoMCwgMCwgMS4xLCAxKScgZGl2LmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDAgKiBN
U19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBJbnZhbGlkIGVm
ZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1YmljLWJlemllcigtMC4xLCAwLCAxLCAxKScgZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBb
IDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1YmljLWJlemllcigw
LCAwLCAtMC4xLCAxKScgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVz
dDogJ2N1YmljLWJlemllcigwLjEsIDAsIDQsIDAuNCknIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNf
UEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZl
Y3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdzdGVwcygtMSwgc3RhcnQpJyBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEw
MCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoMC4xLCBzdGFydCknIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAx
IF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdzdGVwcygzLCBub3doZXJlKScg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5
OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKC0zLCBl
bmQpJyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9w
YWNpdHk6IFsgMCwgMSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rp
b24gKGEpe3JldHVybiBhfScgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2
LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYu
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUg
dGVzdDogJ2Z1bmN0aW9uICh4KXtyZXR1cm4geH0nIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVS
X1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3Qg
ZWFzaW5nIHZhbHVlIHRlc3Q6ICdmdW5jdGlvbih4LCB5KXtyZXR1cm4gMC4zfScgZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygxKScgZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcycgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBJ
bnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygpJyBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0s
IDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIElu
dmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKCwpJyBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0s
IDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIElu
dmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKGEpJyBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0s
IDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIElu
dmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKDIuMCknIGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0g
fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
SW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoMi41KScgZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygyIDMpJyBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwg
MSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIENhbm9uaWNhbCBlYXNpbmcgJ2Vhc2UnIGlzIHJldHVybmVkIGFzIHNldCBjcmVhdGVEaXYo
dCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBDYW5vbmlj
YWwgZWFzaW5nICdsaW5lYXInIGlzIHJldHVybmVkIGFzIHNldCBjcmVhdGVEaXYodCkuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdj
cmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBDYW5vbmljYWwgZWFzaW5n
ICdlYXNlLWluJyBpcyByZXR1cm5lZCBhcyBzZXQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2
KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQ2Fub25pY2FsIGVhc2luZyAnZWFzZS1v
dXQnIGlzIHJldHVybmVkIGFzIHNldCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBDYW5vbmljYWwgZWFzaW5nICdlYXNlLWluLW91dCcg
aXMgcmV0dXJuZWQgYXMgc2V0IGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIENhbm9uaWNhbCBlYXNpbmcgJ2N1YmljLWJlemllcigwLjEs
IDUsIDAuMjMsIDApJyBpcyByZXR1cm5lZCBhcyBzZXQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRl
RGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQ2Fub25pY2FsIGVhc2luZyAnc3Rl
cHMoMywgc3RhcnQpJyBpcyByZXR1cm5lZCBhcyBzZXQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRl
RGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQ2Fub25pY2FsIGVhc2luZyAnc3Rl
cHMoMyknIGlzIHJldHVybmVkIGFzIHNldCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCku
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBDYW5vbmljYWwgZWFzaW5nICdmcmFtZXMoMykn
IGlzIHJldHVybmVkIGFzIHNldCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBDaGFuZ2UgdGhlIGVhc2luZyB3aGlsZSB0aGUgYW5pbWF0
aW9uIGlzIHJ1bm5pbmcgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJn
ZXQuYW5pbWF0ZS4uLicpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2Vhc2luZy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25F
ZmZlY3RUaW1pbmcvZWFzaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTExNzNmYzg2NDQ2NmUzNTc1ZjA2
NmQ1ZDllNjMxZjVhNWFjN2JlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2Vhc2lu
Zy5odG1sCkBAIC0wLDAgKzEsOTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOD4KKzx0aXRsZT5lYXNpbmcgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb25lZmZl
Y3R0aW1pbmctZWFzaW5nIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZWFzaW5nLXRlc3RzLmpzIj48L3NjcmlwdD4K
Kzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51
bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcsICdsaW5lYXIn
KTsKK30sICdUZXN0IGRlZmF1bHQgdmFsdWUnKTsKKworZnVuY3Rpb24gYXNzZXJ0X3Byb2dyZXNz
KGFuaW1hdGlvbiwgY3VycmVudFRpbWUsIGVhc2luZ0Z1bmN0aW9uKSB7CisgIGFuaW1hdGlvbi5j
dXJyZW50VGltZSA9IGN1cnJlbnRUaW1lOworICB2YXIgcG9ydGlvbiA9IGN1cnJlbnRUaW1lIC8g
YW5pbWF0aW9uLmVmZmVjdC50aW1pbmcuZHVyYXRpb247CisgIGFzc2VydF9hcHByb3hfZXF1YWxz
KGFuaW1hdGlvbi5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgZWFzaW5nRnVuY3Rpb24ocG9ydGlvbiksCisgICAgICAgICAgICAgICAg
ICAgICAgIDAuMDEsCisgICAgICAgICAgICAgICAgICAgICAgICdUaGUgcHJvZ3Jlc3Mgb2YgdGhl
IGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAnICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgZWFzaW5nRnVuY3Rpb24ocG9ydGlvbikgKyAnIGF0ICcgKyBjdXJyZW50VGltZSArICdt
cycpOworfQorCitnRWFzaW5nVGVzdHMuZm9yRWFjaChmdW5jdGlvbihvcHRpb25zKSB7CisgIHRl
c3QoZnVuY3Rpb24odCkgeworICAgIHZhciB0YXJnZXQgPSBjcmVhdGVEaXYodCk7CisgICAgdmFy
IGFuaW0gPSB0YXJnZXQuYW5pbWF0ZShbIHsgb3BhY2l0eTogMCB9LCB7IG9wYWNpdHk6IDEgfSBd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCAqIE1TX1BF
Ul9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICdmb3J3YXJkcycg
fSk7CisgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IG9wdGlvbnMuZWFzaW5nOworICAg
IGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZywKKyAgICAgICAgICAgICAg
ICAgIG9wdGlvbnMuc2VyaWFsaXphdGlvbiB8fCBvcHRpb25zLmVhc2luZyk7CisKKyAgICB2YXIg
ZWFzaW5nID0gb3B0aW9ucy5lYXNpbmdGdW5jdGlvbjsKKyAgICBhc3NlcnRfcHJvZ3Jlc3MoYW5p
bSwgMCwgZWFzaW5nKTsKKyAgICBhc3NlcnRfcHJvZ3Jlc3MoYW5pbSwgMjUwICogTVNfUEVSX1NF
QywgZWFzaW5nKTsKKyAgICBhc3NlcnRfcHJvZ3Jlc3MoYW5pbSwgNTAwICogTVNfUEVSX1NFQywg
ZWFzaW5nKTsKKyAgICBhc3NlcnRfcHJvZ3Jlc3MoYW5pbSwgNzUwICogTVNfUEVSX1NFQywgZWFz
aW5nKTsKKyAgICBhc3NlcnRfcHJvZ3Jlc3MoYW5pbSwgMTAwMCAqIE1TX1BFUl9TRUMsIGVhc2lu
Zyk7CisgIH0sIG9wdGlvbnMuZGVzYyk7Cit9KTsKKworZ0ludmFsaWRFYXNpbmdzLmZvckVhY2go
ZnVuY3Rpb24oaW52YWxpZEVhc2luZykgeworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIg
ZGl2ID0gY3JlYXRlRGl2KHQpOworICAgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5
OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgICBhc3NlcnRfdGhyb3dzKHsgbmFt
ZTogJ1R5cGVFcnJvcicgfSwKKyAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsK
KyAgICAgICAgICAgICAgICAgIH0pOworICB9LCAnSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVl
IHRlc3Q6IFwnJyArIGludmFsaWRFYXNpbmcgKyAnXCcnKTsKK30pOworCitnUm91bmR0cmlwRWFz
aW5ncy5mb3JFYWNoKGVhc2luZyA9PiB7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIGNvbnN0
IGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgICBhbmltLmVmZmVjdC50aW1p
bmcuZWFzaW5nID0gZWFzaW5nOworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5n
LmVhc2luZywgZWFzaW5nKTsKKyAgfSwgYENhbm9uaWNhbCBlYXNpbmcgJyR7ZWFzaW5nfScgaXMg
cmV0dXJuZWQgYXMgc2V0YCk7Cit9KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkZWxh
eSA9IDEwMDAgKiBNU19QRVJfU0VDOworCisgIHZhciB0YXJnZXQgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltID0gdGFyZ2V0LmFuaW1hdGUoWyB7IG9wYWNpdHk6IDAgfSwgeyBvcGFjaXR5OiAx
IH0gXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwICogTVNf
UEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiBkZWxheSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGVhc2luZzogJ3N0ZXBzKDIsIHN0YXJ0KScgfSk7CisKKyAgYW5pbS5l
ZmZlY3QudGltaW5nLmVhc2luZyA9ICdzdGVwcygyLCBlbmQpJzsKKyAgYXNzZXJ0X2VxdWFscyhh
bmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAwLAorICAgICAgICAgICAg
ICAgICdlYXNpbmcgcmVwbGFjZSB0byBzdGVwcygyLCBlbmQpIGF0IGJlZm9yZSBwaGFzZScpOwor
CisgIGFuaW0uY3VycmVudFRpbWUgPSBkZWxheSArIDc1MCAqIE1TX1BFUl9TRUM7CisgIGFzc2Vy
dF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMC41LAor
ICAgICAgICAgICAgICAgICdjaGFuZ2UgY3VycmVudFRpbWUgdG8gYWN0aXZlIHBoYXNlJyk7CisK
KyAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9ICdzdGVwcygyLCBzdGFydCknOworICBhc3Nl
cnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDEsCisg
ICAgICAgICAgICAgICAgJ2Vhc2luZyByZXBsYWNlIHRvIHN0ZXBzKDIsIHN0YXJ0KSBhdCBhY3Rp
dmUgcGhhc2UnKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gZGVsYXkgKyAxNTAwICogTVNfUEVS
X1NFQzsKKyAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9ICdzdGVwcygyLCBlbmQpJzsKKyAg
YXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAx
LAorICAgICAgICAgICAgICAgICdlYXNpbmcgcmVwbGFjZSB0byBzdGVwcygyLCBlbmQpIGFnYWlu
IGF0IGFmdGVyIHBoYXNlJyk7Cit9LCAnQ2hhbmdlIHRoZSBlYXNpbmcgd2hpbGUgdGhlIGFuaW1h
dGlvbiBpcyBydW5uaW5nJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZl
Y3RUaW1pbmcvZW5kRGVsYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZW5kRGVsYXktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiMWFlMDg3M2JjOWJjYjFkYTlhMTM0MGRhNGU5OGY0ZDQw
MDlkMzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9lbmREZWxheS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorCitGQUlMIFRlc3QgZGVmYXVsdCB2YWx1ZSBjcmVhdGVEaXYo
dCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQgZW5k
RGVsYXkgMTIzLjQ1IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgc2V0IGVuZERlbGF5IC0xMDAwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IGVuZERlbGF5IEluZmluaXR5IGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAw
LCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IGVu
ZERlbGF5IG5lZ2F0aXZlIEluZmluaXR5IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgb25maW5pc2ggZXZlbnQgaXMgbm90IGZpcmVkIGR1cmF0
aW9uIGVuZERlbGF5IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1
cmF0aW9uOiAxMDAwMDAsIGVuZERlbGF5OiA1MDAwMCB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBvbmZpbmlzaCBldmVudCBpcyBmaXJlZCBjdXJyZW50VGltZSBpcyBhZnRl
ciBlbmRUaW1lIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0
aW9uOiAxMDAwMDAsIGVuZERlbGF5OiAzMDAwMCB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9lbmREZWxheS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1p
bmcvZW5kRGVsYXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmMyZTg4Y2MyZDUyNzYxMGM0YzYyNmI5YzU1
OWIzNmMzMTJmYjNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZW5kRGVsYXkuaHRt
bApAQCAtMCwwICsxLDg5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+
Cis8dGl0bGU+ZW5kRGVsYXkgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlvbmVmZmVjdHRp
bWluZy1lbmRkZWxheSI+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlJ5byBNb3RvemF3YSIg
aHJlZj0ibWFpbHRvOm1vdG96YXdhQG1vemlsbGEtamFwYW4ub3JnIj4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90
ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxz
Y3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9
IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0
LnRpbWluZy5lbmREZWxheSwgMCk7Cit9LCAnVGVzdCBkZWZhdWx0IHZhbHVlJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRp
di5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFuaW0uZWZmZWN0LnRp
bWluZy5lbmREZWxheSA9IDEyMy40NTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uZWZmZWN0
LnRpbWluZy5lbmREZWxheSwgMTIzLjQ1LAorICAgICAgICAgICAgICAgICAgICAgJ3NldCBlbmRE
ZWxheSAxMjMuNDUnKTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uZWZmZWN0LmdldENvbXB1
dGVkVGltaW5nKCkuZW5kRGVsYXksIDEyMy40NSwKKyAgICAgICAgICAgICAgICAgICAgICdnZXRD
b21wdXRlZFRpbWluZygpIGFmdGVyIHNldCBlbmREZWxheSAxMjMuNDUnKTsKK30sICdzZXQgZW5k
RGVsYXkgMTIzLjQ1Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRl
RGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwg
MjAwMCk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5lbmREZWxheSA9IC0xMDAwOworICBhc3NlcnRf
ZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5lbmREZWxheSwgLTEwMDAsICdzZXQgZW5kRGVsYXkg
LTEwMDAnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygp
LmVuZERlbGF5LCAtMTAwMCwKKyAgICAgICAgICAgICAgICAnZ2V0Q29tcHV0ZWRUaW1pbmcoKSBh
ZnRlciBzZXQgZW5kRGVsYXkgLTEwMDAnKTsKK30sICdzZXQgZW5kRGVsYXkgLTEwMDAnKTsKKwor
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmlt
ID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYXNzZXJ0X3Ro
cm93cyh7bmFtZTogIlR5cGVFcnJvciJ9LCBmdW5jdGlvbigpIHsKKyAgICBhbmltLmVmZmVjdC50
aW1pbmcuZW5kRGVsYXkgPSBJbmZpbml0eTsKKyAgfSwgJ3dlIGNhbiBub3QgYXNzaWduIEluZmlu
aXR5IHRvIHRpbWluZy5lbmREZWxheScpOworfSwgJ3NldCBlbmREZWxheSBJbmZpbml0eScpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFu
aW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhc3NlcnRf
dGhyb3dzKHtuYW1lOiAiVHlwZUVycm9yIn0sIGZ1bmN0aW9uKCkgeworICAgIGFuaW0uZWZmZWN0
LnRpbWluZy5lbmREZWxheSA9IC1JbmZpbml0eTsKKyAgfSwgJ3dlIGNhbiBub3QgYXNzaWduIG5l
Z2F0aXZlIEluZmluaXR5IHRvIHRpbWluZy5lbmREZWxheScpOworfSwgJ3NldCBlbmREZWxheSBu
ZWdhdGl2ZSBJbmZpbml0eScpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRp
diA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsg
MCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMDAwLCBl
bmREZWxheTogNTAwMDAgfSk7CisgIGFuaW0ub25maW5pc2ggPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihldmVudCkgeworICAgIGFzc2VydF91bnJlYWNoZWQoJ29uZmluaXNoIGV2ZW50IHNob3VsZCBu
b3QgYmUgZmlyZWQnKTsKKyAgfSk7CisKKyAgYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgIGFuaW0uY3VycmVudFRpbWUgPSAxMDAwMDA7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRp
b25GcmFtZXMoMik7CisgIH0pLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgdC5k
b25lKCk7CisgIH0pKTsKK30sICdvbmZpbmlzaCBldmVudCBpcyBub3QgZmlyZWQgZHVyYXRpb24g
ZW5kRGVsYXknKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVh
dGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAwMCwgZW5kRGVsYXk6
IDMwMDAwIH0pOworICBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbS5jdXJy
ZW50VGltZSA9IDExMDAwMDsgLy8gZHVyaW5nIGVuZERlbGF5CisgICAgYW5pbS5vbmZpbmlzaCA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICBhc3NlcnRfdW5yZWFjaGVkKCdv
bmZpbmlzaCBldmVudCBzaG91bGQgbm90IGJlIGZpcmVkIGR1cmluZyBlbmREZWxheScpOworICAg
IH0pOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDIpOworICB9KS50aGVuKHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgIGFuaW0ub25maW5pc2ggPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihldmVudCkgeworICAgICAgdC5kb25lKCk7CisgICAgfSk7CisgICAgYW5pbS5jdXJy
ZW50VGltZSA9IDEzMDAwMDsgLy8gYWZ0ZXIgZW5kVGltZQorICB9KSk7Cit9LCAnb25maW5pc2gg
ZXZlbnQgaXMgZmlyZWQgY3VycmVudFRpbWUgaXMgYWZ0ZXIgZW5kVGltZScpOworCis8L3Njcmlw
dD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2ZpbGwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25F
ZmZlY3RUaW1pbmcvZmlsbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE0NmZlZDEyOWMyOTAz
MDg2N2E5NDViMmViODhlYTk2N2UwZmEwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5n
L2ZpbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitGQUlMIFRlc3QgZGVmYXVsdCB2
YWx1ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVE
aXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBzZXQgZmlsbCBub25lIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwKScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBzZXQgZmlsbCBmb3J3YXJkcyBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IGZpbGwgYmFja3dhcmRzIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTog
WyAwLCAxIF0gfSwgMTAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQg
ZmlsbCBib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9maWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9maWxs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODlmNmE0Njc5MzhlODZhMmQ4MGRhMWU2NDJkZGFkY2RlZDY1NmY0
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2ZpbGwuaHRtbApAQCAtMCwwICsxLDI5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+ZmlsbCB0
ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5p
by93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlvbmVmZmVjdHRpbWluZy1maWxsIj4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpOworICBhc3NlcnRfZXF1YWxzKGFu
aW0uZWZmZWN0LnRpbWluZy5maWxsLCAnYXV0bycpOworfSwgJ1Rlc3QgZGVmYXVsdCB2YWx1ZScp
OworCitbIm5vbmUiLCAiZm9yd2FyZHMiLCAiYmFja3dhcmRzIiwgImJvdGgiLCBdLmZvckVhY2go
ZnVuY3Rpb24oZmlsbCl7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBkaXYgPSBjcmVh
dGVEaXYodCk7CisgICAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBd
IH0sIDEwMCk7CisgICAgYW5pbS5lZmZlY3QudGltaW5nLmZpbGwgPSBmaWxsOworICAgIGFzc2Vy
dF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5nLmZpbGwsIGZpbGwsICdzZXQgZmlsbCAnICsgZmls
bCk7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmZp
bGwsIGZpbGwsICdnZXRDb21wdXRlZFRpbWluZygpIGFmdGVyIHNldCBmaWxsICcgKyBmaWxsKTsK
KyAgfSwgJ3NldCBmaWxsICcgKyBmaWxsKTsKK30pOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uRWZmZWN0VGltaW5nL2dldEFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RU
aW1pbmcvZ2V0QW5pbWF0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDUyNTQ5MWQ1NjI1
YzY0M2FkNGU2Y2ZmZjNmN2QyNjgzYWY0M2UwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGlt
aW5nL2dldEFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitGQUlMIHdo
ZW4gZHVyYXRpb24gaXMgY2hhbmdlZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIHdoZW4gZW5kRGVsYXkgaXMgY2hhbmdlZCBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBd
IH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHdoZW4gaXRlcmF0
aW9ucyBpcyBjaGFuZ2VkIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgd2hlbiBjdXJyZW50VGltZSBjaGFuZ2VkIGluIGR1cmF0aW9uOjEwMDAs
IGRlbGF5OiA1MDAsIGVuZERlbGF5OiAtNTAwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBkZWxheTogNTAwLCBlbmREZWxheTogLTUwMCB9
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCB3aGVuIGN1cnJlbnRUaW1lIGNo
YW5nZWQgaW4gZHVyYXRpb246MTAwMCwgZGVsYXk6IC01MDAsIGVuZERlbGF5OiAtNTAwIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAw
LCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBkZWxh
eTogLTUwMCwgZW5kRGVsYXk6IC01MDAgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZ2V0QW5pbWF0aW9ucy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1p
bmcvZ2V0QW5pbWF0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5NjE5MmM5ZDAxMTZkMTQyZmJmYmRm
MDU5ZjhjMWYwZDc4ZTAzNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9nZXRBbmlt
YXRpb25zLmh0bWwKQEAgLTAsMCArMSw5MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PXV0Zi04PgorPHRpdGxlPkVsZW1lbnQuZ2V0QW5pbWF0aW9ucyB0ZXN0czwvdGl0bGU+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25z
LyNhbmltYXRpb25lZmZlY3R0aW1pbmciPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJSeW8g
TW90b3phd2EiIGhyZWY9Im1haWx0bzptb3RvemF3YUBtb3ppbGxhLWphcGFuLm9yZyI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+
PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
dmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNp
dHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhbmltLmZpbmlzaCgpOworICBhc3NlcnRfZXF1YWxz
KGRpdi5nZXRBbmltYXRpb25zKCkubGVuZ3RoLCAwLCAnYW5pbWF0aW9uIGZpbmlzaGVkJyk7Cisg
IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiArPSAxMDAwMDA7CisgIGFzc2VydF9lcXVhbHMo
ZGl2LmdldEFuaW1hdGlvbnMoKVswXSwgYW5pbSwgJ3NldCBkdXJhdGlvbiAxMDIwMDAnKTsKKyAg
YW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gMDsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0
QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwgJ3NldCBkdXJhdGlvbiAwJyk7CisgIGFuaW0uZWZmZWN0
LnRpbWluZy5kdXJhdGlvbiA9ICdhdXRvJzsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0QW5pbWF0
aW9ucygpLmxlbmd0aCwgMCwgJ3NldCBkdXJhdGlvbiBcJ2F1dG9cJycpOworfSwgJ3doZW4gZHVy
YXRpb24gaXMgY2hhbmdlZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNy
ZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBd
IH0sIDIwMDApOworCisgIGFuaW0uZWZmZWN0LnRpbWluZy5lbmREZWxheSA9IC0zMDAwOworICBh
c3NlcnRfZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKCkubGVuZ3RoLCAwLAorICAgICdzZXQgbmVn
YXRpdmUgZW5kRGVsYXkgc28gYXMgZW5kVGltZSBpcyBsZXNzIHRoYW4gY3VycmVudFRpbWUnKTsK
KyAgYW5pbS5lZmZlY3QudGltaW5nLmVuZERlbGF5ID0gMTAwMDsKKyAgYXNzZXJ0X2VxdWFscyhk
aXYuZ2V0QW5pbWF0aW9ucygpWzBdLCBhbmltLAorICAgICdzZXQgcG9zaXRpdmUgZW5kRGVsYXkg
c28gYXMgZW5kVGltZSBpcyBtb3JlIHRoYW4gY3VycmVudFRpbWUnKTsKKworICBhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24gPSAxMDAwOworICBhbmltLmN1cnJlbnRUaW1lID0gMTUwMDsKKyAg
YXNzZXJ0X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwKKyAgICAnc2V0IGN1
cnJlbnRUaW1lIGxlc3MgdGhhbiBlbmRUaW1lJyk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5lbmRE
ZWxheSA9IC01MDA7CisgIGFuaW0uY3VycmVudFRpbWUgPSA0MDA7CisgIGFzc2VydF9lcXVhbHMo
ZGl2LmdldEFuaW1hdGlvbnMoKVswXSwgYW5pbSwKKyAgICAnc2V0IGN1cnJlbnRUaW1lIGxlc3Mg
dGhhbiBlbmRUaW1lIHdoZW4gZW5kRGVsYXkgaXMgbmVnYXRpdmUgdmFsdWUnKTsKKyAgYW5pbS5j
dXJyZW50VGltZSA9IDUwMDsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxl
bmd0aCwgMCwKKyAgICAnc2V0IGN1cnJlbnRUaW1lIHNhbWUgYXMgZW5kVGltZSB3aGVuIGVuZERl
bGF5IGlzIG5lZ2F0aXZlIHZhbHVlJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSAxMDAwOworICBh
c3NlcnRfZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKCkubGVuZ3RoLCAwLAorICAgICdzZXQgY3Vy
cmVudFRpbWUgc2FtZSBhcyBkdXJhdGlvbiB3aGVuIGVuZERlbGF5IGlzIG5lZ2F0aXZlIHZhbHVl
Jyk7Cit9LCAnd2hlbiBlbmREZWxheSBpcyBjaGFuZ2VkJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFuaW0uZmluaXNoKCk7CisgIGFzc2VydF9l
cXVhbHMoZGl2LmdldEFuaW1hdGlvbnMoKS5sZW5ndGgsIDAsICdhbmltYXRpb24gZmluaXNoZWQn
KTsKKyAgYW5pbS5lZmZlY3QudGltaW5nLml0ZXJhdGlvbnMgPSAxMDsKKyAgYXNzZXJ0X2VxdWFs
cyhkaXYuZ2V0QW5pbWF0aW9ucygpWzBdLCBhbmltLCAnc2V0IGl0ZXJhdGlvbnMgMTAnKTsKKyAg
YW5pbS5lZmZlY3QudGltaW5nLml0ZXJhdGlvbnMgPSAwOworICBhc3NlcnRfZXF1YWxzKGRpdi5n
ZXRBbmltYXRpb25zKCkubGVuZ3RoLCAwLCAnc2V0IGl0ZXJhdGlvbnMgMCcpOworICBhbmltLmVm
ZmVjdC50aW1pbmcuaXRlcmF0aW9ucyA9IEluZmluaXR5OworICBhc3NlcnRfZXF1YWxzKGRpdi5n
ZXRBbmltYXRpb25zKCkubGVuZ3RoLCAxLCAnc2V0IGl0ZXJhdGlvbnMgSW5maW5pdHknKTsKK30s
ICd3aGVuIGl0ZXJhdGlvbnMgaXMgY2hhbmdlZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
dmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNp
dHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAw
MCwgZGVsYXk6IDUwMCwgZW5kRGVsYXk6IC01MDAgfSk7CisgIGFzc2VydF9lcXVhbHMoZGl2Lmdl
dEFuaW1hdGlvbnMoKVswXSwgYW5pbSwgJ3doZW4gY3VycmVudFRpbWUgMCcpOworICBhbmltLmN1
cnJlbnRUaW1lID0gNTAwOworICBhc3NlcnRfZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKClbMF0s
IGFuaW0sICdzZXQgY3VycmVudFRpbWUgNTAwJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSAxMDAw
OworICBhc3NlcnRfZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKCkubGVuZ3RoLCAwLCAnc2V0IGN1
cnJlbnRUaW1lIDEwMDAnKTsKK30sICd3aGVuIGN1cnJlbnRUaW1lIGNoYW5nZWQgaW4gZHVyYXRp
b246MTAwMCwgZGVsYXk6IDUwMCwgZW5kRGVsYXk6IC01MDAnKTsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUo
eyBvcGFjaXR5OiBbIDAsIDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IDEwMDAsIGRlbGF5OiAtNTAwLCBlbmREZWxheTogLTUwMCB9KTsKKyAgYXNzZXJ0X2VxdWFs
cyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwgJ3doZW4gY3VycmVudFRpbWUgMCcpOwor
ICBhbmltLmN1cnJlbnRUaW1lID0gNTAwOworICBhc3NlcnRfZXF1YWxzKGRpdi5nZXRBbmltYXRp
b25zKCkubGVuZ3RoLCAwLCAnc2V0IGN1cnJlbnRUaW1lIDUwMCcpOworICBhbmltLmN1cnJlbnRU
aW1lID0gMTAwMDsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwg
MCwgJ3NldCBjdXJyZW50VGltZSAxMDAwJyk7Cit9LCAnd2hlbiBjdXJyZW50VGltZSBjaGFuZ2Vk
IGluIGR1cmF0aW9uOjEwMDAsIGRlbGF5OiAtNTAwLCBlbmREZWxheTogLTUwMCcpOworCisKKzwv
c2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZ2V0Q29tcHV0ZWRTdHls
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9nZXRDb21wdXRlZFN0eWxlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mODMyZjIxN2Y2Zjc0ZDBkZTVmNzBjYjY5Y2UzNzkxZDZmZGU0YjA0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZ2V0Q29tcHV0ZWRTdHlsZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNiBAQAorCitGQUlMIGNoYW5nZWQgZHVyYXRpb24gaW1tZWRpYXRlbHkg
dXBkYXRlcyBpdHMgY29tcHV0ZWQgc3R5bGVzIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwMDAwKScsICdkaXYu
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBjaGFuZ2VkIGl0ZXJhdGlvbnMgaW1tZWRpYXRl
bHkgdXBkYXRlcyBpdHMgY29tcHV0ZWQgc3R5bGVzIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwMDAwKScsICdk
aXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBjaGFuZ2UgY3VycmVudFRpbWUgd2hlbiBm
aWxsIGlzIG5vbmUgYW5kIGVuZERlbGF5IGlzIHBvc2l0aXZlIGRpdi5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAxLCAwIF0gfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwMCwgZW5kRGVsYXk6IDEwMDAsIGZp
bGw6ICdub25lJyB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBjaGFuZ2Ug
Y3VycmVudFRpbWUgd2hlbiBmaWxsIGZvcndhcmRzIGFuZCBlbmREZWxheSBpcyBwb3NpdGl2ZSB1
bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZB
SUwgY2hhbmdlIGN1cnJlbnRUaW1lIHdoZW4gZmlsbCBub25lIGFuZCBlbmREZWxheSBpcyBuZWdh
dGl2ZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9w
YWNpdHk6IFsgMSwgMCBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjog
MTAwMDAsIGVuZERlbGF5OiAtNTAwMCwgZmlsbDogJ25vbmUnIH0pJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIGNoYW5nZSBjdXJyZW50VGltZSB3aGVuIGZpbGwgZm9yd2FyZHMg
YW5kIGVuZERlbGF5IGlzIG5lZ2F0aXZlIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVh
ciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBjaGFuZ2UgZGlyZWN0aW9uIGZyb20gIm5vcm1h
bCIgdG8gInJldmVyc2UiIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7
IGR1cmF0aW9uOiAxMDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjog
J25vcm1hbCcgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgY2hhbmdlIGRp
cmVjdGlvbiBmcm9tICJub3JtYWwiIHRvICJhbHRlcm5hdGUiIHVuZGVmaW5lZCBpcyBub3QgYSBm
dW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBjaGFuZ2UgZGlyZWN0aW9u
IGZyb20gIm5vcm1hbCIgdG8gImFsdGVybmF0ZS1yZXZlcnNlIiB1bmRlZmluZWQgaXMgbm90IGEg
ZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgY2hhbmdlIGRpcmVjdGlv
biBmcm9tICJub3JtYWwiIHRvICJyZXZlcnNlIiB3aGVuIGN1cnJlbnRUaW1lIGlzIDAgdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5p
bWF0aW9uRWZmZWN0VGltaW5nL2dldENvbXB1dGVkU3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2dl
dENvbXB1dGVkU3R5bGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmMyMzNmMGU5ODFkM2QxOTBkMmQzMzZk
YjRmN2JkM2MyYWYxY2E0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZ2V0Q29tcHV0
ZWRTdHlsZS5odG1sCkBAIC0wLDAgKzEsMTcyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9dXRmLTg+Cis8dGl0bGU+Z2V0Q29tcHV0ZWRTdHlsZSB0ZXN0czwvdGl0bGU+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNh
bmltYXRpb25lZmZlY3R0aW1pbmciPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJSeW8gTW90
b3phd2EiIGhyZWY9Im1haWx0bzptb3RvemF3YUBtb3ppbGxhLWphcGFuLm9yZyI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6
IFsgMCwgMSBdIH0sIDEwMDAwMCk7CisgIGFuaW0uZmluaXNoKCk7CisgIGFzc2VydF9lcXVhbHMo
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcxJywgJ2FuaW1hdGlvbiBmaW5pc2hlZCcp
OworICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKj0gMjsKKyAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuNScsICdzZXQgZG91YmxlIGR1cmF0aW9u
Jyk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IDA7CisgIGFzc2VydF9lcXVhbHMo
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcxJywgJ3NldCBkdXJhdGlvbiAwJyk7Cisg
IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9ICdhdXRvJzsKKyAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzEnLCAnc2V0IGR1cmF0aW9uIFwnYXV0b1wn
Jyk7Cit9LCAnY2hhbmdlZCBkdXJhdGlvbiBpbW1lZGlhdGVseSB1cGRhdGVzIGl0cyBjb21wdXRl
ZCBzdHlsZXMnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYo
dCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDAw
MDApOworICBhbmltLmZpbmlzaCgpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS5vcGFjaXR5LCAnMScsICdhbmltYXRpb24gZmluaXNoZWQnKTsKKyAgYW5pbS5lZmZlY3Qu
dGltaW5nLml0ZXJhdGlvbnMgPSAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS5vcGFjaXR5LCAnMCcsICdzZXQgMiBpdGVyYXRpb25zJyk7CisgIGFuaW0uZWZmZWN0LnRp
bWluZy5pdGVyYXRpb25zID0gMDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRp
dikub3BhY2l0eSwgJzEnLCAnc2V0IGl0ZXJhdGlvbnMgMCcpOworICBhbmltLmVmZmVjdC50aW1p
bmcuaXRlcmF0aW9ucyA9IEluZmluaXR5OworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS5vcGFjaXR5LCAnMCcsICdzZXQgaXRlcmF0aW9ucyBJbmZpbml0eScpOworfSwgJ2No
YW5nZWQgaXRlcmF0aW9ucyBpbW1lZGlhdGVseSB1cGRhdGVzIGl0cyBjb21wdXRlZCBzdHlsZXMn
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZh
ciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDEsIDAgXSB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAwLCBlbmREZWxheTogMTAwMCwgZmlsbDogJ25v
bmUnIH0pOworCisgIGFuaW0uY3VycmVudFRpbWUgPSA5MDAwOworICBhc3NlcnRfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMC4xJywKKyAgICAgICAgICAgICAgICAnc2V0
IGN1cnJlbnRUaW1lIGR1cmluZyBkdXJhdGlvbicpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSAx
MDkwMDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzEn
LAorICAgICAgICAgICAgICAgICdzZXQgY3VycmVudFRpbWUgZHVyaW5nIGVuZERlbGF5Jyk7CisK
KyAgYW5pbS5jdXJyZW50VGltZSA9IDExMTAwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoZGl2KS5vcGFjaXR5LCAnMScsCisgICAgICAgICAgICAgICAgJ3NldCBjdXJyZW50VGlt
ZSBhZnRlciBlbmREZWxheScpOworfSwgJ2NoYW5nZSBjdXJyZW50VGltZSB3aGVuIGZpbGwgaXMg
bm9uZSBhbmQgZW5kRGVsYXkgaXMgcG9zaXRpdmUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFj
aXR5OiBbIDEsIDAgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MDAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kRGVsYXk6IDEwMDAsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWxsOiAnZm9yd2FyZHMnIH0pOworICBhbmltLmN1cnJlbnRU
aW1lID0gNTAwMDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0
eSwgJzAuNScsCisgICAgICAgICAgICAgICAgJ3NldCBjdXJyZW50VGltZSBkdXJpbmcgZHVyYXRp
b24nKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gOTk5OTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuMDAwMScsCisgICAgICAgICAgICAgICAgJ3Nl
dCBjdXJyZW50VGltZSBqdXN0IGEgbGl0dGxlIGJlZm9yZSBkdXJhdGlvbicpOworCisgIGFuaW0u
Y3VycmVudFRpbWUgPSAxMDkwMDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRp
dikub3BhY2l0eSwgJzAnLAorICAgICAgICAgICAgICAgICdzZXQgY3VycmVudFRpbWUgZHVyaW5n
IGVuZERlbGF5Jyk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDExMTAwOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMCcsCisgICAgICAgICAgICAgICAg
J3NldCBjdXJyZW50VGltZSBhZnRlciBlbmREZWxheScpOworfSwgJ2NoYW5nZSBjdXJyZW50VGlt
ZSB3aGVuIGZpbGwgZm9yd2FyZHMgYW5kIGVuZERlbGF5IGlzIHBvc2l0aXZlJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRp
di5hbmltYXRlKHsgb3BhY2l0eTogWyAxLCAwIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICB7IGR1cmF0aW9uOiAxMDAwMCwgZW5kRGVsYXk6IC01MDAwLCBmaWxsOiAnbm9uZScgfSk7CisK
KyAgYW5pbS5jdXJyZW50VGltZSA9IDEwMDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLm9wYWNpdHksICcwLjknLAorICAgICAgICAgICAgICAgICdzZXQgY3VycmVudFRp
bWUgYmVmb3JlIGVuZFRpbWUnKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gMTAwMDA7CisgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcxJywKKyAgICAgICAg
ICAgICAgICAnc2V0IGN1cnJlbnRUaW1lIGFmdGVyIGVuZFRpbWUnKTsKK30sICdjaGFuZ2UgY3Vy
cmVudFRpbWUgd2hlbiBmaWxsIG5vbmUgYW5kIGVuZERlbGF5IGlzIG5lZ2F0aXZlJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9
IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAxLCAwIF0gfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZERl
bGF5OiAtNTAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICdmb3J3YXJkcycg
fSk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDEwMDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcwLjknLAorICAgICAgICAgICAgICAgICdzZXQgY3Vy
cmVudFRpbWUgYmVmb3JlIGVuZFRpbWUnKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gNTAwMDsK
KyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuNScsCisg
ICAgICAgICAgICAgICAgJ3NldCBjdXJyZW50VGltZSBzYW1lIGFzIGVuZFRpbWUnKTsKKworICBh
bmltLmN1cnJlbnRUaW1lID0gMTAwMDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShkaXYpLm9wYWNpdHksICcwJywKKyAgICAgICAgICAgICAgICAnc2V0IGN1cnJlbnRUaW1lIGFm
dGVyIGVuZFRpbWUnKTsKK30sICdjaGFuZ2UgY3VycmVudFRpbWUgd2hlbiBmaWxsIGZvcndhcmRz
IGFuZCBlbmREZWxheSBpcyBuZWdhdGl2ZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6
IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMDAs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICdub3JtYWwnIH0pOworCisg
IGFuaW0uY3VycmVudFRpbWUgPSA3MDAwOworICBhbmltLmVmZmVjdC50aW1pbmcuZGlyZWN0aW9u
ID0gJ3JldmVyc2UnOworCisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9w
YWNpdHksICcwLjMnLAorICAgICAgICAgICAgICAgICdjaGFuZ2UgZGlyZWN0aW9uIGZyb20gIm5v
cm1hbCIgdG8gInJldmVyc2UiJyk7Cit9LCAnY2hhbmdlIGRpcmVjdGlvbiBmcm9tICJub3JtYWwi
IHRvICJyZXZlcnNlIicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgeyBpdGVyYXRpb25zOiAyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDAwLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGlyZWN0aW9uOiAnbm9ybWFsJyB9KTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gMTcwMDA7
CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kaXJlY3Rpb24gPSAnYWx0ZXJuYXRlJzsKKworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMC4zJywKKyAgICAgICAg
ICAgICAgICAnY2hhbmdlIGRpcmVjdGlvbiBmcm9tICJub3JtYWwiIHRvICJhbHRlcm5hdGUiJyk7
CisgIH0sICdjaGFuZ2UgZGlyZWN0aW9uIGZyb20gIm5vcm1hbCIgdG8gImFsdGVybmF0ZSInKTsK
KwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBh
bmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgIHsgaXRlcmF0aW9uczogMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1
cmF0aW9uOiAxMDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ25v
cm1hbCcgfSk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDE3MDAwOworICBhbmltLmVmZmVjdC50
aW1pbmcuZGlyZWN0aW9uID0gJ2FsdGVybmF0ZS1yZXZlcnNlJzsKKworICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMC43JywKKyAgICAgICAgICAgICAgICAn
Y2hhbmdlIGRpcmVjdGlvbiBmcm9tICJub3JtYWwiIHRvICJhbHRlcm5hdGUtcmV2ZXJzZSInKTsK
K30sICdjaGFuZ2UgZGlyZWN0aW9uIGZyb20gIm5vcm1hbCIgdG8gImFsdGVybmF0ZS1yZXZlcnNl
IicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
dmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBmaWxsOiAnYmFja3dhcmRzJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGR1cmF0aW9uOiAxMDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVj
dGlvbjogJ25vcm1hbCcgfSk7CisKKyAgLy8gdGVzdCBmb3IgYSBmbGlwIG9mIHZhbHVlIGF0IHRo
ZSBjdXJyZW50VGltZSA9IDAKKyAgYW5pbS5lZmZlY3QudGltaW5nLmRpcmVjdGlvbiA9ICdyZXZl
cnNlJzsKKworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAn
MScsCisgICAgICAgICAgICAgICAgJ2NoYW5nZSBkaXJlY3Rpb24gZnJvbSAibm9ybWFsIiB0byAi
cmV2ZXJzZSIgJyArCisgICAgICAgICAgICAgICAgJ2F0IHRoZSBzdGFydGluZyBwb2ludCcpOwor
fSwgJ2NoYW5nZSBkaXJlY3Rpb24gZnJvbSAibm9ybWFsIiB0byAicmV2ZXJzZSIgd2hlbiBjdXJy
ZW50VGltZSBpcyAwJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RU
aW1pbmcvaXRlcmF0aW9uU3RhcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvaXRlcmF0aW9u
U3RhcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwNjVmMDFhOGZlYWNhZTFmMWQ3ODdmNWNm
NDFhMzRjMzNiYjcyZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9pdGVyYXRpb25T
dGFydC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK0ZBSUwgVGVzdCBkZWZhdWx0IHZh
bHVlIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURp
dih0KS5hbmltYXRlKG51bGwpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFRlc3QgdGhhdCBjaGFuZ2luZyB0aGUgaXRlcmF0aW9uU3RhcnQgYWZmZWN0cyBjb21w
dXRlZCB0aW1pbmcgd2hlbiBiYWNrd2FyZHMtZmlsbGluZyB1bmRlZmluZWQgaXMgbm90IGEgZnVu
Y3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgVGVzdCB0aGF0IGNoYW5naW5n
IHRoZSBpdGVyYXRpb25TdGFydCBhZmZlY3RzIGNvbXB1dGVkIHRpbWluZyBkdXJpbmcgdGhlIGFj
dGl2ZSBwaGFzZSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmlt
YXRlLi4uJykKK0ZBSUwgVGVzdCB0aGF0IGNoYW5naW5nIHRoZSBpdGVyYXRpb25TdGFydCBhZmZl
Y3RzIGNvbXB1dGVkIHRpbWluZyB3aGVuIGZvcndhcmRzLWZpbGxpbmcgdW5kZWZpbmVkIGlzIG5v
dCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIFVzaW5nIGludmFs
aWQgdmFsdWVzIHNob3VsZCB0aHJvdyBUeXBlRXJyb3IgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZGl2LmFuaW1hdGUobnVsbCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvaXRlcmF0aW9uU3RhcnQuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0
VGltaW5nL2l0ZXJhdGlvblN0YXJ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQyZDBlMDk3YWM2NGYwMzhk
NjBkNWQ3ZjFiN2UzMjgzZDdlZWVmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2l0
ZXJhdGlvblN0YXJ0Lmh0bWwKQEAgLTAsMCArMSw3NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPml0ZXJhdGlvblN0YXJ0IHRlc3RzPC90aXRsZT4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25z
LyNkb20tYW5pbWF0aW9uZWZmZWN0dGltaW5nLWl0ZXJhdGlvbnN0YXJ0Ij4KKzxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iRGFpc3VrZSBBa2F0c3VrYSIgaHJlZj0ibWFpbHRvOmRhaXN1a2VAbW96
aWxsYS1qYXBhbi5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0Pgor
PGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwor
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVs
bCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5nLml0ZXJhdGlvblN0YXJ0LCAw
KTsKK30sICdUZXN0IGRlZmF1bHQgdmFsdWUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5
OiBbIDAsIDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgaXRlcmF0aW9uU3RhcnQ6
IDAuMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IDEg
fSk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5pdGVyYXRpb25TdGFydCA9IDIuNTsKKyAgYXNzZXJ0
X3RpbWVzX2VxdWFsKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDAu
NSk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5jdXJy
ZW50SXRlcmF0aW9uLCAyKTsKK30sICdUZXN0IHRoYXQgY2hhbmdpbmcgdGhlIGl0ZXJhdGlvblN0
YXJ0IGFmZmVjdHMgY29tcHV0ZWQgdGltaW5nICcgKworICAgJ3doZW4gYmFja3dhcmRzLWZpbGxp
bmcnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgIHsgaXRlcmF0aW9uU3RhcnQ6IDAuMiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvbnM6IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxs
OiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IDAgfSk7CisgIGFuaW0uZWZmZWN0LnRpbWlu
Zy5pdGVyYXRpb25TdGFydCA9IDIuNTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uZWZmZWN0
LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDAuNSk7CisgIGFzc2VydF9lcXVhbHMoYW5p
bS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5jdXJyZW50SXRlcmF0aW9uLCAyKTsKK30sICdU
ZXN0IHRoYXQgY2hhbmdpbmcgdGhlIGl0ZXJhdGlvblN0YXJ0IGFmZmVjdHMgY29tcHV0ZWQgdGlt
aW5nICcgKworICAgJ2R1cmluZyB0aGUgYWN0aXZlIHBoYXNlJyk7CisKK3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRl
KHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGl0ZXJh
dGlvblN0YXJ0OiAwLjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAx
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRlbGF5OiAwIH0pOworICBhbmltLmZpbmlzaCgpOworICBhbmltLmVmZmVjdC50aW1pbmcuaXRl
cmF0aW9uU3RhcnQgPSAyLjU7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltLmVmZmVjdC5nZXRD
b21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAwLjUpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZm
ZWN0LmdldENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0ZXJhdGlvbiwgMyk7Cit9LCAnVGVzdCB0
aGF0IGNoYW5naW5nIHRoZSBpdGVyYXRpb25TdGFydCBhZmZlY3RzIGNvbXB1dGVkIHRpbWluZyAn
ICsKKyAgICd3aGVuIGZvcndhcmRzLWZpbGxpbmcnKTsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUobnVsbCk7
CisgIGZvciAobGV0IGludmFsaWQgb2YgWy0xLCBOYU4sIEluZmluaXR5XSkgeworICAgIGFzc2Vy
dF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCBmdW5jdGlvbigpIHsKKyAgICAgIGFuaW0u
ZWZmZWN0LnRpbWluZy5pdGVyYXRpb25TdGFydCA9IGludmFsaWQ7CisgICAgfSwgJ3NldHRpbmcg
JyArIGludmFsaWQpOworICAgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCBm
dW5jdGlvbigpIHsKKyAgICAgIGRpdi5hbmltYXRlKHt9LCB7IGl0ZXJhdGlvblN0YXJ0OiBpbnZh
bGlkIH0pOworICAgIH0sICdhbmltYXRlKCkgd2l0aCAnICsgaW52YWxpZCk7CisgIH0KK30sICdV
c2luZyBpbnZhbGlkIHZhbHVlcyBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7CisKKzwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvaXRlcmF0aW9ucy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbkVmZmVjdFRpbWluZy9pdGVyYXRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDc3
ZTk3ZWMyMGQ3YWMxMzMwZDM0Y2JhNjQ5ODcyNzIwODcwYWJjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25F
ZmZlY3RUaW1pbmcvaXRlcmF0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKK0ZB
SUwgVGVzdCBkZWZhdWx0IHZhbHVlIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpJywgJ2NyZWF0ZURpdih0KS5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBpdGVyYXRpb25zIDIgZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAy
MDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQgaXRlcmF0aW9ucyBJ
bmZpbml0eSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIHNldCBuZWdhdGl2ZSBpdGVyYXRpb25zIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IG5lZ2F0aXZlIGluZmluaXR5IGl0ZXJh
dGlvbnMgIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgc2V0IE5hTiBpdGVyYXRpb25zIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvaXRlcmF0aW9ucy5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb25FZmZlY3RUaW1pbmcvaXRlcmF0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkZmUxNjk1NjQz
YTkyNDlkZTZkY2NmODZjODExYjc2NDM5ZGQzYzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRp
bWluZy9pdGVyYXRpb25zLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPml0ZXJhdGlvbnMgdGVzdHM8L3RpdGxlPgorPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMv
I2RvbS1hbmltYXRpb25lZmZlY3R0aW1pbmctaXRlcmF0aW9ucyI+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2Ny
aXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBj
cmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50
aW1pbmcuaXRlcmF0aW9ucywgMSk7Cit9LCAnVGVzdCBkZWZhdWx0IHZhbHVlJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRp
di5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFuaW0uZWZmZWN0LnRp
bWluZy5pdGVyYXRpb25zID0gMjsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcu
aXRlcmF0aW9ucywgMiwgJ3NldCBkdXJhdGlvbiAyJyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5l
ZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5pdGVyYXRpb25zLCAyLAorICAgICAgICAgICAgICAg
ICAgICAgICAnZ2V0Q29tcHV0ZWRUaW1pbmcoKSBhZnRlciBzZXQgaXRlcmF0aW9ucyAyJyk7Cit9
LCAnc2V0IGl0ZXJhdGlvbnMgMicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwg
MSBdIH0sIDIwMDApOworICBhbmltLmVmZmVjdC50aW1pbmcuaXRlcmF0aW9ucyA9IEluZmluaXR5
OworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5pdGVyYXRpb25zLCBJbmZpbml0
eSwgJ3NldCBkdXJhdGlvbiBJbmZpbml0eScpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0
LmdldENvbXB1dGVkVGltaW5nKCkuaXRlcmF0aW9ucywgSW5maW5pdHksCisgICAgICAgICAgICAg
ICAgICAgICAgICdnZXRDb21wdXRlZFRpbWluZygpIGFmdGVyIHNldCBpdGVyYXRpb25zIEluZmlu
aXR5Jyk7Cit9LCAnc2V0IGl0ZXJhdGlvbnMgSW5maW5pdHknKTsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUo
eyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICdU
eXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgeworICAgIGFuaW0uZWZmZWN0LnRpbWluZy5pdGVyYXRp
b25zID0gLTE7CisgIH0pOworfSwgJ3NldCBuZWdhdGl2ZSBpdGVyYXRpb25zJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRp
di5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFzc2VydF90aHJvd3Mo
eyBuYW1lOiAnVHlwZUVycm9yJyB9LCBmdW5jdGlvbigpIHsKKyAgICBhbmltLmVmZmVjdC50aW1p
bmcuaXRlcmF0aW9ucyA9IC1JbmZpbml0eTsKKyAgfSk7Cit9LCAnc2V0IG5lZ2F0aXZlIGluZmlu
aXR5IGl0ZXJhdGlvbnMgJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3Jl
YXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0g
fSwgMjAwMCk7CisgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCBmdW5jdGlv
bigpIHsKKyAgICBhbmltLmVmZmVjdC50aW1pbmcuaXRlcmF0aW9ucyA9IE5hTjsKKyAgfSk7Cit9
LCAnc2V0IE5hTiBpdGVyYXRpb25zJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRp
b25UaW1lbGluZS9kb2N1bWVudC10aW1lbGluZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3Vt
ZW50LXRpbWVsaW5lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Zjc0MGNiMmFkZGE4YTI3OWIy
YzEyOWY3ZjVjNTMzYjg3NDU0ZTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGluZS9kb2N1bWVu
dC10aW1lbGluZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgZG9jdW1lbnQu
dGltZWxpbmUgaWRlbnRpdHkgdGVzdHMgCitGQUlMIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRU
aW1lIHZhbHVlIHRlc3RzIGFzc2VydF90cnVlOiBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSBpcyBwb3NpdGl2ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBkb2N1bWVudC50aW1l
bGluZS5jdXJyZW50VGltZSBsaXZlbmVzcyB0ZXN0cyBhc3NlcnRfZ3JlYXRlcl90aGFuOiBkb2N1
bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBpbmNyZWFzZXMgYmV0d2VlbiBzY3JpcHQgYmxvY2tz
IGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgorRkFJTCBpZnJhbWUgZG9jdW1l
bnQudGltZWxpbmUuY3VycmVudFRpbWUgbGl2ZW5lc3MgdGVzdHMgYXNzZXJ0X2dyZWF0ZXJfdGhh
bjogaWZyYW1lIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGluY3JlYXNlcyBiZXR3ZWVu
IHNjcmlwdCBibG9ja3MgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3QiCitGQUlM
IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIHRpbWUgc2hvdWxkIGJlIHRoZSBzYW1lIGZv
ciBhbGwgUkFGIGNhbGxiYWNrcyBpbiBhIGZyYW1lIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWw6
IGN1cnJlbnRUaW1lIHNob3VsZCBoYXZlIHByb2dyZXNzZWQgZXhwZWN0ZWQgYSBudW1iZXIgYnV0
IGdvdCBhICJvYmplY3QiCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRkOGRl
MDAwOTNlMmFiNDZhYzFjMWZkZTg2MmYyMDkxZDJjOTFmOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGlt
ZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUuaHRtbApAQCAtMCwwICsxLDExMSBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkRlZmF1bHQgZG9jdW1lbnQgdGlt
ZWxpbmUgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5n
aXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI3RoZS1kb2N1bWVudHMtZGVmYXVsdC10aW1lbGluZSI+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwv
ZGl2PgorPGlmcmFtZSB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIGlkPSJpZnJhbWUiPjwvaWZyYW1l
PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0
X2VxdWFscyhkb2N1bWVudC50aW1lbGluZSwgZG9jdW1lbnQudGltZWxpbmUsCisgICAgJ2RvY3Vt
ZW50LnRpbWVsaW5lIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0IGV2ZXJ5IHRpbWUnKTsKKyAgdmFy
IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKKyAgYXNzZXJ0X25v
dF9lcXVhbHMoZG9jdW1lbnQudGltZWxpbmUsIGlmcmFtZS5jb250ZW50RG9jdW1lbnQudGltZWxp
bmUsCisgICAgJ2RvY3VtZW50LnRpbWVsaW5lIHJldHVybnMgYSBkaWZmZXJlbnQgb2JqZWN0IGZv
ciBlYWNoIGRvY3VtZW50Jyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKGlmcmFtZS5jb250ZW50RG9j
dW1lbnQudGltZWxpbmUsIG51bGwsCisgICAgJ2RvY3VtZW50LnRpbWVsaW5lIG9uIGFuIGlmcmFt
ZSBpcyBub3QgbnVsbCcpOworfSwgJ2RvY3VtZW50LnRpbWVsaW5lIGlkZW50aXR5IHRlc3RzJyk7
CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICBhc3NlcnRfdHJ1ZShkb2N1bWVudC50aW1l
bGluZS5jdXJyZW50VGltZSA+IDAsCisgICAgJ2RvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1l
IGlzIHBvc2l0aXZlJyk7CisgIC8vIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIHNob3Vs
ZCBiZSBzZXQgZXZlbiBiZWZvcmUgZG9jdW1lbnQKKyAgLy8gbG9hZCBmaXJlcy4gV2UgZXhwZWN0
IHRoaXMgY29kZSB0byBiZSBydW4gYmVmb3JlIGRvY3VtZW50IGxvYWQgYW5kIGhlbmNlCisgIC8v
IHRoZSBhYm92ZSBhc3NlcnRpb24gaXMgc3VmZmljaWVudC4KKyAgLy8gSWYgdGhlIGZvbGxvd2lu
ZyBhc3NlcnRpb24gZmFpbHMsIHRoaXMgdGVzdCBuZWVkcyB0byBiZSByZWRlc2lnbmVkLgorICBh
c3NlcnRfdHJ1ZShkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnY29tcGxldGUnLAorICAgICdUZXN0
IGlzIHJ1bm5pbmcgcHJpb3IgdG8gZG9jdW1lbnQgbG9hZCcpOworCisgIC8vIFRlc3QgdGhhdCB0
aGUgZG9jdW1lbnQgdGltZWxpbmUncyBjdXJyZW50IHRpbWUgaXMgbWVhc3VyZWQgZnJvbQorICAv
LyBuYXZpZ2F0aW9uU3RhcnQuCisgIC8vCisgIC8vIFdlIGNhbid0IGp1c3QgY29tcGFyZSBkb2N1
bWVudC50aW1lbGluZS5jdXJyZW50VGltZSB0bworICAvLyB3aW5kb3cucGVyZm9ybWFuY2Uubm93
KCkgYmVjYXVzZSBjdXJyZW50VGltZSBpcyBvbmx5IHVwZGF0ZWQgb24gYSBzYW1wbGUKKyAgLy8g
c28gd2UgdXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpbnN0ZWFkLgorICB3aW5kb3cucmVxdWVz
dEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKHJhZlRpbWUpIHsKKyAgICB0LnN0ZXAoZnVuY3Rpb24o
KSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lLCBy
YWZUaW1lLAorICAgICAgICAgICAgICAgICAgICAnZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRp
bWUgbWF0Y2hlcycgKworICAgICAgICAgICAgICAgICAgICAnIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSB0aW1lJyk7CisgICAgfSk7CisgICAgdC5kb25lKCk7CisgIH0pOworfSwgJ2RvY3VtZW50LnRp
bWVsaW5lLmN1cnJlbnRUaW1lIHZhbHVlIHRlc3RzJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciB2YWx1ZUF0U3RhcnQgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZTsKKyAgdmFyIHRpbWVBdFN0YXJ0ID0gd2luZG93LnBlcmZvcm1hbmNlLm5vdygpOworICB3aGls
ZSAod2luZG93LnBlcmZvcm1hbmNlLm5vdygpIC0gdGltZUF0U3RhcnQgPCA1MCkgeworICAgIC8v
IFdhaXQgNTBtcworICB9CisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQudGltZWxpbmUuY3VycmVu
dFRpbWUsIHZhbHVlQXRTdGFydCwKKyAgICAnZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUg
ZG9lcyBub3QgY2hhbmdlIHdpdGhpbiBhIHNjcmlwdCBibG9jaycpOworICByZXR1cm4gd2FpdEZv
ckFuaW1hdGlvbkZyYW1lcygxKS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9ncmVhdGVy
X3RoYW4oZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUsIHZhbHVlQXRTdGFydCwKKyAgICAg
ICdkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBpbmNyZWFzZXMgYmV0d2VlbiBzY3JpcHQg
YmxvY2tzJyk7CisgIH0pOworfSwgJ2RvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGxpdmVu
ZXNzIHRlc3RzJyk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICBjb25zdCBpZnJhbWUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgaWZyYW1lLndpZHRoID0gMTA7
CisgIGlmcmFtZS5oZWlnaHQgPSAxMDsKKworICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBjb25zdCBpZnJhbWVUaW1lbGluZSA9IGlmcmFt
ZS5jb250ZW50RG9jdW1lbnQudGltZWxpbmU7CisgICAgY29uc3QgdmFsdWVBdFN0YXJ0ICAgPSBp
ZnJhbWVUaW1lbGluZS5jdXJyZW50VGltZTsKKyAgICBjb25zdCB0aW1lQXRTdGFydCAgICA9IHdp
bmRvdy5wZXJmb3JtYW5jZS5ub3coKTsKKyAgICB3aGlsZSAoaWZyYW1lLmNvbnRlbnRXaW5kb3cu
cGVyZm9ybWFuY2Uubm93KCkgLSB0aW1lQXRTdGFydCA8IDUwKSB7CisgICAgICAvLyBXYWl0IDUw
bXMKKyAgICB9CisgICAgYXNzZXJ0X2VxdWFscyhpZnJhbWVUaW1lbGluZS5jdXJyZW50VGltZSwg
dmFsdWVBdFN0YXJ0LAorICAgICAgJ2lmcmFtZSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSBkb2VzIG5vdCBjaGFuZ2Ugd2l0aGluIGEgJworICAgICAgKyAnIHNjcmlwdCBibG9jaycpOwor
CisgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQuc3RlcF9m
dW5jX2RvbmUoKCkgPT4geworICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihpZnJhbWVUaW1lbGlu
ZS5jdXJyZW50VGltZSwgdmFsdWVBdFN0YXJ0LAorICAgICAgICAnaWZyYW1lIGRvY3VtZW50LnRp
bWVsaW5lLmN1cnJlbnRUaW1lIGluY3JlYXNlcyBiZXR3ZWVuIHNjcmlwdCBibG9ja3MnKTsKKyAg
ICAgIGlmcmFtZS5yZW1vdmUoKTsKKyAgICB9KSk7CisgIH0pKTsKKworICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9LCAnaWZyYW1lIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJl
bnRUaW1lIGxpdmVuZXNzIHRlc3RzJyk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWU7CisgIHZhciBmaXJz
dFJhZlRpbWU7CisKKyAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgeworICAgIHQu
c3RlcChmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZG9jdW1l
bnQudGltZWxpbmUuY3VycmVudFRpbWUsIHN0YXJ0VGltZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2N1cnJlbnRUaW1lIHNob3VsZCBoYXZlIHByb2dyZXNzZWQnKTsKKyAgICAg
IGZpcnN0UmFmVGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lOworICAgIH0pOwor
ICB9KTsKKworICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7CisgICAgdC5zdGVw
KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC50aW1lbGluZS5jdXJy
ZW50VGltZSwgZmlyc3RSYWZUaW1lLAorICAgICAgICAgICAgICAgICAgICAnY3VycmVudFRpbWUg
c2hvdWxkIGJlIHRoZSBzYW1lJyk7CisgICAgfSk7CisgICAgdC5kb25lKCk7CisgIH0pOworfSwg
J2RvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIHRpbWUgc2hvdWxkIGJlIHRoZSBzYW1lIGZv
ciBhbGwgUkFGJworICAgKyAnIGNhbGxiYWNrcyBpbiBhIGZyYW1lJyk7CisKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9BbmltYXRpb25UaW1lbGluZS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvaWRs
aGFybmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NhYmZmZjFlMmM5YmMzOTI1Njc4Yjgy
NWM2ZmE4Y2M2Yzg4NDZhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvaWRsaGFybmVzcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorCitQQVNTIFdlYiBBbmltYXRpb25zIEFQSTog
RG9jdW1lbnRUaW1lbGluZSB0ZXN0cyAKK1BBU1MgQW5pbWF0aW9uVGltZWxpbmUgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgQW5p
bWF0aW9uVGltZWxpbmUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIEFuaW1hdGlvblRp
bWVsaW5lIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgQW5pbWF0aW9uVGltZWxpbmUgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCitQQVNTIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKK1BBU1MgQW5pbWF0aW9uVGltZWxpbmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY3Vy
cmVudFRpbWUgCitQQVNTIERvY3VtZW50VGltZWxpbmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgRG9jdW1lbnRUaW1lbGluZSBp
bnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgRG9jdW1lbnRUaW1lbGluZSBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCitQQVNTIERvY3VtZW50VGltZWxpbmUgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIERvY3Vt
ZW50VGltZWxpbmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBEb2N1
bWVudFRpbWVsaW5lIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZG9jdW1lbnQudGltZWxp
bmUgCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBkb2N1bWVudC50aW1lbGluZSAKK1BBU1MgQW5p
bWF0aW9uVGltZWxpbmUgaW50ZXJmYWNlOiBkb2N1bWVudC50aW1lbGluZSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImN1cnJlbnRUaW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRp
b25UaW1lbGluZS9pZGxoYXJuZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2lkbGhhcm5lc3MuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zZWM0ZTljYTJkMGNhNzM2YmM2YWJmOTlhYWJkOGMzMzQzNzAxNWYyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9BbmltYXRpb25UaW1lbGluZS9pZGxoYXJuZXNzLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFk
b2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPldlYiBBbmltYXRpb25z
IEFQSTogRG9jdW1lbnRUaW1lbGluZSB0ZXN0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9X
ZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRsaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L3BsYWluIiBpZD0iQW5pbWF0aW9uVGltZWxpbmUtSURMIj4KK2ludGVyZmFjZSBBbmltYXRp
b25UaW1lbGluZSB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IGN1cnJlbnRUaW1lOwor
fTsKKzwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L3BsYWluIiBpZD0iRG9jdW1lbnRUaW1l
bGluZS1JREwiPgorZGljdGlvbmFyeSBEb2N1bWVudFRpbWVsaW5lT3B0aW9ucyB7CisgIERPTUhp
Z2hSZXNUaW1lU3RhbXAgb3JpZ2luVGltZSA9IDA7Cit9OworW0NvbnN0cnVjdG9yIChvcHRpb25h
bCBEb2N1bWVudFRpbWVsaW5lT3B0aW9ucyBvcHRpb25zKV0KK2ludGVyZmFjZSBEb2N1bWVudFRp
bWVsaW5lIDogQW5pbWF0aW9uVGltZWxpbmUgeworfTsKKzwvc2NyaXB0PgorPHNjcmlwdD4KKyd1
c2Ugc3RyaWN0JzsKKwordmFyIGlkbEFycmF5OwordGVzdChmdW5jdGlvbigpIHsKKyAgaWRsQXJy
YXkgPSBuZXcgSWRsQXJyYXkoKTsKKyAgaWRsQXJyYXkuYWRkX2lkbHMoCisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ0FuaW1hdGlvblRpbWVsaW5lLUlETCcpLnRleHRDb250ZW50KTsKKyAg
aWRsQXJyYXkuYWRkX2lkbHMoCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0RvY3VtZW50
VGltZWxpbmUtSURMJykudGV4dENvbnRlbnQpOworICBpZGxBcnJheS5hZGRfb2JqZWN0cyggeyBE
b2N1bWVudFRpbWVsaW5lOiBbJ2RvY3VtZW50LnRpbWVsaW5lJ10gfSApOworfSk7CitpZGxBcnJh
eS50ZXN0KCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudC9nZXRBbmltYXRpb25zLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvRG9j
dW1lbnQvZ2V0QW5pbWF0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGE0MDRmY2U2ZTBl
ZjIyOWUzYjFlNjkyYzlhZmU5OTk0MjYwMjI3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvRG9jdW1lbnQvZ2V0QW5pbWF0
aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwgVGVzdCBkb2N1bWVudC5n
ZXRBbmltYXRpb25zIGZvciBub24tYW5pbWF0ZWQgY29udGVudCBkb2N1bWVudC5nZXRBbmltYXRp
b25zIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2RvY3VtZW50LmdldEFuaW1hdGlvbnMoKScsICdk
b2N1bWVudC5nZXRBbmltYXRpb25zJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZG9jdW1lbnQu
Z2V0QW5pbWF0aW9ucyBmb3Igc2NyaXB0LWdlbmVyYXRlZCBhbmltYXRpb25zIGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1T
X1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgdGhlIG9y
ZGVyIG9mIGRvY3VtZW50LmdldEFuaW1hdGlvbnMgd2l0aCBzY3JpcHQgZ2VuZXJhdGVkIGFuaW1h
dGlvbnMgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoZ0tl
eUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgVGVzdCBkb2N1bWVudC5nZXRBbmltYXRpb25zIHdpdGggbnVsbCB0YXJnZXQgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0RvY3VtZW50L2dldEFu
aW1hdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvRG9jdW1lbnQvZ2V0QW5pbWF0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4Nzc1MWMwNGIy
MjUxZGUzNGRhZWNkMTdjZTQ5YWFlMTg1N2Q2MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0RvY3VtZW50L2dldEFuaW1h
dGlvbnMuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTg+Cis8dGl0bGU+ZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucyB0ZXN0czwvdGl0bGU+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9u
cy8jZG9tLWRvY3VtZW50LWdldGFuaW1hdGlvbnMiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24u
anMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBpZD0idGFy
Z2V0Ij48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK3ZhciBnS2V5RnJhbWVzID0g
eyAnbWFyZ2luTGVmdCc6IFsnMTAwcHgnLCAnMjAwcHgnXSB9OworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRBbmltYXRpb25zKCkubGVuZ3RoLCAwLAor
ICAgICAgICAgICAgICAgICdnZXRBbmltYXRpb25zIHJldHVybnMgYW4gZW1wdHkgc2VxdWVuY2Ug
Zm9yIGEgZG9jdW1lbnQgJyArCisgICAgICAgICAgICAgICAgJ3dpdGggbm8gYW5pbWF0aW9ucycp
OworfSwgJ1Rlc3QgZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucyBmb3Igbm9uLWFuaW1hdGVkIGNvbnRl
bnQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltMSA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpOwor
ICB2YXIgYW5pbTIgPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKTsK
KyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRBbmltYXRpb25zKCkubGVuZ3RoLCAyLAorICAg
ICAgICAgICAgICAgICdnZXRBbmltYXRpb24gcmV0dXJucyBydW5uaW5nIGFuaW1hdGlvbnMnKTsK
KworICBhbmltMS5maW5pc2goKTsKKyAgYW5pbTIuZmluaXNoKCk7CisgIGFzc2VydF9lcXVhbHMo
ZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwKKyAgICAgICAgICAgICAgICAnZ2V0
QW5pbWF0aW9uIG9ubHkgcmV0dXJucyBydW5uaW5nIGFuaW1hdGlvbnMnKTsKK30sICdUZXN0IGRv
Y3VtZW50LmdldEFuaW1hdGlvbnMgZm9yIHNjcmlwdC1nZW5lcmF0ZWQgYW5pbWF0aW9ucycpCisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5p
bTEgPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIGFu
aW0yID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyk7CisgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpLAorICAgICAgICAgICAgICAg
ICAgICAgIFsgYW5pbTEsIGFuaW0yIF0sCisgICAgICAgICAgICAgICAgICAgICAgJ2dldEFuaW1h
dGlvbnMoKSByZXR1cm5zIHJ1bm5pbmcgYW5pbWF0aW9ucycpOworfSwgJ1Rlc3QgdGhlIG9yZGVy
IG9mIGRvY3VtZW50LmdldEFuaW1hdGlvbnMgd2l0aCBzY3JpcHQgZ2VuZXJhdGVkIGFuaW1hdGlv
bnMnKQorCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5KG51bGwsIGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIg
YW5pbSA9IG5ldyBBbmltYXRpb24oZWZmZWN0LCBkb2N1bWVudC50aW1lbGluZSk7CisgIGFuaW0u
cGxheSgpOworCisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpLmxlbmd0
aCwgMCwKKyAgICAgICAgICAgICAgICAnZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpIG9ubHkgcmV0
dXJucyBhbmltYXRpb25zIHRhcmdldGluZyAnICsKKyAgICAgICAgICAgICAgICAnZWxlbWVudHMg
aW4gdGhpcyBkb2N1bWVudCcpOworfSwgJ1Rlc3QgZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucyB3aXRo
IG51bGwgdGFyZ2V0Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudFRpbWVsaW5l
L2NvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvRG9jdW1lbnRUaW1lbGluZS9jb25zdHJ1Y3Rvci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzEwOTU1M2IwYmE2YmZiNTMzZjhhOTJiYTg4ZmY2MmE2ZGI3N2M3MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvRG9jdW1lbnRUaW1lbGluZS9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2IEBACisKK0ZBSUwgQW4gb3JpZ2luIHRpbWUgb2YgemVybyBpcyB1c2VkIHdoZW4gbm9u
ZSBpcyBzdXBwbGllZCBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAn
bmV3IERvY3VtZW50VGltZWxpbmUoKScpCitGQUlMIEEgemVybyBvcmlnaW4gdGltZSBwcm9kdWNl
cyBhIGRvY3VtZW50IHRpbWVsaW5lIHdpdGggYSBjdXJyZW50IHRpbWUgaWRlbnRpY2FsIHRvIHRo
ZSBkZWZhdWx0IGRvY3VtZW50IHRpbWVsaW5lIGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9y
IChldmFsdWF0aW5nICduZXcgRG9jdW1lbnRUaW1lbGluZSh7IG9yaWdpblRpbWU6IDAgfSknKQor
RkFJTCBBIHBvc2l0aXZlIG9yaWdpbiB0aW1lIG1ha2VzIHRoZSBkb2N1bWVudCB0aW1lbGluZSdz
IGN1cnJlbnQgdGltZSBsYWcgYmVoaW5kIHRoZSBkZWZhdWx0IGRvY3VtZW50IHRpbWVsaW5lIGZ1
bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRG9jdW1lbnRUaW1l
bGluZSh7IG9yaWdpblRpbWU6IDEwICogTVNfUEVSX1NFQyB9KScpCitGQUlMIEEgbmVnYXRpdmUg
b3JpZ2luIHRpbWUgbWFrZXMgdGhlIGRvY3VtZW50IHRpbWVsaW5lJ3MgY3VycmVudCB0aW1lIHJ1
biBhaGVhZCBvZiB0aGUgZGVmYXVsdCBkb2N1bWVudCB0aW1lbGluZSBmdW5jdGlvbiBpcyBub3Qg
YSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IERvY3VtZW50VGltZWxpbmUoeyBvcmlnaW5U
aW1lOiAtMTAgKiBNU19QRVJfU0VDIH0pJykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudFRpbWVsaW5lL2NvbnN0cnVj
dG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0RvY3VtZW50VGltZWxpbmUvY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTY4ZmY0Y2U4
ZTNlYzZjN2FhZmQ1YmJjMmI3MDdjZjY2MDFiNTU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudFRpbWVsaW5l
L2NvbnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkRvY3VtZW50VGltZWxpbmUgY29uc3RydWN0b3IgdGVz
dHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8v
d2ViLWFuaW1hdGlvbnMvI3RoZS1kb2N1bWVudHRpbWVsaW5lLWludGVyZmFjZSI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IHRpbWVsaW5lID0gbmV3IERvY3VtZW50VGltZWxpbmUoKTsKKworICBhc3NlcnRfdGltZXNfZXF1
YWwodGltZWxpbmUuY3VycmVudFRpbWUsIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lKTsK
K30sICdBbiBvcmlnaW4gdGltZSBvZiB6ZXJvIGlzIHVzZWQgd2hlbiBub25lIGlzIHN1cHBsaWVk
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgdGltZWxpbmUgPSBuZXcgRG9jdW1lbnRU
aW1lbGluZSh7IG9yaWdpblRpbWU6IDAgfSk7CisgIGFzc2VydF90aW1lc19lcXVhbCh0aW1lbGlu
ZS5jdXJyZW50VGltZSwgZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUpOworfSwgJ0EgemVy
byBvcmlnaW4gdGltZSBwcm9kdWNlcyBhIGRvY3VtZW50IHRpbWVsaW5lIHdpdGggYSBjdXJyZW50
IHRpbWUgJyArCisgICAnaWRlbnRpY2FsIHRvIHRoZSBkZWZhdWx0IGRvY3VtZW50IHRpbWVsaW5l
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgdGltZWxpbmUgPSBuZXcgRG9jdW1lbnRU
aW1lbGluZSh7IG9yaWdpblRpbWU6IDEwICogTVNfUEVSX1NFQyB9KTsKKworICBhc3NlcnRfdGlt
ZXNfZXF1YWwodGltZWxpbmUuY3VycmVudFRpbWUsCisgICAgICAgICAgICAgICAgICAgICAoZG9j
dW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgLSAxMCAqIE1TX1BFUl9TRUMpKTsKK30sICdBIHBv
c2l0aXZlIG9yaWdpbiB0aW1lIG1ha2VzIHRoZSBkb2N1bWVudCB0aW1lbGluZVwncyBjdXJyZW50
IHRpbWUgbGFnICcgKworICAgJ2JlaGluZCB0aGUgZGVmYXVsdCBkb2N1bWVudCB0aW1lbGluZScp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHRpbWVsaW5lID0gbmV3IERvY3VtZW50VGlt
ZWxpbmUoeyBvcmlnaW5UaW1lOiAtMTAgKiBNU19QRVJfU0VDIH0pOworCisgIGFzc2VydF90aW1l
c19lcXVhbCh0aW1lbGluZS5jdXJyZW50VGltZSwKKyAgICAgICAgICAgICAgICAoZG9jdW1lbnQu
dGltZWxpbmUuY3VycmVudFRpbWUgKyAxMCAqIE1TX1BFUl9TRUMpKTsKK30sICdBIG5lZ2F0aXZl
IG9yaWdpbiB0aW1lIG1ha2VzIHRoZSBkb2N1bWVudCB0aW1lbGluZVwncyBjdXJyZW50IHRpbWUg
cnVuICcgKworICAgJ2FoZWFkIG9mIHRoZSBkZWZhdWx0IGRvY3VtZW50IHRpbWVsaW5lJyk7CisK
Kzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb21wb3NpdGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlm
cmFtZUVmZmVjdC9jb21wb3NpdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2Y2QxYzVjYWJh
MTE0Y2QwY2IyNzRmMWJhZGQzZjEzNTIzY2ZmNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2Nv
bXBvc2l0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwgRGVmYXVsdCB2YWx1
ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYo
dCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBDaGFuZ2UgY29tcG9zaXRlIHZhbHVlIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpJywgJ2NyZWF0ZURpdih0
KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFVuc3BlY2lmaWVkIGtleWZyYW1lIGNvbXBv
c2l0ZSB2YWx1ZSB3aGVuIHNldHRpbmcgZWZmZWN0IGNvbXBvc2l0ZSBjcmVhdGVEaXYodCkuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZSh7IGxlZnQ6
ICcxMHB4JyB9KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBT
cGVjaWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHdoZW4gc2V0dGluZyBlZmZlY3QgY29t
cG9zaXRlIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0
ZURpdih0KS5hbmltYXRlKHsgbGVmdDogJzEwcHgnLCBjb21wb3NpdGU6ICdyZXBsYWNlJyB9KScs
ICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0
L2NvbXBvc2l0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb21wb3NpdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODI1Yjcx
ZGIwOWJmMzI5M2Q5M2RiNjZkY2ZlMDhjNDIwZjM5ZWM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVj
dC9jb21wb3NpdGUuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+S2V5ZnJhbWVFZmZlY3QuY29tcG9zaXRlIHRlc3RzPC90
aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIKKyAgICAgIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5p
by93ZWItYW5pbWF0aW9ucy8jZG9tLWtleWZyYW1lZWZmZWN0LWNvbXBvc2l0ZSI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
LmVmZmVjdC5jb21wb3NpdGUsICdyZXBsYWNlJywKKyAgICAgICAgICAgICAgICAnVGhlIGRlZmF1
bHQgdmFsdWUgc2hvdWxkIGJlIHJlcGxhY2UnKTsKK30sICdEZWZhdWx0IHZhbHVlJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwp
OworICBhbmltLmVmZmVjdC5jb21wb3NpdGUgPSAnYWRkJzsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
LmVmZmVjdC5jb21wb3NpdGUsICdhZGQnLAorICAgICAgICAgICAgICAgICdUaGUgZWZmZWN0IGNv
bXBvc2l0ZSB2YWx1ZSBzaG91bGQgYmUgcmVwbGFjZWQnKTsKK30sICdDaGFuZ2UgY29tcG9zaXRl
IHZhbHVlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0
KS5hbmltYXRlKHsgbGVmdDogJzEwcHgnIH0pOworCisgIGFuaW0uZWZmZWN0LmNvbXBvc2l0ZSA9
ICdhZGQnOworICB2YXIga2V5ZnJhbWVzID0gYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCk7Cisg
IGFzc2VydF9lcXVhbHMoa2V5ZnJhbWVzWzBdLmNvbXBvc2l0ZSwgdW5kZWZpbmVkLAorICAgICAg
ICAgICAgICAgICd1bnNwZWNpZmllZCBrZXlmcmFtZSBjb21wb3NpdGUgdmFsdWUgc2hvdWxkIGJl
IGFic2VudCBldmVuICcgKworICAgICAgICAgICAgICAgICdpZiBlZmZlY3QgY29tcG9zaXRlIGlz
IHNldCcpOworfSwgJ1Vuc3BlY2lmaWVkIGtleWZyYW1lIGNvbXBvc2l0ZSB2YWx1ZSB3aGVuIHNl
dHRpbmcgZWZmZWN0IGNvbXBvc2l0ZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFu
aW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZSh7IGxlZnQ6ICcxMHB4JywgY29tcG9zaXRlOiAncmVw
bGFjZScgfSk7CisKKyAgYW5pbS5lZmZlY3QuY29tcG9zaXRlID0gJ2FkZCc7CisgIHZhciBrZXlm
cmFtZXMgPSBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKTsKKyAgYXNzZXJ0X2VxdWFscyhrZXlm
cmFtZXNbMF0uY29tcG9zaXRlLCAncmVwbGFjZScsCisgICAgICAgICAgICAgICAgJ3NwZWNpZmll
ZCBrZXlmcmFtZSBjb21wb3NpdGUgdmFsdWUgc2hvdWxkIG5vdCBiZSBvdmVycmlkZGVuICcgKwor
ICAgICAgICAgICAgICAgICdieSBzZXR0aW5nIGVmZmVjdCBjb21wb3NpdGUnKTsKK30sICdTcGVj
aWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHdoZW4gc2V0dGluZyBlZmZlY3QgY29tcG9z
aXRlJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tl
eWZyYW1lRWZmZWN0L2NvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTBmM2Yz
ZjZkZWY3ODYzOTkyMTZkOWFhZmZiNGFmMmM1M2ZiNzhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVj
dC9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMDMgQEAKKworRkFJTCBhIEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggbm8gZnJhbWVzIENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZWFzaW5nIHZh
bHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3aGVuIHBhc3NlZCB0byB0aGUgS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seSBjb25zdHJ1Y3RvciBpbiBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBpbnZhbGlkIGVhc2luZyB2
YWx1ZXMgYXJlIGNvcnJlY3RseSByZWplY3RlZCB3aGVuIHBhc3NlZCB0byB0aGUgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RvciBpbiBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgYXNzZXJ0
X3Rocm93czogVHlwZUVycm9yIGlzIHRocm93biBmb3IgZWFzaW5nICcnIGZ1bmN0aW9uICIoKSA9
PiB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIG51bGwsIHsgZWFz
aW5nOiBpbnZhbGlkRWFzaW5nIH0pOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJl
bmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQorRkFJ
TCBjb21wb3NpdGUgdmFsdWVzIGFyZSBwYXJzZWQgY29ycmVjdGx5IHdoZW4gcGFzc2VkIHRvIHRo
ZSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdG9yIGluIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZB
SUwgY29tcG9zaXRlIHZhbHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3aGVuIHBhc3NlZCB0byB0
aGUgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RvciBpbiByZWd1bGFyIGtleWZyYW1l
cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGNvbXBv
c2l0ZSB2YWx1ZSBpcyBhYnNlbnQgaWYgdGhlIGNvbXBvc2l0ZSBvcGVyYXRpb24gc3BlY2lmaWVk
IG9uIHRoZSBrZXlmcmFtZSBlZmZlY3QgaXMgYmVpbmcgdXNlZCBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBj
YW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1
Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNv
bnN0cnVjdGVkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0
cnVjdGVkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSB0d28gcHJvcGVydHkgKG9uZSBzaG9ydGhhbmQg
YW5kIG9uZSBvZiBpdHMgbG9uZ2hhbmQgY29tcG9uZW50cykgdHdvIHZhbHVlIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0
ZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBsb25n
aGFuZCBjb21wb25lbnRzKSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3Bl
Y2lmaWNhdGlvbiByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3Rl
ZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1l
cyBzcGVjaWZpY2F0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSB0d28g
cHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBh
IHR3byBwcm9wZXJ0eSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdp
dGggZGlmZmVyZW50IG51bWJlcnMgb2YgdmFsdWVzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVj
dGVkIHdpdGggYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lm
aWNhdGlvbiB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyByb3VuZHRyaXBzIENhbid0
IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGFuIGludmFsaWQgdmFsdWUgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNp
ZmljYXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gdGhhdCBuZWVkcyB0byBzdHJpbmdp
ZnkgaXRzIHZhbHVlcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHBy
b3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9u
IHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgcm91bmR0cmlwcyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJh
bWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNw
ZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2Ugcm91bmR0cmlwcyBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4g
YSBzaG9ydGhhbmQgcHJvcGVydHkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBh
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJp
YWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgcm91bmR0cmlwcyBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFs
dWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2
YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIENhbid0IGZpbmQg
dmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJl
YWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1
ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHJvdW5kdHJpcHMgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdv
IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhl
IGZpcnN0IHZhbHVlIGlzIGludmFsaWQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0
aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3Bl
Y2lmaWNhdGlvbiB3aGVyZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCByb3VuZHRyaXBzIENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3
byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRo
ZSBzZWNvbmQgdmFsdWUgaXMgaW52YWxpZCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3
aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBzZWNvbmQgdmFsdWUgaXMgaW52YWxpZCByb3VuZHRyaXBz
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5
IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRo
IGEgb25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSByb3VuZHRyaXBzIENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byBrZXlm
cmFtZSBzZXF1ZW5jZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHBy
b3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFi
bGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1
ZW5jZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEg
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3
byBrZXlmcmFtZSBzZXF1ZW5jZSByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBj
b25zdHJ1Y3RlZCB3aXRoIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2Vx
dWVuY2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBh
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQg
cHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSB0d28gcHJvcGVydHkgKGEgc2hvcnRoYW5kIGFu
ZCBvbmUgb2YgaXRzIGNvbXBvbmVudCBsb25naGFuZHMpIHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChhIHNob3J0
aGFuZCBhbmQgb25lIG9mIGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2Vx
dWVuY2Ugcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0
aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3IgYSBnaXZlbiBp
bnRlcmlvciBvZmZzZXQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3IgYSBnaXZlbiBpbnRlcmlvciBv
ZmZzZXQgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0
aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3Igb2Zmc2V0cyAw
IGFuZCAxIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwg
YSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIG9mZnNldHMgMCBhbmQgMSByb3VuZHRyaXBz
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHByb3BlcnR5
IGZvdXIga2V5ZnJhbWUgc2VxdWVuY2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0
aCBhIHR3byBwcm9wZXJ0eSBmb3VyIGtleWZyYW1lIHNlcXVlbmNlIHJvdW5kdHJpcHMgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBvbWl0dGVkIG9mZnNldCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3
aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQgcm91bmR0
cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEg
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIHNpbmdsZSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG51bGwgb2Zmc2V0IENhbid0IGZpbmQgdmFyaWFibGU6IEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0
cnVjdGVkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBudWxsIG9mZnNldCBy
b3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZB
SUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgc2lu
Z2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc3RyaW5nIG9mZnNldCBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eSBjb25zdHJ1Y3RlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc3RyaW5n
IG9mZnNldCByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3
aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9m
ZnNldHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBh
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIHJvdW5kdHJpcHMgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5
ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwgb2Zmc2V0cyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBj
b25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29t
ZSBudWxsIG9mZnNldHMgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3Ry
dWN0ZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21p
dHRlZCBvZmZzZXRzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkK
K0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSB0d28gcHJv
cGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyByb3VuZHRy
aXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3Bl
cnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYWxsIG9taXR0ZWQgb2Zmc2V0cyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggYWxsIG9taXR0ZWQgb2Zmc2V0cyByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNh
biBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQg
ZWFzaW5nIHZhbHVlcywgYnV0IHRoZSBzYW1lIGVhc2luZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZz
ZXQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggZGlmZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUg
Zm9yIGEgZ2l2ZW4gb2Zmc2V0IHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNv
bnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBjb21wb3Np
dGUgdmFsdWVzLCBidXQgdGhlIHNhbWUgY29tcG9zaXRlIHZhbHVlIGZvciBhIGdpdmVuIG9mZnNl
dCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5
ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ug
d2l0aCBkaWZmZXJlbnQgY29tcG9zaXRlIHZhbHVlcywgYnV0IHRoZSBzYW1lIGNvbXBvc2l0ZSB2
YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4g
YmUgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2Ug
dGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25z
dHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSB0aGF0IG5l
ZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkg
Y2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZh
cmlhYmxlIHJlZmVyZW5jZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5
ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2Ugcm91bmR0cmlwcyBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVl
bmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSByb3Vu
ZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwg
YSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIENhbid0IGZpbmQg
dmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJl
YWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9ydGhh
bmQgcHJlY2VkZXMgbG9uZ2hhbmQgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUg
Y29uc3RydWN0ZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxvbmdoYW5kIHByZWNl
ZGVzIHNob3J0aGFuZCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5kIHJvdW5kdHJpcHMg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdyZWF0ZXIgc2hvcnRoYW5kIENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVy
ZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdyZWF0ZXIgc2hvcnRoYW5kIHJvdW5kdHJpcHMg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aGVyZSBncmVhdGVyIHNob3J0aGFuZCBwcmVjZWRlcyBsZXNzZXIgc2hvcnRoYW5kIENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVy
ZSBncmVhdGVyIHNob3J0aGFuZCBwcmVjZWRlcyBsZXNzZXIgc2hvcnRoYW5kIHJvdW5kdHJpcHMg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSB0d28gcHJvcGVydHkg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUg
Zmlyc3Qga2V5ZnJhbWUgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIHR3byBw
cm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBm
cm9tIHRoZSBmaXJzdCBrZXlmcmFtZSByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBi
ZSBjb25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJl
IG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGxhc3Qga2V5ZnJhbWUgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIHJv
dW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJ
TCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aXRoIHJlcGVhdGVkIHZhbHVlcyBhdCBvZmZzZXQgMSB3aXRoIGRpZmZl
cmVudCBlYXNpbmdzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkK
K0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aXRoIHJlcGVhdGVkIHZhbHVlcyBhdCBvZmZzZXQgMSB3aXRoIGRpZmZlcmVu
dCBlYXNpbmdzIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seQorRkFJTCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdG9yIHRocm93cyB3
aXRoIGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIHBvc2l0aXZlIG9mZnNldCBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkodGFyZ2V0LCBzdWJ0ZXN0LmlucHV0KTsKKyAgICB9IiB0aHJldyBvYmplY3Qg
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0i
ICgiVHlwZUVycm9yIikKK0ZBSUwgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RvciB0
aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRlZCBuZWdhdGl2ZSBvZmZz
ZXQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgc3VidGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBP
YmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3Ry
dWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIG5vdCBsb29zZWx5IHNvcnRlZCBieSBvZmZzZXQg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgc3VidGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmpl
Y3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0
b3IgdGhyb3dzIHdpdGggcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlk
IGVhc2luZyB2YWx1ZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAg
ICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LCBzdWJ0ZXN0LmlucHV0KTsKKyAg
ICB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0
ICJbb2JqZWN0IE9iamVjdF0iICgiVHlwZUVycm9yIikKK0ZBSUwgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seSBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYW4g
aW52YWxpZCBlYXNpbmcgdmFsdWUgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgc3VidGVzdC5pbnB1
dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVk
IG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gaW52
YWxpZCBjb21wb3NpdGUgdmFsdWUgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgc3VidGVzdC5pbnB1
dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVk
IG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIGEgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRob3V0IGFueSBLZXlmcmFtZUVmZmVjdE9wdGlv
bnMgb2JqZWN0IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZB
SUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIGJ5IGFuIGVtcHR5IEtleWZy
YW1lRWZmZWN0T3B0aW9ucyBvYmplY3QgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgYnkg
YSBub3JtYWwgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9iamVjdCBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBj
b25zdHJ1Y3RlZCBieSBhIGRvdWJsZSB2YWx1ZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3Rl
ZCBieSArSW5maW5pdHkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgYnkgYW4gSW5maW5p
dHkgZHVyYXRpb24gQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQor
RkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgYnkgYW4gYXV0byBkdXJh
dGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEg
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCBieSBhbiBJbmZpbml0eSBpdGVyYXRp
b25zIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIGJ5IGFuIGF1dG8gZmlsbCBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seSBjb25zdHJ1Y3RlZCBieSBhIGZvcndhcmRzIGZpbGwgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkgb3B0aW9uIGJ5IC1JbmZpbml0eSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisgICAgfSIg
dGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29i
amVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEludmFsaWQgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBvcHRpb24gYnkgTmFOIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0KTsKKyAgICB9IiB0aHJldyBv
YmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9i
amVjdF0iICgiVHlwZUVycm9yIikKK0ZBSUwgSW52YWxpZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
IG9wdGlvbiBieSBhIG5lZ2F0aXZlIHZhbHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0KTsKKyAgICB9IiB0
aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJbb2Jq
ZWN0IE9iamVjdF0iICgiVHlwZUVycm9yIikKK0ZBSUwgSW52YWxpZCBLZXlmcmFtZUVmZmVjdFJl
YWRPbmx5IG9wdGlvbiBieSBhIG5lZ2F0aXZlIEluZmluaXR5IGR1cmF0aW9uIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seSh0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsi
MTBweCIsICIyMHB4Il0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0
LmlucHV0KTsKKyAgICB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhw
ZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iICgiVHlwZUVycm9yIikKK0ZBSUwgSW52YWxp
ZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IG9wdGlvbiBieSBhIE5hTiBkdXJhdGlvbiBhc3NlcnRf
dGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0
OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIp
IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIElu
dmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBvcHRpb24gYnkgYSBuZWdhdGl2ZSBkdXJhdGlv
biBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVu
Y2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIp
CitGQUlMIEludmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBvcHRpb24gYnkgYSBzdHJpbmcg
ZHVyYXRpb24gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5l
dyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgi
UmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBl
RXJyb3IiKQorRkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgb3B0aW9uIGJ5IGEg
bmVnYXRpdmUgSW5maW5pdHkgaXRlcmF0aW9ucyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisgICAgfSIg
dGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29i
amVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEludmFsaWQgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBvcHRpb24gYnkgYSBOYU4gaXRlcmF0aW9ucyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBw
eCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7Cisg
ICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVj
dCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEludmFsaWQgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seSBvcHRpb24gYnkgYSBuZWdhdGl2ZSBpdGVyYXRpb25zIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seSh0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsi
MTBweCIsICIyMHB4Il0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0
LmlucHV0KTsKKyAgICB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhw
ZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iICgiVHlwZUVycm9yIikKK0ZBSUwgSW52YWxp
ZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IG9wdGlvbiBieSBhIGJsYW5rIGVhc2luZyBhc3NlcnRf
dGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0
OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIp
IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIElu
dmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBvcHRpb24gYnkgYW4gdW5yZWNvZ25pemVkIGVh
c2luZyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZl
cmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJv
ciIpCitGQUlMIEludmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBvcHRpb24gYnkgYW4gJ2lu
aXRpYWwnIGVhc2luZyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAg
ICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAo
IlR5cGVFcnJvciIpCitGQUlMIEludmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBvcHRpb24g
YnkgYW4gJ2luaGVyaXQnIGVhc2luZyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBP
YmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEludmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eSBvcHRpb24gYnkgYSB2YXJpYWJsZSBlYXNpbmcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0i
IHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltv
YmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkgb3B0aW9uIGJ5IGEgbXVsdGktdmFsdWUgZWFzaW5nIGFzc2VydF90aHJvd3M6IGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0
YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsiMTBweCIs
ICIyMHB4Il0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0
KTsKKyAgICB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQg
b2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iICgiVHlwZUVycm9yIikKK0ZBSUwgYSBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggbnVsbCB0YXJnZXQgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1
Y3RvciBjcmVhdGVzIGFuIEFuaW1hdGlvbkVmZmVjdFRpbWluZyB0aW1pbmcgb2JqZWN0IAorRkFJ
TCBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciBwcm9wYWdhdGVzIGV4Y2VwdGlvbnMgZ2VuZXJh
dGVkIGJ5IGFjY2Vzc2luZyB0aGUgb3B0aW9ucyBvYmplY3QgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsKKyAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCB7IGdldCBs
ZWZ0KCkgeyB0aHJvdyB0ZXN0X2Vycm9yIH19KQorICB9IiBkaWQgbm90IHRocm93CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5
ZnJhbWVFZmZlY3QvY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29uc3RydWN0b3IuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NDkwY2Y4YzRlMjU1ODJmOTdiZDUzZjg2ZDM4YTVjZWQ3ODAwOWExCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9LZXlmcmFtZUVmZmVjdC9jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMjI5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+S2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBjb25zdHJ1Y3RvciB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jdGhlLWtleWZyYW1lZWZmZWN0
LWludGVyZmFjZXMiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9lYXNpbmctdGVzdHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9rZXlmcmFtZS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PgorPHN0
eWxlPgorI3RhcmdldCB7CisgIGJvcmRlci1zdHlsZTogc29saWQ7ICAvKiBzbyBib3JkZXItKi13
aWR0aCB2YWx1ZXMgZG9uJ3QgY29tcHV0ZSB0byAwICovCit9Cis8L3N0eWxlPgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKKwordmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXQiKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIGdFbXB0eUtleWZyYW1lTGlzdFRlc3Rz
LmZvckVhY2goZnVuY3Rpb24oZnJhbWVzKSB7CisgICAgYXNzZXJ0X2VxdWFscyhuZXcgS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIGZyYW1lcykKKyAgICAgICAgICAgICAgICAgICAgICAg
IC5nZXRLZXlmcmFtZXMoKS5sZW5ndGgsCisgICAgICAgICAgICAgICAgICAwLCAibnVtYmVyIG9m
IGZyYW1lcyBmb3IgIiArIEpTT04uc3RyaW5naWZ5KGZyYW1lcykpOworICB9KTsKK30sICJhIEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggbm8gZnJhbWVzIik7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICBnRWFzaW5nUGFyc2luZ1Rlc3RzLmZvckVhY2goZnVu
Y3Rpb24oc3VidGVzdCkgeworICAgIHZhciBlYXNpbmcgPSBzdWJ0ZXN0WzBdOworICAgIHZhciBl
eHBlY3RlZCA9IHN1YnRlc3RbMV07CisgICAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5KHRhcmdldCwgeworICAgICAgbGVmdDogWyIxMHB4IiwgIjIwcHgiXQorICAgIH0s
IHsgZWFzaW5nOiBlYXNpbmcgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhlZmZlY3QudGltaW5nLmVh
c2luZywgZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAicmVzdWx0aW5nIGVhc2luZyBmb3Ig
JyIgKyBlYXNpbmcgKyAiJyIpOworICB9KTsKK30sICJlYXNpbmcgdmFsdWVzIGFyZSBwYXJzZWQg
Y29ycmVjdGx5IHdoZW4gcGFzc2VkIHRvIHRoZSAiICsKKyAgICJLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5IGNvbnN0cnVjdG9yIGluIEtleWZyYW1lRWZmZWN0T3B0aW9ucyIpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgZ0ludmFsaWRFYXNpbmdzLmZvckVhY2goaW52YWxpZEVhc2luZyA9PiB7Cisg
ICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiB7CisgICAgICBuZXcgS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIG51bGwsIHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0p
OworICAgIH0sIGBUeXBlRXJyb3IgaXMgdGhyb3duIGZvciBlYXNpbmcgJyR7aW52YWxpZEVhc2lu
Z30nYCk7CisgIH0pOworfSwgJ2ludmFsaWQgZWFzaW5nIHZhbHVlcyBhcmUgY29ycmVjdGx5IHJl
amVjdGVkIHdoZW4gcGFzc2VkIHRvIHRoZSAnICsKKyAgICdLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
IGNvbnN0cnVjdG9yIGluIEtleWZyYW1lRWZmZWN0T3B0aW9ucycpOworCit0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIGdldEtleWZyYW1lID0gZnVuY3Rpb24oY29tcG9zaXRlKSB7CisgICAgcmV0
dXJuIHsgbGVmdDogWyAiMTBweCIsICIyMHB4IiBdLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9Owor
ICB9OworICBnR29vZEtleWZyYW1lQ29tcG9zaXRlVmFsdWVUZXN0cy5mb3JFYWNoKGZ1bmN0aW9u
KGNvbXBvc2l0ZSkgeworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eSh0YXJnZXQsIGdldEtleWZyYW1lKGNvbXBvc2l0ZSkpOworICAgIGFzc2VydF9lcXVhbHMoZWZm
ZWN0LmdldEtleWZyYW1lcygpWzBdLmNvbXBvc2l0ZSwgY29tcG9zaXRlLAorICAgICAgICAgICAg
ICAgICAgInJlc3VsdGluZyBjb21wb3NpdGUgZm9yICciICsgY29tcG9zaXRlICsgIiciKTsKKyAg
fSk7CisgIGdCYWRDb21wb3NpdGVWYWx1ZVRlc3RzLmZvckVhY2goZnVuY3Rpb24oY29tcG9zaXRl
KSB7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICAg
IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgZ2V0S2V5ZnJhbWUoY29tcG9zaXRl
KSk7CisgICAgfSk7CisgIH0pOworfSwgImNvbXBvc2l0ZSB2YWx1ZXMgYXJlIHBhcnNlZCBjb3Jy
ZWN0bHkgd2hlbiBwYXNzZWQgdG8gdGhlICIgKworICAgIktleWZyYW1lRWZmZWN0UmVhZE9ubHkg
Y29uc3RydWN0b3IgaW4gcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMiKTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBnZXRLZXlmcmFtZXMgPSBmdW5jdGlvbihjb21wb3NpdGUpIHsKKyAg
ICByZXR1cm4gWworICAgICAgeyBvZmZzZXQ6IDAsIGxlZnQ6ICIxMHB4IiwgY29tcG9zaXRlOiBj
b21wb3NpdGUgfSwKKyAgICAgIHsgb2Zmc2V0OiAxLCBsZWZ0OiAiMjBweCIgfQorICAgIF07Cisg
IH07CisgIGdHb29kS2V5ZnJhbWVDb21wb3NpdGVWYWx1ZVRlc3RzLmZvckVhY2goZnVuY3Rpb24o
Y29tcG9zaXRlKSB7CisgICAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
KHRhcmdldCwgZ2V0S2V5ZnJhbWVzKGNvbXBvc2l0ZSkpOworICAgIGFzc2VydF9lcXVhbHMoZWZm
ZWN0LmdldEtleWZyYW1lcygpWzBdLmNvbXBvc2l0ZSwgY29tcG9zaXRlLAorICAgICAgICAgICAg
ICAgICAgInJlc3VsdGluZyBjb21wb3NpdGUgZm9yICciICsgY29tcG9zaXRlICsgIiciKTsKKyAg
fSk7CisgIGdCYWRDb21wb3NpdGVWYWx1ZVRlc3RzLmZvckVhY2goZnVuY3Rpb24oY29tcG9zaXRl
KSB7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICAg
IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgZ2V0S2V5ZnJhbWVzKGNvbXBvc2l0
ZSkpOworICAgIH0pOworICB9KTsKK30sICJjb21wb3NpdGUgdmFsdWVzIGFyZSBwYXJzZWQgY29y
cmVjdGx5IHdoZW4gcGFzc2VkIHRvIHRoZSAiICsKKyAgICJLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
IGNvbnN0cnVjdG9yIGluIHJlZ3VsYXIga2V5ZnJhbWVzIik7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICBnR29vZE9wdGlvbnNDb21wb3NpdGVWYWx1ZVRlc3RzLmZvckVhY2goZnVuY3Rpb24oY29t
cG9zaXRlKSB7CisgICAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRh
cmdldCwgeworICAgICAgbGVmdDogWyIxMHB4IiwgIjIwcHgiXQorICAgIH0sIHsgY29tcG9zaXRl
OiBjb21wb3NpdGUgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhlZmZlY3QuZ2V0S2V5ZnJhbWVzKClb
MF0uY29tcG9zaXRlLCB1bmRlZmluZWQsCisgICAgICAgICAgICAgICAgICAicmVzdWx0aW5nIGNv
bXBvc2l0ZSBmb3IgJyIgKyBjb21wb3NpdGUgKyAiJyIpOworICB9KTsKKyAgZ0JhZENvbXBvc2l0
ZVZhbHVlVGVzdHMuZm9yRWFjaChmdW5jdGlvbihjb21wb3NpdGUpIHsKKyAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkodGFyZ2V0LCB7CisgICAgICAgIGxlZnQ6IFsiMTBweCIsICIyMHB4Il0KKyAgICAg
IH0sIHsgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgfSk7CisgIH0pOworfSwgImNvbXBv
c2l0ZSB2YWx1ZSBpcyBhYnNlbnQgaWYgdGhlIGNvbXBvc2l0ZSBvcGVyYXRpb24gc3BlY2lmaWVk
IG9uIHRoZSAiICsKKyAgICJrZXlmcmFtZSBlZmZlY3QgaXMgYmVpbmcgdXNlZCIpOworCitnUHJv
cGVydHlJbmRleGVkS2V5ZnJhbWVzVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdWJ0ZXN0KSB7Cisg
IHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSh0YXJnZXQsIHN1YnRlc3QuaW5wdXQpOworICAgIGFzc2VydF9mcmFtZV9saXN0c19l
cXVhbChlZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIHN1YnRlc3Qub3V0cHV0KTsKKyAgfSwgImEgS2V5
ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCAiICsgc3VidGVzdC5k
ZXNjKTsKKworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LCBzdWJ0ZXN0LmlucHV0KTsKKyAgICB2YXIgc2Vjb25k
RWZmZWN0ID0KKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgZWZmZWN0
LmdldEtleWZyYW1lcygpKTsKKyAgICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoc2Vjb25kRWZm
ZWN0LmdldEtleWZyYW1lcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3Qu
Z2V0S2V5ZnJhbWVzKCkpOworICB9LCAiYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVj
dGVkIHdpdGggIiArIHN1YnRlc3QuZGVzYyArCisgICAgICIgcm91bmR0cmlwcyIpOworfSk7CisK
K2dLZXlmcmFtZVNlcXVlbmNlVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdWJ0ZXN0KSB7CisgIHRl
c3QoZnVuY3Rpb24odCkgeworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seSh0YXJnZXQsIHN1YnRlc3QuaW5wdXQpOworICAgIGFzc2VydF9mcmFtZV9saXN0c19lcXVh
bChlZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIHN1YnRlc3Qub3V0cHV0KTsKKyAgfSwgImEgS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCAiICsgc3VidGVzdC5kZXNj
KTsKKworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkodGFyZ2V0LCBzdWJ0ZXN0LmlucHV0KTsKKyAgICB2YXIgc2Vjb25kRWZm
ZWN0ID0KKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgZWZmZWN0Lmdl
dEtleWZyYW1lcygpKTsKKyAgICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoc2Vjb25kRWZmZWN0
LmdldEtleWZyYW1lcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3QuZ2V0
S2V5ZnJhbWVzKCkpOworICB9LCAiYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVk
IHdpdGggIiArIHN1YnRlc3QuZGVzYyArCisgICAgICIgcm91bmR0cmlwcyIpOworfSk7CisKK2dJ
bnZhbGlkS2V5ZnJhbWVzVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdWJ0ZXN0KSB7CisgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgIGFzc2VydF90aHJvd3Moc3VidGVzdC5leHBlY3RlZCwgZnVuY3Rp
b24oKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIHN1YnRlc3Qu
aW5wdXQpOworICAgIH0pOworICB9LCAiS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3Rv
ciB0aHJvd3Mgd2l0aCAiICsgc3VidGVzdC5kZXNjKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4Iiwg
IjIwcHgiXSB9KTsKKworICB2YXIgdGltaW5nID0gZWZmZWN0LnRpbWluZzsKKyAgYXNzZXJ0X2Vx
dWFscyh0aW1pbmcuZGVsYXksIDAsICJkZWZhdWx0IGRlbGF5Iik7CisgIGFzc2VydF9lcXVhbHMo
dGltaW5nLmVuZERlbGF5LCAwLCAiZGVmYXVsdCBlbmREZWxheSIpOworICBhc3NlcnRfZXF1YWxz
KHRpbWluZy5maWxsLCAiYXV0byIsICJkZWZhdWx0IGZpbGwiKTsKKyAgYXNzZXJ0X2VxdWFscyh0
aW1pbmcuaXRlcmF0aW9ucywgMS4wLCAiZGVmYXVsdCBpdGVyYXRpb25zIik7CisgIGFzc2VydF9l
cXVhbHModGltaW5nLml0ZXJhdGlvblN0YXJ0LCAwLjAsICJkZWZhdWx0IGl0ZXJhdGlvblN0YXJ0
Iik7CisgIGFzc2VydF9lcXVhbHModGltaW5nLmR1cmF0aW9uLCAiYXV0byIsICJkZWZhdWx0IGR1
cmF0aW9uIik7CisgIGFzc2VydF9lcXVhbHModGltaW5nLmRpcmVjdGlvbiwgIm5vcm1hbCIsICJk
ZWZhdWx0IGRpcmVjdGlvbiIpOworICBhc3NlcnRfZXF1YWxzKHRpbWluZy5lYXNpbmcsICJsaW5l
YXIiLCAiZGVmYXVsdCBlYXNpbmciKTsKKworICBhc3NlcnRfZXF1YWxzKGVmZmVjdC5jb21wb3Np
dGUsICJyZXBsYWNlIiwgImRlZmF1bHQgY29tcG9zaXRlIik7CisgIGFzc2VydF9lcXVhbHMoZWZm
ZWN0Lml0ZXJhdGlvbkNvbXBvc2l0ZSwgInJlcGxhY2UiLAorICAgICAgICAgICAgICAgICJkZWZh
dWx0IGl0ZXJhdGlvbkNvbXBvc2l0ZSIpOworfSwgImEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBj
b25zdHJ1Y3RlZCB3aXRob3V0IGFueSAiICsKKyAgICJLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2Jq
ZWN0Iik7CisKK2dLZXlmcmFtZUVmZmVjdE9wdGlvblRlc3RzLmZvckVhY2goZnVuY3Rpb24oc3Rl
c3QpIHsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0KTsKKworICAgIC8vIEhlbHBl
ciBmdW5jdGlvbiB0byBwcm92aWRlIGRlZmF1bHQgZXhwZWN0ZWQgdmFsdWVzIHdoZW4gdGhlIHRl
c3QgZG9lcworICAgIC8vIG5vdCBzdXBwbHkgdGhlbS4KKyAgICB2YXIgZXhwZWN0ZWQgPSBmdW5j
dGlvbihmaWVsZCwgZGVmYXVsdFZhbHVlKSB7CisgICAgICByZXR1cm4gZmllbGQgaW4gc3Rlc3Qu
ZXhwZWN0ZWQgPyBzdGVzdC5leHBlY3RlZFtmaWVsZF0gOiBkZWZhdWx0VmFsdWU7CisgICAgfTsK
KworICAgIHZhciB0aW1pbmcgPSBlZmZlY3QudGltaW5nOworICAgIGFzc2VydF9lcXVhbHModGlt
aW5nLmRlbGF5LCBleHBlY3RlZCgiZGVsYXkiLCAwKSwKKyAgICAgICAgICAgICAgICAgICJ0aW1p
bmcgZGVsYXkiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRpbWluZy5maWxsLCBleHBlY3RlZCgiZmls
bCIsICJhdXRvIiksCisgICAgICAgICAgICAgICAgICAidGltaW5nIGZpbGwiKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHRpbWluZy5pdGVyYXRpb25zLCBleHBlY3RlZCgiaXRlcmF0aW9ucyIsIDEpLAor
ICAgICAgICAgICAgICAgICAgInRpbWluZyBpdGVyYXRpb25zIik7CisgICAgYXNzZXJ0X2VxdWFs
cyh0aW1pbmcuZHVyYXRpb24sIGV4cGVjdGVkKCJkdXJhdGlvbiIsICJhdXRvIiksCisgICAgICAg
ICAgICAgICAgICAidGltaW5nIGR1cmF0aW9uIik7CisgICAgYXNzZXJ0X2VxdWFscyh0aW1pbmcu
ZGlyZWN0aW9uLCBleHBlY3RlZCgiZGlyZWN0aW9uIiwgIm5vcm1hbCIpLAorICAgICAgICAgICAg
ICAgICAgInRpbWluZyBkaXJlY3Rpb24iKTsKKworICB9LCAiYSBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5IGNvbnN0cnVjdGVkIGJ5ICIgKyBzdGVzdC5kZXNjKTsKK30pOworCitnSW52YWxpZEtleWZy
YW1lRWZmZWN0T3B0aW9uVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdGVzdCkgeworICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfdGhyb3dzKHN0ZXN0LmV4cGVjdGVkLCBmdW5jdGlvbigp
IHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0pOworICB9LCAi
SW52YWxpZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IG9wdGlvbiBieSAiICsgc3Rlc3QuZGVzYyk7
Cit9KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seShudWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAiZm9yd2FyZHMiIH0p
OworICBhc3NlcnRfZXF1YWxzKGVmZmVjdC50YXJnZXQsIG51bGwsCisgICAgICAgICAgICAgICAg
IkVmZmVjdCBjcmVhdGVkIHdpdGggbnVsbCB0YXJnZXQgaGFzIGNvcnJlY3QgdGFyZ2V0Iik7Cit9
LCAiYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggbnVsbCB0YXJnZXQi
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZl
Y3QodGFyZ2V0LCBudWxsKTsKKyAgYXNzZXJ0X2NsYXNzX3N0cmluZyhlZmZlY3QsICJLZXlmcmFt
ZUVmZmVjdCIpOworICBhc3NlcnRfY2xhc3Nfc3RyaW5nKGVmZmVjdC50aW1pbmcsICJBbmltYXRp
b25FZmZlY3RUaW1pbmciKTsKK30sICJLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciBjcmVhdGVz
IGFuIEFuaW1hdGlvbkVmZmVjdFRpbWluZyB0aW1pbmcgb2JqZWN0Iik7CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgdGVzdF9lcnJvciA9IHsgbmFtZTogInRlc3QiIH07CisKKyAgYXNzZXJ0
X3Rocm93cyh0ZXN0X2Vycm9yLCBmdW5jdGlvbigpIHsKKyAgICBuZXcgS2V5ZnJhbWVFZmZlY3Qo
dGFyZ2V0LCB7IGdldCBsZWZ0KCkgeyB0aHJvdyB0ZXN0X2Vycm9yIH19KQorICB9KTsKK30sICJL
ZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciBwcm9wYWdhdGVzIGV4Y2VwdGlvbnMgZ2VuZXJhdGVk
IGJ5IGFjY2Vzc2luZyIKKyAgICsgIiB0aGUgb3B0aW9ucyBvYmplY3QiKTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb3B5LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVF
ZmZlY3QvY29weS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGY1MjgxMzhk
NzdhZjI5ODJiMGI4Y2Y2M2FlNTZkYWE3YTcxNzBlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qv
Y29weS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgVGVz
dCBtdXRhYmxlIGNvcHkgZnJvbSBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgc291cmNlIENhbid0
IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVj
dC9jb3B5LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2NvcHktY29uc3RydWN0b3IuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYzI3ODM4OWMxMDhmMGY4N2MxNTgxZjA1ODkzMzQ2YWQ3OTYzMjE4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9LZXlmcmFtZUVmZmVjdC9jb3B5LWNvbnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSwyNyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPktleWZyYW1lRWZm
ZWN0IGNvcHkgY29uc3RydWN0b3IgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIgoraHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20ta2V5ZnJhbWVlZmZl
Y3Qta2V5ZnJhbWVlZmZlY3Qtc291cmNlIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48
L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0
cmljdCI7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkoY3JlYXRlRGl2KHQpLCBudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhlZmZl
Y3QuY29uc3RydWN0b3IubmFtZSwgJ0tleWZyYW1lRWZmZWN0UmVhZE9ubHknKTsKKyAgYXNzZXJ0
X2VxdWFscyhlZmZlY3QudGltaW5nLmNvbnN0cnVjdG9yLm5hbWUsCisgICAgICAgICAgICAgICAg
J0FuaW1hdGlvbkVmZmVjdFRpbWluZ1JlYWRPbmx5Jyk7CisKKyAgLy8gTWFrZSBhIG11dGFibGUg
Y29weQorICB2YXIgY29waWVkRWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGVmZmVjdCk7Cisg
IGFzc2VydF9lcXVhbHMoY29waWVkRWZmZWN0LmNvbnN0cnVjdG9yLm5hbWUsICdLZXlmcmFtZUVm
ZmVjdCcpOworICBhc3NlcnRfZXF1YWxzKGNvcGllZEVmZmVjdC50aW1pbmcuY29uc3RydWN0b3Iu
bmFtZSwgJ0FuaW1hdGlvbkVmZmVjdFRpbWluZycpOworfSwgJ1Rlc3QgbXV0YWJsZSBjb3B5IGZy
b20gYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IHNvdXJjZScpOworCis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvS2V5ZnJhbWVFZmZlY3QvZ2V0Q29tcHV0ZWRUaW1pbmctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVj
dC9nZXRDb21wdXRlZFRpbWluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg5NzhhMTFjMGE2
MmFjZTliNzZiYjBjYzM1NTI1NGMwM2MwM2VjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvZ2V0
Q29tcHV0ZWRUaW1pbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzggQEAKKworRkFJTCB2YWx1
ZXMgb2YgZ2V0Q29tcHV0ZWRUaW1pbmcoKSB3aGVuIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBp
cyBjb25zdHJ1Y3RlZCB3aXRob3V0IGFueSBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgdmFsdWVzIG9m
IGdldENvbXB1dGVkVGltaW5nKCkgd2hlbiBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgaXMgY29u
c3RydWN0ZWQgYnkgYW4gZW1wdHkgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9iamVjdCBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIHZhbHVlcyBvZiBnZXRD
b21wdXRlZFRpbWluZygpIHdoZW4gYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGlzIGNvbnN0cnVj
dGVkIGJ5IGEgbm9ybWFsIEtleWZyYW1lRWZmZWN0T3B0aW9ucyBvYmplY3QgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCB2YWx1ZXMgb2YgZ2V0Q29tcHV0
ZWRUaW1pbmcoKSB3aGVuIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBpcyBjb25zdHJ1Y3RlZCBi
eSBhIGRvdWJsZSB2YWx1ZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5CitGQUlMIHZhbHVlcyBvZiBnZXRDb21wdXRlZFRpbWluZygpIHdoZW4gYSBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5IGlzIGNvbnN0cnVjdGVkIGJ5ICtJbmZpbml0eSBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIHZhbHVlcyBvZiBnZXRDb21wdXRlZFRp
bWluZygpIHdoZW4gYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGlzIGNvbnN0cnVjdGVkIGJ5IGFu
IEluZmluaXR5IGR1cmF0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkKK0ZBSUwgdmFsdWVzIG9mIGdldENvbXB1dGVkVGltaW5nKCkgd2hlbiBhIEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkgaXMgY29uc3RydWN0ZWQgYnkgYW4gYXV0byBkdXJhdGlvbiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIHZhbHVlcyBvZiBnZXRD
b21wdXRlZFRpbWluZygpIHdoZW4gYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGlzIGNvbnN0cnVj
dGVkIGJ5IGFuIEluZmluaXR5IGl0ZXJhdGlvbnMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seQorRkFJTCB2YWx1ZXMgb2YgZ2V0Q29tcHV0ZWRUaW1pbmcoKSB3aGVu
IGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBpcyBjb25zdHJ1Y3RlZCBieSBhbiBhdXRvIGZpbGwg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCB2YWx1ZXMg
b2YgZ2V0Q29tcHV0ZWRUaW1pbmcoKSB3aGVuIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBpcyBj
b25zdHJ1Y3RlZCBieSBhIGZvcndhcmRzIGZpbGwgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9u
IGZvciBhbiBlbXB0eSBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IENhbid0IGZpbmQgdmFy
aWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5h
Y3RpdmVEdXJhdGlvbiBmb3IgYSBub24temVybyBkdXJhdGlvbiBhbmQgZGVmYXVsdCBpdGVyYXRp
b24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJ
TCBnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9uIGZvciBhIG5vbi16ZXJvIGR1cmF0
aW9uIGFuZCBpbnRlZ3JhbCBpdGVyYXRpb24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5
ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0
aW9uIGZvciBhIG5vbi16ZXJvIGR1cmF0aW9uIGFuZCBmcmFjdGlvbmFsIGl0ZXJhdGlvbiBjb3Vu
dCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGdldENv
bXB1dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRpb24gZm9yIGFuIG5vbi16ZXJvIGR1cmF0aW9uIGFu
ZCBpbmZpbml0ZSBpdGVyYXRpb24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9uIGZv
ciBhbiBub24temVybyBkdXJhdGlvbiBhbmQgemVybyBpdGVyYXRpb24gY291bnQgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRpbWlu
ZygpLmFjdGl2ZUR1cmF0aW9uIGZvciBhIHplcm8gZHVyYXRpb24gYW5kIGRlZmF1bHQgaXRlcmF0
aW9uIGNvdW50IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZB
SUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5hY3RpdmVEdXJhdGlvbiBmb3IgYSB6ZXJvIGR1cmF0aW9u
IGFuZCBmcmFjdGlvbmFsIGl0ZXJhdGlvbiBjb3VudCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRp
b24gZm9yIGEgemVybyBkdXJhdGlvbiBhbmQgaW5maW5pdGUgaXRlcmF0aW9uIGNvdW50IENhbid0
IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0ZWRU
aW1pbmcoKS5hY3RpdmVEdXJhdGlvbiBmb3IgYSB6ZXJvIGR1cmF0aW9uIGFuZCB6ZXJvIGl0ZXJh
dGlvbiBjb3VudCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitG
QUlMIGdldENvbXB1dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRpb24gZm9yIGFuIGluZmluaXRlIGR1
cmF0aW9uIGFuZCBkZWZhdWx0IGl0ZXJhdGlvbiBjb3VudCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVkVGltaW5nKCkuYWN0aXZlRHVy
YXRpb24gZm9yIGFuIGluZmluaXRlIGR1cmF0aW9uIGFuZCB6ZXJvIGl0ZXJhdGlvbiBjb3VudCBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGdldENvbXB1
dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRpb24gZm9yIGFuIGluZmluaXRlIGR1cmF0aW9uIGFuZCBm
cmFjdGlvbmFsIGl0ZXJhdGlvbiBjb3VudCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRpb24gZm9y
IGFuIGluZmluaXRlIGR1cmF0aW9uIGFuZCBpbmZpbml0ZSBpdGVyYXRpb24gY291bnQgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRp
bWluZygpLmVuZFRpbWUgZm9yIGFuIGVtcHR5IEtleWZyYW1lRWZmZWN0T3B0aW9ucyBvYmplY3Qg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21w
dXRlZFRpbWluZygpLmVuZFRpbWUgZm9yIGEgbm9uLXplcm8gZHVyYXRpb24gYW5kIGRlZmF1bHQg
aXRlcmF0aW9uIGNvdW50IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRUaW1lIGZvciBhIG5vbi16ZXJvIGR1cmF0
aW9uIGFuZCBub24tZGVmYXVsdCBpdGVyYXRpb24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
S2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmVuZFRpbWUg
Zm9yIGEgbm9uLXplcm8gZHVyYXRpb24gYW5kIG5vbi16ZXJvIGRlbGF5IENhbid0IGZpbmQgdmFy
aWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5l
bmRUaW1lIGZvciBhIG5vbi16ZXJvIGR1cmF0aW9uLCBub24temVybyBkZWxheSBhbmQgbm9uLWRl
ZmF1bHQgaXRlcmF0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRUaW1lIGZvciBhbiBpbmZpbml0ZSBpdGVy
YXRpb24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQor
RkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmVuZFRpbWUgZm9yIGFuIGluZmluaXRlIGR1cmF0aW9u
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29t
cHV0ZWRUaW1pbmcoKS5lbmRUaW1lIGZvciBhbiBpbmZpbml0ZSBkdXJhdGlvbiBhbmQgZGVsYXkg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21w
dXRlZFRpbWluZygpLmVuZFRpbWUgZm9yIGFuIGluZmluaXRlIGR1cmF0aW9uIGFuZCBuZWdhdGl2
ZSBkZWxheSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlM
IGdldENvbXB1dGVkVGltaW5nKCkuZW5kVGltZSBmb3IgYW4gbm9uLXplcm8gZHVyYXRpb24gYW5k
IG5lZ2F0aXZlIGRlbGF5IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRUaW1lIGZvciBhbiBub24temVybyBkdXJh
dGlvbiBhbmQgbmVnYXRpdmUgZGVsYXkgZ3JlYXRlciB0aGFuIGFjdGl2ZSBkdXJhdGlvbiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVk
VGltaW5nKCkuZW5kVGltZSBmb3IgYSB6ZXJvIGR1cmF0aW9uIGFuZCBuZWdhdGl2ZSBkZWxheSBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVF
ZmZlY3QvZ2V0Q29tcHV0ZWRUaW1pbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvZ2V0Q29tcHV0ZWRUaW1pbmcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZDc5OTI3MmI5YTI2MzJlYzRhNzI2MWFkMDNjZTc4NjFiY2VjMDczCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9nZXRDb21wdXRlZFRpbWluZy5odG1sCkBAIC0wLDAgKzEs
MjEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+S2V5
ZnJhbWVFZmZlY3RSZWFkT25seSBnZXRDb21wdXRlZFRpbWluZygpIHRlc3RzPC90aXRsZT4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25z
LyNkb20tYW5pbWF0aW9uZWZmZWN0cmVhZG9ubHktZ2V0Y29tcHV0ZWR0aW1pbmciPgorPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJCb3JpcyBDaGlvdSIgaHJlZj0ibWFpbHRvOmJvcmlzLmNoaW91
QGdtYWlsLmNvbSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PgorPHNjcmlw
dD4KKyJ1c2Ugc3RyaWN0IjsKKwordmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQiKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3QgPSBuZXcgS2V5
ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSk7CisKKyAgdmFyIGN0ID0g
ZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCk7CisgIGFzc2VydF9lcXVhbHMoY3QuZGVsYXksIDAs
ICJjb21wdXRlZCBkZWxheSIpOworICBhc3NlcnRfZXF1YWxzKGN0LmZpbGwsICJub25lIiwgImNv
bXB1dGVkIGZpbGwiKTsKKyAgYXNzZXJ0X2VxdWFscyhjdC5pdGVyYXRpb25zLCAxLjAsICJjb21w
dXRlZCBpdGVyYXRpb25zIik7CisgIGFzc2VydF9lcXVhbHMoY3QuZHVyYXRpb24sIDAsICJjb21w
dXRlZCBkdXJhdGlvbiIpOworICBhc3NlcnRfZXF1YWxzKGN0LmRpcmVjdGlvbiwgIm5vcm1hbCIs
ICJjb21wdXRlZCBkaXJlY3Rpb24iKTsKK30sICJ2YWx1ZXMgb2YgZ2V0Q29tcHV0ZWRUaW1pbmco
KSB3aGVuIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBpcyAiICsKKyAgICJjb25zdHJ1Y3RlZCB3
aXRob3V0IGFueSBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0Iik7CisKK3ZhciBnR2V0Q29t
cHV0ZWRUaW1pbmdUZXN0cyA9IFsKKyAgeyBkZXNjOiAgICAgImFuIGVtcHR5IEtleWZyYW1lRWZm
ZWN0T3B0aW9ucyBvYmplY3QiLAorICAgIGlucHV0OiAgICB7IH0sCisgICAgZXhwZWN0ZWQ6IHsg
fSB9LAorICB7IGRlc2M6ICAgICAiYSBub3JtYWwgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9iamVj
dCIsCisgICAgaW5wdXQ6ICAgIHsgZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAgICAgZmlsbDog
ImF1dG8iLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDUuNSwKKyAgICAgICAgICAgICAg
ICBkdXJhdGlvbjogImF1dG8iLAorICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogImFsdGVybmF0
ZSIgfSwKKyAgICBleHBlY3RlZDogeyBkZWxheTogMTAwMCwKKyAgICAgICAgICAgICAgICBmaWxs
OiAibm9uZSIsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogNS41LAorICAgICAgICAgICAg
ICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogImFsdGVybmF0ZSIg
fSB9LAorICB7IGRlc2M6ICAgICAiYSBkb3VibGUgdmFsdWUiLAorICAgIGlucHV0OiAgICAzMDAw
LAorICAgIHRpbWluZzogICB7IGR1cmF0aW9uOiAzMDAwIH0sCisgICAgZXhwZWN0ZWQ6IHsgZGVs
YXk6IDAsCisgICAgICAgICAgICAgICAgZmlsbDogIm5vbmUiLAorICAgICAgICAgICAgICAgIGl0
ZXJhdGlvbnM6IDEsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsCisgICAgICAgICAg
ICAgICAgZGlyZWN0aW9uOiAibm9ybWFsIiB9IH0sCisgIHsgZGVzYzogICAgICIrSW5maW5pdHki
LAorICAgIGlucHV0OiAgICBJbmZpbml0eSwKKyAgICBleHBlY3RlZDogeyBkdXJhdGlvbjogSW5m
aW5pdHkgfSB9LAorICB7IGRlc2M6ICAgICAiYW4gSW5maW5pdHkgZHVyYXRpb24iLAorICAgIGlu
cHV0OiAgICB7IGR1cmF0aW9uOiBJbmZpbml0eSB9LAorICAgIGV4cGVjdGVkOiB7IGR1cmF0aW9u
OiBJbmZpbml0eSB9IH0sCisgIHsgZGVzYzogICAgICJhbiBhdXRvIGR1cmF0aW9uIiwKKyAgICBp
bnB1dDogICAgeyBkdXJhdGlvbjogImF1dG8iIH0sCisgICAgZXhwZWN0ZWQ6IHsgZHVyYXRpb246
IDAgfSB9LAorICB7IGRlc2M6ICAgICAiYW4gSW5maW5pdHkgaXRlcmF0aW9ucyIsCisgICAgaW5w
dXQ6ICAgIHsgaXRlcmF0aW9uczogSW5maW5pdHkgfSwKKyAgICBleHBlY3RlZDogeyBpdGVyYXRp
b25zOiBJbmZpbml0eSB9IH0sCisgIHsgZGVzYzogICAgICJhbiBhdXRvIGZpbGwiLAorICAgIGlu
cHV0OiAgICB7IGZpbGw6ICJhdXRvIiB9LAorICAgIGV4cGVjdGVkOiB7IGZpbGw6ICJub25lIiB9
IH0sCisgIHsgZGVzYzogICAgICJhIGZvcndhcmRzIGZpbGwiLAorICAgIGlucHV0OiAgICB7IGZp
bGw6ICJmb3J3YXJkcyIgfSwKKyAgICBleHBlY3RlZDogeyBmaWxsOiAiZm9yd2FyZHMiIH0gfQor
XTsKKworZ0dldENvbXB1dGVkVGltaW5nVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdGVzdCkgewor
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworCisgICAgLy8gSGVscGVyIGZ1bmN0
aW9uIHRvIHByb3ZpZGUgZGVmYXVsdCBleHBlY3RlZCB2YWx1ZXMgd2hlbiB0aGUgdGVzdCBkb2Vz
CisgICAgLy8gbm90IHN1cHBseSB0aGVtLgorICAgIHZhciBleHBlY3RlZCA9IGZ1bmN0aW9uKGZp
ZWxkLCBkZWZhdWx0VmFsdWUpIHsKKyAgICAgIHJldHVybiBmaWVsZCBpbiBzdGVzdC5leHBlY3Rl
ZCA/IHN0ZXN0LmV4cGVjdGVkW2ZpZWxkXSA6IGRlZmF1bHRWYWx1ZTsKKyAgICB9OworCisgICAg
dmFyIGN0ID0gZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCk7CisgICAgYXNzZXJ0X2VxdWFscyhj
dC5kZWxheSwgZXhwZWN0ZWQoImRlbGF5IiwgMCksCisgICAgICAgICAgICAgICAgICAiY29tcHV0
ZWQgZGVsYXkiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGN0LmZpbGwsIGV4cGVjdGVkKCJmaWxsIiwg
Im5vbmUiKSwKKyAgICAgICAgICAgICAgICAgICJjb21wdXRlZCBmaWxsIik7CisgICAgYXNzZXJ0
X2VxdWFscyhjdC5pdGVyYXRpb25zLCBleHBlY3RlZCgiaXRlcmF0aW9ucyIsIDEpLAorICAgICAg
ICAgICAgICAgICAgImNvbXB1dGVkIGl0ZXJhdGlvbnMiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGN0
LmR1cmF0aW9uLCBleHBlY3RlZCgiZHVyYXRpb24iLCAwKSwKKyAgICAgICAgICAgICAgICAgICJj
b21wdXRlZCBkdXJhdGlvbiIpOworICAgIGFzc2VydF9lcXVhbHMoY3QuZGlyZWN0aW9uLCBleHBl
Y3RlZCgiZGlyZWN0aW9uIiwgIm5vcm1hbCIpLAorICAgICAgICAgICAgICAgICAgImNvbXB1dGVk
IGRpcmVjdGlvbiIpOworCisgIH0sICJ2YWx1ZXMgb2YgZ2V0Q29tcHV0ZWRUaW1pbmcoKSB3aGVu
IGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBpcyAiICsKKyAgICAgImNvbnN0cnVjdGVkIGJ5ICIg
KyBzdGVzdC5kZXNjKTsKK30pOworCit2YXIgZ0FjdGl2ZUR1cmF0aW9uVGVzdHMgPSBbCisgIHsg
ZGVzYzogICAgICJhbiBlbXB0eSBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IiwKKyAgICBp
bnB1dDogICAgeyB9LAorICAgIGV4cGVjdGVkOiAwIH0sCisgIHsgZGVzYzogICAgICJhIG5vbi16
ZXJvIGR1cmF0aW9uIGFuZCBkZWZhdWx0IGl0ZXJhdGlvbiBjb3VudCIsCisgICAgaW5wdXQ6ICAg
IHsgZHVyYXRpb246IDEwMDAgfSwKKyAgICBleHBlY3RlZDogMTAwMCB9LAorICB7IGRlc2M6ICAg
ICAiYSBub24temVybyBkdXJhdGlvbiBhbmQgaW50ZWdyYWwgaXRlcmF0aW9uIGNvdW50IiwKKyAg
ICBpbnB1dDogICAgeyBkdXJhdGlvbjogMTAwMCwgaXRlcmF0aW9uczogNyB9LAorICAgIGV4cGVj
dGVkOiA3MDAwIH0sCisgIHsgZGVzYzogICAgICJhIG5vbi16ZXJvIGR1cmF0aW9uIGFuZCBmcmFj
dGlvbmFsIGl0ZXJhdGlvbiBjb3VudCIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMDAs
IGl0ZXJhdGlvbnM6IDIuNSB9LAorICAgIGV4cGVjdGVkOiAyNTAwIH0sCisgIHsgZGVzYzogICAg
ICJhbiBub24temVybyBkdXJhdGlvbiBhbmQgaW5maW5pdGUgaXRlcmF0aW9uIGNvdW50IiwKKyAg
ICBpbnB1dDogICAgeyBkdXJhdGlvbjogMTAwMCwgaXRlcmF0aW9uczogSW5maW5pdHkgfSwKKyAg
ICBleHBlY3RlZDogSW5maW5pdHkgfSwKKyAgeyBkZXNjOiAgICAgImFuIG5vbi16ZXJvIGR1cmF0
aW9uIGFuZCB6ZXJvIGl0ZXJhdGlvbiBjb3VudCIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246
IDEwMDAsIGl0ZXJhdGlvbnM6IDAgfSwKKyAgICBleHBlY3RlZDogMCB9LAorICB7IGRlc2M6ICAg
ICAiYSB6ZXJvIGR1cmF0aW9uIGFuZCBkZWZhdWx0IGl0ZXJhdGlvbiBjb3VudCIsCisgICAgaW5w
dXQ6ICAgIHsgZHVyYXRpb246IDAgfSwKKyAgICBleHBlY3RlZDogMCB9LAorICB7IGRlc2M6ICAg
ICAiYSB6ZXJvIGR1cmF0aW9uIGFuZCBmcmFjdGlvbmFsIGl0ZXJhdGlvbiBjb3VudCIsCisgICAg
aW5wdXQ6ICAgIHsgZHVyYXRpb246IDAsIGl0ZXJhdGlvbnM6IDIuNSB9LAorICAgIGV4cGVjdGVk
OiAwIH0sCisgIHsgZGVzYzogICAgICJhIHplcm8gZHVyYXRpb24gYW5kIGluZmluaXRlIGl0ZXJh
dGlvbiBjb3VudCIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDAsIGl0ZXJhdGlvbnM6IElu
ZmluaXR5IH0sCisgICAgZXhwZWN0ZWQ6IDAgfSwKKyAgeyBkZXNjOiAgICAgImEgemVybyBkdXJh
dGlvbiBhbmQgemVybyBpdGVyYXRpb24gY291bnQiLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9u
OiAwLCBpdGVyYXRpb25zOiAwIH0sCisgICAgZXhwZWN0ZWQ6IDAgfSwKKyAgeyBkZXNjOiAgICAg
ImFuIGluZmluaXRlIGR1cmF0aW9uIGFuZCBkZWZhdWx0IGl0ZXJhdGlvbiBjb3VudCIsCisgICAg
aW5wdXQ6ICAgIHsgZHVyYXRpb246IEluZmluaXR5IH0sCisgICAgZXhwZWN0ZWQ6IEluZmluaXR5
IH0sCisgIHsgZGVzYzogICAgICJhbiBpbmZpbml0ZSBkdXJhdGlvbiBhbmQgemVybyBpdGVyYXRp
b24gY291bnQiLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiBJbmZpbml0eSwgaXRlcmF0aW9u
czogMCB9LAorICAgIGV4cGVjdGVkOiAwIH0sCisgIHsgZGVzYzogICAgICJhbiBpbmZpbml0ZSBk
dXJhdGlvbiBhbmQgZnJhY3Rpb25hbCBpdGVyYXRpb24gY291bnQiLAorICAgIGlucHV0OiAgICB7
IGR1cmF0aW9uOiBJbmZpbml0eSwgaXRlcmF0aW9uczogMi41IH0sCisgICAgZXhwZWN0ZWQ6IElu
ZmluaXR5IH0sCisgIHsgZGVzYzogICAgICJhbiBpbmZpbml0ZSBkdXJhdGlvbiBhbmQgaW5maW5p
dGUgaXRlcmF0aW9uIGNvdW50IiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogSW5maW5pdHks
IGl0ZXJhdGlvbnM6IEluZmluaXR5IH0sCisgICAgZXhwZWN0ZWQ6IEluZmluaXR5IH0sCitdOwor
CitnQWN0aXZlRHVyYXRpb25UZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKHN0ZXN0KSB7CisgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eSh0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsg
bGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGVmZmVjdC5n
ZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9uLAorICAgICAgICAgICAgICAgICAgc3Rl
c3QuZXhwZWN0ZWQpOworCisgIH0sICJnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9u
IGZvciAiICsgc3Rlc3QuZGVzYyk7Cit9KTsKKwordmFyIGdFbmRUaW1lVGVzdHMgPSBbCisgIHsg
ZGVzYzogICAgICJhbiBlbXB0eSBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IiwKKyAgICBp
bnB1dDogICAgeyB9LAorICAgIGV4cGVjdGVkOiAwIH0sCisgIHsgZGVzYzogICAgICJhIG5vbi16
ZXJvIGR1cmF0aW9uIGFuZCBkZWZhdWx0IGl0ZXJhdGlvbiBjb3VudCIsCisgICAgaW5wdXQ6ICAg
IHsgZHVyYXRpb246IDEwMDAgfSwKKyAgICBleHBlY3RlZDogMTAwMCB9LAorICB7IGRlc2M6ICAg
ICAiYSBub24temVybyBkdXJhdGlvbiBhbmQgbm9uLWRlZmF1bHQgaXRlcmF0aW9uIGNvdW50IiwK
KyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogMTAwMCwgaXRlcmF0aW9uczogMi41IH0sCisgICAg
ZXhwZWN0ZWQ6IDI1MDAgfSwKKyAgeyBkZXNjOiAgICAgImEgbm9uLXplcm8gZHVyYXRpb24gYW5k
IG5vbi16ZXJvIGRlbGF5IiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogMTAwMCwgZGVsYXk6
IDE1MDAgfSwKKyAgICBleHBlY3RlZDogMjUwMCB9LAorICB7IGRlc2M6ICAgICAiYSBub24temVy
byBkdXJhdGlvbiwgbm9uLXplcm8gZGVsYXkgYW5kIG5vbi1kZWZhdWx0IGl0ZXJhdGlvbiIsCisg
ICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMDAsIGRlbGF5OiAxNTAwLCBpdGVyYXRpb25zOiAy
IH0sCisgICAgZXhwZWN0ZWQ6IDM1MDAgfSwKKyAgeyBkZXNjOiAgICAgImFuIGluZmluaXRlIGl0
ZXJhdGlvbiBjb3VudCIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMDAsIGl0ZXJhdGlv
bnM6IEluZmluaXR5IH0sCisgICAgZXhwZWN0ZWQ6IEluZmluaXR5IH0sCisgIHsgZGVzYzogICAg
ICJhbiBpbmZpbml0ZSBkdXJhdGlvbiIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IEluZmlu
aXR5LCBpdGVyYXRpb25zOiAxMCB9LAorICAgIGV4cGVjdGVkOiBJbmZpbml0eSB9LAorICB7IGRl
c2M6ICAgICAiYW4gaW5maW5pdGUgZHVyYXRpb24gYW5kIGRlbGF5IiwKKyAgICBpbnB1dDogICAg
eyBkdXJhdGlvbjogSW5maW5pdHksIGl0ZXJhdGlvbnM6IDEwLCBkZWxheTogMTAwMCB9LAorICAg
IGV4cGVjdGVkOiBJbmZpbml0eSB9LAorICB7IGRlc2M6ICAgICAiYW4gaW5maW5pdGUgZHVyYXRp
b24gYW5kIG5lZ2F0aXZlIGRlbGF5IiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogSW5maW5p
dHksIGl0ZXJhdGlvbnM6IDEwLCBkZWxheTogLTEwMDAgfSwKKyAgICBleHBlY3RlZDogSW5maW5p
dHkgfSwKKyAgeyBkZXNjOiAgICAgImFuIG5vbi16ZXJvIGR1cmF0aW9uIGFuZCBuZWdhdGl2ZSBk
ZWxheSIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMDAsIGl0ZXJhdGlvbnM6IDIsIGRl
bGF5OiAtMTAwMCB9LAorICAgIGV4cGVjdGVkOiAxMDAwIH0sCisgIHsgZGVzYzogICAgICJhbiBu
b24temVybyBkdXJhdGlvbiBhbmQgbmVnYXRpdmUgZGVsYXkgZ3JlYXRlciB0aGFuIGFjdGl2ZSAi
ICsKKyAgICAgICAgICAgICAgImR1cmF0aW9uIiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjog
MTAwMCwgaXRlcmF0aW9uczogMiwgZGVsYXk6IC0zMDAwIH0sCisgICAgZXhwZWN0ZWQ6IDAgfSwK
KyAgeyBkZXNjOiAgICAgImEgemVybyBkdXJhdGlvbiBhbmQgbmVnYXRpdmUgZGVsYXkiLAorICAg
IGlucHV0OiAgICB7IGR1cmF0aW9uOiAwLCBpdGVyYXRpb25zOiAyLCBkZWxheTogLTEwMDAgfSwK
KyAgICBleHBlY3RlZDogMCB9CitdOworCitnRW5kVGltZVRlc3RzLmZvckVhY2goZnVuY3Rpb24o
c3Rlc3QpIHsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGVmZmVjdCA9IG5ldyBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0KTsKKworICAgIGFzc2Vy
dF9lcXVhbHMoZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuZW5kVGltZSwKKyAgICAgICAgICAg
ICAgICAgIHN0ZXN0LmV4cGVjdGVkKTsKKworICB9LCAiZ2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRU
aW1lIGZvciAiICsgc3Rlc3QuZGVzYyk7Cit9KTsKKworZG9uZSgpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0tleWZyYW1lRWZmZWN0L2l0ZXJhdGlvbkNvbXBvc2l0ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZm
ZWN0L2l0ZXJhdGlvbkNvbXBvc2l0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDIxZmIxZDZk
MTY2MmRkOTc3ZDExMmJhNzgxN2RmYjUzNjJmZTRjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qv
aXRlcmF0aW9uQ29tcG9zaXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACisKK0ZBSUwg
aXRlcmF0aW9uQ29tcG9zaXRlIG9mIGRpc2NyZXRlIHR5cGUgYW5pbWF0aW9uIChhbGlnbi1jb250
ZW50KSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4u
JykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxsZW5ndGg+IHR5cGUgYW5pbWF0aW9uIHVu
ZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJ
TCBpdGVyYXRpb25Db21wb3NpdGUgb2YgPHBlcmNlbnRhZ2U+IHR5cGUgYW5pbWF0aW9uIHVuZGVm
aW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBp
dGVyYXRpb25Db21wb3NpdGUgb2YgPGNvbG9yPiB0eXBlIGFuaW1hdGlvbiB1bmRlZmluZWQgaXMg
bm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9u
Q29tcG9zaXRlIG9mIDxjb2xvcj4gdHlwZSBhbmltYXRpb24gdGhhdCBncmVlbiBjb21wb25lbnQg
aXMgZGVjcmVhc2luZyB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5h
bmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxudW1iZXI+IHR5cGUgYW5p
bWF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUu
Li4nKQorRkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2YgPHNoYXBlPiB0eXBlIGFuaW1hdGlvbiB1
bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZB
SUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxjYWxjKCk+IHZhbHVlIGFuaW1hdGlvbiB1bmRlZmlu
ZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRl
cmF0aW9uQ29tcG9zaXRlIG9mIDxjYWxjKCk+IHZhbHVlIGFuaW1hdGlvbiB0aGF0IHRoZSB2YWx1
ZXMgY2FuJ3RiZSByZWR1Y2VkIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4u
ZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2Ygb3BhY2l0eSBhbmlt
YXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4u
LicpCitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiBib3gtc2hhZG93IGFuaW1hdGlvbiB1bmRl
ZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwg
aXRlcmF0aW9uQ29tcG9zaXRlIG9mIGZpbHRlciBibHVyIGFuaW1hdGlvbiB1bmRlZmluZWQgaXMg
bm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9u
Q29tcG9zaXRlIG9mIGZpbHRlciBicmlnaHRuZXNzIGZvciBkaWZmZXJlbnQgdW5pdCBhbmltYXRp
b24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicp
CitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiBmaWx0ZXIgYnJpZ2h0bmVzcyBhbmltYXRpb24g
dW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitG
QUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiBmaWx0ZXIgZHJvcC1zaGFkb3cgYW5pbWF0aW9uIHVu
ZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJ
TCBpdGVyYXRpb25Db21wb3NpdGUgb2Ygc2FtZSBmaWx0ZXIgbGlzdCBhbmltYXRpb24gdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0
ZXJhdGlvbkNvbXBvc2l0ZSBvZiBkaXNjcmV0ZSBmaWx0ZXIgbGlzdCBiZWNhdXNlIG9mIG1pc21h
dGNoIG9mIHRoZSBvcmRlciB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRp
di5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIGRpZmZlcmVudCBsZW5n
dGggZmlsdGVyIGxpc3QgYW5pbWF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVh
ciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2YgdHJhbnNm
b3JtKHJvdGF0ZSkgYW5pbWF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAn
Li4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2YgdHJhbnNmb3Jt
OiBbIHNjYWxlKDApLCBzY2FsZSgxKSBdIGFuaW1hdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVu
Y3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRl
IG9mIHRyYW5zZm9ybTogWyBzY2FsZSgxKSwgc2NhbGUoMikgXSBhbmltYXRpb24gdW5kZWZpbmVk
IGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0ZXJh
dGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm06IHNjYWxlKDIpIGFuaW1hdGlvbiB1bmRlZmluZWQg
aXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0
aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybSBsaXN0IGFuaW1hdGlvbiB1bmRlZmluZWQgaXMgbm90
IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9uQ29t
cG9zaXRlIG9mIHRyYW5zZm9ybSBvZiBtYXRyaXggZnVuY3Rpb24gdW5kZWZpbmVkIGlzIG5vdCBh
IGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0ZXJhdGlvbkNvbXBv
c2l0ZSBvZiB0cmFuc2Zvcm0gbGlzdCBhbmltYXRpb24gd2hvc2Ugb3JkZXIgaXMgbWlzbWF0Y2hl
ZCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykK
K0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybSBsaXN0IGFuaW1hdGlvbiB3aG9z
ZSBvcmRlciBpcyBtaXNtYXRjaGVkIGJlY2F1c2Ugb2YgbWlzc2luZyBmdW5jdGlvbnMgdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0
ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gZnJvbSBub25lIHRvIHRyYW5zbGF0ZSB1bmRl
ZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwg
aXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybSBvZiBtYXRyaXgzZCBmdW5jdGlvbiB1bmRl
ZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwg
aXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybSBvZiByb3RhdGUzZCBmdW5jdGlvbiB1bmRl
ZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwg
aXRlcmF0aW9uQ29tcG9zaXRlIHN0YXJ0cyB3aXRoIG5vbi16ZXJvIHZhbHVlIGFuaW1hdGlvbiB1
bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZB
SUwgaXRlcmF0aW9uQ29tcG9zaXRlIHdpdGggbmVnYXRpdmUgZmluYWwgdmFsdWUgYW5pbWF0aW9u
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQor
RkFJTCBpbnRlcmF0aW9uQ29tcG9zaXRlIGNoYW5nZXMgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0
aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGR1cmF0aW9uIGNoYW5nZXMgd2l0
aCBpdGVyYXRpb25Db21wb3NpdGUoYWNjdW11bGF0ZSkgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0
aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvaXRlcmF0
aW9uQ29tcG9zaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2l0ZXJhdGlvbkNvbXBvc2l0ZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc3MTlmYTljMWM1ODAzODQ4MzkwMTQ5ZDdmOTVmYTYzYTA0NTE1OWUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tl
eWZyYW1lRWZmZWN0L2l0ZXJhdGlvbkNvbXBvc2l0ZS5odG1sCkBAIC0wLDAgKzEsODM5IEBACis8
IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+S2V5ZnJhbWVFZmZl
Y3QuaXRlcmF0aW9uQ29tcG9zaXRlIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNlZmZlY3QtYWNjdW11bGF0
aW9uLXNlY3Rpb24iPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5p
bWF0ZSh7IGFsaWduQ29udGVudDogWydmbGV4LXN0YXJ0JywgJ2ZsZXgtZW5kJ10gfSwKKyAgICAg
ICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAg
ICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDEwLAor
ICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisK
KyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7Cisg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFsaWduQ29udGVudCwgJ2ZsZXgt
ZW5kJywKKyAgICAnQW5pbWF0ZWQgYWxpZ24tY29udGVudCBzdHlsZSBhdCA1MHMgb2YgdGhlIGZp
cnN0IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5n
LmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuYWxp
Z25Db250ZW50LCAnZmxleC1zdGFydCcsCisgICAgJ0FuaW1hdGVkIGFsaWduLWNvbnRlbnQgc3R5
bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9
IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLmFsaWduQ29udGVudCwgJ2ZsZXgtZW5kJywKKyAgICAnQW5pbWF0ZWQg
YWxpZ24tY29udGVudCBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwg
J2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiBkaXNjcmV0ZSB0eXBlIGFuaW1hdGlvbiAoYWxpZ24tY29u
dGVudCknKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7
CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IG1hcmdpbkxlZnQ6IFsnMHB4JywgJzEw
cHgnXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisg
ICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRl
cmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1
bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmlt
LmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnNXB4JywKKyAgICAnQW5pbWF0ZWQgbWFyZ2luLWxlZnQg
c3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGlt
ZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcyMHB4JywKKyAgICAnQW5pbWF0ZWQgbWFy
Z2luLWxlZnQgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1
cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcyNXB4JywKKyAgICAnQW5p
bWF0ZWQgbWFyZ2luLWxlZnQgc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsK
K30sICdpdGVyYXRpb25Db21wb3NpdGUgb2YgPGxlbmd0aD4gdHlwZSBhbmltYXRpb24nKTsKKwor
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBwYXJlbnQgPSBjcmVhdGVEaXYodCk7CisgIHBhcmVu
dC5zdHlsZS53aWR0aCA9ICcxMDBweCc7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHBh
cmVudC5hcHBlbmRDaGlsZChkaXYpOworCisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7
IHdpZHRoOiBbJzAlJywgJzUwJSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAw
ICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAg
ICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlv
bkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5j
dXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLndpZHRoLCAnMjVweCcsCisgICAgJ0FuaW1hdGVk
IHdpZHRoIHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3Vy
cmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS53aWR0aCwgJzEwMHB4JywKKyAgICAnQW5pbWF0ZWQg
d2lkdGggc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJl
bnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLndpZHRoLCAnMTI1cHgnLAorICAgICdBbmltYXRlZCB3
aWR0aCBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlv
bkNvbXBvc2l0ZSBvZiA8cGVyY2VudGFnZT4gdHlwZSBhbmltYXRpb24nKTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBk
aXYuYW5pbWF0ZSh7IGNvbG9yOiBbJ3JnYigwLCAwLCAwKScsICdyZ2IoMTIwLCAxMjAsIDEyMCkn
XSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAg
ICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0
aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVs
YXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVm
ZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS5jb2xvciwgJ3JnYig2MCwgNjAsIDYwKScsCisgICAgJ0FuaW1hdGVkIGNvbG9yIHN0
eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUg
PSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoZGl2KS5jb2xvciwgJ3JnYigyNDAsIDI0MCwgMjQwKScsCisgICAgJ0FuaW1h
dGVkIGNvbG9yIHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5j
dXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5jb2xvciwgJ3JnYigyNTUsIDI1NSwgMjU1KScs
CisgICAgJ0FuaW1hdGVkIGNvbG9yIHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9u
Jyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxjb2xvcj4gdHlwZSBhbmltYXRpb24nKTsK
KwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBh
bmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IGNvbG9yOiBbJ3JnYigwLCAxMjAsIDApJywgJ3JnYig2
MCwgNjAsIDYwKSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0
ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGlt
ZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLmNvbG9yLCAncmdiKDMwLCA5MCwgMzApJywKKyAgICAnQW5pbWF0
ZWQgY29sb3Igc3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5j
dXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmNvbG9yLCAncmdiKDEyMCwgMjQwLCAxMjApJywK
KyAgICAnQW5pbWF0ZWQgY29sb3Igc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicp
OworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7
CisgIC8vIFRoZSBncmVlbiBjb2xvciBpcyAoMjQwICsgMTgwKSAvIDIgPSAyMTAKKyAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuY29sb3IsICdyZ2IoMTUwLCAyMTAsIDE1MCkn
LAorICAgICdBbmltYXRlZCBjb2xvciBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlv
bicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8Y29sb3I+IHR5cGUgYW5pbWF0aW9uIHRo
YXQgZ3JlZW4gY29tcG9uZW50IGlzICcgKworICAgJ2RlY3JlYXNpbmcnKTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBk
aXYuYW5pbWF0ZSh7IGZsZXhHcm93OiBbMCwgMTBdIH0sCisgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVh
cicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAg
IGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisK
KyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7Cisg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZsZXhHcm93LCAnNScsCisgICAg
J0FuaW1hdGVkIGZsZXgtZ3JvdyBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicp
OworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsK
KyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmxleEdyb3csICcyMCcsCisg
ICAgJ0FuaW1hdGVkIGZsZXgtZ3JvdyBzdHlsZSBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9u
Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8g
MjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmxleEdyb3csICcyNScs
CisgICAgJ0FuaW1hdGVkIGZsZXgtZ3JvdyBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJh
dGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8bnVtYmVyPiB0eXBlIGFuaW1hdGlv
bicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
ZGl2LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKKyAgdmFyIGFuaW0gPQorICAgIGRpdi5h
bmltYXRlKHsgY2xpcDogWydyZWN0KDBweCwgMHB4LCAwcHgsIDBweCknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICdyZWN0KDEwcHgsIDEwcHgsIDEwcHgsIDEwcHgpJ10gfSwKKyAgICAgICAg
ICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAg
ZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDEwLAorICAg
ICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgIGFu
aW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1
cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuY2xpcCwg
J3JlY3QoNXB4LCA1cHgsIDVweCwgNXB4KScsCisgICAgJ0FuaW1hdGVkIGNsaXAgc3R5bGUgYXQg
NTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0u
ZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLmNsaXAsICdyZWN0KDIwcHgsIDIwcHgsIDIwcHgsIDIwcHgpJywKKyAgICAnQW5p
bWF0ZWQgY2xpcCBzdHlsZSBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7CisgIGFuaW0u
Y3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuY2xpcCwgJ3JlY3QoMjVweCwgMjVweCwgMjVw
eCwgMjVweCknLAorICAgICdBbmltYXRlZCBjbGlwIHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQg
aXRlcmF0aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxzaGFwZT4gdHlwZSBhbmlt
YXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7
CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IHdpZHRoOiBbJ2NhbGMoMHZ3ICsgMHB4
KScsICdjYWxjKDB2dyArIDEwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAx
MDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAg
ICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0
aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmlt
LmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikud2lkdGgsICc1cHgnLAorICAgICdBbmltYXRl
ZCBjYWxjIHdpZHRoIHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFu
aW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS53aWR0aCwgJzIwcHgnLAorICAgICdBbmlt
YXRlZCBjYWxjIHdpZHRoIHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAg
YW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS53aWR0aCwgJzI1cHgnLAorICAgICdB
bmltYXRlZCBjYWxjIHdpZHRoIHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7
Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxjYWxjKCk+IHZhbHVlIGFuaW1hdGlvbicpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHBhcmVudCA9IGNyZWF0ZURpdih0KTsKKyAgcGFy
ZW50LnN0eWxlLndpZHRoID0gJzEwMHB4JzsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
cGFyZW50LmFwcGVuZENoaWxkKGRpdik7CisKKyAgdmFyIGFuaW0gPQorICAgIGRpdi5hbmltYXRl
KHsgd2lkdGg6IFsnY2FsYygwJSArIDBweCknLCAnY2FsYygxMCUgKyAxMHB4KSddIH0sCisgICAg
ICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAg
ICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwK
KyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOwor
ICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWlu
Zy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLndp
ZHRoLCAnMTBweCcsCisgICAgLy8gMTAwcHggKiA1JSArIDVweAorICAgICdBbmltYXRlZCBjYWxj
IHdpZHRoIHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3Vy
cmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS53aWR0aCwKKyAgICAnNDBweCcsIC8vIDEwMHB4ICog
KDEwJSArIDEwJSkgKyAoMTBweCArIDEwcHgpCisgICAgJ0FuaW1hdGVkIGNhbGMgd2lkdGggc3R5
bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9
IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLndpZHRoLAorICAgICc1MHB4JywgLy8gKDQwcHggKyA2MHB4KSAvIDIK
KyAgICAnQW5pbWF0ZWQgY2FsYyB3aWR0aCBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJh
dGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8Y2FsYygpPiB2YWx1ZSBhbmltYXRp
b24gdGhhdCB0aGUgdmFsdWVzIGNhblwndCcgKworICAgJ2JlIHJlZHVjZWQnKTsKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAg
ICBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFswLCAwLjRdIH0sCisgICAgICAgICAgICAgICAgeyBk
dXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xp
bmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAg
ICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7
CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7
CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcwLjInLAor
ICAgICdBbmltYXRlZCBvcGFjaXR5IHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9u
Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAy
OworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMC44JywK
KyAgICAnQW5pbWF0ZWQgb3BhY2l0eSBzdHlsZSBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9u
Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8g
MjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzEnLCAv
LyAoMC44ICsgMS4yKSAqIDAuNQorICAgICdBbmltYXRlZCBvcGFjaXR5IHN0eWxlIGF0IDUwcyBv
ZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIG9wYWNp
dHkgYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRl
RGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyBib3hTaGFkb3c6IFsncmdi
KDAsIDAsIDApIDBweCAwcHggMHB4IDBweCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAncmdiKDEyMCwgMTIwLCAxMjApIDEwcHggMTBweCAxMHB4IDBweCddIH0sCisgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVh
c2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAg
ICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmlt
LnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJh
dGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmJveFNoYWRv
dywKKyAgICAncmdiKDYwLCA2MCwgNjApIDVweCA1cHggNXB4IDBweCcsCisgICAgJ0FuaW1hdGVk
IGJveC1zaGFkb3cgc3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5p
bS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmJveFNoYWRvdywKKyAgICAncmdiKDI0MCwg
MjQwLCAyNDApIDIwcHggMjBweCAyMHB4IDBweCcsCisgICAgJ0FuaW1hdGVkIGJveC1zaGFkb3cg
c3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1l
ICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLmJveFNoYWRvdywKKyAgICAncmdiKDI1NSwgMjU1LCAyNTUpIDI1
cHggMjVweCAyNXB4IDBweCcsCisgICAgJ0FuaW1hdGVkIGJveC1zaGFkb3cgc3R5bGUgYXQgNTBz
IG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUgb2YgYm94
LXNoYWRvdyBhbmltYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IGZpbHRlcjogWydi
bHVyKDBweCknLCAnYmx1cigxMHB4KSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjog
MTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisg
ICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJh
dGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5p
bS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwgJ2JsdXIoNXB4KScsCisgICAg
J0FuaW1hdGVkIGZpbHRlciBibHVyIHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9u
Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAy
OworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsICdibHVyKDIw
cHgpJywKKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGJsdXIgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJk
IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5k
dXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRl
ciwgJ2JsdXIoMjVweCknLAorICAgICdBbmltYXRlZCBmaWx0ZXIgYmx1ciBzdHlsZSBhdCA1MHMg
b2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiBmaWx0
ZXIgYmx1ciBhbmltYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IGZpbHRlcjogWydi
cmlnaHRuZXNzKDEpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdicmlnaHRuZXNzKDE4
MCUpJ10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAor
ICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0
ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNj
dW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5p
bS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikuZmlsdGVyLAorICAgICdicmlnaHRuZXNzKDEuNCknLAorICAgICdBbmltYXRl
ZCBmaWx0ZXIgYnJpZ2h0bmVzcyBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicp
OworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsK
KyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmlsdGVyLAorICAgICdicmln
aHRuZXNzKDIuNiknLCAvLyBicmlnaHRuZXNzKDEpICsgYnJpZ2h0bmVzcygwLjgpICsgYnJpZ2h0
bmVzcygwLjgpCisgICAgJ0FuaW1hdGVkIGZpbHRlciBicmlnaHRuZXNzIHN0eWxlIGF0IDBzIG9m
IHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS5maWx0ZXIsCisgICAgJ2JyaWdodG5lc3MoMyknLCAvLyAoYnJpZ2h0bmVzcygyLjYpICsg
YnJpZ2h0bmVzcygzLjQpKSAqIDAuNQorICAgICdBbmltYXRlZCBmaWx0ZXIgYnJpZ2h0bmVzcyBz
dHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBv
c2l0ZSBvZiBmaWx0ZXIgYnJpZ2h0bmVzcyBmb3IgZGlmZmVyZW50IHVuaXQgYW5pbWF0aW9uJyk7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIg
YW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyBmaWx0ZXI6IFsnYnJpZ2h0bmVzcygwKScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnYnJpZ2h0bmVzcygxKSddIH0sCisgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2lu
ZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBh
dXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlv
biAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwKKyAg
ICAnYnJpZ2h0bmVzcygwLjUpJywKKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGJyaWdodG5lc3Mgc3R5
bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9
IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLmZpbHRlciwKKyAgICAnYnJpZ2h0bmVzcygwKScsIC8vIGJyaWdodG5l
c3MoMSkgaXMgYW4gaWRlbnRpdHkgZWxlbWVudCwgbm90IGFjY3VtdWxhdGVkLgorICAgICdBbmlt
YXRlZCBmaWx0ZXIgYnJpZ2h0bmVzcyBzdHlsZSBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9u
Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8g
MjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmlsdGVyLAorICAgICdi
cmlnaHRuZXNzKDAuNSknLCAvLyBicmlnaHRuZXNzKDEpIGlzIGFuIGlkZW50aXR5IGVsZW1lbnQs
IG5vdCBhY2N1bXVsYXRlZC4KKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGJyaWdodG5lc3Mgc3R5bGUg
YXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUg
b2YgZmlsdGVyIGJyaWdodG5lc3MgYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUo
eyBmaWx0ZXI6IFsnZHJvcC1zaGFkb3cocmdiKDAsIDAsIDApIDBweCAwcHggMHB4KScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnZHJvcC1zaGFkb3cocmdiKDEyMCwgMTIwLCAxMjApIDEw
cHggMTBweCAxMHB4KSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNf
UEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAg
ICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBv
c2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50
VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMo
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwKKyAgICAnZHJvcC1zaGFkb3cocmdiKDYwLCA2
MCwgNjApIDVweCA1cHggNXB4KScsCisgICAgJ0FuaW1hdGVkIGZpbHRlciBkcm9wLXNoYWRvdyBz
dHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1l
ID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikuZmlsdGVyLAorICAgICdkcm9wLXNoYWRvdyhyZ2IoMjQwLCAyNDAs
IDI0MCkgMjBweCAyMHB4IDIwcHgpJywKKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGRyb3Atc2hhZG93
IHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGlt
ZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsCisgICAgJ2Ryb3Atc2hhZG93KHJnYigyNTUsIDI1
NSwgMjU1KSAyNXB4IDI1cHggMjVweCknLAorICAgICdBbmltYXRlZCBmaWx0ZXIgZHJvcC1zaGFk
b3cgc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25D
b21wb3NpdGUgb2YgZmlsdGVyIGRyb3Atc2hhZG93IGFuaW1hdGlvbicpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPQorICAgIGRp
di5hbmltYXRlKHsgZmlsdGVyOiBbJ2JyaWdodG5lc3MoMSkgY29udHJhc3QoMSknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ2JyaWdodG5lc3MoMikgY29udHJhc3QoMiknXSB9LAorICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAg
ICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAs
CisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsK
KyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1p
bmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5m
aWx0ZXIsCisgICAgJ2JyaWdodG5lc3MoMS41KSBjb250cmFzdCgxLjUpJywKKyAgICAnQW5pbWF0
ZWQgZmlsdGVyIGxpc3QgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5j
dXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwKKyAgICAnYnJpZ2h0bmVzcygzKSBj
b250cmFzdCgzKScsCisgICAgJ0FuaW1hdGVkIGZpbHRlciBsaXN0IGF0IDBzIG9mIHRoZSB0aGly
ZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcu
ZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0
ZXIsCisgICAgJ2JyaWdodG5lc3MoMy41KSBjb250cmFzdCgzLjUpJywKKyAgICAnQW5pbWF0ZWQg
ZmlsdGVyIGxpc3QgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRp
b25Db21wb3NpdGUgb2Ygc2FtZSBmaWx0ZXIgbGlzdCBhbmltYXRpb24nKTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBk
aXYuYW5pbWF0ZSh7IGZpbHRlcjogWydicmlnaHRuZXNzKDEpIGNvbnRyYXN0KDEpJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdjb250cmFzdCgyKSBicmlnaHRuZXNzKDIpJ10gfSwKKyAg
ICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAg
ICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDEw
LAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7
CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGlt
aW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdiku
ZmlsdGVyLAorICAgICdjb250cmFzdCgyKSBicmlnaHRuZXNzKDIpJywgLy8gZGlzY3JldGUKKyAg
ICAnQW5pbWF0ZWQgZmlsdGVyIGxpc3QgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsK
KyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7Cisg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwKKyAgICAvLyBXZSBj
YW4ndCBhY2N1bXVsYXRlICdjb250cmFzdCgyKSBicmlnaHRuZXNzKDIpJyBvbnRvCisgICAgLy8g
dGhlIGZpcnN0IGxpc3QgJ2JyaWdodG5lc3MoMSkgY29udHJhc3QoMSknIGJlY2F1c2Ugb2YKKyAg
ICAvLyBtaXNtYXRjaCBvZiB0aGUgb3JkZXIuCisgICAgJ2JyaWdodG5lc3MoMSkgY29udHJhc3Qo
MSknLAorICAgICdBbmltYXRlZCBmaWx0ZXIgbGlzdCBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0
aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9u
IC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmlsdGVyLAorICAg
IC8vIFdlICpjYW4qIGFjY3VtdWxhdGUgJ2NvbnRyYXN0KDIpIGJyaWdodG5lc3MoMiknIG9udG8K
KyAgICAvLyB0aGUgc2FtZSBsaXN0ICdjb250cmFzdCgyKSBicmlnaHRuZXNzKDIpJyBoZXJlLgor
ICAgICdjb250cmFzdCg0KSBicmlnaHRuZXNzKDQpJywgLy8gZGlzY3JldGUKKyAgICAnQW5pbWF0
ZWQgZmlsdGVyIGxpc3QgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVy
YXRpb25Db21wb3NpdGUgb2YgZGlzY3JldGUgZmlsdGVyIGxpc3QgYmVjYXVzZSBvZiBtaXNtYXRj
aCAnICsKKyAgICdvZiB0aGUgb3JkZXInKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBk
aXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IGZpbHRl
cjogWydzZXBpYSgwKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VwaWEoMSkgY29u
dHJhc3QoMiknXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9T
RUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAg
ICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6
ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUg
PSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsCisgICAgJ3NlcGlhKDAuNSkgY29udHJhc3QoMS41KScs
CisgICAgJ0FuaW1hdGVkIGZpbHRlciBsaXN0IGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9u
Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAy
OworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsCisgICAgJ3Nl
cGlhKDIpIGNvbnRyYXN0KDMpJywKKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGxpc3QgYXQgMHMgb2Yg
dGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0
LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShk
aXYpLmZpbHRlciwKKyAgICAnc2VwaWEoMi41KSBjb250cmFzdCgzLjUpJywKKyAgICAnQW5pbWF0
ZWQgZmlsdGVyIGxpc3QgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVy
YXRpb25Db21wb3NpdGUgb2YgZGlmZmVyZW50IGxlbmd0aCBmaWx0ZXIgbGlzdCBhbmltYXRpb24n
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZh
ciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IHRyYW5zZm9ybTogWydyb3RhdGUoMGRlZyknLCAn
cm90YXRlKDE4MGRlZyknXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1T
X1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAg
ICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21w
b3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVu
dFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgoMCwg
MSwgLTEsIDAsIDAsIDApJywgLy8gcm90YXRlKDkwZGVnKQorICAgICdBbmltYXRlZCB0cmFuc2Zv
cm0ocm90YXRlKSBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBhbmlt
LmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0
X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAnbWF0
cml4KDEsIDAsIDAsIDEsIDAsIDApJywgLy8gcm90YXRlKDM2MGRlZykKKyAgICAnQW5pbWF0ZWQg
dHJhbnNmb3JtKHJvdGF0ZSkgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOwor
ICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7Cisg
IGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisg
ICAgJ21hdHJpeCgwLCAxLCAtMSwgMCwgMCwgMCknLCAvLyByb3RhdGUoNDUwZGVnKQorICAgICdB
bmltYXRlZCB0cmFuc2Zvcm0ocm90YXRlKSBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJh
dGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0ocm90YXRlKSBhbmlt
YXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7
CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IHRyYW5zZm9ybTogWydzY2FsZSgwKScs
ICdzY2FsZSgxKSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0
ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGlt
ZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgJ21hdHJpeCgwLjUsIDAs
IDAsIDAuNSwgMCwgMCknLCAvLyBzY2FsZSgwLjUpCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybShz
Y2FsZSkgc3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJy
ZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9tYXRy
aXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgJ21hdHJpeCgw
LCAwLCAwLCAwLCAwLCAwKScsIC8vIHNjYWxlKDApOyBzY2FsZSgxKSBpcyBhbiBpZGVudGl0eSBl
bGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBub3QgYWNjdW11bGF0
ZWQuCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybShzY2FsZSkgc3R5bGUgYXQgMHMgb2YgdGhlIHRo
aXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWlu
Zy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS50cmFuc2Zvcm0sCisgICAgJ21hdHJpeCgwLjUsIDAsIDAsIDAuNSwgMCwgMCknLCAvLyBz
Y2FsZSgwLjUpOyBzY2FsZSgxKSBhbiBpZGVudGl0eQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gZWxlbWVudCwgbm90IGFjY3VtdWxhdGVkLgorICAgICdBbmltYXRlZCB0
cmFuc2Zvcm0oc2NhbGUpIHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9
LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybTogWyBzY2FsZSgwKSwgc2NhbGUoMSkg
XSBhbmltYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVE
aXYodCk7CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IHRyYW5zZm9ybTogWydzY2Fs
ZSgxKScsICdzY2FsZSgyKSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICog
TVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAg
ICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNv
bXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJy
ZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRy
aXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgJ21hdHJpeCgx
LjUsIDAsIDAsIDEuNSwgMCwgMCknLCAvLyBzY2FsZSgxLjUpCisgICAgJ0FuaW1hdGVkIHRyYW5z
Zm9ybShzY2FsZSkgc3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5p
bS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2Vy
dF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgJ21h
dHJpeCgzLCAwLCAwLCAzLCAwLCAwKScsIC8vIHNjYWxlKDEgKyAoMiAtMSkgKyAoMiAtMSkpCisg
ICAgJ0FuaW1hdGVkIHRyYW5zZm9ybShzY2FsZSkgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJh
dGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50
cmFuc2Zvcm0sCisgICAgJ21hdHJpeCgzLjUsIDAsIDAsIDMuNSwgMCwgMCknLCAvLyAoc2NhbGUo
MykgKyBzY2FsZSg0KSkgKiAwLjUKKyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtKHNjYWxlKSBzdHls
ZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0
ZSBvZiB0cmFuc2Zvcm06IFsgc2NhbGUoMSksIHNjYWxlKDIpIF0gYW5pbWF0aW9uJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9
CisgICAgZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsnc2NhbGUoMCknLCAnc2NhbGUoMiknXSB9
LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAg
ICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9u
czogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRl
JyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCknLCAv
LyBzY2FsZSgxKQorICAgICdBbmltYXRlZCB0cmFuc2Zvcm0oc2NhbGUpIHN0eWxlIGF0IDUwcyBv
ZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgoMiwgMCwgMCwgMiwgMCwgMCknLCAv
LyAoc2NhbGUoMCkgKyBzY2FsZSgyLTEpKjIpCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybShzY2Fs
ZSkgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRU
aW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgJ21hdHJpeCgzLCAw
LCAwLCAzLCAwLCAwKScsIC8vIChzY2FsZSgyKSArIHNjYWxlKDQpKSAqIDAuNQorICAgICdBbmlt
YXRlZCB0cmFuc2Zvcm0oc2NhbGUpIHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9u
Jyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybTogc2NhbGUoMikgYW5pbWF0
aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOwor
ICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsncm90YXRlKDBkZWcp
IHRyYW5zbGF0ZVgoMHB4KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm90YXRl
KDE4MGRlZykgdHJhbnNsYXRlWCgxMHB4KSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlv
bjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcics
CisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0
ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAg
YW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFz
c2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAg
J21hdHJpeCgwLCAxLCAtMSwgMCwgMCwgNSknLCAvLyByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVgo
NXB4KQorICAgICdBbmltYXRlZCB0cmFuc2Zvcm0gbGlzdCBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0
aW9uICogMjsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRy
YW5zZm9ybSwKKyAgICAnbWF0cml4KDEsIDAsIDAsIDEsIDIwLCAwKScsIC8vIHJvdGF0ZSgzNjBk
ZWcpIHRyYW5zbGF0ZVgoMjBweCkKKyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3QgYXQgMHMg
b2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZm
ZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgJ21hdHJpeCgwLCAxLCAtMSwgMCwgMCwgMjUp
JywgLy8gcm90YXRlKDQ1MGRlZykgdHJhbnNsYXRlWCgyNXB4KQorICAgICdBbmltYXRlZCB0cmFu
c2Zvcm0gbGlzdCBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlv
bkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gbGlzdCBhbmltYXRpb24nKTsKKwordGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBkaXYu
YW5pbWF0ZSh7IHRyYW5zZm9ybTogWydtYXRyaXgoMiwgMCwgMCwgMiwgMCwgMCknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ21hdHJpeCgzLCAwLCAwLCAzLCAzMCwgMCknXSB9LAor
ICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAg
ICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczog
MTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9
KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50
aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0
eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgoMi41LCAwLCAwLCAyLjUsIDE1LCAwKScs
CisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBvZiBtYXRyaXggZnVuY3Rpb24gYXQgNTBzIG9mIHRo
ZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRp
bWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgLy8gc2NhbGUoMikgKyAoc2NhbGUoMy0xKSoyKSArIHRy
YW5zbGF0ZVgoMzBweCkqMgorICAgICdtYXRyaXgoNiwgMCwgMCwgNiwgNjAsIDApJywKKyAgICAn
QW5pbWF0ZWQgdHJhbnNmb3JtIG9mIG1hdHJpeCBmdW5jdGlvbiBhdCAwcyBvZiB0aGUgdGhpcmQg
aXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1
cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYp
LnRyYW5zZm9ybSwKKyAgICAvLyBmcm9tOiBtYXRyaXgoNiwgMCwgMCwgNiwgNjAsIDApCisgICAg
Ly8gdG86ICAgbWF0cml4KDcsIDAsIDAsIDcsIDkwLCAwKQorICAgIC8vICAgICAgICAgPSBzY2Fs
ZSgzKSArIChzY2FsZSgzLTEpKjIpICsgdHJhbnNsYXRlWCgzMHB4KSozCisgICAgJ21hdHJpeCg2
LjUsIDAsIDAsIDYuNSwgNzUsIDApJywKKyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtIG9mIG1hdHJp
eCBmdW5jdGlvbiBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlv
bkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gb2YgbWF0cml4IGZ1bmN0aW9uJyk7CisKK3Rlc3QoZnVu
Y3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9CisgICAg
ZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsndHJhbnNsYXRlWCgwcHgpIHNjYWxlKDIpJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSgzKSB0cmFuc2xhdGVYKDEwcHgpJ10g
fSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAg
ICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlv
bnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0
ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZl
Y3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAvLyBJbnRlcnBvbGF0ZSBiZXR3ZWVuIG1hdHJp
eCgyLCAwLCAwLCAyLCAgMCwgMCkgPSB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMikKKyAgICAvLyAg
ICAgICAgICAgICAgICAgYW5kIG1hdHJpeCgzLCAwLCAwLCAzLCAzMCwgMCkgPSBzY2FsZSgzKSB0
cmFuc2xhdGVYKDEwcHgpCisgICAgJ21hdHJpeCgyLjUsIDAsIDAsIDIuNSwgMTUsIDApJywKKyAg
ICAnQW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3QgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24n
KTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7
CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0s
CisgICAgLy8gJ2Zyb20nIGFuZCAndG8nIHZhbHVlIGFyZSBtaXNtYXRjaGVkLCBzbyBhY2N1bXVs
YXRlCisgICAgLy8gbWF0cml4KDIsIDAsIDAsIDIsIDAsIDApIG9udG8gbWF0cml4KDMsIDAsIDAs
IDMsIDMwLCAwKSAqIDIKKyAgICAvLyAgPSBzY2FsZSgyKSArIChzY2FsZSgzLTEpKjIpICsgdHJh
bnNsYXRlWCgzMHB4KSoyCisgICAgJ21hdHJpeCg2LCAwLCAwLCA2LCA2MCwgMCknLAorICAgICdB
bmltYXRlZCB0cmFuc2Zvcm0gbGlzdCBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cisg
IGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAg
YXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAg
ICAvLyBJbnRlcnBvbGF0ZSBiZXR3ZWVuIG1hdHJpeCg2LCAwLCAwLCA2LCA2MCwgMCkKKyAgICAv
LyAgICAgICAgICAgICAgICAgYW5kIG1hdHJpeCg3LCAwLCAwLCA3LCAyMTAsIDApID0gc2NhbGUo
NykgdHJhbnNsYXRlKDMwcHgpCisgICAgJ21hdHJpeCg2LjUsIDAsIDAsIDYuNSwgMTM1LCAwKScs
CisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBsaXN0IGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0
aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybSBsaXN0IGFuaW1hdGlv
biB3aG9zZSBvcmRlciBpcyBtaXNtYXRjaGVkJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICAvLyBFdmVuIGlmIGVhY2ggdHJhbnNmb3JtIGxpc3Qg
ZG9lcyBub3QgaGF2ZSBmdW5jdGlvbnMgd2hpY2ggZXhpc3QgaW4KKyAgLy8gb3RoZXIgcGFpciBv
ZiB0aGUgbGlzdCwgd2UgZG9uJ3QgZmlsbCBhbnkgbWlzc2luZyBmdW5jdGlvbnMgYXQgYWxsLgor
ICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsndHJhbnNsYXRlWCgw
cHgpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSgyKSB0cmFuc2xhdGVY
KDEwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VD
LAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAg
IGl0ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAn
YWNjdW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0g
YW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMo
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAvLyBJbnRlcnBvbGF0ZSBiZXR3
ZWVuIG1hdHJpeCgxLCAwLCAwLCAxLCAgMCwgMCkgPSB0cmFuc2xhdGVYKDBweCkKKyAgICAvLyAg
ICAgICAgICAgICAgICAgYW5kIG1hdHJpeCgyLCAwLCAwLCAyLCAyMCwgMCkgPSBzY2FsZSgyKSB0
cmFuc2xhdGVYKDEwcHgpCisgICAgJ21hdHJpeCgxLjUsIDAsIDAsIDEuNSwgMTAsIDApJywKKyAg
ICAnQW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3QgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24n
KTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7
CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0s
CisgICAgLy8gJ2Zyb20nIGFuZCAndG8nIHZhbHVlIGFyZSBtaXNtYXRjaGVkLCBzbyBhY2N1bXVs
YXRlCisgICAgLy8gbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApIG9udG8gbWF0cml4KDIsIDAsIDAs
IDIsIDIwLCAwKSAqIDIKKyAgICAvLyAgPSBzY2FsZSgxKSArIChzY2FsZSgyLTEpKjIpICsgdHJh
bnNsYXRlWCgyMHB4KSoyCisgICAgJ21hdHJpeCgzLCAwLCAwLCAzLCA0MCwgMCknLAorICAgICdB
bmltYXRlZCB0cmFuc2Zvcm0gbGlzdCBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cisg
IGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAg
YXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAg
ICAvLyBJbnRlcnBvbGF0ZSBiZXR3ZWVuIG1hdHJpeCgzLCAwLCAwLCAzLCA0MCwgMCkKKyAgICAv
LyAgICAgICAgICAgICAgICAgYW5kIG1hdHJpeCg0LCAwLCAwLCA0LCAxMjAsIDApID0KKyAgICAv
LyAgICAgICAgICAgICAgICAgICAgICAgc2NhbGUoMiArICgyLTEpKjIpIHRyYW5zbGF0ZSgxMHB4
ICogMykKKyAgICAnbWF0cml4KDMuNSwgMCwgMCwgMy41LCA4MCwgMCknLAorICAgICdBbmltYXRl
ZCB0cmFuc2Zvcm0gbGlzdCBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0
ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gbGlzdCBhbmltYXRpb24gd2hvc2Ugb3JkZXIg
aXMgbWlzbWF0Y2hlZCAnICsKKyAgICdiZWNhdXNlIG9mIG1pc3NpbmcgZnVuY3Rpb25zJyk7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5p
bSA9CisgICAgZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsnbm9uZScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAndHJhbnNsYXRlWCgxMHB4KSddIH0sCisgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzog
J2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAg
ICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNl
KCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAv
IDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zv
cm0sCisgICAgLy8gdHJhbnNsYXRlWChub25lKSAtPiB0cmFuc2xhdGVYKDEwcHgpIEAgNTAlCisg
ICAgJ21hdHJpeCgxLCAwLCAwLCAxLCA1LCAwKScsCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBs
aXN0IGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUg
PSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfbWF0cml4X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgIC8vIHRyYW5zbGF0ZVgoMTBw
eCAqIDIgKyBub25lKSAtPiB0cmFuc2xhdGVYKDEwcHggKiAyICsgMTBweCkgQCAwJQorICAgICdt
YXRyaXgoMSwgMCwgMCwgMSwgMjAsIDApJywKKyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3Qg
YXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFu
aW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgLy8gdHJhbnNsYXRlWCgxMHB4ICog
MiArIG5vbmUpIC0+IHRyYW5zbGF0ZVgoMTBweCAqIDIgKyAxMHB4KSBAIDUwJQorICAgICdtYXRy
aXgoMSwgMCwgMCwgMSwgMjUsIDApJywKKyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3QgYXQg
NTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUgb2Yg
dHJhbnNmb3JtIGZyb20gbm9uZSB0byB0cmFuc2xhdGUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0
ZSh7IHRyYW5zZm9ybTogWydtYXRyaXgzZCgxLCAwLCAgMCwgMCwgJyArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnMCwgMSwgIDAsIDAsICcgKworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJzAsIDAsICAxLCAwLCAnICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwLCAwLCAzMCwgMSknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ21hdHJpeDNkKDEsIDAsICAwLCAwLCAnICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwLCAxLCAgMCwgMCwgJyArCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMCwgMCwgIDEsIDAsICcgKworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzAsIDAsIDUwLCAxKSddIH0sCisgICAgICAg
ICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAg
IGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAg
ICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBh
bmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5k
dXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2
KS50cmFuc2Zvcm0sCisgICAgJ21hdHJpeDNkKDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAs
IDEsIDAsIDAsIDAsIDQwLCAxKScsCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBvZiBtYXRyaXgz
ZCBmdW5jdGlvbiBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJl
bnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0X21hdHJp
eF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAvLyB0cmFuc2xh
dGVaKDMwcHgpICsgKHRyYW5zbGF0ZVooNTBweCkqMikKKyAgICAnbWF0cml4M2QoMSwgMCwgMCwg
MCwgMCwgMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMTMwLCAxKScsCisgICAgJ0FuaW1hdGVk
IHRyYW5zZm9ybSBvZiBtYXRyaXgzZCBmdW5jdGlvbiBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0
aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9u
IC8gMjsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5z
Zm9ybSwKKyAgICAvLyBmcm9tOiBtYXRyaXgzZCgxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAw
LCAxLCAwLCAwLCAwLCAxMzAsIDEpCisgICAgLy8gdG86ICAgbWF0cml4M2QoMSwgMCwgMCwgMCwg
MCwgMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMTUwLCAxKQorICAgICdtYXRyaXgzZCgxLCAw
LCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAxNDAsIDEpJywKKyAgICAnQW5p
bWF0ZWQgdHJhbnNmb3JtIG9mIG1hdHJpeDNkIGZ1bmN0aW9uIGF0IDUwcyBvZiB0aGUgdGhpcmQg
aXRlcmF0aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybSBvZiBtYXRy
aXgzZCBmdW5jdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW0gPQorICAgIGRpdi5hbmltYXRlKHsgdHJhbnNmb3JtOiBbJ3Jv
dGF0ZTNkKDEsIDEsIDAsIDBkZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdy
b3RhdGUzZCgxLCAxLCAwLCA5MGRlZyknXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAor
ICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVy
YXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFu
aW0uY3VycmVudFRpbWUgPSAwOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0
eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCknLCAvLyBB
Y3R1YWxseSBub3Qgcm90YXRlZCBhdCBhbGwuCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBvZiBy
b3RhdGUzZCBmdW5jdGlvbiBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBhbmlt
LmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0
X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICByb3Rh
dGUzZFRvTWF0cml4M2QoMSwgMSwgMCwgTWF0aC5QSSksIC8vIDE4MGRlZworICAgICdBbmltYXRl
ZCB0cmFuc2Zvcm0gb2Ygcm90YXRlM2QgZnVuY3Rpb24gYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJh
dGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlv
biAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFu
c2Zvcm0sCisgICAgcm90YXRlM2RUb01hdHJpeDNkKDEsIDEsIDAsIDIyNSAqIE1hdGguUEkgLyAx
ODApLCAvLygoMjcwICsgMTgwKSAqIDAuNSlkZWcKKyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtIG9m
IHJvdGF0ZTNkIGZ1bmN0aW9uIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAn
aXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRyYW5zZm9ybSBvZiByb3RhdGUzZCBmdW5jdGlvbicpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFu
aW0gPQorICAgIGRpdi5hbmltYXRlKHsgbWFyZ2luTGVmdDogWycxMHB4JywgJzIwcHgnXSB9LAor
ICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAg
ICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczog
MTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9
KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50
aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2
KS5tYXJnaW5MZWZ0LCAnMTVweCcsCisgICAgJ0FuaW1hdGVkIG1hcmdpbi1sZWZ0IHN0eWxlIGF0
IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmlt
LmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnNTBweCcsIC8vIDEwcHggKyAyMHB4ICsgMjBweAorICAg
ICdBbmltYXRlZCBtYXJnaW4tbGVmdCBzdHlsZSBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9u
Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8g
MjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzU1
cHgnLCAvLyAoNTBweCArIDYwcHgpICogMC41CisgICAgJ0FuaW1hdGVkIG1hcmdpbi1sZWZ0IHN0
eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9z
aXRlIHN0YXJ0cyB3aXRoIG5vbi16ZXJvIHZhbHVlIGFuaW1hdGlvbicpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPQorICAgIGRp
di5hbmltYXRlKHsgbWFyZ2luTGVmdDogWycxMHB4JywgJy0xMHB4J10gfSwKKyAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgZWFz
aW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDEwLAorICAgICAg
ICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgIGFuaW0u
cGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0
aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVm
dCwKKyAgICAnMHB4JywKKyAgICAnQW5pbWF0ZWQgbWFyZ2luLWxlZnQgc3R5bGUgYXQgNTBzIG9m
IHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0
LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShk
aXYpLm1hcmdpbkxlZnQsCisgICAgJy0xMHB4JywgLy8gMTBweCArIC0xMHB4ICsgLTEwcHgKKyAg
ICAnQW5pbWF0ZWQgbWFyZ2luLWxlZnQgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlv
bicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAv
IDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsCisg
ICAgJy0yMHB4JywgLy8gKC0xMHB4ICsgLTMwcHgpICogMC41CisgICAgJ0FuaW1hdGVkIG1hcmdp
bi1sZWZ0IHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAnaXRlcmF0
aW9uQ29tcG9zaXRlIHdpdGggbmVnYXRpdmUgZmluYWwgdmFsdWUgYW5pbWF0aW9uJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9
IGRpdi5hbmltYXRlKHsgbWFyZ2luTGVmdDogWycwcHgnLCAnMTBweCddIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlv
bkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5j
dXJyZW50VGltZSA9CisgICAgYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMiArIGFuaW0u
ZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLm1hcmdpbkxlZnQsICcyNXB4JywKKyAgICAnQW5pbWF0ZWQgc3R5bGUgYXQgNTBz
IG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKworICBhbmltLmVmZmVjdC5pdGVyYXRpb25Db21w
b3NpdGUgPSAncmVwbGFjZSc7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYp
Lm1hcmdpbkxlZnQsICc1cHgnLAorICAgICdBbmltYXRlZCBzdHlsZSBhdCA1MHMgb2YgdGhlIHRo
aXJkIGl0ZXJhdGlvbicpOworCisgIGFuaW0uZWZmZWN0Lml0ZXJhdGlvbkNvbXBvc2l0ZSA9ICdh
Y2N1bXVsYXRlJzsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2lu
TGVmdCwgJzI1cHgnLAorICAgICdBbmltYXRlZCBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0
ZXJhdGlvbicpOworfSwgJ2ludGVyYXRpb25Db21wb3NpdGUgY2hhbmdlcycpOworCit0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYu
YW5pbWF0ZSh7IG1hcmdpbkxlZnQ6IFsnMHB4JywgJzEwcHgnXSB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
aXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21w
b3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVu
dFRpbWUgPQorICAgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDIgKyBhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS5tYXJnaW5MZWZ0LCAnMjVweCcsCisgICAgJ0FuaW1hdGVkIHN0eWxlIGF0IDUwcyBvZiB0
aGUgdGhpcmQgaXRlcmF0aW9uJyk7CisKKyAgLy8gZG91YmxlIGl0cyBkdXJhdGlvbi4KKyAgYW5p
bS5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICog
MjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzEy
LjVweCcsCisgICAgJ0FuaW1hdGVkIHN0eWxlIGF0IDI1cyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9u
Jyk7CisKKyAgLy8gaGFsZiBvZiBvcmlnaW5hbC4KKyAgYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0
aW9uID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gNDsKKyAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzUwcHgnLAorICAgICAgJ0FuaW1hdGVk
IHN0eWxlIGF0IDUwcyBvZiB0aGUgZm91cnRoIGl0ZXJhdGlvbicpOworfSwgJ2R1cmF0aW9uIGNo
YW5nZXMgd2l0aCBpdGVyYXRpb25Db21wb3NpdGUoYWNjdW11bGF0ZSknKTsKKworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxM2U1NDRlZTc3NmViMGNmZTA3MTkyZmJmNmM2YWY4Njlh
NzMwODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJn
dW1lbnQtMDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDU5IEBACisKK1BBU1Mgbm9uLWFuaW1h
dGFibGUgcHJvcGVydHkgJ2FuaW1hdGlvbicgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJv
cGVydHkgJ2FuaW1hdGlvbkRlbGF5JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWUgb2JqZWN0IAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0
eSAnYW5pbWF0aW9uRGlyZWN0aW9uJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWUgb2JqZWN0IAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0
eSAnYW5pbWF0aW9uRHVyYXRpb24nIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5
ICdhbmltYXRpb25GaWxsTW9kZScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkg
J2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIHBy
b3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgb2JqZWN0IAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9w
ZXJ0eSAnYW5pbWF0aW9uTmFtZScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkg
J2FuaW1hdGlvblBsYXlTdGF0ZScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkg
J2FuaW1hdGlvblRpbWluZ0Z1bmN0aW9uJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIHBy
b3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgb2JqZWN0IAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9w
ZXJ0eSAndHJhbnNpdGlvbicgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ3Ry
YW5zaXRpb25EZWxheScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ3RyYW5z
aXRpb25EdXJhdGlvbicgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ3RyYW5z
aXRpb25Qcm9wZXJ0eScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ3RyYW5z
aXRpb25UaW1pbmdGdW5jdGlvbicgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkg
J2Rpc3BsYXknIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5ICd1bnN1cHBvcnRl
ZFByb3BlcnR5JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWUgb2JqZWN0IAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAnZm9udC1zaXpl
JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUg
b2JqZWN0IAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAnYW5pbWF0aW9uJyBpcyBub3Qg
YWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0
YWJsZSBwcm9wZXJ0eSAnYW5pbWF0aW9uRGVsYXknIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5n
IGEga2V5ZnJhbWUgc2VxdWVuY2UgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5ICdhbmlt
YXRpb25EaXJlY3Rpb24nIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2Vx
dWVuY2UgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5ICdhbmltYXRpb25EdXJhdGlvbicg
aXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mgbm9u
LWFuaW1hdGFibGUgcHJvcGVydHkgJ2FuaW1hdGlvbkZpbGxNb2RlJyBpcyBub3QgYWNjZXNzZWQg
d2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9w
ZXJ0eSAnYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQnIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5n
IGEga2V5ZnJhbWUgc2VxdWVuY2UgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5ICdhbmlt
YXRpb25OYW1lJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNl
IAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAnYW5pbWF0aW9uUGxheVN0YXRlJyBpcyBu
b3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5p
bWF0YWJsZSBwcm9wZXJ0eSAnYW5pbWF0aW9uVGltaW5nRnVuY3Rpb24nIGlzIG5vdCBhY2Nlc3Nl
ZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCitQQVNTIG5vbi1hbmltYXRhYmxlIHBy
b3BlcnR5ICd0cmFuc2l0aW9uJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1l
IHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAndHJhbnNpdGlvbkRlbGF5
JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBu
b24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAndHJhbnNpdGlvbkR1cmF0aW9uJyBpcyBub3QgYWNjZXNz
ZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBw
cm9wZXJ0eSAndHJhbnNpdGlvblByb3BlcnR5JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBh
IGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAndHJhbnNp
dGlvblRpbWluZ0Z1bmN0aW9uJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1l
IHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAnZGlzcGxheScgaXMgbm90
IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mgbm9uLWFuaW1h
dGFibGUgcHJvcGVydHkgJ3Vuc3VwcG9ydGVkUHJvcGVydHknIGlzIG5vdCBhY2Nlc3NlZCB3aGVu
IHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5
ICdmb250LXNpemUnIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVu
Y2UgCitGQUlMIEVxdWl2YWxlbnQgcHJvcGVydHktaW5kZXhlZCBhbmQgc2VxdWVuY2VkIGtleWZy
YW1lczogdHdvIHByb3BlcnRpZXMgd2l0aCBvbmUgdmFsdWUgbmV3IEtleWZyYW1lRWZmZWN0KG51
bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICduZXcg
S2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzKCknLCAnbmV3IEtl
eWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQorRkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFt
ZXM6IHR3byBwcm9wZXJ0aWVzIHdpdGggdGhyZWUgdmFsdWVzIG5ldyBLZXlmcmFtZUVmZmVjdChu
dWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmV3
IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcygpJywgJ25ldyBL
ZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQga2V5ZnJh
bWVzOiB0d28gcHJvcGVydGllcyB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyBuZXcg
S2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlm
cmFtZXMoKScsICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEVxdWl2YWxlbnQgcHJvcGVydHktaW5kZXhlZCBhbmQg
c2VxdWVuY2VkIGtleWZyYW1lczogc2FtZSBlYXNpbmcgYXBwbGllZCB0byBhbGwga2V5ZnJhbWVz
IG5ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdl
dEtleWZyYW1lcygpJywgJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVk
IGFuZCBzZXF1ZW5jZWQga2V5ZnJhbWVzOiBzYW1lIGNvbXBvc2l0ZSBhcHBsaWVkIHRvIGFsbCBr
ZXlmcmFtZXMgbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJh
bWVzQSkuZ2V0S2V5ZnJhbWVzKCknLCAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1l
c0EpLmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgYXJlIHJlYWQg
ZnJvbSBhIGN1c3RvbSBpdGVyYXRvciBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCitGQUlMICdlYXNpbmcnIGFuZCAnb2Zmc2V0JyBhcmUgaWdub3JlZCBvbiBp
dGVyYWJsZSBvYmplY3RzIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGFyZSByZWFkIGZyb20gYSBjdXN0b20gaXRlcmF0b3Igd2l0
aCBtdWx0aXBsZSBwcm9wZXJ0aWVzIHNwZWNpZmllZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBhcmUgcmVhZCBmcm9tIGEgY3Vz
dG9tIGl0ZXJhdG9yIHdpdGggd2hlcmUgYW4gb2Zmc2V0IGlzIHNwZWNpZmllZCBlZmZlY3QuZ2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScs
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIFJlYWRpbmcgZnJvbSBh
IGN1c3RvbSBpdGVyYXRvciB0aGF0IHJldHVybnMgYSBub24tb2JqZWN0IGtleWZyYW1lIHNob3Vs
ZCB0aHJvdyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4geworICAgIG5ldyBLZXlmcmFt
ZUVmZmVjdChudWxsLCBjcmVhdGVJdGVyYWJsZShbCisgICAgICB7IGRvbmU6IGZhbHNlLCB2YWx1
ZTogeyBsZWZ0OiAnMTAwcHgnIH0gfSwKKyAgICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiAxMjM0
IH0sCisgICAgICB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogeyBsZWZ0OiAnMjAwcHgnIH0gfSwKKyAg
ICAgIHsgZG9uZTogdHJ1ZSB9LAorICAgIF0pKTsKKyAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBB
IGxpc3Qgb2YgdmFsdWVzIHJldHVybmVkIGZyb20gYSBjdXN0b20gaXRlcmF0b3Igc2hvdWxkIGJl
IGlnbm9yZWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQor
RkFJTCBPbmx5IGVudW1lcmFibGUgcHJvcGVydGllcyBvbiBrZXlmcmFtZXMgYXJlIHJlYWQgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBPbmx5IHBy
b3BlcnRpZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBrZXlmcmFtZXMgYXJlIHJlYWQgZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCkn
LCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBPbmx5IGVudW1lcmFi
bGUgcHJvcGVydGllcyBvbiBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBhcmUgcmVhZCBlZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIE9ubHkgcHJv
cGVydGllcyBkZWZpbmVkIGRpcmVjdGx5IG9uIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIGFy
ZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0
LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgUHJvcGVydGllcyBhcmUgcmVhZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgVW5pY29kZSBjb2Rl
cG9pbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgYWNjZXNzIG9yZGVyIGxlbmd0aHMg
ZGlmZmVyLCBleHBlY3RlZCA1IGdvdCAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1h
LWtleWZyYW1lcy1hcmd1bWVudC0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1l
cy1hcmd1bWVudC0wMDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjBmNTE5M2M4NGJhZTcxYmJlNGE4NzRh
Yjc2NjNhYWVhZjA2OTRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5
ZnJhbWVzLWFyZ3VtZW50LTAwMS5odG1sCkBAIC0wLDAgKzEsMzUzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+VGVzdHMgZm9yIHByb2Nlc3NpbmcgYSBr
ZXlmcmFtZXMgYXJndW1lbnQgKHByb3BlcnR5IGFjY2Vzcyk8L3RpdGxlPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI3Byb2Nlc3Np
bmctYS1rZXlmcmFtZXMtYXJndW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9rZXlmcmFtZS11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQi
PjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworLy8gVGhpcyBmaWxlIG9ubHkgdGVz
dHMgdGhlIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHNpbmNlIGl0IGlzCisvLyBhc3N1bWVk
IHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNv
bnN0cnVjdG9yLAorLy8gQW5pbWF0YWJsZS5hbmltYXRlKCkgbWV0aG9kLCBhbmQgS2V5ZnJhbWVF
ZmZlY3Quc2V0S2V5ZnJhbWVzKCkgbWV0aG9kIHdpbGwKKy8vIGFsbCBzaGFyZSBjb21tb24gbWFj
aGluZXJ5IGFuZCBpdCBpcyBub3QgbmVjZXNzYXJ5IHRvIHRlc3QgZWFjaCBtZXRob2QuCisKKy8v
IFRlc3QgdGhhdCBvbmx5IGFuaW1hdGFibGUgcHJvcGVydGllcyBhcmUgYWNjZXNzZWQKKworY29u
c3QgZ05vbkFuaW1hdGFibGVQcm9wcyA9IFsKKyAgJ2FuaW1hdGlvbicsIC8vIFNob3J0aGFuZHMg
d2hlcmUgYWxsIHRoZSBsb25naGFuZCBzdWItcHJvcGVydGllcyBhcmUgbm90CisgICAgICAgICAg
ICAgICAvLyBhbmltYXRhYmxlLCBhcmUgYWxzbyBub3QgYW5pbWF0YWJsZS4KKyAgJ2FuaW1hdGlv
bkRlbGF5JywKKyAgJ2FuaW1hdGlvbkRpcmVjdGlvbicsCisgICdhbmltYXRpb25EdXJhdGlvbics
CisgICdhbmltYXRpb25GaWxsTW9kZScsCisgICdhbmltYXRpb25JdGVyYXRpb25Db3VudCcsCisg
ICdhbmltYXRpb25OYW1lJywKKyAgJ2FuaW1hdGlvblBsYXlTdGF0ZScsCisgICdhbmltYXRpb25U
aW1pbmdGdW5jdGlvbicsCisgICd0cmFuc2l0aW9uJywKKyAgJ3RyYW5zaXRpb25EZWxheScsCisg
ICd0cmFuc2l0aW9uRHVyYXRpb24nLAorICAndHJhbnNpdGlvblByb3BlcnR5JywKKyAgJ3RyYW5z
aXRpb25UaW1pbmdGdW5jdGlvbicsCisgICdkaXNwbGF5JywKKyAgJ3Vuc3VwcG9ydGVkUHJvcGVy
dHknLAorICAnZm9udC1zaXplJywgLy8gU3VwcG9ydGVkIHByb3BlcnR5IHRoYXQgdXNlcyBkYXNo
ZXMKK107CisKK2Z1bmN0aW9uIFRlc3RLZXlmcmFtZSh0ZXN0UHJvcCkgeworICBsZXQgX3Byb3BB
Y2Nlc3NDb3VudCA9IDA7CisKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHRlc3RQcm9w
LCB7CisgICAgZ2V0OiAoKSA9PiB7IF9wcm9wQWNjZXNzQ291bnQrKzsgfSwKKyAgICBlbnVtZXJh
YmxlOiB0cnVlLAorICB9KTsKKworICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3Byb3BB
Y2Nlc3NDb3VudCcsIHsKKyAgICBnZXQ6ICgpID0+IF9wcm9wQWNjZXNzQ291bnQKKyAgfSk7Cit9
CisKK2Z1bmN0aW9uIEdldFRlc3RLZXlmcmFtZVNlcXVlbmNlKHRlc3RQcm9wKSB7CisgIHJldHVy
biBbIG5ldyBUZXN0S2V5ZnJhbWUodGVzdFByb3ApIF0KK30KKworZm9yIChjb25zdCBwcm9wIG9m
IGdOb25BbmltYXRhYmxlUHJvcHMpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgY29uc3QgdGVzdEtl
eWZyYW1lID0gbmV3IFRlc3RLZXlmcmFtZShwcm9wKTsKKworICAgIG5ldyBLZXlmcmFtZUVmZmVj
dChudWxsLCB0ZXN0S2V5ZnJhbWUpOworCisgICAgYXNzZXJ0X2VxdWFscyh0ZXN0S2V5ZnJhbWUu
cHJvcEFjY2Vzc0NvdW50LCAwLCAnQWNjZXNzb3Igbm90IGNhbGxlZCcpOworICB9LCBgbm9uLWFu
aW1hdGFibGUgcHJvcGVydHkgJyR7cHJvcH0nIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nYAor
ICAgICArICcgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCcpOworfQorCitmb3Ig
KGNvbnN0IHByb3Agb2YgZ05vbkFuaW1hdGFibGVQcm9wcykgeworICB0ZXN0KCgpID0+IHsKKyAg
ICBjb25zdCB0ZXN0S2V5ZnJhbWVzID0gR2V0VGVzdEtleWZyYW1lU2VxdWVuY2UocHJvcCk7CisK
KyAgICBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwgdGVzdEtleWZyYW1lcyk7CisKKyAgICBhc3Nl
cnRfZXF1YWxzKHRlc3RLZXlmcmFtZXNbMF0ucHJvcEFjY2Vzc0NvdW50LCAwLCAnQWNjZXNzb3Ig
bm90IGNhbGxlZCcpOworICB9LCBgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJyR7cHJvcH0nIGlz
IG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nYAorICAgICArICcgYSBrZXlmcmFtZSBzZXF1ZW5jZScp
OworfQorCisvLyBUZXN0IGVxdWl2YWxlbnQgZm9ybXMgb2YgcHJvcGVydHktaW5kZXhlZCBhbmQg
c2VxdWVuY2VkIGtleWZyYW1lIHN5bnRheAorCitmdW5jdGlvbiBhc3NlcnRFcXVpdmFsZW50S2V5
ZnJhbWVTeW50YXgoa2V5ZnJhbWVzQSwga2V5ZnJhbWVzQikgeworICBjb25zdCBwcm9jZXNzZWRL
ZXlmcmFtZXNBID0KKyAgICBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0
S2V5ZnJhbWVzKCk7CisgIGNvbnN0IHByb2Nlc3NlZEtleWZyYW1lc0IgPQorICAgIG5ldyBLZXlm
cmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNCKS5nZXRLZXlmcmFtZXMoKTsKKyAgYXNzZXJ0X2Zy
YW1lX2xpc3RzX2VxdWFsKHByb2Nlc3NlZEtleWZyYW1lc0EsIHByb2Nlc3NlZEtleWZyYW1lc0Ip
OworfQorCitjb25zdCBnRXF1aXZhbGVudFN5bnRheFRlc3RzID0gWworICB7CisgICAgZGVzY3Jp
cHRpb246ICd0d28gcHJvcGVydGllcyB3aXRoIG9uZSB2YWx1ZScsCisgICAgaW5kZXhlZEtleWZy
YW1lczogeworICAgICAgbGVmdDogJzEwMHB4JywKKyAgICAgIG9wYWNpdHk6IFsnMSddLAorICAg
IH0sCisgICAgc2VxdWVuY2VkS2V5ZnJhbWVzOiBbCisgICAgICB7IGxlZnQ6ICcxMDBweCcsIG9w
YWNpdHk6ICcxJyB9LAorICAgIF0sCisgIH0sCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ3R3byBw
cm9wZXJ0aWVzIHdpdGggdGhyZWUgdmFsdWVzJywKKyAgICBpbmRleGVkS2V5ZnJhbWVzOiB7Cisg
ICAgICBsZWZ0OiBbJzEwcHgnLCAnMTAwcHgnLCAnMTUwcHgnXSwKKyAgICAgIG9wYWNpdHk6IFsn
MScsICcwJywgJzEnXSwKKyAgICB9LAorICAgIHNlcXVlbmNlZEtleWZyYW1lczogWworICAgICAg
eyBsZWZ0OiAnMTBweCcsIG9wYWNpdHk6ICcxJyB9LAorICAgICAgeyBsZWZ0OiAnMTAwcHgnLCBv
cGFjaXR5OiAnMCcgfSwKKyAgICAgIHsgbGVmdDogJzE1MHB4Jywgb3BhY2l0eTogJzEnIH0sCisg
ICAgXSwKKyAgfSwKKyAgeworICAgIGRlc2NyaXB0aW9uOiAndHdvIHByb3BlcnRpZXMgd2l0aCBk
aWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMnLAorICAgIGluZGV4ZWRLZXlmcmFtZXM6IHsKKyAg
ICAgIGxlZnQ6IFsnMHB4JywgJzEwMHB4JywgJzIwMHB4J10sCisgICAgICBvcGFjaXR5OiBbJzAn
LCAnMSddCisgICAgfSwKKyAgICBzZXF1ZW5jZWRLZXlmcmFtZXM6IFsKKyAgICAgIHsgbGVmdDog
JzBweCcsIG9wYWNpdHk6ICcwJyB9LAorICAgICAgeyBsZWZ0OiAnMTAwcHgnIH0sCisgICAgICB7
IGxlZnQ6ICcyMDBweCcsIG9wYWNpdHk6ICcxJyB9LAorICAgIF0sCisgIH0sCisgIHsKKyAgICBk
ZXNjcmlwdGlvbjogJ3NhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYWxsIGtleWZyYW1lcycsCisgICAg
aW5kZXhlZEtleWZyYW1lczogeworICAgICAgbGVmdDogWycxMHB4JywgJzEwMHB4JywgJzE1MHB4
J10sCisgICAgICBvcGFjaXR5OiBbJzEnLCAnMCcsICcxJ10sCisgICAgICBlYXNpbmc6ICdlYXNl
JywKKyAgICB9LAorICAgIHNlcXVlbmNlZEtleWZyYW1lczogWworICAgICAgeyBsZWZ0OiAnMTBw
eCcsIG9wYWNpdHk6ICcxJywgZWFzaW5nOiAnZWFzZScgfSwKKyAgICAgIHsgbGVmdDogJzEwMHB4
Jywgb3BhY2l0eTogJzAnLCBlYXNpbmc6ICdlYXNlJyB9LAorICAgICAgeyBsZWZ0OiAnMTUwcHgn
LCBvcGFjaXR5OiAnMScsIGVhc2luZzogJ2Vhc2UnIH0sCisgICAgXSwKKyAgfSwKKyAgeworICAg
IGRlc2NyaXB0aW9uOiAnc2FtZSBjb21wb3NpdGUgYXBwbGllZCB0byBhbGwga2V5ZnJhbWVzJywK
KyAgICBpbmRleGVkS2V5ZnJhbWVzOiB7CisgICAgICBsZWZ0OiBbJzBweCcsICcxMDBweCddLAor
ICAgICAgY29tcG9zaXRlOiAnYWRkJywKKyAgICB9LAorICAgIHNlcXVlbmNlZEtleWZyYW1lczog
WworICAgICAgeyBsZWZ0OiAnMHB4JywgY29tcG9zaXRlOiAnYWRkJyB9LAorICAgICAgeyBsZWZ0
OiAnMTAwcHgnLCBjb21wb3NpdGU6ICdhZGQnIH0sCisgICAgXSwKKyAgfSwKK107CisKK2ZvciAo
Y29uc3Qge2Rlc2NyaXB0aW9uLCBpbmRleGVkS2V5ZnJhbWVzLCBzZXF1ZW5jZWRLZXlmcmFtZXN9
IG9mCisgICAgIGdFcXVpdmFsZW50U3ludGF4VGVzdHMpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAg
YXNzZXJ0RXF1aXZhbGVudEtleWZyYW1lU3ludGF4KGluZGV4ZWRLZXlmcmFtZXMsIHNlcXVlbmNl
ZEtleWZyYW1lcyk7CisgIH0sIGBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVl
bmNlZCBrZXlmcmFtZXM6ICR7ZGVzY3JpcHRpb259YCk7Cit9CisKKy8vIFRlc3QgaGFuZGxpbmcg
b2YgY3VzdG9tIGl0ZXJhYmxlIG9iamVjdHMuCisKK2Z1bmN0aW9uIGNyZWF0ZUl0ZXJhYmxlKGl0
ZXJhdGlvbnMpIHsKKyAgcmV0dXJuIHsKKyAgICBbU3ltYm9sLml0ZXJhdG9yXSgpIHsKKyAgICAg
IGxldCBpID0gMDsKKyAgICAgIHJldHVybiB7CisgICAgICAgIG5leHQoKSB7CisgICAgICAgICAg
cmV0dXJuIGl0ZXJhdGlvbnNbaSsrXTsKKyAgICAgICAgfSwKKyAgICAgIH07CisgICAgfSwKKyAg
fTsKK30KKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVj
dChudWxsLCBjcmVhdGVJdGVyYWJsZShbCisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVm
dDogJzEwMHB4JyB9IH0sCisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzMwMHB4
JyB9IH0sCisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzIwMHB4JyB9IH0sCisg
ICAgeyBkb25lOiB0cnVlIH0sCisgIF0pKTsKKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGVm
ZmVjdC5nZXRLZXlmcmFtZXMoKSwgWworICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNl
dDogMCwgZWFzaW5nOiAnbGluZWFyJywgbGVmdDogJzEwMHB4JyB9LAorICAgIHsgb2Zmc2V0OiBu
dWxsLCBjb21wdXRlZE9mZnNldDogMC41LCBlYXNpbmc6ICdsaW5lYXInLCBsZWZ0OiAnMzAwcHgn
IH0sCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICdsaW5l
YXInLCBsZWZ0OiAnMjAwcHgnIH0sCisgIF0pOworfSwgJ0tleWZyYW1lcyBhcmUgcmVhZCBmcm9t
IGEgY3VzdG9tIGl0ZXJhdG9yJyk7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBrZXlmcmFtZXMg
PSBjcmVhdGVJdGVyYWJsZShbCisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzEw
MHB4JyB9IH0sCisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzMwMHB4JyB9IH0s
CisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzIwMHB4JyB9IH0sCisgICAgeyBk
b25lOiB0cnVlIH0sCisgIF0pOworICBrZXlmcmFtZXMuZWFzaW5nID0gJ2Vhc2UtaW4tb3V0JzsK
KyAga2V5ZnJhbWVzLm9mZnNldCA9ICcwLjEnOworICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJh
bWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzKTsKKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGVm
ZmVjdC5nZXRLZXlmcmFtZXMoKSwgWworICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNl
dDogMCwgZWFzaW5nOiAnbGluZWFyJywgbGVmdDogJzEwMHB4JyB9LAorICAgIHsgb2Zmc2V0OiBu
dWxsLCBjb21wdXRlZE9mZnNldDogMC41LCBlYXNpbmc6ICdsaW5lYXInLCBsZWZ0OiAnMzAwcHgn
IH0sCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICdsaW5l
YXInLCBsZWZ0OiAnMjAwcHgnIH0sCisgIF0pOworfSwgIidlYXNpbmcnIGFuZCAnb2Zmc2V0JyBh
cmUgaWdub3JlZCBvbiBpdGVyYWJsZSBvYmplY3RzIik7CisKK3Rlc3QoKCkgPT4geworICBjb25z
dCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwgY3JlYXRlSXRlcmFibGUoWworICAg
IHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6ICcxMDBweCcsIHRvcDogJzIwMHB4JyB9IH0s
CisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzMwMHB4JyB9IH0sCisgICAgeyBk
b25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzIwMHB4JywgdG9wOiAnMTAwcHgnIH0gfSwKKyAg
ICB7IGRvbmU6IHRydWUgfSwKKyAgXSkpOworICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZWZm
ZWN0LmdldEtleWZyYW1lcygpLCBbCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0
OiAwLCBlYXNpbmc6ICdsaW5lYXInLCBsZWZ0OiAnMTAwcHgnLAorICAgICAgdG9wOiAnMjAwcHgn
IH0sCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLjUsIGVhc2luZzogJ2xp
bmVhcicsIGxlZnQ6ICczMDBweCcgfSwKKyAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZz
ZXQ6IDEsIGVhc2luZzogJ2xpbmVhcicsIGxlZnQ6ICcyMDBweCcsCisgICAgICB0b3A6ICcxMDBw
eCcgfSwKKyAgXSk7Cit9LCAnS2V5ZnJhbWVzIGFyZSByZWFkIGZyb20gYSBjdXN0b20gaXRlcmF0
b3Igd2l0aCBtdWx0aXBsZSBwcm9wZXJ0aWVzJworICAgKyAnIHNwZWNpZmllZCcpOworCit0ZXN0
KCgpID0+IHsKKyAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGNyZWF0
ZUl0ZXJhYmxlKFsKKyAgICB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogeyBsZWZ0OiAnMTAwcHgnIH0g
fSwKKyAgICB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogeyBsZWZ0OiAnMjUwcHgnLCBvZmZzZXQ6IDAu
NzUgfSB9LAorICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6ICcyMDBweCcgfSB9LAor
ICAgIHsgZG9uZTogdHJ1ZSB9LAorICBdKSk7CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChl
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIFsKKyAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZz
ZXQ6IDAsIGVhc2luZzogJ2xpbmVhcicsIGxlZnQ6ICcxMDBweCcgfSwKKyAgICB7IG9mZnNldDog
MC43NSwgY29tcHV0ZWRPZmZzZXQ6IDAuNzUsIGVhc2luZzogJ2xpbmVhcicsIGxlZnQ6ICcyNTBw
eCcgfSwKKyAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogJ2xp
bmVhcicsIGxlZnQ6ICcyMDBweCcgfSwKKyAgXSk7Cit9LCAnS2V5ZnJhbWVzIGFyZSByZWFkIGZy
b20gYSBjdXN0b20gaXRlcmF0b3Igd2l0aCB3aGVyZSBhbiBvZmZzZXQgaXMnCisgICArICcgc3Bl
Y2lmaWVkJyk7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVF
cnJvcicgfSwgKCkgPT4geworICAgIG5ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBjcmVhdGVJdGVy
YWJsZShbCisgICAgICB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogeyBsZWZ0OiAnMTAwcHgnIH0gfSwK
KyAgICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiAxMjM0IH0sCisgICAgICB7IGRvbmU6IGZhbHNl
LCB2YWx1ZTogeyBsZWZ0OiAnMjAwcHgnIH0gfSwKKyAgICAgIHsgZG9uZTogdHJ1ZSB9LAorICAg
IF0pKTsKKyAgfSk7Cit9LCAnUmVhZGluZyBmcm9tIGEgY3VzdG9tIGl0ZXJhdG9yIHRoYXQgcmV0
dXJucyBhIG5vbi1vYmplY3Qga2V5ZnJhbWUnCisgICArICcgc2hvdWxkIHRocm93Jyk7CisKK3Rl
c3QoKCkgPT4geworICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwgY3Jl
YXRlSXRlcmFibGUoWworICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6IFsnMTAwcHgn
LCAnMjAwcHgnXSB9IH0sCisgICAgeyBkb25lOiB0cnVlIH0sCisgIF0pKTsKKyAgYXNzZXJ0X2Zy
YW1lX2xpc3RzX2VxdWFsKGVmZmVjdC5nZXRLZXlmcmFtZXMoKSwgWworICAgIHsgb2Zmc2V0OiBu
dWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAnbGluZWFyJyB9CisgIF0pOworfSwgJ0Eg
bGlzdCBvZiB2YWx1ZXMgcmV0dXJuZWQgZnJvbSBhIGN1c3RvbSBpdGVyYXRvciBzaG91bGQgYmUg
aWdub3JlZCcpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3Qga2V5ZnJhbWUgPSB7fTsKKyAgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KGtleWZyYW1lLCAnd2lkdGgnLCB7IHZhbHVlOiAnMjAwcHgnIH0p
OworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoa2V5ZnJhbWUsICdoZWlnaHQnLCB7CisgICAgdmFs
dWU6ICcxMDBweCcsCisgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgfSk7CisgIGFzc2VydF9lcXVh
bHMoa2V5ZnJhbWUud2lkdGgsICcyMDBweCcsICd3aWR0aCBvZiBrZXlmcmFtZSBpcyByZWFkYWJs
ZScpOworICBhc3NlcnRfZXF1YWxzKGtleWZyYW1lLmhlaWdodCwgJzEwMHB4JywgJ2hlaWdodCBv
ZiBrZXlmcmFtZSBpcyByZWFkYWJsZScpOworCisgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFt
ZUVmZmVjdChudWxsLCBba2V5ZnJhbWUsIHsgaGVpZ2h0OiAnMjAwcHgnIH1dKTsKKworICBhc3Nl
cnRfZnJhbWVfbGlzdHNfZXF1YWwoZWZmZWN0LmdldEtleWZyYW1lcygpLCBbCisgICAgeyBvZmZz
ZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICdsaW5lYXInLCBoZWlnaHQ6ICcx
MDBweCcgfSwKKyAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzog
J2xpbmVhcicsIGhlaWdodDogJzIwMHB4JyB9LAorICBdKTsKK30sICdPbmx5IGVudW1lcmFibGUg
cHJvcGVydGllcyBvbiBrZXlmcmFtZXMgYXJlIHJlYWQnKTsKKwordGVzdCgoKSA9PiB7CisgIGNv
bnN0IEtleWZyYW1lUGFyZW50ID0gZnVuY3Rpb24oKSB7IHRoaXMud2lkdGggPSAnMTAwcHgnOyB9
OworICBLZXlmcmFtZVBhcmVudC5wcm90b3R5cGUgPSB7IGhlaWdodDogJzEwMHB4JyB9OworICBj
b25zdCBLZXlmcmFtZSA9IGZ1bmN0aW9uKCkgeyB0aGlzLnRvcCA9ICcxMDBweCc7IH07CisgIEtl
eWZyYW1lLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoS2V5ZnJhbWVQYXJlbnQucHJvdG90eXBl
KTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEtleWZyYW1lLnByb3RvdHlwZSwgJ2xlZnQnLCB7
CisgICAgdmFsdWU6ICcxMDBweCcsCisgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgfSk7CisgIGNv
bnN0IGtleWZyYW1lID0gbmV3IEtleWZyYW1lKCk7CisKKyAgY29uc3QgZWZmZWN0ID0gbmV3IEtl
eWZyYW1lRWZmZWN0KG51bGwsIFtrZXlmcmFtZSwgeyB0b3A6ICcyMDBweCcgfV0pOworCisgIGFz
c2VydF9mcmFtZV9saXN0c19lcXVhbChlZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIFsKKyAgICB7IG9m
ZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogJ2xpbmVhcicsIHRvcDogJzEw
MHB4JyB9LAorICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAn
bGluZWFyJywgdG9wOiAnMjAwcHgnIH0sCisgIF0pOworfSwgJ09ubHkgcHJvcGVydGllcyBkZWZp
bmVkIGRpcmVjdGx5IG9uIGtleWZyYW1lcyBhcmUgcmVhZCcpOworCit0ZXN0KCgpID0+IHsKKyAg
Y29uc3Qga2V5ZnJhbWVzID0ge307CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShrZXlmcmFtZXMs
ICd3aWR0aCcsIFsnMTAwcHgnLCAnMjAwcHgnXSk7CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShr
ZXlmcmFtZXMsICdoZWlnaHQnLCB7CisgICAgdmFsdWU6IFsnMTAwcHgnLCAnMjAwcHgnXSwKKyAg
ICBlbnVtZXJhYmxlOiB0cnVlLAorICB9KTsKKworICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJh
bWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzKTsKKworICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwo
ZWZmZWN0LmdldEtleWZyYW1lcygpLCBbCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zm
c2V0OiAwLCBlYXNpbmc6ICdsaW5lYXInLCBoZWlnaHQ6ICcxMDBweCcgfSwKKyAgICB7IG9mZnNl
dDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogJ2xpbmVhcicsIGhlaWdodDogJzIw
MHB4JyB9LAorICBdKTsKK30sICdPbmx5IGVudW1lcmFibGUgcHJvcGVydGllcyBvbiBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBhcmUgcmVhZCcpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3Qg
S2V5ZnJhbWVzUGFyZW50ID0gZnVuY3Rpb24oKSB7IHRoaXMud2lkdGggPSAnMTAwcHgnOyB9Owor
ICBLZXlmcmFtZXNQYXJlbnQucHJvdG90eXBlID0geyBoZWlnaHQ6ICcxMDBweCcgfTsKKyAgY29u
c3QgS2V5ZnJhbWVzID0gZnVuY3Rpb24oKSB7IHRoaXMudG9wID0gWycxMDBweCcsICcyMDBweCdd
OyB9OworICBLZXlmcmFtZXMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShLZXlmcmFtZXNQYXJl
bnQucHJvdG90eXBlKTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEtleWZyYW1lcy5wcm90b3R5
cGUsICdsZWZ0JywgeworICAgIHZhbHVlOiBbJzEwMHB4JywgJzIwMHB4J10sCisgICAgZW51bWVy
YWJsZTogdHJ1ZSwKKyAgfSk7CisgIGNvbnN0IGtleWZyYW1lcyA9IG5ldyBLZXlmcmFtZXMoKTsK
KworICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzKTsK
KworICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZWZmZWN0LmdldEtleWZyYW1lcygpLCBbCisg
ICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICdsaW5lYXInLCB0
b3A6ICcxMDBweCcgfSwKKyAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVh
c2luZzogJ2xpbmVhcicsIHRvcDogJzIwMHB4JyB9LAorICBdKTsKK30sICdPbmx5IHByb3BlcnRp
ZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBhcmUgcmVh
ZCcpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgZXhwZWN0ZWRPcmRlciA9IFsnY29tcG9zaXRl
JywgJ2Vhc2luZycsICdvZmZzZXQnLCAnbGVmdCcsICdtYXJnaW5MZWZ0J107CisgIGNvbnN0IGFj
dHVhbE9yZGVyID0gW107CisgIGNvbnN0IGtmMSA9IHt9OworICBmb3IgKGNvbnN0IHtwcm9wLCB2
YWx1ZX0gb2YgW3sgcHJvcDogJ21hcmdpbkxlZnQnLCB2YWx1ZTogJzEwcHgnIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyBwcm9wOiAnbGVmdCcsICAgICAgIHZhbHVlOiAnMjBw
eCcgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByb3A6ICdvZmZzZXQnLCAg
ICAgdmFsdWU6ICcwJyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJvcDog
J2Vhc2luZycsICAgICB2YWx1ZTogJ2xpbmVhcicgfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7IHByb3A6ICdjb21wb3NpdGUnLCAgdmFsdWU6ICdyZXBsYWNlJyB9XSkgeworICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShrZjEsIHByb3AsIHsKKyAgICAgIGVudW1lcmFibGU6IHRy
dWUsCisgICAgICBnZXQ6ICgpID0+IHsgYWN0dWFsT3JkZXIucHVzaChwcm9wKTsgcmV0dXJuIHZh
bHVlOyB9CisgICAgfSk7CisgIH0KKyAgY29uc3Qga2YyID0geyBtYXJnaW5MZWZ0OiAnMTBweCcs
IGxlZnQ6ICcyMHB4Jywgb2Zmc2V0OiAxIH07CisKKyAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdl
dCwgW2tmMSwga2YyXSk7CisKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWxPcmRlciwgZXhw
ZWN0ZWRPcmRlciwgJ3Byb3BlcnR5IGFjY2VzcyBvcmRlcicpOworfSwgJ1Byb3BlcnRpZXMgYXJl
IHJlYWQgaW4gYXNjZW5kaW5nIG9yZGVyIGJ5IFVuaWNvZGUgY29kZXBvaW50Jyk7CisKKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAw
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOGExNmNiMTU0YWNjZGViMjE1OTA1NGNlYmM3ODky
NTNjOTZlNDEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVz
LWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitGQUlMIGVhc2lu
ZyB2YWx1ZXMgYXJlIHBhcnNlZCBjb3JyZWN0bHkgd2hlbiBzZXQgb24gYSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgZWFzaW5nIHZhbHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEg
a2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQorRkFJTCBJbnZhbGlkIGVhc2luZyB2YWx1ZXMgYXJlIGNvcnJlY3RseSByZWplY3Rl
ZCB3aGVuIHNldCBvbiBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgYXNzZXJ0X3Rocm93czog
VHlwZUVycm9yIGlzIHRocm93biBmb3IgZWFzaW5nICcnIGZ1bmN0aW9uICIoKSA9PiB7CisgICAg
ICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCB7IGVhc2luZzogaW52YWxpZEVhc2luZyB9KTsK
KyAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIEludmFsaWQgZWFzaW5nIHZhbHVlcyBhcmUgY29y
cmVjdGx5IHJlamVjdGVkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSBhc3NlcnRfdGhy
b3dzOiBUeXBlRXJyb3IgaXMgdGhyb3duIGZvciBlYXNpbmcgJycgZnVuY3Rpb24gIigpID0+IHsK
KyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQsIFt7IGVhc2luZzogaW52YWxpZEVhc2lu
ZyB9XSk7CisgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBFcnJvcnMgZnJvbSBpbnZhbGlkIGVh
c2luZ3Mgb24gYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIGFyZSB0aHJvd24gYWZ0ZXIgcmVh
ZGluZyBhbGwgcHJvcGVydGllcyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4geworICAg
IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQsIGtleWZyYW1lKTsKKyAgfSIgZGlkIG5vdCB0aHJv
dworRkFJTCBFcnJvcnMgZnJvbSBpbnZhbGlkIGVhc2luZ3Mgb24gYSBrZXlmcmFtZSBzZXF1ZW5j
ZSBhcmUgdGhyb3duIGFmdGVyIHJlYWRpbmcgYWxsIHByb3BlcnRpZXMgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gIigpID0+IHsKKyAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCBbIGtmMSwg
a2YyIF0pOworICB9IiBkaWQgbm90IHRocm93CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2lu
Zy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZy
YW1lcy1hcmd1bWVudC0wMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDRkZTkxMjkyNWYzMTkyNWRhODBi
NjUyMzdiY2RhZTc0NmU0NjY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEt
a2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi5odG1sCkBAIC0wLDAgKzEsMTAyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+VGVzdHMgZm9yIHByb2Nlc3Npbmcg
YSBrZXlmcmFtZXMgYXJndW1lbnQgKGVhc2luZyk8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI3Byb2Nlc3NpbmctYS1r
ZXlmcmFtZXMtYXJndW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9lYXNpbmctdGVzdHMuanMiPjwvc2NyaXB0
PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4K
KzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Rlc3QoKCkgPT4geworICBmb3IgKGNvbnN0IFtl
YXNpbmcsIGV4cGVjdGVkXSBvZiBnRWFzaW5nUGFyc2luZ1Rlc3RzKSB7CisgICAgY29uc3QgZWZm
ZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgeworICAgICAgbGVmdDogWycxMHB4Jywg
JzIwcHgnXSwKKyAgICAgIGVhc2luZzogZWFzaW5nCisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhlZmZlY3QuZ2V0S2V5ZnJhbWVzKClbMF0uZWFzaW5nLCBleHBlY3RlZCwKKyAgICAgICAgICAg
ICAgICAgIGByZXN1bHRpbmcgZWFzaW5nIGZvciAnJHtlYXNpbmd9J2ApOworICB9Cit9LCAnZWFz
aW5nIHZhbHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3aGVuIHNldCBvbiBhIHByb3BlcnR5LWlu
ZGV4ZWQnCisgICArICcga2V5ZnJhbWUnKTsKKwordGVzdCgoKSA9PiB7CisgIGZvciAoY29uc3Qg
W2Vhc2luZywgZXhwZWN0ZWRdIG9mIGdFYXNpbmdQYXJzaW5nVGVzdHMpIHsKKyAgICBjb25zdCBl
ZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCBbCisgICAgICB7IG9mZnNldDogMCwg
bGVmdDogJzEwcHgnLCBlYXNpbmc6IGVhc2luZyB9LAorICAgICAgeyBvZmZzZXQ6IDEsIGxlZnQ6
ICcyMHB4JyB9CisgICAgXSk7CisgICAgYXNzZXJ0X2VxdWFscyhlZmZlY3QuZ2V0S2V5ZnJhbWVz
KClbMF0uZWFzaW5nLCBleHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgIGByZXN1bHRpbmcgZWFz
aW5nIGZvciAnJHtlYXNpbmd9J2ApOworICB9Cit9LCAnZWFzaW5nIHZhbHVlcyBhcmUgcGFyc2Vk
IGNvcnJlY3RseSB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UnKTsKKwordGVzdCgoKSA9
PiB7CisgIGZvciAoY29uc3QgaW52YWxpZEVhc2luZyBvZiBnSW52YWxpZEVhc2luZ3MpIHsKKyAg
ICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IHsKKyAgICAgIG5ldyBLZXlmcmFt
ZUVmZmVjdCh0YXJnZXQsIHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0pOworICAgIH0sIGBUeXBl
RXJyb3IgaXMgdGhyb3duIGZvciBlYXNpbmcgJyR7aW52YWxpZEVhc2luZ30nYCk7CisgIH0KK30s
ICdJbnZhbGlkIGVhc2luZyB2YWx1ZXMgYXJlIGNvcnJlY3RseSByZWplY3RlZCB3aGVuIHNldCBv
biBhIHByb3BlcnR5LScKKyAgICsgJ2luZGV4ZWQga2V5ZnJhbWUnKTsKKwordGVzdCgoKSA9PiB7
CisgIGZvciAoY29uc3QgaW52YWxpZEVhc2luZyBvZiBnSW52YWxpZEVhc2luZ3MpIHsKKyAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IHsKKyAgICAgIG5ldyBLZXlmcmFtZUVm
ZmVjdCh0YXJnZXQsIFt7IGVhc2luZzogaW52YWxpZEVhc2luZyB9XSk7CisgICAgfSwgYFR5cGVF
cnJvciBpcyB0aHJvd24gZm9yIGVhc2luZyAnJHtpbnZhbGlkRWFzaW5nfSdgKTsKKyAgfQorfSwg
J0ludmFsaWQgZWFzaW5nIHZhbHVlcyBhcmUgY29ycmVjdGx5IHJlamVjdGVkIHdoZW4gdXNpbmcg
YSBrZXlmcmFtZScKKyAgICsgJyBzZXF1ZW5jZScpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHBy
b3BBY2Nlc3NDb3VudCA9IDA7CisgIGNvbnN0IGtleWZyYW1lID0ge307CisgIGNvbnN0IGFkZFBy
b3AgPSBwcm9wID0+IHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoa2V5ZnJhbWUsIHByb3As
IHsKKyAgICAgIGdldDogKCkgPT4geyBwcm9wQWNjZXNzQ291bnQrKzsgfSwKKyAgICAgIGVudW1l
cmFibGU6IHRydWUKKyAgICB9KTsKKyAgfQorICBhZGRQcm9wKCdoZWlnaHQnKTsKKyAgYWRkUHJv
cCgnd2lkdGgnKTsKKyAga2V5ZnJhbWUuZWFzaW5nID0gJ2Vhc3ktcGVhc3knOworCisgIGFzc2Vy
dF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCAoKSA9PiB7CisgICAgbmV3IEtleWZyYW1l
RWZmZWN0KHRhcmdldCwga2V5ZnJhbWUpOworICB9KTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wQWNj
ZXNzQ291bnQsIDIsCisgICAgJ0FsbCBwcm9wZXJ0aWVzIHdlcmUgcmVhZCBiZWZvcmUgdGhyb3dp
bmcgdGhlIGVhc2luZyBlcnJvcicpOworfSwgJ0Vycm9ycyBmcm9tIGludmFsaWQgZWFzaW5ncyBv
biBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgYXJlIHRocm93biBhZnRlciByZWFkaW5nIGFs
bCBwcm9wZXJ0aWVzJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgcHJvcEFjY2Vzc0NvdW50ID0g
MDsKKworICBjb25zdCBhZGRQcm9wID0gKGtleWZyYW1lLCBwcm9wKSA9PiB7CisgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KGtleWZyYW1lLCBwcm9wLCB7CisgICAgICBnZXQ6ICgpID0+IHsgcHJv
cEFjY2Vzc0NvdW50Kys7IH0sCisgICAgICBlbnVtZXJhYmxlOiB0cnVlCisgICAgfSk7CisgIH0K
KworICBjb25zdCBrZjEgPSB7fTsKKyAgYWRkUHJvcChrZjEsICdoZWlnaHQnKTsKKyAgYWRkUHJv
cChrZjEsICd3aWR0aCcpOworICBrZjEuZWFzaW5nID0gJ2Vhc3ktcGVhc3knOworCisgIGNvbnN0
IGtmMiA9IHt9OworICBhZGRQcm9wKGtmMiwgJ2hlaWdodCcpOworICBhZGRQcm9wKGtmMiwgJ3dp
ZHRoJyk7CisKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICdUeXBlRXJyb3InIH0sICgpID0+IHsK
KyAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCBbIGtmMSwga2YyIF0pOworICB9KTsKKyAg
YXNzZXJ0X2VxdWFscyhwcm9wQWNjZXNzQ291bnQsIDQsCisgICAgJ0FsbCBwcm9wZXJ0aWVzIHdl
cmUgcmVhZCBiZWZvcmUgdGhyb3dpbmcgdGhlIGVhc2luZyBlcnJvcicpOworfSwgJ0Vycm9ycyBm
cm9tIGludmFsaWQgZWFzaW5ncyBvbiBhIGtleWZyYW1lIHNlcXVlbmNlIGFyZSB0aHJvd24gYWZ0
ZXIgcmVhZGluZyBhbGwgcHJvcGVydGllcycpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZl
Y3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYjM2NzkyZjE4Mzc2YjlkYWUyNjE3ZTdhNTgwY2JhMzIzMTExZDVi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNDkgQEAKKworRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW1w
dHkga2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzKGZyYW1lKScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0
eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZl
Y3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQor
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3Bl
cnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVm
ZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZy
YW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
CitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAob25l
IHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28gdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5p
bnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5
LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywg
J2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGFuIGludmFsaWQgdmFsdWUgZWZmZWN0LnNldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5w
dXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0
cyB2YWx1ZXMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJl
ZmVyZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVm
ZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCBlZmZlY3Qu
c2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMo
c3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVl
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIHNlY29u
ZCB2YWx1ZSBpcyBpbnZhbGlkIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIG9uZSBwcm9wZXJ0eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5w
dXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5j
ZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkg
dHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVj
dC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1l
cyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitG
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAoYSBzaG9y
dGhhbmQgYW5kIG9uZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtleWZyYW1lIHNl
cXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0
LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1l
IHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3IgYSBnaXZlbiBpbnRlcmlvciBvZmZz
ZXQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0
S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGZvdXIga2V5ZnJh
bWUgc2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2lu
Z2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQgZWZmZWN0LnNldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3Qu
aW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGgg
bnVsbCBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2lu
Z2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc3RyaW5nIG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5p
bnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ug
d2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0
LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwg
b2Zmc2V0cyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJv
cGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3Qu
c2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMo
c3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUg
c2VxdWVuY2Ugd2l0aCBhbGwgb21pdHRlZCBvZmZzZXRzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScs
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGVhc2lu
ZyB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IGVm
ZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZy
YW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
CitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggZGlmZmVyZW50IGNvbXBvc2l0ZSB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBjb21wb3NpdGUg
dmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0
byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBl
ZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlm
cmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBl
ZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlm
cmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aGVyZSBzaG9ydGhhbmQgcHJlY2VkZXMgbG9uZ2hhbmQgZWZmZWN0LnNldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQp
JywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJl
Y2VkZXMgc2hvcnRoYW5kIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBh
IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxlc3NlciBzaG9ydGhhbmQgcHJlY2VkZXMgZ3JlYXRl
ciBzaG9ydGhhbmQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5
ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNo
b3J0aGFuZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJv
cGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJv
bSB0aGUgZmlyc3Qga2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBp
cyBtaXNzaW5nIGZyb20gdGhlIGxhc3Qga2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywg
J2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2YWx1ZXMg
YXQgb2Zmc2V0IDEgd2l0aCBkaWZmZXJlbnQgZWFzaW5ncyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCkn
LCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorUEFTUyBLZXlmcmFtZUVmZmVj
dCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRl
ZCBwb3NpdGl2ZSBvZmZzZXQgCitQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93
cyB3aXRoIGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIG5lZ2F0aXZlIG9mZnNldCAK
K1BBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIG5v
dCBsb29zZWx5IHNvcnRlZCBieSBvZmZzZXQgCitQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVj
dG9yIHRocm93cyB3aXRoIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxp
ZCBlYXNpbmcgdmFsdWUgCitQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3
aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKK1BB
U1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGgg
YW4gaW52YWxpZCBjb21wb3NpdGUgdmFsdWUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJh
bWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5NTE0MTFkZTRl
NzA1NmM4ZTNiODdkNTcwODIzODBmNWFlMTE4NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Nl
dEtleWZyYW1lcy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5LZXlmcmFtZUVmZmVjdCBzZXRLZXlmcmFtZXMoKSB0ZXN0
czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93
ZWItYW5pbWF0aW9ucy8jZG9tLWtleWZyYW1lZWZmZWN0LXNldGtleWZyYW1lcyI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2tleWZyYW1lLXV0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKzxkaXYgaWQ9InRhcmdldCI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOwor
Cit2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgZ0VtcHR5S2V5ZnJhbWVMaXN0VGVzdHMuZm9yRWFjaChmdW5jdGlv
bihmcmFtZSkgeworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCB7
fSk7CisgICAgZWZmZWN0LnNldEtleWZyYW1lcyhmcmFtZSk7CisgICAgYXNzZXJ0X2ZyYW1lX2xp
c3RzX2VxdWFsKGVmZmVjdC5nZXRLZXlmcmFtZXMoKSwgW10pOworICB9KTsKK30sICdLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkga2V5ZnJhbWUnKTsKKworZ1Byb3BlcnR5
SW5kZXhlZEtleWZyYW1lc1Rlc3RzLmZvckVhY2goZnVuY3Rpb24oc3VidGVzdCkgeworICB0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdl
dCwge30pOworICAgIGVmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCk7CisgICAgYXNz
ZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGVmZmVjdC5nZXRLZXlmcmFtZXMoKSwgc3VidGVzdC5vdXRw
dXQpOworICB9LCAnS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoICcgKyBzdWJ0ZXN0LmRl
c2MpOworfSk7CisKK2dLZXlmcmFtZVNlcXVlbmNlVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdWJ0
ZXN0KSB7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJh
bWVFZmZlY3QodGFyZ2V0LCB7fSk7CisgICAgZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KTsKKyAgICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZWZmZWN0LmdldEtleWZyYW1lcygp
LCBzdWJ0ZXN0Lm91dHB1dCk7CisgIH0sICdLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
JyArIHN1YnRlc3QuZGVzYyk7Cit9KTsKKworZ0ludmFsaWRLZXlmcmFtZXNUZXN0cy5mb3JFYWNo
KGZ1bmN0aW9uKHN1YnRlc3QpIHsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGVmZmVj
dCA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQsIHt9KTsKKyAgICBhc3NlcnRfdGhyb3dzKHN1
YnRlc3QuZXhwZWN0ZWQsIGZ1bmN0aW9uKCkgeworICAgICAgZWZmZWN0LnNldEtleWZyYW1lcyhz
dWJ0ZXN0LmlucHV0KTsKKyAgICB9KTsKKyAgfSwgJ0tleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9y
IHRocm93cyB3aXRoICcgKyBzdWJ0ZXN0LmRlc2MpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0VGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0VGFyZ2V0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjJkMTZhNDA2NjEyNTJmZDE5YzEzMjA4YmE2NDVk
NjQxYTg2NTQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRUYXJnZXQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIFRlc3Qgc2V0dGluZyB0YXJnZXQgYmVmb3JlIGNvbnN0
cnVjdGluZyB0aGUgYXNzb2NpYXRlZCBhbmltYXRpb24gQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byBy
ZWFkb25seSBwcm9wZXJ0eS4KK0ZBSUwgVGVzdCBzZXR0aW5nIHRhcmdldCBmcm9tIG51bGwgdG8g
YSB2YWxpZCB0YXJnZXQgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBj
b25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlM
IFRlc3Qgc2V0dGluZyB0YXJnZXQgZnJvbSBhIHZhbGlkIHRhcmdldCB0byBudWxsIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAq
IE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3Qgc2V0
dGluZyB0YXJnZXQgZnJvbSBhIHZhbGlkIHRhcmdldCB0byBhbm90aGVyIHRhcmdldCBhLmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYS5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1T
X1BFUl9TRUMpJywgJ2EuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0
L3NldFRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRUYXJnZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWVmODQw
MmQ5MGMyODJiZGJkYzdjZDZkZjQxZTZhMWNkNzUyMDY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVj
dC9zZXRUYXJnZXQuaHRtbApAQCAtMCwwICsxLDg5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+V3JpdGFibGUgZWZmZWN0LnRhcmdldCB0ZXN0czwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiCisgIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWIt
YW5pbWF0aW9ucy8jZG9tLWtleWZyYW1lZWZmZWN0LXRhcmdldCI+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2Ny
aXB0PgorInVzZSBzdHJpY3QiOworCit2YXIgZ0tleUZyYW1lcyA9IHsgJ21hcmdpbkxlZnQnOiBb
JzBweCcsICcxMDBweCddIH07CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3Jl
YXRlRGl2KHQpOworICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGdLZXlG
cmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpOworICBlZmZlY3QudGFyZ2V0ID0gZGl2OworCisgIHZh
ciBhbmltID0gbmV3IEFuaW1hdGlvbihlZmZlY3QsIGRvY3VtZW50LnRpbWVsaW5lKTsKKyAgYW5p
bS5wbGF5KCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgYXNz
ZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzUwcHgnLAorICAg
ICAgICAgICAgICAgICdWYWx1ZSBhdCA1MCUgcHJvZ3Jlc3MnKTsKK30sICdUZXN0IHNldHRpbmcg
dGFyZ2V0IGJlZm9yZSBjb25zdHJ1Y3RpbmcgdGhlIGFzc29jaWF0ZWQgYW5pbWF0aW9uJyk7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBkaXYuc3R5
bGUubWFyZ2luTGVmdCA9ICcxMHB4JzsKKyAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVj
dChudWxsLCBnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIGFuaW0gPSBuZXcg
QW5pbWF0aW9uKGVmZmVjdCwgZG9jdW1lbnQudGltZWxpbmUpOworICBhbmltLnBsYXkoKTsKKwor
ICBhbmltLmN1cnJlbnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOworICBhc3NlcnRfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMTBweCcsCisgICAgICAgICAgICAgICAg
J1ZhbHVlIGF0IDUwJSBwcm9ncmVzcyBiZWZvcmUgc2V0dGluZyBuZXcgdGFyZ2V0Jyk7CisgIGVm
ZmVjdC50YXJnZXQgPSBkaXY7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYp
Lm1hcmdpbkxlZnQsICc1MHB4JywKKyAgICAgICAgICAgICAgICAnVmFsdWUgYXQgNTAlIHByb2dy
ZXNzIGFmdGVyIHNldHRpbmcgbmV3IHRhcmdldCcpOworfSwgJ1Rlc3Qgc2V0dGluZyB0YXJnZXQg
ZnJvbSBudWxsIHRvIGEgdmFsaWQgdGFyZ2V0Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBkaXYuc3R5bGUubWFyZ2luTGVmdCA9ICcxMHB4JzsK
KyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKTsK
KworICBhbmltLmN1cnJlbnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOworICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnNTBweCcsCisgICAgICAgICAgICAg
ICAgJ1ZhbHVlIGF0IDUwJSBwcm9ncmVzcyBiZWZvcmUgY2xlYXJpbmcgdGhlIHRhcmdldCcpCisK
KyAgYW5pbS5lZmZlY3QudGFyZ2V0ID0gbnVsbDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzEwcHgnLAorICAgICAgICAgICAgICAgICdWYWx1ZSBh
ZnRlciBjbGVhcmluZyB0aGUgdGFyZ2V0JykKK30sICdUZXN0IHNldHRpbmcgdGFyZ2V0IGZyb20g
YSB2YWxpZCB0YXJnZXQgdG8gbnVsbCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGEg
PSBjcmVhdGVEaXYodCk7CisgIHZhciBiID0gY3JlYXRlRGl2KHQpOworICBhLnN0eWxlLm1hcmdp
bkxlZnQgPSAnMTBweCc7CisgIGIuc3R5bGUubWFyZ2luTGVmdCA9ICcyMHB4JzsKKyAgdmFyIGFu
aW0gPSBhLmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyk7CisKKyAgYW5pbS5j
dXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGEpLm1hcmdpbkxlZnQsICc1MHB4JywKKyAgICAgICAgICAgICAgICAnVmFsdWUgb2Yg
MXN0IGVsZW1lbnQgKGN1cnJlbnRseSB0YXJnZXRlZCkgYmVmb3JlICcgKworICAgICAgICAgICAg
ICAgICdjaGFuZ2luZyB0aGUgZWZmZWN0IHRhcmdldCcpOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoYikubWFyZ2luTGVmdCwgJzIwcHgnLAorICAgICAgICAgICAgICAgICdWYWx1
ZSBvZiAybmQgZWxlbWVudCAoY3VycmVudGx5IG5vdCB0YXJnZXRlZCkgYmVmb3JlICcgKworICAg
ICAgICAgICAgICAgICdjaGFuZ2luZyB0aGUgZWZmZWN0IHRhcmdldCcpOworICBhbmltLmVmZmVj
dC50YXJnZXQgPSBiOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoYSkubWFyZ2lu
TGVmdCwgJzEwcHgnLAorICAgICAgICAgICAgICAgICdWYWx1ZSBvZiAxc3QgZWxlbWVudCAoY3Vy
cmVudGx5IG5vdCB0YXJnZXRlZCkgYWZ0ZXIgJyArCisgICAgICAgICAgICAgICAgJ2NoYW5naW5n
IHRoZSBlZmZlY3QgdGFyZ2V0Jyk7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShi
KS5tYXJnaW5MZWZ0LCAnNTBweCcsCisgICAgICAgICAgICAgICAgJ1ZhbHVlIG9mIDJuZCBlbGVt
ZW50IChjdXJyZW50bHkgdGFyZ2V0ZWQpIGFmdGVyICcgKworICAgICAgICAgICAgICAgICdjaGFu
Z2luZyB0aGUgZWZmZWN0IHRhcmdldCcpOworCisgIC8vIFRoaXMgbWFrZXMgc3VyZSB0aGUgYW5p
bWF0aW9uIHByb3BlcnR5IGlzIGNoYW5nZWQgY29ycmVjdGx5IG9uIG5ldworICAvLyB0YXJnZXRl
ZCBlbGVtZW50LgorICBhbmltLmN1cnJlbnRUaW1lID0gNzUgKiBNU19QRVJfU0VDOworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoYikubWFyZ2luTGVmdCwgJzc1cHgnLAorICAgICAg
ICAgICAgICAgICdWYWx1ZSBvZiAybmQgdGFyZ2V0IChjdXJyZW50bHkgdGFyZ2V0ZWQpIGFmdGVy
ICcgKworICAgICAgICAgICAgICAgICdjaGFuZ2luZyB0aGUgYW5pbWF0aW9uIGN1cnJlbnQgdGlt
ZS4nKTsKK30sICdUZXN0IHNldHRpbmcgdGFyZ2V0IGZyb20gYSB2YWxpZCB0YXJnZXQgdG8gYW5v
dGhlciB0YXJnZXQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0UmVh
ZE9ubHkvY29weS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0UmVhZE9ubHkvY29weS1j
b25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZjZmE5NmE4N2Y5NTJjMzQ0YzI0
NmI4YmQ0ZTZhNTJkZjcyOWFlNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3RSZWFkT25seS9jb3B5
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworRkFJTCBUZXN0IGNv
cGllZCBrZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGhhcyB0aGUgc2FtZSB0YXJnZXQgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBUZXN0IGNvcGllZCBrZXlm
cmFtZUVmZmVjdFJlYWRPbmx5IGhhcyB0aGUgc2FtZSBrZXlmcmFtZXMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBUZXN0IGNvcGllZCBrZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5IGhhcyB0aGUgc2FtZSBrZXlmcmFtZUVmZmVjdE9wdGlvbnMgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBUZXN0IGNvcGllZCBrZXlm
cmFtZUVmZmVjdFJlYWRPbmx5IGhhcyB0aGUgc2FtZSB0aW1pbmcgY29udGVudCBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3RSZWFk
T25seS9jb3B5LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0UmVhZE9ubHkvY29weS1jb25zdHJ1Y3Rv
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI4N2ZmZTExNDhiZGQ4ZDJmZGUzZmFkYjRlZTgyMzE3ZjZhNmNk
MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0UmVhZE9ubHkvY29weS1jb25zdHJ1Y3Rvci5odG1s
CkBAIC0wLDAgKzEsOTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4K
Kzx0aXRsZT5LZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvcHkgY29uc3RydWN0b3IgdGVzdHM8L3Rp
dGxlPgorPGxpbmsgcmVsPSJoZWxwIgoraHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1h
bmltYXRpb25zLyNkb20ta2V5ZnJhbWVlZmZlY3RyZWFkb25seS1rZXlmcmFtZWVmZmVjdHJlYWRv
bmx5LXNvdXJjZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
KGNyZWF0ZURpdih0KSwgbnVsbCk7CisgIHZhciBjb3BpZWRFZmZlY3QgPSBuZXcgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seShlZmZlY3QpOworICBhc3NlcnRfZXF1YWxzKGNvcGllZEVmZmVjdC50YXJn
ZXQsIGVmZmVjdC50YXJnZXQsICdzYW1lIHRhcmdldCcpOworfSwgJ1Rlc3QgY29waWVkIGtleWZy
YW1lRWZmZWN0UmVhZE9ubHkgaGFzIHRoZSBzYW1lIHRhcmdldCcpOworCit0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIGVmZmVjdCA9CisgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkobnVs
bCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIHsgbWFyZ2luTGVmdDogJzBweCcg
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDogJy0yMHB4
JywgZWFzaW5nOiAnZWFzZS1pbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG9mZnNldDogMC4xIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IG1hcmdp
bkxlZnQ6ICcxMDBweCcsIGVhc2luZzogJ2Vhc2Utb3V0JyB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnNTBweCcgfSBdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHsgc3BhY2luZzogJ3BhY2VkKG1hcmdpbi1sZWZ0KScgfSk7CisKKyAg
dmFyIGNvcGllZEVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KGVmZmVjdCk7Cisg
IHZhciBLZXlmcmFtZXNBID0gZWZmZWN0LmdldEtleWZyYW1lcygpOworICB2YXIgS2V5ZnJhbWVz
QiA9IGNvcGllZEVmZmVjdC5nZXRLZXlmcmFtZXMoKTsKKyAgYXNzZXJ0X2VxdWFscyhLZXlmcmFt
ZXNBLmxlbmd0aCwgS2V5ZnJhbWVzQi5sZW5ndGgsICdzYW1lIGtleWZyYW1lcyBsZW5ndGgnKTsK
KworICBmb3IgKHZhciBpID0gMDsgaSA8IEtleWZyYW1lc0EubGVuZ3RoOyArK2kpIHsKKyAgICBh
c3NlcnRfZXF1YWxzKEtleWZyYW1lc0FbaV0ub2Zmc2V0LCBLZXlmcmFtZXNCW2ldLm9mZnNldCwK
KyAgICAgICAgICAgICAgICAgICdLZXlmcmFtZSAnICsgaSArICcgaGFzIHRoZSBzYW1lIG9mZnNl
dCcpOworICAgIGFzc2VydF9lcXVhbHMoS2V5ZnJhbWVzQVtpXS5jb21wdXRlZE9mZnNldCwgS2V5
ZnJhbWVzQltpXS5jb21wdXRlZE9mZnNldCwKKyAgICAgICAgICAgICAgICAgICdrZXlmcmFtZSAn
ICsgaSArICcgaGFzIHRoZSBzYW1lIGNvbXB1dGVkT2Zmc2V0Jyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhLZXlmcmFtZXNBW2ldLmVhc2luZywgS2V5ZnJhbWVzQltpXS5lYXNpbmcsCisgICAgICAgICAg
ICAgICAgICAna2V5ZnJhbWUgJyArIGkgKyAnIGhhcyB0aGUgc2FtZSBlYXNpbmcnKTsKKyAgICBh
c3NlcnRfZXF1YWxzKEtleWZyYW1lc0FbaV0uY29tcG9zaXRlLCBLZXlmcmFtZXNCW2ldLmNvbXBv
c2l0ZSwKKyAgICAgICAgICAgICAgICAgICdrZXlmcmFtZSAnICsgaSArICcgaGFzIHRoZSBzYW1l
IGNvbXBvc2l0ZScpOworCisgICAgYXNzZXJ0X3RydWUoISFLZXlmcmFtZXNBW2ldLm1hcmdpbkxl
ZnQsCisgICAgICAgICAgICAgICAgJ29yaWdpbmFsIGtleWZyYW1lICcgKyBpICsgJyBoYXMgdGhl
IHZhbGlkIHByb3BlcnR5IHZhbHVlJyk7CisgICAgYXNzZXJ0X3RydWUoISFLZXlmcmFtZXNCW2ld
Lm1hcmdpbkxlZnQsCisgICAgICAgICAgICAgICAgJ25ldyBrZXlmcmFtZSAnICsgaSArICcgaGFz
IHRoZSB2YWxpZCBwcm9wZXJ0eSB2YWx1ZScpOworICAgIGFzc2VydF9lcXVhbHMoS2V5ZnJhbWVz
QVtpXS5tYXJnaW5MZWZ0LCBLZXlmcmFtZXNCW2ldLm1hcmdpbkxlZnQsCisgICAgICAgICAgICAg
ICAgICAna2V5ZnJhbWUgJyArIGkgKyAnIGhhcyB0aGUgc2FtZSBwcm9wZXJ0eSB2YWx1ZSBwYWly
Jyk7CisgIH0KK30sICdUZXN0IGNvcGllZCBrZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGhhcyB0aGUg
c2FtZSBrZXlmcmFtZXMnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3QgPSBu
ZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seShudWxsLCBudWxsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyBzcGFjaW5nOiAncGFjZWQobWFyZ2luLWxlZnQpJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29t
cG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisKKyAgdmFyIGNvcGllZEVmZmVjdCA9IG5ldyBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5KGVmZmVjdCk7CisgIGFzc2VydF9lcXVhbHMoY29waWVkRWZmZWN0
LnNwYWNpbmcsIGVmZmVjdC5zcGFjaW5nLCAnc2FtZSBzcGFjaW5nJyk7CisgIGFzc2VydF9lcXVh
bHMoY29waWVkRWZmZWN0Lml0ZXJhdGlvbkNvbXBvc2l0ZSwgZWZmZWN0Lml0ZXJhdGlvbkNvbXBv
c2l0ZSwKKyAgICAgICAgICAgICAgICAnc2FtZSBpdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24n
KTsKKyAgYXNzZXJ0X2VxdWFscyhjb3BpZWRFZmZlY3QuY29tcG9zaXRlLCBlZmZlY3QuY29tcG9z
aXRlLAorICAgICAgICAgICAgICAgICdzYW1lIGNvbXBvc2l0ZU9wZXJhdGlvbicpOworfSwgJ1Rl
c3QgY29waWVkIGtleWZyYW1lRWZmZWN0UmVhZE9ubHkgaGFzIHRoZSBzYW1lIGtleWZyYW1lRWZm
ZWN0T3B0aW9ucycpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGVmZmVjdCA9IG5ldyBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5KG51bGwsIG51bGwsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheTogLTEgKiBNU19QRVJf
U0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmREZWxh
eTogMiAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbGw6ICdmb3J3YXJkcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAyMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnZWFzZS1vdXQnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICdhbHRlcm5hdGUnIH0g
KTsKKworICB2YXIgY29waWVkRWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkoZWZm
ZWN0KTsKKyAgdmFyIHRpbWluZ0EgPSBlZmZlY3QudGltaW5nOworICB2YXIgdGltaW5nQiA9IGNv
cGllZEVmZmVjdC50aW1pbmc7CisgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWluZ0EsIHRpbWluZ0Is
ICdkaWZmZXJlbnQgdGltaW5nIG9iamVjdHMnKTsKKyAgYXNzZXJ0X2VxdWFscyh0aW1pbmdBLmRl
bGF5LCB0aW1pbmdCLmRlbGF5LCAnc2FtZSBkZWxheScpOworICBhc3NlcnRfZXF1YWxzKHRpbWlu
Z0EuZW5kRGVsYXksIHRpbWluZ0IuZW5kRGVsYXksICdzYW1lIGVuZERlbGF5Jyk7CisgIGFzc2Vy
dF9lcXVhbHModGltaW5nQS5maWxsLCB0aW1pbmdCLmZpbGwsICdzYW1lIGZpbGwnKTsKKyAgYXNz
ZXJ0X2VxdWFscyh0aW1pbmdBLml0ZXJhdGlvblN0YXJ0LCB0aW1pbmdCLml0ZXJhdGlvblN0YXJ0
LAorICAgICAgICAgICAgICAgICdzYW1lIGl0ZXJhdGlvblN0YXJ0Jyk7CisgIGFzc2VydF9lcXVh
bHModGltaW5nQS5pdGVyYXRpb25zLCB0aW1pbmdCLml0ZXJhdGlvbnMsICdzYW1lIGl0ZXJhdGlv
bnMnKTsKKyAgYXNzZXJ0X2VxdWFscyh0aW1pbmdBLmR1cmF0aW9uLCB0aW1pbmdCLmR1cmF0aW9u
LCAnc2FtZSBkdXJhdGlvbicpOworICBhc3NlcnRfZXF1YWxzKHRpbWluZ0EuZGlyZWN0aW9uLCB0
aW1pbmdCLmRpcmVjdGlvbiwgJ3NhbWUgZGlyZWN0aW9uJyk7CisgIGFzc2VydF9lcXVhbHModGlt
aW5nQS5lYXNpbmcsIHRpbWluZ0IuZWFzaW5nLCAnc2FtZSBlYXNpbmcnKTsKK30sICdUZXN0IGNv
cGllZCBrZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGhhcyB0aGUgc2FtZSB0aW1pbmcgY29udGVudCcp
OworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL3Jlc291cmNlcy9lYXNpbmctdGVzdHMuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMvZWFzaW5nLXRlc3RzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYyZDdhM2VlNWQ1YmU3ZDU0NjA5OGUxMWQ1ZWRlNTdkNDYwNTdmOGQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMvZWFz
aW5nLXRlc3RzLmpzCkBAIC0wLDAgKzEsMTMzIEBACit2YXIgZ0Vhc2luZ1Rlc3RzID0gWworICB7
CisgICAgZGVzYzogJ3N0ZXAtc3RhcnQgZnVuY3Rpb24nLAorICAgIGVhc2luZzogJ3N0ZXAtc3Rh
cnQnLAorICAgIGVhc2luZ0Z1bmN0aW9uOiBzdGVwU3RhcnQoMSksCisgICAgc2VyaWFsaXphdGlv
bjogJ3N0ZXBzKDEsIHN0YXJ0KScKKyAgfSwKKyAgeworICAgIGRlc2M6ICdzdGVwcygxLCBzdGFy
dCkgZnVuY3Rpb24nLAorICAgIGVhc2luZzogJ3N0ZXBzKDEsIHN0YXJ0KScsCisgICAgZWFzaW5n
RnVuY3Rpb246IHN0ZXBTdGFydCgxKQorICB9LAorICB7CisgICAgZGVzYzogJ3N0ZXBzKDIsIHN0
YXJ0KSBmdW5jdGlvbicsCisgICAgZWFzaW5nOiAnc3RlcHMoMiwgc3RhcnQpJywKKyAgICBlYXNp
bmdGdW5jdGlvbjogc3RlcFN0YXJ0KDIpCisgIH0sCisgIHsKKyAgICBkZXNjOiAnc3RlcC1lbmQg
ZnVuY3Rpb24nLAorICAgIGVhc2luZzogJ3N0ZXAtZW5kJywKKyAgICBlYXNpbmdGdW5jdGlvbjog
c3RlcEVuZCgxKSwKKyAgICBzZXJpYWxpemF0aW9uOiAnc3RlcHMoMSknCisgIH0sCisgIHsKKyAg
ICBkZXNjOiAnc3RlcHMoMSkgZnVuY3Rpb24nLAorICAgIGVhc2luZzogJ3N0ZXBzKDEpJywKKyAg
ICBlYXNpbmdGdW5jdGlvbjogc3RlcEVuZCgxKQorICB9LAorICB7CisgICAgZGVzYzogJ3N0ZXBz
KDEsIGVuZCkgZnVuY3Rpb24nLAorICAgIGVhc2luZzogJ3N0ZXBzKDEsIGVuZCknLAorICAgIGVh
c2luZ0Z1bmN0aW9uOiBzdGVwRW5kKDEpLAorICAgIHNlcmlhbGl6YXRpb246ICdzdGVwcygxKScK
KyAgfSwKKyAgeworICAgIGRlc2M6ICdzdGVwcygyLCBlbmQpIGZ1bmN0aW9uJywKKyAgICBlYXNp
bmc6ICdzdGVwcygyLCBlbmQpJywKKyAgICBlYXNpbmdGdW5jdGlvbjogc3RlcEVuZCgyKSwKKyAg
ICBzZXJpYWxpemF0aW9uOiAnc3RlcHMoMiknCisgIH0sCisgIHsKKyAgICBkZXNjOiAnZnJhbWVz
IGZ1bmN0aW9uJywKKyAgICBlYXNpbmc6ICdmcmFtZXMoNSknLAorICAgIGVhc2luZ0Z1bmN0aW9u
OiBmcmFtZXNUaW1pbmcoNSkKKyAgfSwKKyAgeworICAgIGRlc2M6ICdsaW5lYXIgZnVuY3Rpb24n
LAorICAgIGVhc2luZzogJ2xpbmVhcicsIC8vIGN1YmljLWJlemllcigwLCAwLCAxLjAsIDEuMCkK
KyAgICBlYXNpbmdGdW5jdGlvbjogY3ViaWNCZXppZXIoMCwgMCwgMS4wLCAxLjApCisgIH0sCisg
IHsKKyAgICBkZXNjOiAnZWFzZSBmdW5jdGlvbicsCisgICAgZWFzaW5nOiAnZWFzZScsIC8vIGN1
YmljLWJlemllcigwLjI1LCAwLjEsIDAuMjUsIDEuMCkKKyAgICBlYXNpbmdGdW5jdGlvbjogY3Vi
aWNCZXppZXIoMC4yNSwgMC4xLCAwLjI1LCAxLjApCisgIH0sCisgIHsKKyAgICBkZXNjOiAnZWFz
ZS1pbiBmdW5jdGlvbicsCisgICAgZWFzaW5nOiAnZWFzZS1pbicsIC8vIGN1YmljLWJlemllcigw
LjQyLCAwLCAxLjAsIDEuMCkKKyAgICBlYXNpbmdGdW5jdGlvbjogY3ViaWNCZXppZXIoMC40Miwg
MCwgMS4wLCAxLjApCisgIH0sCisgIHsKKyAgICBkZXNjOiAnZWFzZS1pbi1vdXQgZnVuY3Rpb24n
LAorICAgIGVhc2luZzogJ2Vhc2UtaW4tb3V0JywgLy8gY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAu
NTgsIDEuMCkKKyAgICBlYXNpbmdGdW5jdGlvbjogY3ViaWNCZXppZXIoMC40MiwgMCwgMC41OCwg
MS4wKQorICB9LAorICB7CisgICAgZGVzYzogJ2Vhc2Utb3V0IGZ1bmN0aW9uJywKKyAgICBlYXNp
bmc6ICdlYXNlLW91dCcsIC8vIGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxLjApCisgICAgZWFz
aW5nRnVuY3Rpb246IGN1YmljQmV6aWVyKDAsIDAsIDAuNTgsIDEuMCkKKyAgfSwKKyAgeworICAg
IGRlc2M6ICdlYXNpbmcgZnVuY3Rpb24gd2hpY2ggcHJvZHVjZXMgdmFsdWVzIGdyZWF0ZXIgdGhh
biAxJywKKyAgICBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMCwgMS41LCAxLCAxLjUpJywKKyAgICBl
YXNpbmdGdW5jdGlvbjogY3ViaWNCZXppZXIoMCwgMS41LCAxLCAxLjUpCisgIH0sCisgIHsKKyAg
ICBkZXNjOiAnZWFzaW5nIGZ1bmN0aW9uIHdoaWNoIHByb2R1Y2VzIHZhbHVlcyBsZXNzIHRoYW4g
MScsCisgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAsIC0wLjUsIDEsIC0wLjUpJywKKyAgICBl
YXNpbmdGdW5jdGlvbjogY3ViaWNCZXppZXIoMCwgLTAuNSwgMSwgLTAuNSkKKyAgfQorXTsKKwor
Y29uc3QgZ0Vhc2luZ1BhcnNpbmdUZXN0cyA9IFsKKyAgWydsaW5lYXInLCAnbGluZWFyJ10sCisg
IFsnZWFzZS1pbi1vdXQnLCAnZWFzZS1pbi1vdXQnXSwKKyAgWydFYXNlXFwyZCBpbi1vdXQnLCAn
ZWFzZS1pbi1vdXQnXSwKKyAgWydlYXNlIC8qKi8nLCAnZWFzZSddLAorXTsKKworY29uc3QgZ0lu
dmFsaWRFYXNpbmdzID0gWworICAnJywKKyAgJzcnLAorICAndGVzdCcsCisgICdpbml0aWFsJywK
KyAgJ2luaGVyaXQnLAorICAndW5zZXQnLAorICAndW5yZWNvZ25pemVkJywKKyAgJ3ZhcigtLXgp
JywKKyAgJ2Vhc2UtaW4tb3V0LCBlYXNlLW91dCcsCisgICdjdWJpYy1iZXppZXIoMS4xLCAwLCAx
LCAxKScsCisgICdjdWJpYy1iZXppZXIoMCwgMCwgMS4xLCAxKScsCisgICdjdWJpYy1iZXppZXIo
LTAuMSwgMCwgMSwgMSknLAorICAnY3ViaWMtYmV6aWVyKDAsIDAsIC0wLjEsIDEpJywKKyAgJ2N1
YmljLWJlemllcigwLjEsIDAsIDQsIDAuNCknLAorICAnc3RlcHMoLTEsIHN0YXJ0KScsCisgICdz
dGVwcygwLjEsIHN0YXJ0KScsCisgICdzdGVwcygzLCBub3doZXJlKScsCisgICdzdGVwcygtMywg
ZW5kKScsCisgICdmdW5jdGlvbiAoYSl7cmV0dXJuIGF9JywKKyAgJ2Z1bmN0aW9uICh4KXtyZXR1
cm4geH0nLAorICAnZnVuY3Rpb24oeCwgeSl7cmV0dXJuIDAuM30nLAorICAnZnJhbWVzKDEpJywK
KyAgJ2ZyYW1lcycsCisgICdmcmFtZXMoKScsCisgICdmcmFtZXMoLCknLAorICAnZnJhbWVzKGEp
JywKKyAgJ2ZyYW1lcygyLjApJywKKyAgJ2ZyYW1lcygyLjUpJywKKyAgJ2ZyYW1lcygyIDMpJywK
K107CisKKy8vIEVhc2luZ3MgdGhhdCBzaG91bGQgc2VyaWFsaXplIHRvIHRoZSBzYW1lIHN0cmlu
ZworY29uc3QgZ1JvdW5kdHJpcEVhc2luZ3MgPSBbCisgICdlYXNlJywKKyAgJ2xpbmVhcicsCisg
ICdlYXNlLWluJywKKyAgJ2Vhc2Utb3V0JywKKyAgJ2Vhc2UtaW4tb3V0JywKKyAgJ2N1YmljLWJl
emllcigwLjEsIDUsIDAuMjMsIDApJywKKyAgJ3N0ZXBzKDMsIHN0YXJ0KScsCisgICdzdGVwcygz
KScsCisgICdmcmFtZXMoMyknLAorXTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL3Jlc291cmNlcy9lZmZlY3QtdGVzdHMuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMvZWZmZWN0LXRlc3RzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRhMGM2NmUxZjI4YzY2NjljYmFiNWEzOWIzZjYzYzIxMTYxYzlmZjEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMvZWZm
ZWN0LXRlc3RzLmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8vIENvbW1vbiB1dGlsaXR5IG1ldGhvZHMg
Zm9yIHRlc3RpbmcgYW5pbWF0aW9uIGVmZmVjdHMKKworLy8gVGVzdHMgdGhlIHxwcm9wZXJ0eXwg
bWVtYmVyIG9mIHxhbmltYXRpb24nc3wgdGFyZ2V0IGVmZmVjdCdzIGNvbXB1dGVkIHRpbWluZwor
Ly8gYXQgdGhlIHZhcmlvdXMgcG9pbnRzIGluZGljYXRlZCBieSB8dmFsdWVzfC4KKy8vCisvLyB8
dmFsdWVzfCBoYXMgdGhlIGZvcm1hdDoKKy8vCisvLyAgIHsKKy8vICAgICBiZWZvcmUsIC8vIHZh
bHVlIHRvIHRlc3QgZHVyaW5nIGJlZm9yZSBwaGFzZQorLy8gICAgIGFjdGl2ZUJvdW5kYXJ5LCAv
LyB2YWx1ZSB0byB0ZXN0IGF0IHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiB0aGUgYWN0aXZlCisvLyAg
ICAgICAgICAgICAgICAgICAgIC8vIHBoYXNlIHdoZW4gcGxheWluZyBmb3J3YXJkcywgb3IgdGhl
IHZlcnkgZW5kIG9mCisvLyAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBhY3RpdmUgcGhhc2Ug
d2hlbiBwbGF5aW5nIGJhY2t3YXJkcy4KKy8vICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBz
aG91bGQgYmUgdW5kZWZpbmVkIGlmIHRoZSBhY3RpdmUgZHVyYXRpb24gb2YKKy8vICAgICAgICAg
ICAgICAgICAgICAgLy8gdGhlIGVmZmVjdCBpcyB6ZXJvLgorLy8gICAgIGFmdGVyLCAgLy8gdmFs
dWUgdG8gdGVzdCBkdXJpbmcgdGhlIGFmdGVyIHBoYXNlIG9yIHVuZGVmaW5lZCBpZiB0aGUKKy8v
ICAgICAgICAgICAgIC8vIGFjdGl2ZSBkdXJhdGlvbiBpcyBpbmZpbml0ZQorLy8gICB9CisvLwor
ZnVuY3Rpb24gYXNzZXJ0X2NvbXB1dGVkX3RpbWluZ19mb3JfZWFjaF9waGFzZShhbmltYXRpb24s
IHByb3BlcnR5LCB2YWx1ZXMpIHsKKyAgLy8gU29tZSBjb21wdXRlZCB0aW1pbmcgcHJvcGVydGll
cyAoZS5nLiAncHJvZ3Jlc3MnKSByZXF1aXJlIGZsb2F0aW5nLXBvaW50CisgIC8vIGNvbXBhcmlz
b24sIHdoaWxzdCBleGFjdCBlcXVhbGl0eSBzdWZmaWNlcyBmb3Igb3RoZXJzLgorICBjb25zdCBh
c3NlcnRfcHJvcGVydHlfZXF1YWxzID0KKyAgICAgIChwcm9wZXJ0eSA9PT0gJ3Byb2dyZXNzJykg
PyBhc3NlcnRfdGltZXNfZXF1YWwgOiBhc3NlcnRfZXF1YWxzOworCisgIGNvbnN0IGVmZmVjdCA9
IGFuaW1hdGlvbi5lZmZlY3Q7CisgIGNvbnN0IHRpbWluZyA9IGVmZmVjdC5nZXRDb21wdXRlZFRp
bWluZygpOworCisgIC8vIFRoZSBmb2xsb3dpbmcgY2FsY3VsYXRpb25zIGFyZSBiYXNlZCBvbiB0
aGUgZGVmaW5pdGlvbnMgaGVyZToKKyAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmlt
YXRpb25zLyNhbmltYXRpb24tZWZmZWN0LXBoYXNlcy1hbmQtc3RhdGVzCisgIGNvbnN0IGJlZm9y
ZUFjdGl2ZSA9IE1hdGgubWF4KE1hdGgubWluKHRpbWluZy5kZWxheSwgdGltaW5nLmVuZFRpbWUp
LCAwKTsKKyAgY29uc3QgYWN0aXZlQWZ0ZXIgPQorICAgIE1hdGgubWF4KE1hdGgubWluKHRpbWlu
Zy5kZWxheSArIHRpbWluZy5hY3RpdmVEdXJhdGlvbiwgdGltaW5nLmVuZFRpbWUpLCAwKTsKKyAg
Y29uc3QgZGlyZWN0aW9uID0gYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA8IDAgPyAnYmFja3dhcmRz
JyA6ICdmb3J3YXJkcyc7CisKKyAgLy8gQmVmb3JlIHBoYXNlCisgIGlmIChkaXJlY3Rpb24gPT09
ICdmb3J3YXJkcycpIHsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSBiZWZvcmVBY3RpdmUg
LSAxOworICB9IGVsc2UgeworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IGJlZm9yZUFjdGl2
ZTsKKyAgfQorICBhc3NlcnRfcHJvcGVydHlfZXF1YWxzKGVmZmVjdC5nZXRDb21wdXRlZFRpbWlu
ZygpW3Byb3BlcnR5XSwgdmFsdWVzLmJlZm9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBg
VmFsdWUgb2YgJHtwcm9wZXJ0eX0gaW4gdGhlIGJlZm9yZSBwaGFzZWApOworCisgIC8vIEFjdGl2
ZSBwaGFzZQorICBpZiAoZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRpb24g
PiAwKSB7CisgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ2ZvcndhcmRzJykgeworICAgICAgYW5pbWF0
aW9uLmN1cnJlbnRUaW1lID0gYmVmb3JlQWN0aXZlOworICAgIH0gZWxzZSB7CisgICAgICBhbmlt
YXRpb24uY3VycmVudFRpbWUgPSBhY3RpdmVBZnRlcjsKKyAgICB9CisgICAgYXNzZXJ0X3Byb3Bl
cnR5X2VxdWFscyhlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKVtwcm9wZXJ0eV0sIHZhbHVlcy5h
Y3RpdmVCb3VuZGFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGBWYWx1ZSBvZiAke3By
b3BlcnR5fSBhdCB0aGUgYm91bmRhcnkgb2YgdGhlIGFjdGl2ZSBwaGFzZWApOworICB9IGVsc2Ug
eworICAgIGFzc2VydF9lcXVhbHModmFsdWVzLmFjdGl2ZUJvdW5kYXJ5LCB1bmRlZmluZWQsCisg
ICAgICAgICAgICAgICAgICAnVGVzdCBzcGVjaWZpZXMgYSB2YWx1ZSB0byBjaGVjayBkdXJpbmcg
dGhlIGFjdGl2ZSBwaGFzZSBidXQnCisgICAgICAgICAgICAgICAgICArICcgdGhlIGFuaW1hdGlv
biBoYXMgYSB6ZXJvIGR1cmF0aW9uJyk7CisgIH0KKworICAvLyBBZnRlciBwaGFzZQorICBpZiAo
ZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRpb24gIT09IEluZmluaXR5KSB7
CisgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ2ZvcndhcmRzJykgeworICAgICAgYW5pbWF0aW9uLmN1
cnJlbnRUaW1lID0gYWN0aXZlQWZ0ZXI7CisgICAgfSBlbHNlIHsKKyAgICAgIGFuaW1hdGlvbi5j
dXJyZW50VGltZSA9IGFjdGl2ZUFmdGVyICsgMTsKKyAgICB9CisgICAgYXNzZXJ0X3Byb3BlcnR5
X2VxdWFscyhlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKVtwcm9wZXJ0eV0sIHZhbHVlcy5hZnRl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGBWYWx1ZSBvZiAke3Byb3BlcnR5fSBpbiB0
aGUgYWZ0ZXIgcGhhc2VgKTsKKyAgfSBlbHNlIHsKKyAgICBhc3NlcnRfZXF1YWxzKHZhbHVlcy5h
ZnRlciwgdW5kZWZpbmVkLAorICAgICAgICAgICAgICAgICAgJ1Rlc3Qgc3BlY2lmaWVzIGEgdmFs
dWUgdG8gY2hlY2sgZHVyaW5nIHRoZSBhZnRlciBwaGFzZSBidXQnCisgICAgICAgICAgICAgICAg
ICArICcgdGhlIGFuaW1hdGlvbiBoYXMgYW4gaW5maW5pdGUgZHVyYXRpb24nKTsKKyAgfQorfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvcmVzb3VyY2Vz
L2tleWZyYW1lLXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
cmVzb3VyY2VzL2tleWZyYW1lLXV0aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2MDg5NzM0ZDVmOTU0OWJj
NjY2ZmZmOThhN2NjN2IyYWRhZTgxZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMva2V5ZnJhbWUtdXRpbHMuanMKQEAgLTAs
MCArMSw1NTQgQEAKKyJ1c2Ugc3RyaWN0IjsKKworLy8gVXRpbGl0eSBmdW5jdGlvbnMgYW5kIGNv
bW1vbiBrZXlmcmFtZSB0ZXN0IGRhdGEuCisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorLy8gIEhlbHBlciBmdW5jdGlvbnMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorCisvKioKKyAqIFRlc3QgZXF1YWxpdHkgYmV0d2VlbiB0d28gbGlzdHMgb2YgY29tcHV0
ZWQga2V5ZnJhbWVzCisgKiBAcGFyYW0ge0FycmF5LjxDb21wdXRlZEtleWZyYW1lPn0gYSAtIGFj
dHVhbCBjb21wdXRlZCBrZXlmcmFtZXMKKyAqIEBwYXJhbSB7QXJyYXkuPENvbXB1dGVkS2V5ZnJh
bWU+fSBiIC0gZXhwZWN0ZWQgY29tcHV0ZWQga2V5ZnJhbWVzCisgKi8KK2Z1bmN0aW9uIGFzc2Vy
dF9mcmFtZV9saXN0c19lcXVhbChhLCBiKSB7CisgIGFzc2VydF9lcXVhbHMoYS5sZW5ndGgsIGIu
bGVuZ3RoLCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBmb3IgKHZhciBpID0gMDsgaSA8IE1hdGgu
bWluKGEubGVuZ3RoLCBiLmxlbmd0aCk7IGkrKykgeworICAgIGFzc2VydF9mcmFtZXNfZXF1YWwo
YVtpXSwgYltpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKKyAgfQorfQorCisvKiogSGVs
cGVyICovCitmdW5jdGlvbiBhc3NlcnRfZnJhbWVzX2VxdWFsKGEsIGIsIG5hbWUpIHsKKyAgYXNz
ZXJ0X2VxdWFscyhPYmplY3Qua2V5cyhhKS5zb3J0KCkudG9TdHJpbmcoKSwKKyAgICAgICAgICAg
ICAgICBPYmplY3Qua2V5cyhiKS5zb3J0KCkudG9TdHJpbmcoKSwKKyAgICAgICAgICAgICAgICAi
cHJvcGVydGllcyBvbiAiICsgbmFtZSk7CisgIGZvciAodmFyIHAgaW4gYSkgeworICAgIGFzc2Vy
dF9lcXVhbHMoYVtwXSwgYltwXSwgInZhbHVlIGZvciAnIiArIHAgKyAiJyBvbiAiICsgbmFtZSk7
CisgIH0KK30KKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyAgQ29tcG9z
aXRlIHZhbHVlcworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3ZhciBnR29v
ZEtleWZyYW1lQ29tcG9zaXRlVmFsdWVUZXN0cyA9IFsKKyAgInJlcGxhY2UiLCAiYWRkIiwgImFj
Y3VtdWxhdGUiLCB1bmRlZmluZWQKK107CisKK3ZhciBnR29vZE9wdGlvbnNDb21wb3NpdGVWYWx1
ZVRlc3RzID0gWworICAicmVwbGFjZSIsICJhZGQiLCAiYWNjdW11bGF0ZSIKK107CisKK3ZhciBn
QmFkQ29tcG9zaXRlVmFsdWVUZXN0cyA9IFsKKyAgInVucmVjb2duaXNlZCIsICJyZXBsYWNlICIs
ICJSZXBsYWNlIiwgbnVsbAorXTsKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisvLyAgS2V5ZnJhbWVzCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordmFy
IGdFbXB0eUtleWZyYW1lTGlzdFRlc3RzID0gWworICBbXSwKKyAgbnVsbCwKKyAgdW5kZWZpbmVk
LAorXTsKKwordmFyIGdQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXNUZXN0cyA9IFsKKyAgeyBkZXNj
OiAgICJhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiIsCisgICAgaW5wdXQ6ICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSwK
KyAgICBvdXRwdXQ6IFt7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzog
ImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7
IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxpbmVhciIsCisgICAg
ICAgICAgICAgICBsZWZ0OiAiMjBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIG9uZSBzaG9ydGhh
bmQgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIgorICAgICAg
ICAgICAgKyAiIHNwZWNpZmljYXRpb24iLAorICAgIGlucHV0OiAgeyBtYXJnaW46IFsiMTBweCIs
ICIxMHB4IDIwcHggMzBweCA0MHB4Il0gfSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogbnVsbCwg
Y29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBtYXJn
aW46ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNl
dDogMSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIG1hcmdpbjogIjEwcHggMjBw
eCAzMHB4IDQwcHgiIH1dIH0sCisgIHsgZGVzYzogICAiYSB0d28gcHJvcGVydHkgKG9uZSBzaG9y
dGhhbmQgYW5kIG9uZSBvZiBpdHMgbG9uZ2hhbmQgY29tcG9uZW50cykiCisgICAgICAgICAgICAr
ICIgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24iLAor
ICAgIGlucHV0OiAgeyBtYXJnaW5Ub3A6IFsiNTBweCIsICI2MHB4Il0sCisgICAgICAgICAgICAg
IG1hcmdpbjogWyIxMHB4IiwgIjEwcHggMjBweCAzMHB4IDQwcHgiXSB9LAorICAgIG91dHB1dDog
W3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAibGluZWFyIiwKKyAg
ICAgICAgICAgICAgIG1hcmdpblRvcDogIjUwcHgiLCBtYXJnaW46ICIxMHB4IiB9LAorICAgICAg
ICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFy
IiwKKyAgICAgICAgICAgICAgIG1hcmdpblRvcDogIjYwcHgiLCBtYXJnaW46ICIxMHB4IDIwcHgg
MzBweCA0MHB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIiwKKyAgICBpbnB1dDogIHsg
bGVmdDogWyIxMHB4IiwgIjIwcHgiXSwKKyAgICAgICAgICAgICAgdG9wOiBbIjMwcHgiLCAiNDBw
eCJdIH0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLCBl
YXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEwcHgiLCB0b3A6ICIzMHB4
IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFz
aW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIyMHB4IiwgdG9wOiAiNDBweCIg
fV0gfSwKKyAgeyBkZXNjOiAgICJhIHR3byBwcm9wZXJ0eSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIHdpdGgiCisgICAgICAgICAgICArICIgZGlmZmVyZW50IG51bWJl
cnMgb2YgdmFsdWVzIiwKKyAgICBpbnB1dDogIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiLCAiMzBw
eCJdLAorICAgICAgICAgICAgICB0b3A6IFsiNDBweCIsICI1MHB4Il0gfSwKKyAgICBvdXRwdXQ6
IFt7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuMCwgZWFzaW5nOiAibGluZWFyIiwK
KyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiwgdG9wOiAiNDBweCIgfSwKKyAgICAgICAgICAg
ICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuNSwgZWFzaW5nOiAibGluZWFyIiwK
KyAgICAgICAgICAgICAgIGxlZnQ6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBu
dWxsLCBjb21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAg
ICAgbGVmdDogIjMwcHgiLCB0b3A6ICI1MHB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGFuIGludmFsaWQgdmFsdWUi
LAorICAgIGlucHV0OiAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCIsICIzMHB4IiwgIjQwcHgiLCAi
NTBweCJdLAorICAgICAgICAgICAgICB0b3A6ICBbIjE1cHgiLCAiMjVweCIsICJpbnZhbGlkIiwg
IjQ1cHgiLCAiNTVweCJdIH0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVk
T2Zmc2V0OiAwLjAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEw
cHgiLCB0b3A6ICIxNXB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRl
ZE9mZnNldDogMC4yNSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIy
MHB4IiwgdG9wOiAiMjVweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0
ZWRPZmZzZXQ6IDAuNTAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAi
MzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAu
NzUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNDBweCIsIHRvcDog
IjQ1cHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAx
LjAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjUwcHgiLCB0b3A6
ICI1NXB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIgorICAgICAgICAgICAgKyAiIHRo
YXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMiLAorICAgIGlucHV0OiAgeyBvcGFjaXR5
OiBbMCwgMV0gfSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6
IDAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBvcGFjaXR5OiAiMCIgfSwKKyAg
ICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxp
bmVhciIsCisgICAgICAgICAgICAgICBvcGFjaXR5OiAiMSIgfV0gfSwKKyAgeyBkZXNjOiAgICJh
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJp
YWJsZSIKKyAgICAgICAgICAgICsgIiByZWZlcmVuY2UiLAorICAgIGlucHV0OiAgeyBsZWZ0OiBb
ICJ2YXIoLS1kaXN0KSIsICJjYWxjKHZhcigtLWRpc3QpICsgMTAwcHgpIiBdIH0sCisgICAgb3V0
cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVhc2luZzogImxpbmVh
ciIsCisgICAgICAgICAgICAgICBsZWZ0OiAidmFyKC0tZGlzdCkiIH0sCisgICAgICAgICAgICAg
eyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLjAsIGVhc2luZzogImxpbmVhciIsCisg
ICAgICAgICAgICAgICBsZWZ0OiAiY2FsYyh2YXIoLS1kaXN0KSArIDEwMHB4KSIgfV0gfSwKKyAg
eyBkZXNjOiAgICJhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0
aCBhIENTUyB2YXJpYWJsZSIKKyAgICAgICAgICAgICsgIiByZWZlcmVuY2UgaW4gYSBzaG9ydGhh
bmQgcHJvcGVydHkiLAorICAgIGlucHV0OiAgeyBtYXJnaW46IFsgInZhcigtLWRpc3QpIiwgImNh
bGModmFyKC0tZGlzdCkgKyAxMDBweCkiIF0gfSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogbnVs
bCwgY29tcHV0ZWRPZmZzZXQ6IDAuMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAg
IG1hcmdpbjogInZhcigtLWRpc3QpIiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBj
b21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbWFy
Z2luOiAiY2FsYyh2YXIoLS1kaXN0KSArIDEwMHB4KSIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIG9u
ZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiIsCisgICAgaW5wdXQ6ICB7IGxlZnQ6IFsiMTBweCJdIH0sCisgICAgb3V0cHV0OiBbeyBv
ZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAg
ICAgICAgICAgbGVmdDogIjEwcHgiIH1dIH0sCisgIHsgZGVzYzogICAiYSBvbmUgcHJvcGVydHkg
b25lIG5vbi1hcnJheSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyIKKyAgICAgICAg
ICAgICsgIiBzcGVjaWZpY2F0aW9uIiwKKyAgICBpbnB1dDogIHsgbGVmdDogIjEwcHgiIH0sCisg
ICAgb3V0cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJs
aW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEwcHgiIH1dIH0sCisgIHsgZGVzYzogICAi
YSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNp
ZmljYXRpb24iCisgICAgICAgICAgICArICIgd2hlcmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFs
aWQiLAorICAgIGlucHV0OiAgeyBsZWZ0OiBbImludmFsaWQiLCAiMTBweCJdIH0sCisgICAgb3V0
cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIi
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNp
bmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEwcHgiIH1dIH0sCisgIHsgZGVz
YzogICAiYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24iCisgICAgICAgICAgICArICIgd2hlcmUgdGhlIHNlY29uZCB2YWx1ZSBp
cyBpbnZhbGlkIiwKKyAgICBpbnB1dDogIHsgbGVmdDogWyIxMHB4IiwgImludmFsaWQiXSB9LAor
ICAgIG91dHB1dDogW3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAi
bGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsg
b2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiB9XSB9LAor
XTsKKwordmFyIGdLZXlmcmFtZVNlcXVlbmNlVGVzdHMgPSBbCisgIHsgZGVzYzogICAiYSBvbmUg
cHJvcGVydHkgb25lIGtleWZyYW1lIHNlcXVlbmNlIiwKKyAgICBpbnB1dDogIFt7IG9mZnNldDog
MSwgbGVmdDogIjEwcHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiAxLCBjb21wdXRlZE9m
ZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiB9
XSB9LAorICB7IGRlc2M6ICAgImEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSIs
CisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAsIGxlZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAg
IHsgb2Zmc2V0OiAxLCBsZWZ0OiAiMjBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAs
IGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLCBsZWZ0OiAiMTBweCIgfSwKKyAg
ICAgICAgICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxpbmVh
ciIsIGxlZnQ6ICIyMHB4IiB9XQorICB9LAorICB7IGRlc2M6ICAgImEgdHdvIHByb3BlcnR5IHR3
byBrZXlmcmFtZSBzZXF1ZW5jZSIsCisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAsIGxlZnQ6ICIx
MHB4IiwgdG9wOiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgbGVmdDogIjIw
cHgiLCB0b3A6ICI0MHB4IiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogMCwgY29tcHV0ZWRP
ZmZzZXQ6IDAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIs
IHRvcDogIjMwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0
OiAxLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjIwcHgiLCB0b3A6
ICI0MHB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28g
a2V5ZnJhbWUgc2VxdWVuY2UiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLCBtYXJnaW46ICIx
MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBtYXJnaW46ICIyMHB4IDMwcHggNDBw
eCA1MHB4IiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAs
IGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBtYXJnaW46ICIxMHB4IiB9LAorICAg
ICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFy
IiwKKyAgICAgICAgICAgICAgIG1hcmdpbjogIjIwcHggMzBweCA0MHB4IDUwcHgiIH1dIH0sCisg
IHsgZGVzYzogICAiYSB0d28gcHJvcGVydHkgKGEgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGNv
bXBvbmVudCBsb25naGFuZHMpIgorICAgICAgICAgICAgKyAiIHR3byBrZXlmcmFtZSBzZXF1ZW5j
ZSIsCisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAsIG1hcmdpbjogIjEwcHgiLCBtYXJnaW5Ub3A6
ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBtYXJnaW5Ub3A6ICI3MHB4Iiwg
bWFyZ2luOiAiMzBweCA0MHB4IDUwcHggNjBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6
IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAg
bWFyZ2luOiAiMTBweCIsIG1hcmdpblRvcDogIjIwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZz
ZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAg
ICAgbWFyZ2luVG9wOiAiNzBweCIsIG1hcmdpbjogIjMwcHggNDBweCA1MHB4IDYwcHgiIH1dIH0s
CisgIHsgZGVzYzogICAiYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMg
Zm9yIGEgZ2l2ZW4gaW50ZXJpb3IiCisgICAgICAgICAgICArICIgb2Zmc2V0IiwKKyAgICBpbnB1
dDogIFt7IG9mZnNldDogMC4wLCBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNl
dDogMC41LCBsZWZ0OiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBsZWZ0
OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBsZWZ0OiAiNDBweCIgfSwK
KyAgICAgICAgICAgICB7IG9mZnNldDogMS4wLCBsZWZ0OiAiNTBweCIgfV0sCisgICAgb3V0cHV0
OiBbeyBvZmZzZXQ6IDAuMCwgY29tcHV0ZWRPZmZzZXQ6IDAuMCwgZWFzaW5nOiAibGluZWFyIiwK
KyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAw
LjUsIGNvbXB1dGVkT2Zmc2V0OiAwLjUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAg
ICBsZWZ0OiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBjb21wdXRlZE9m
ZnNldDogMC41LCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjMwcHgi
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuNSwgY29tcHV0ZWRPZmZzZXQ6IDAuNSwgZWFz
aW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI0MHB4IiB9LAorICAgICAgICAg
ICAgIHsgb2Zmc2V0OiAxLjAsIGNvbXB1dGVkT2Zmc2V0OiAxLjAsIGVhc2luZzogImxpbmVhciIs
CisgICAgICAgICAgICAgICBsZWZ0OiAiNTBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3Igb2Zmc2V0cyAwIGFuZCAxIiwK
KyAgICBpbnB1dDogIFt7IG9mZnNldDogMCwgbGVmdDogIjEwcHgiIH0sCisgICAgICAgICAgICAg
eyBvZmZzZXQ6IDAsIGxlZnQ6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBs
ZWZ0OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgbGVmdDogIjQwcHgiIH0s
CisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGxlZnQ6ICI1MHB4IiB9LAorICAgICAgICAgICAg
IHsgb2Zmc2V0OiAxLCBsZWZ0OiAiNjBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAs
IGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLCBsZWZ0OiAiMTBweCIgfSwKKyAg
ICAgICAgICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImxpbmVh
ciIsIGxlZnQ6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9m
ZnNldDogMCwgZWFzaW5nOiAibGluZWFyIiwgbGVmdDogIjMwcHgiIH0sCisgICAgICAgICAgICAg
eyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJsaW5lYXIiLCBsZWZ0OiAi
NDBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVh
c2luZzogImxpbmVhciIsIGxlZnQ6ICI1MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAx
LCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwgbGVmdDogIjYwcHgiIH1dCisg
IH0sCisgIHsgZGVzYzogICAiYSB0d28gcHJvcGVydHkgZm91ciBrZXlmcmFtZSBzZXF1ZW5jZSIs
CisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAsIGxlZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAg
IHsgb2Zmc2V0OiAwLCB0b3A6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCB0
b3A6ICIzMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBsZWZ0OiAiNDBweCIgfV0s
CisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJs
aW5lYXIiLCBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMCwgY29tcHV0
ZWRPZmZzZXQ6IDAsIGVhc2luZzogImxpbmVhciIsIHRvcDogIjIwcHgiIH0sCisgICAgICAgICAg
ICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJsaW5lYXIiLCB0b3A6
ICIzMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwg
ZWFzaW5nOiAibGluZWFyIiwgbGVmdDogIjQwcHgiIH1dCisgIH0sCisgIHsgZGVzYzogICAiYSBz
aW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBvbWl0dGVkIG9mZnNldCIsCisgICAgaW5wdXQ6
ICBbeyBsZWZ0OiAiMTBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1
dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEw
cHgiIH1dIH0sCisgIHsgZGVzYzogICAiYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBu
dWxsIG9mZnNldCIsCisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IG51bGwsIGxlZnQ6ICIxMHB4IiB9
XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2lu
ZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIgfV0gfSwKKyAgeyBkZXNj
OiAgICJhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBvZmZzZXQiLAorICAg
IGlucHV0OiAgW3sgb2Zmc2V0OiAnMC41JywgbGVmdDogIjEwcHgiIH1dLAorICAgIG91dHB1dDog
W3sgb2Zmc2V0OiAwLjUsIGNvbXB1dGVkT2Zmc2V0OiAwLjUsIGVhc2luZzogImxpbmVhciIsCisg
ICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIG9uZSBwcm9w
ZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIiwKKyAgICBp
bnB1dDogIFt7IG9mZnNldDogMC4wMCwgbGVmdDogIjEwcHgiIH0sCisgICAgICAgICAgICAgeyBv
ZmZzZXQ6IDAuMjUsIGxlZnQ6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgbGVmdDogIjMwcHgi
IH0sCisgICAgICAgICAgICAgeyBsZWZ0OiAiNDBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNl
dDogMS4wMCwgbGVmdDogIjUwcHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiAwLjAwLCBj
b21wdXRlZE9mZnNldDogMC4wMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxl
ZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjI1LCBjb21wdXRlZE9mZnNl
dDogMC4yNSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIyMHB4IiB9
LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC41MCwgZWFz
aW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIzMHB4IiB9LAorICAgICAgICAg
ICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC43NSwgZWFzaW5nOiAibGluZWFy
IiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI0MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0
OiAxLjAwLCBjb21wdXRlZE9mZnNldDogMS4wMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAg
ICAgICAgIGxlZnQ6ICI1MHB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgb25lIHByb3BlcnR5IGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBudWxsIG9mZnNldHMiLAorICAgIGlucHV0OiAgW3sg
b2Zmc2V0OiAwLjAwLCBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC4y
NSwgbGVmdDogIjIwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IG51bGwsIGxlZnQ6ICIz
MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBsZWZ0OiAiNDBweCIgfSwKKyAg
ICAgICAgICAgICB7IG9mZnNldDogMS4wMCwgbGVmdDogIjUwcHgiIH1dLAorICAgIG91dHB1dDog
W3sgb2Zmc2V0OiAwLjAwLCBjb21wdXRlZE9mZnNldDogMC4wMCwgZWFzaW5nOiAibGluZWFyIiwK
KyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAw
LjI1LCBjb21wdXRlZE9mZnNldDogMC4yNSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAg
ICAgIGxlZnQ6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRl
ZE9mZnNldDogMC41MCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIz
MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC43
NSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI0MHB4IiB9LAorICAg
ICAgICAgICAgIHsgb2Zmc2V0OiAxLjAwLCBjb21wdXRlZE9mZnNldDogMS4wMCwgZWFzaW5nOiAi
bGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI1MHB4IiB9XSB9LAorICB7IGRlc2M6ICAg
ImEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNl
dHMiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLjAwLCBsZWZ0OiAiMTBweCIsIHRvcDogIjIw
cHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuMjUsIGxlZnQ6ICIzMHB4IiB9LAorICAg
ICAgICAgICAgIHsgbGVmdDogIjQwcHgiIH0sCisgICAgICAgICAgICAgeyBsZWZ0OiAiNTBweCIs
IHRvcDogIjYwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEuMDAsIGxlZnQ6ICI3MHB4
IiwgdG9wOiAiODBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAuMDAsIGNvbXB1dGVk
T2Zmc2V0OiAwLjAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEw
cHgiLCB0b3A6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjI1LCBjb21wdXRl
ZE9mZnNldDogMC4yNSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIz
MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC41
MCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI0MHB4IiB9LAorICAg
ICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC43NSwgZWFzaW5nOiAi
bGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI1MHB4IiwgdG9wOiAiNjBweCIgfSwKKyAg
ICAgICAgICAgICB7IG9mZnNldDogMS4wMCwgY29tcHV0ZWRPZmZzZXQ6IDEuMDAsIGVhc2luZzog
ImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNzBweCIsIHRvcDogIjgwcHgiIH1dIH0s
CisgIHsgZGVzYzogICAiYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbGwg
b21pdHRlZCBvZmZzZXRzIiwKKyAgICBpbnB1dDogIFt7IGxlZnQ6ICIxMHB4IiB9LAorICAgICAg
ICAgICAgIHsgbGVmdDogIjIwcHgiIH0sCisgICAgICAgICAgICAgeyBsZWZ0OiAiMzBweCIgfSwK
KyAgICAgICAgICAgICB7IGxlZnQ6ICI0MHB4IiB9LAorICAgICAgICAgICAgIHsgbGVmdDogIjUw
cHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC4w
MCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiB9LAorICAg
ICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC4yNSwgZWFzaW5nOiAi
bGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsg
b2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC41MCwgZWFzaW5nOiAibGluZWFyIiwKKyAg
ICAgICAgICAgICAgIGxlZnQ6ICIzMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxs
LCBjb21wdXRlZE9mZnNldDogMC43NSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAg
IGxlZnQ6ICI0MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9m
ZnNldDogMS4wMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI1MHB4
IiB9XSB9LAorICB7IGRlc2M6ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQg
ZWFzaW5nIHZhbHVlcywgYnV0IHRoZSBzYW1lIgorICAgICAgICAgICAgKyAiIGVhc2luZyB2YWx1
ZSBmb3IgYSBnaXZlbiBvZmZzZXQiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLjAsIGVhc2lu
ZzogImVhc2UiLCAgICAgbGVmdDogIjEwcHgifSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC4w
LCBlYXNpbmc6ICJlYXNlIiwgICAgIHRvcDogIjIwcHgifSwKKyAgICAgICAgICAgICB7IG9mZnNl
dDogMC41LCBlYXNpbmc6ICJsaW5lYXIiLCAgIGxlZnQ6ICIzMHB4IiB9LAorICAgICAgICAgICAg
IHsgb2Zmc2V0OiAwLjUsIGVhc2luZzogImxpbmVhciIsICAgdG9wOiAiNDBweCIgfSwKKyAgICAg
ICAgICAgICB7IG9mZnNldDogMS4wLCBlYXNpbmc6ICJzdGVwLWVuZCIsIGxlZnQ6ICI1MHB4IiB9
LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLjAsIGVhc2luZzogInN0ZXAtZW5kIiwgdG9wOiAi
NjBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAuMCwgY29tcHV0ZWRPZmZzZXQ6IDAu
MCwgZWFzaW5nOiAiZWFzZSIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIgfSwKKyAgICAg
ICAgICAgICB7IG9mZnNldDogMC4wLCBjb21wdXRlZE9mZnNldDogMC4wLCBlYXNpbmc6ICJlYXNl
IiwKKyAgICAgICAgICAgICAgIHRvcDogIjIwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6
IDAuNSwgY29tcHV0ZWRPZmZzZXQ6IDAuNSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAg
ICAgIGxlZnQ6ICIzMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjUsIGNvbXB1dGVk
T2Zmc2V0OiAwLjUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICB0b3A6ICI0MHB4
IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLjAsIGNvbXB1dGVkT2Zmc2V0OiAxLjAsIGVh
c2luZzogInN0ZXBzKDEpIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI1MHB4IiB9LAorICAgICAg
ICAgICAgIHsgb2Zmc2V0OiAxLjAsIGNvbXB1dGVkT2Zmc2V0OiAxLjAsIGVhc2luZzogInN0ZXBz
KDEpIiwKKyAgICAgICAgICAgICAgIHRvcDogIjYwcHgiIH1dIH0sCisgIHsgZGVzYzogICAiYSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBjb21wb3NpdGUgdmFsdWVzLCBidXQgdGhl
IgorICAgICAgICAgICAgKyAiIHNhbWUgY29tcG9zaXRlIHZhbHVlIGZvciBhIGdpdmVuIG9mZnNl
dCIsCisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAuMCwgY29tcG9zaXRlOiAicmVwbGFjZSIsIGxl
ZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjAsIGNvbXBvc2l0ZTogInJl
cGxhY2UiLCB0b3A6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjUsIGNvbXBv
c2l0ZTogImFkZCIsICAgICBsZWZ0OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDog
MC41LCBjb21wb3NpdGU6ICJhZGQiLCAgICAgdG9wOiAiNDBweCIgfSwKKyAgICAgICAgICAgICB7
IG9mZnNldDogMS4wLCBjb21wb3NpdGU6ICJyZXBsYWNlIiwgbGVmdDogIjUwcHgiIH0sCisgICAg
ICAgICAgICAgeyBvZmZzZXQ6IDEuMCwgY29tcG9zaXRlOiAicmVwbGFjZSIsIHRvcDogIjYwcHgi
IH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiAwLjAsIGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVh
c2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBjb21wb3NpdGU6ICJyZXBsYWNlIiwgbGVm
dDogIjEwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuMCwgY29tcHV0ZWRPZmZzZXQ6
IDAuMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGNvbXBvc2l0ZTogInJlcGxh
Y2UiLCB0b3A6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjUsIGNvbXB1dGVk
T2Zmc2V0OiAwLjUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBjb21wb3NpdGU6
ICJhZGQiLCBsZWZ0OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBjb21w
dXRlZE9mZnNldDogMC41LCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgY29tcG9z
aXRlOiAiYWRkIiwgdG9wOiAiNDBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMS4wLCBj
b21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgY29t
cG9zaXRlOiAicmVwbGFjZSIsIGxlZnQ6ICI1MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0
OiAxLjAsIGNvbXB1dGVkT2Zmc2V0OiAxLjAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAg
ICAgICBjb21wb3NpdGU6ICJyZXBsYWNlIiwgdG9wOiAiNjBweCIgfV0gfSwKKyAgeyBkZXNjOiAg
ICJhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJp
bmdpZnkiCisgICAgICAgICAgICArICIgaXRzIHZhbHVlcyIsCisgICAgaW5wdXQ6ICBbeyBvZmZz
ZXQ6IDAsIG9wYWNpdHk6IDAgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgb3BhY2l0eTog
MSB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2lu
ZzogImxpbmVhciIsIG9wYWNpdHk6ICIwIiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBj
b21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwgb3BhY2l0eTogIjEiIH1dCisgIH0s
CisgIHsgZGVzYzogICAiYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJl
ZmVyZW5jZSIsCisgICAgaW5wdXQ6ICBbeyBsZWZ0OiAidmFyKC0tZGlzdCkiIH0sCisgICAgICAg
ICAgICAgeyBsZWZ0OiAiY2FsYyh2YXIoLS1kaXN0KSArIDEwMHB4KSIgfV0sCisgICAgb3V0cHV0
OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVhc2luZzogImxpbmVhciIs
CisgICAgICAgICAgICAgICBsZWZ0OiAidmFyKC0tZGlzdCkiIH0sCisgICAgICAgICAgICAgeyBv
ZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLjAsIGVhc2luZzogImxpbmVhciIsCisgICAg
ICAgICAgICAgICBsZWZ0OiAiY2FsYyh2YXIoLS1kaXN0KSArIDEwMHB4KSIgfV0gfSwKKyAgeyBk
ZXNjOiAgICJhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNl
IGluIGEgc2hvcnRoYW5kIgorICAgICAgICAgICAgKyAiIHByb3BlcnR5IiwKKyAgICBpbnB1dDog
IFt7IG1hcmdpbjogInZhcigtLWRpc3QpIiB9LAorICAgICAgICAgICAgIHsgbWFyZ2luOiAiY2Fs
Yyh2YXIoLS1kaXN0KSArIDEwMHB4KSIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IG51bGws
IGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBt
YXJnaW46ICJ2YXIoLS1kaXN0KSIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29t
cHV0ZWRPZmZzZXQ6IDEuMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIG1hcmdp
bjogImNhbGModmFyKC0tZGlzdCkgKyAxMDBweCkiIH1dIH0sCisgIHsgZGVzYzogICAiYSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9ydGhhbmQgcHJlY2VkZXMgbG9uZ2hhbmQiLAorICAgIGlu
cHV0OiAgW3sgb2Zmc2V0OiAwLCBtYXJnaW46ICIxMHB4IiwgbWFyZ2luUmlnaHQ6ICIyMHB4IiB9
LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBtYXJnaW46ICIzMHB4IiB9XSwKKyAgICBvdXRw
dXQ6IFt7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImxpbmVhciIsCisg
ICAgICAgICAgICAgICBtYXJnaW46ICIxMHB4IiwgbWFyZ2luUmlnaHQ6ICIyMHB4IiB9LAorICAg
ICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFy
IiwKKyAgICAgICAgICAgICAgIG1hcmdpbjogIjMwcHgiIH1dIH0sCisgIHsgZGVzYzogICAiYSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFuZCBwcmVjZWRlcyBzaG9ydGhhbmQiLAorICAg
IGlucHV0OiAgW3sgb2Zmc2V0OiAwLCBtYXJnaW5SaWdodDogIjIwcHgiLCBtYXJnaW46ICIxMHB4
IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBtYXJnaW46ICIzMHB4IiB9XSwKKyAgICBv
dXRwdXQ6IFt7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImxpbmVhciIs
CisgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogIjIwcHgiLCBtYXJnaW46ICIxMHB4IiB9LAor
ICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGlu
ZWFyIiwKKyAgICAgICAgICAgICAgIG1hcmdpbjogIjMwcHgiIH1dIH0sCisgIHsgZGVzYzogICAi
YSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdyZWF0
ZXIiCisgICAgICAgICAgICArICIgc2hvcnRoYW5kIiwKKyAgICBpbnB1dDogIFt7IG9mZnNldDog
MCwKKyAgICAgICAgICAgICAgIGJvcmRlckxlZnQ6ICIxcHggc29saWQgcmdiKDEsIDIsIDMpIiwK
KyAgICAgICAgICAgICAgIGJvcmRlcjogIjJweCBkb3R0ZWQgcmdiKDQsIDUsIDYpIiB9LAorICAg
ICAgICAgICAgIHsgb2Zmc2V0OiAxLCBib3JkZXI6ICIzcHggZGFzaGVkIHJnYig3LCA4LCA5KSIg
fV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6
ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgYm9yZGVyTGVmdDogIjFweCBzb2xpZCByZ2IoMSwg
MiwgMykiLAorICAgICAgICAgICAgICAgYm9yZGVyOiAiMnB4IGRvdHRlZCByZ2IoNCwgNSwgNiki
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6
ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgYm9yZGVyOiAiM3B4IGRhc2hlZCByZ2IoNywgOCwg
OSkiIH1dIH0sCisgIHsgZGVzYzogICAiYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBncmVhdGVy
IHNob3J0aGFuZCBwcmVjZWRlcyBsZXNzZXIiCisgICAgICAgICAgICArICIgc2hvcnRoYW5kIiwK
KyAgICBpbnB1dDogIFt7IG9mZnNldDogMCwgYm9yZGVyOiAiMnB4IGRvdHRlZCByZ2IoNCwgNSwg
NikiLAorICAgICAgICAgICAgICAgYm9yZGVyTGVmdDogIjFweCBzb2xpZCByZ2IoMSwgMiwgMyki
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGJvcmRlcjogIjNweCBkYXNoZWQgcmdiKDcs
IDgsIDkpIiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAs
IGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBib3JkZXI6ICIycHggZG90dGVkIHJn
Yig0LCA1LCA2KSIsCisgICAgICAgICAgICAgICBib3JkZXJMZWZ0OiAiMXB4IHNvbGlkIHJnYigx
LCAyLCAzKSIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEs
IGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBib3JkZXI6ICIzcHggZGFzaGVkIHJn
Yig3LCA4LCA5KSIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyIKKyAgICAgICAgICAgICsgIiBm
cm9tIHRoZSBmaXJzdCBrZXlmcmFtZSIsCisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAsIGxlZnQ6
ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBsZWZ0OiAiMjBweCIsIHRvcDog
IjMwcHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwg
ZWFzaW5nOiAibGluZWFyIiwgbGVmdDogIjEwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6
IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAg
bGVmdDogIjIwcHgiLCB0b3A6ICIzMHB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgdHdvIHByb3Bl
cnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIgorICAg
ICAgICAgICAgKyAiIGZyb20gdGhlIGxhc3Qga2V5ZnJhbWUiLAorICAgIGlucHV0OiAgW3sgb2Zm
c2V0OiAwLCBsZWZ0OiAiMTBweCIsIHRvcDogIjIwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZz
ZXQ6IDEsIGxlZnQ6ICIzMHB4IiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogMCwgY29tcHV0
ZWRPZmZzZXQ6IDAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBw
eCIgLCB0b3A6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9m
ZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIzMHB4IiB9
XSB9LAorICB7IGRlc2M6ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2YWx1
ZXMgYXQgb2Zmc2V0IDEgd2l0aCIKKyAgICAgICAgICAgICsgIiBkaWZmZXJlbnQgZWFzaW5ncyIs
CisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAuMCwgbGVmdDogIjEwMHB4IiwgZWFzaW5nOiAiZWFz
ZSIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC4wLCBsZWZ0OiAiMjAwcHgiLCBlYXNpbmc6
ICJlYXNlIiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjUsIGxlZnQ6ICIzMDBweCIsIGVh
c2luZzogImxpbmVhciIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMS4wLCBsZWZ0OiAiNDAw
cHgiLCBlYXNpbmc6ICJlYXNlLW91dCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMS4wLCBs
ZWZ0OiAiNTAwcHgiLCBlYXNpbmc6ICJzdGVwLWVuZCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZz
ZXQ6IDAuMCwgY29tcHV0ZWRPZmZzZXQ6IDAuMCwgZWFzaW5nOiAiZWFzZSIsCisgICAgICAgICAg
ICAgICBsZWZ0OiAiMTAwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuMCwgY29tcHV0
ZWRPZmZzZXQ6IDAuMCwgZWFzaW5nOiAiZWFzZSIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMjAw
cHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuNSwgY29tcHV0ZWRPZmZzZXQ6IDAuNSwg
ZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIzMDBweCIgfSwKKyAgICAg
ICAgICAgICB7IG9mZnNldDogMS4wLCBjb21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6ICJlYXNl
LW91dCIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNDAwcHgiIH0sCisgICAgICAgICAgICAgeyBv
ZmZzZXQ6IDEuMCwgY29tcHV0ZWRPZmZzZXQ6IDEuMCwgZWFzaW5nOiAic3RlcHMoMSkiLAorICAg
ICAgICAgICAgICAgbGVmdDogIjUwMHB4IiB9XSB9LAorXTsKKwordmFyIGdJbnZhbGlkS2V5ZnJh
bWVzVGVzdHMgPSBbCisgIHsgZGVzYzogICAgICJrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91
bmRlZCBwb3NpdGl2ZSBvZmZzZXQiLAorICAgIGlucHV0OiAgICBbIHsgb3BhY2l0eTogMCB9LAor
ICAgICAgICAgICAgICAgIHsgb3BhY2l0eTogMC41LCBvZmZzZXQ6IDIgfSwKKyAgICAgICAgICAg
ICAgICB7IG9wYWNpdHk6IDEgfSBdLAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3Ii
IH0gfSwKKyAgeyBkZXNjOiAgICAgImtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIG5l
Z2F0aXZlIG9mZnNldCIsCisgICAgaW5wdXQ6ICAgIFsgeyBvcGFjaXR5OiAwIH0sCisgICAgICAg
ICAgICAgICAgeyBvcGFjaXR5OiAwLjUsIG9mZnNldDogLTEgfSwKKyAgICAgICAgICAgICAgICB7
IG9wYWNpdHk6IDEgfSBdLAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwK
KyAgeyBkZXNjOiAgICAgImtleWZyYW1lcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0IiwK
KyAgICBpbnB1dDogICAgWyB7IG9wYWNpdHk6IDAsIG9mZnNldDogMSB9LAorICAgICAgICAgICAg
ICAgIHsgb3BhY2l0eTogMSwgb2Zmc2V0OiAwIH0gXSwKKyAgICBleHBlY3RlZDogeyBuYW1lOiAi
VHlwZUVycm9yIiB9IH0sCisgIHsgZGVzYzogICAgICJwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1l
cyB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIiwKKyAgICBpbnB1dDogICAgeyBvcGFjaXR5
OiBbIDAsIDAuNSwgMSBdLAorICAgICAgICAgICAgICAgIGVhc2luZzogImluaGVyaXQiIH0sCisg
ICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAiYSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIiwKKyAgICBpbnB1
dDogICAgWyB7IG9wYWNpdHk6IDAsIGVhc2luZzogImp1bXB5IiB9LAorICAgICAgICAgICAgICAg
IHsgb3BhY2l0eTogMSB9IF0sCisgICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9
LAorICB7IGRlc2M6ICAgICAia2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBjb21wb3NpdGUgdmFs
dWUiLAorICAgIGlucHV0OiAgICBbIHsgb3BhY2l0eTogMCwgY29tcG9zaXRlOiAiYWx0ZXJuYXRl
IiB9LAorICAgICAgICAgICAgICAgIHsgb3BhY2l0eTogMSB9IF0sCisgICAgZXhwZWN0ZWQ6IHsg
bmFtZTogIlR5cGVFcnJvciIgfSB9CitdOworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKy8vICBLZXlmcmFtZUVmZmVjdE9wdGlvbnMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorCit2YXIgZ0tleWZyYW1lRWZmZWN0T3B0aW9uVGVzdHMgPSBbCisgIHsgZGVz
YzogICAgICJhbiBlbXB0eSBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IiwKKyAgICBpbnB1
dDogICAgeyB9LAorICAgIGV4cGVjdGVkOiB7IH0gfSwKKyAgeyBkZXNjOiAgICAgImEgbm9ybWFs
IEtleWZyYW1lRWZmZWN0T3B0aW9ucyBvYmplY3QiLAorICAgIGlucHV0OiAgICB7IGRlbGF5OiAx
MDAwLAorICAgICAgICAgICAgICAgIGZpbGw6ICJhdXRvIiwKKyAgICAgICAgICAgICAgICBpdGVy
YXRpb25zOiA1LjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246ICJhdXRvIiwKKyAgICAgICAg
ICAgICAgICBkaXJlY3Rpb246ICJhbHRlcm5hdGUiIH0sCisgICAgZXhwZWN0ZWQ6IHsgZGVsYXk6
IDEwMDAsCisgICAgICAgICAgICAgICAgZmlsbDogImF1dG8iLAorICAgICAgICAgICAgICAgIGl0
ZXJhdGlvbnM6IDUuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogImF1dG8iLAorICAgICAg
ICAgICAgICAgIGRpcmVjdGlvbjogImFsdGVybmF0ZSIgfSB9LAorICB7IGRlc2M6ICAgICAiYSBk
b3VibGUgdmFsdWUiLAorICAgIGlucHV0OiAgICAzMDAwLAorICAgIGV4cGVjdGVkOiB7IGR1cmF0
aW9uOiAzMDAwIH0gfSwKKyAgeyBkZXNjOiAgICAgIitJbmZpbml0eSIsCisgICAgaW5wdXQ6ICAg
IEluZmluaXR5LAorICAgIGV4cGVjdGVkOiB7IGR1cmF0aW9uOiBJbmZpbml0eSB9IH0sCisgIHsg
ZGVzYzogICAgICJhbiBJbmZpbml0eSBkdXJhdGlvbiIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRp
b246IEluZmluaXR5IH0sCisgICAgZXhwZWN0ZWQ6IHsgZHVyYXRpb246IEluZmluaXR5IH0gfSwK
KyAgeyBkZXNjOiAgICAgImFuIGF1dG8gZHVyYXRpb24iLAorICAgIGlucHV0OiAgICB7IGR1cmF0
aW9uOiAiYXV0byIgfSwKKyAgICBleHBlY3RlZDogeyBkdXJhdGlvbjogImF1dG8iIH0gfSwKKyAg
eyBkZXNjOiAgICAgImFuIEluZmluaXR5IGl0ZXJhdGlvbnMiLAorICAgIGlucHV0OiAgICB7IGl0
ZXJhdGlvbnM6IEluZmluaXR5IH0sCisgICAgZXhwZWN0ZWQ6IHsgaXRlcmF0aW9uczogSW5maW5p
dHkgfSB9LAorICB7IGRlc2M6ICAgICAiYW4gYXV0byBmaWxsIiwKKyAgICBpbnB1dDogICAgeyBm
aWxsOiAiYXV0byIgfSwKKyAgICBleHBlY3RlZDogeyBmaWxsOiAiYXV0byIgfSB9LAorICB7IGRl
c2M6ICAgICAiYSBmb3J3YXJkcyBmaWxsIiwKKyAgICBpbnB1dDogICAgeyBmaWxsOiAiZm9yd2Fy
ZHMiIH0sCisgICAgZXhwZWN0ZWQ6IHsgZmlsbDogImZvcndhcmRzIiB9IH0KK107CisKK3ZhciBn
SW52YWxpZEtleWZyYW1lRWZmZWN0T3B0aW9uVGVzdHMgPSBbCisgIHsgZGVzYzogICAgICItSW5m
aW5pdHkiLAorICAgIGlucHV0OiAgICAtSW5maW5pdHksCisgICAgZXhwZWN0ZWQ6IHsgbmFtZTog
IlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAiTmFOIiwKKyAgICBpbnB1dDogICAgTmFO
LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwKKyAgeyBkZXNjOiAgICAg
ImEgbmVnYXRpdmUgdmFsdWUiLAorICAgIGlucHV0OiAgICAtMSwKKyAgICBleHBlY3RlZDogeyBu
YW1lOiAiVHlwZUVycm9yIiB9IH0sCisgIHsgZGVzYzogICAgICJhIG5lZ2F0aXZlIEluZmluaXR5
IGR1cmF0aW9uIiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogLUluZmluaXR5IH0sCisgICAg
ZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAiYSBOYU4g
ZHVyYXRpb24iLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiBOYU4gfSwKKyAgICBleHBlY3Rl
ZDogeyBuYW1lOiAiVHlwZUVycm9yIiB9IH0sCisgIHsgZGVzYzogICAgICJhIG5lZ2F0aXZlIGR1
cmF0aW9uIiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogLTEgfSwKKyAgICBleHBlY3RlZDog
eyBuYW1lOiAiVHlwZUVycm9yIiB9IH0sCisgIHsgZGVzYzogICAgICJhIHN0cmluZyBkdXJhdGlv
biIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246ICJtZXJyeWNocmlzdG1hcyIgfSwKKyAgICBl
eHBlY3RlZDogeyBuYW1lOiAiVHlwZUVycm9yIiB9IH0sCisgIHsgZGVzYzogICAgICJhIG5lZ2F0
aXZlIEluZmluaXR5IGl0ZXJhdGlvbnMiLAorICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IC1J
bmZpbml0eX0sCisgICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRl
c2M6ICAgICAiYSBOYU4gaXRlcmF0aW9ucyIsCisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczog
TmFOIH0sCisgICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6
ICAgICAiYSBuZWdhdGl2ZSBpdGVyYXRpb25zIiwKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25z
OiAtMSB9LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwKKyAgeyBkZXNj
OiAgICAgImEgYmxhbmsgZWFzaW5nIiwKKyAgICBpbnB1dDogICAgeyBlYXNpbmc6ICIiIH0sCisg
ICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAiYW4g
dW5yZWNvZ25pemVkIGVhc2luZyIsCisgICAgaW5wdXQ6ICAgIHsgZWFzaW5nOiAidW5yZWNvZ25p
c2VkIiB9LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwKKyAgeyBkZXNj
OiAgICAgImFuICdpbml0aWFsJyBlYXNpbmciLAorICAgIGlucHV0OiAgICB7IGVhc2luZzogImlu
aXRpYWwiIH0sCisgICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRl
c2M6ICAgICAiYW4gJ2luaGVyaXQnIGVhc2luZyIsCisgICAgaW5wdXQ6ICAgIHsgZWFzaW5nOiAi
aW5oZXJpdCIgfSwKKyAgICBleHBlY3RlZDogeyBuYW1lOiAiVHlwZUVycm9yIiB9IH0sCisgIHsg
ZGVzYzogICAgICJhIHZhcmlhYmxlIGVhc2luZyIsCisgICAgaW5wdXQ6ICAgIHsgZWFzaW5nOiAi
dmFyKC0teCkiIH0sCisgICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7
IGRlc2M6ICAgICAiYSBtdWx0aS12YWx1ZSBlYXNpbmciLAorICAgIGlucHV0OiAgICB7IGVhc2lu
ZzogImVhc2UtaW4tb3V0LCBlYXNlLW91dCIgfSwKKyAgICBleHBlY3RlZDogeyBuYW1lOiAiVHlw
ZUVycm9yIiB9IH0KK107CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9yZXNvdXJjZXMveGhyLWRvYy5weSBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL3Jlc291cmNlcy94aHItZG9jLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExYjk0ODU1OGM2MjJm
ODg2OGEzOTBiYWI0ZTc5ZTNhY2IyN2NmY2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMveGhyLWRvYy5weQpAQCAtMCwwICsx
LDUgQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICBoZWFkZXJzID0gWygiQ29u
dGVudC10eXBlIiwgInRleHQvaHRtbDtjaGFyc2V0PXV0Zi04IildCisgICAgY29udGVudCA9ICI8
IWRvY3R5cGUgaHRtbD48ZGl2IGlkPXRlc3Q+PC9kaXY+IgorCisgICAgcmV0dXJuIGhlYWRlcnMs
IGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L3Rlc3Rjb21tb24uanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90ZXN0
Y29tbW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwOGQ0MjRkZjFmNjA3OGNkN2JlYmNkMTBhODk5YTFkMmU4
NWJkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy90ZXN0Y29tbW9uLmpzCkBAIC0wLDAgKzEsMjQ0IEBACisvKgorRGlzdHJpYnV0ZWQgdW5k
ZXIgYm90aCB0aGUgVzNDIFRlc3QgU3VpdGUgTGljZW5zZSBbMV0gYW5kIHRoZSBXM0MKKzMtY2xh
dXNlIEJTRCBMaWNlbnNlIFsyXS4gVG8gY29udHJpYnV0ZSB0byBhIFczQyBUZXN0IFN1aXRlLCBz
ZWUgdGhlCitwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KKworWzFdIGh0dHA6
Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wNC10ZXN0c3VpdGUtbGljZW5zZQor
WzJdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wMy1ic2QtbGljZW5z
ZQorWzNdIGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMTAvMjctdGVzdGNhc2VzCisgKi8KKworJ3Vz
ZSBzdHJpY3QnOworCit2YXIgTVNfUEVSX1NFQyA9IDEwMDA7CisKKy8vIFRoZSByZWNvbW1lbmRl
ZCBtaW5pbXVtIHByZWNpc2lvbiB0byB1c2UgZm9yIHRpbWUgdmFsdWVzWzFdLgorLy8KKy8vIFsx
XSBodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI3ByZWNpc2lvbi1vZi10aW1l
LXZhbHVlcwordmFyIFRJTUVfUFJFQ0lTSU9OID0gMC4wMDA1OyAvLyBtcworCisvLyBBbGxvdyBp
bXBsZW1lbnRhdGlvbnMgdG8gc3Vic3RpdHV0ZSBhbiBhbHRlcm5hdGl2ZSBtZXRob2QgZm9yIGNv
bXBhcmluZworLy8gdGltZXMgYmFzZWQgb24gdGhlaXIgcHJlY2lzaW9uIHJlcXVpcmVtZW50cy4K
K2lmICghd2luZG93LmFzc2VydF90aW1lc19lcXVhbCkgeworICB3aW5kb3cuYXNzZXJ0X3RpbWVz
X2VxdWFsID0gZnVuY3Rpb24oYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pIHsKKyAgICBh
c3NlcnRfYXBwcm94X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkLCBUSU1FX1BSRUNJU0lPTiwgZGVz
Y3JpcHRpb24pOworICB9Cit9CisKKy8vIGNyZWF0ZXMgZGl2IGVsZW1lbnQsIGFwcGVuZHMgaXQg
dG8gdGhlIGRvY3VtZW50IGJvZHkgYW5kCisvLyByZW1vdmVzIHRoZSBjcmVhdGVkIGVsZW1lbnQg
ZHVyaW5nIHRlc3QgY2xlYW51cAorZnVuY3Rpb24gY3JlYXRlRGl2KHRlc3QsIGRvYykgeworICBy
ZXR1cm4gY3JlYXRlRWxlbWVudCh0ZXN0LCAnZGl2JywgZG9jKTsKK30KKworLy8gY3JlYXRlcyBl
bGVtZW50IG9mIGdpdmVuIHRhZ05hbWUsIGFwcGVuZHMgaXQgdG8gdGhlIGRvY3VtZW50IGJvZHkg
YW5kCisvLyByZW1vdmVzIHRoZSBjcmVhdGVkIGVsZW1lbnQgZHVyaW5nIHRlc3QgY2xlYW51cAor
Ly8gaWYgdGFnTmFtZSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgcmV0dXJucyBkaXYgZWxlbWVudAor
ZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0ZXN0LCB0YWdOYW1lLCBkb2MpIHsKKyAgaWYgKCFkb2Mp
IHsKKyAgICBkb2MgPSBkb2N1bWVudDsKKyAgfQorICB2YXIgZWxlbWVudCA9IGRvYy5jcmVhdGVF
bGVtZW50KHRhZ05hbWUgfHwgJ2RpdicpOworICBkb2MuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50
KTsKKyAgdGVzdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbW92ZSgp
OworICB9KTsKKyAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKKy8vIENyZWF0ZXMgYSBzdHlsZSBlbGVt
ZW50IHdpdGggdGhlIHNwZWNpZmllZCBydWxlcywgYXBwZW5kcyBpdCB0byB0aGUgZG9jdW1lbnQK
Ky8vIGhlYWQgYW5kIHJlbW92ZXMgdGhlIGNyZWF0ZWQgZWxlbWVudCBkdXJpbmcgdGVzdCBjbGVh
bnVwLgorLy8gfHJ1bGVzfCBpcyBhbiBvYmplY3QuIEZvciBleGFtcGxlOgorLy8geyAnQGtleWZy
YW1lcyBhbmltJzogJycgLAorLy8gICAnLmNsYXNzTmFtZSc6ICdhbmltYXRpb246IGFuaW0gMTAw
czsnIH07CisvLyBvcgorLy8geyAnLmNsYXNzTmFtZTE6OmJlZm9yZSc6ICdjb250ZW50OiAiIjsg
d2lkdGg6IDBweDsgdHJhbnNpdGlvbjogYWxsIDEwczsnLAorLy8gICAnLmNsYXNzTmFtZTI6OmJl
Zm9yZSc6ICd3aWR0aDogMTAwcHg7JyB9OworLy8gVGhlIG9iamVjdCBwcm9wZXJ0eSBuYW1lIGNv
dWxkIGJlIGEga2V5ZnJhbWVzIG5hbWUsIG9yIGEgc2VsZWN0b3IuCisvLyBUaGUgb2JqZWN0IHBy
b3BlcnR5IHZhbHVlIGlzIGRlY2xhcmF0aW9ucyB3aGljaCBhcmUgcHJvcGVydHk6dmFsdWUgcGFp
cnMKKy8vIHNwbGl0IGJ5IGEgc3BhY2UuCitmdW5jdGlvbiBjcmVhdGVTdHlsZSh0ZXN0LCBydWxl
cywgZG9jKSB7CisgIGlmICghZG9jKSB7CisgICAgZG9jID0gZG9jdW1lbnQ7CisgIH0KKyAgdmFy
IGV4dHJhU3R5bGUgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgZG9jLmhlYWQuYXBw
ZW5kQ2hpbGQoZXh0cmFTdHlsZSk7CisgIGlmIChydWxlcykgeworICAgIHZhciBzaGVldCA9IGV4
dHJhU3R5bGUuc2hlZXQ7CisgICAgZm9yICh2YXIgc2VsZWN0b3IgaW4gcnVsZXMpIHsKKyAgICAg
IHNoZWV0Lmluc2VydFJ1bGUoc2VsZWN0b3IgKyAneycgKyBydWxlc1tzZWxlY3Rvcl0gKyAnfScs
CisgICAgICAgICAgICAgICAgICAgICAgIHNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7CisgICAgfQor
ICB9CisgIHRlc3QuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgZXh0cmFTdHlsZS5yZW1v
dmUoKTsKKyAgfSk7Cit9CisKKy8vIENyZWF0ZSBhIHBzZXVkbyBlbGVtZW50CitmdW5jdGlvbiBj
cmVhdGVQc2V1ZG8odGVzdCwgdHlwZSkgeworICBjcmVhdGVTdHlsZSh0ZXN0LCB7ICdAa2V5ZnJh
bWVzIGFuaW0nOiAnJywKKyAgICAgICAgICAgICAgICAgICAgICBbJy5wc2V1ZG86OicgKyB0eXBl
XTogJ2FuaW1hdGlvbjogYW5pbSAxMHM7ICcgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnY29udGVudDogXCdcJzsnICB9KTsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0ZXN0KTsKKyAgZGl2LmNsYXNzTGlzdC5hZGQoJ3BzZXVkbycpOworICB2YXIgYW5pbXMg
PSBkb2N1bWVudC5nZXRBbmltYXRpb25zKCk7CisgIGFzc2VydF90cnVlKGFuaW1zLmxlbmd0aCA+
PSAxKTsKKyAgdmFyIGFuaW0gPSBhbmltc1thbmltcy5sZW5ndGggLSAxXTsKKyAgYXNzZXJ0X2Vx
dWFscyhhbmltLmVmZmVjdC50YXJnZXQucGFyZW50RWxlbWVudCwgZGl2KTsKKyAgYXNzZXJ0X2Vx
dWFscyhhbmltLmVmZmVjdC50YXJnZXQudHlwZSwgJzo6JyArIHR5cGUpOworICBhbmltLmNhbmNl
bCgpOworICByZXR1cm4gYW5pbS5lZmZlY3QudGFyZ2V0OworfQorCisvLyBDdWJpYyBiZXppZXIg
d2l0aCBjb250cm9sIHBvaW50cyAoMCwgMCksICh4MSwgeTEpLCAoeDIsIHkyKSwgYW5kICgxLCAx
KS4KK2Z1bmN0aW9uIGN1YmljQmV6aWVyKHgxLCB5MSwgeDIsIHkyKSB7CisgIGZ1bmN0aW9uIHhG
b3JUKHQpIHsKKyAgICB2YXIgb210ID0gMS10OworICAgIHJldHVybiAzICogb210ICogb210ICog
dCAqIHgxICsgMyAqIG9tdCAqIHQgKiB0ICogeDIgKyB0ICogdCAqIHQ7CisgIH0KKworICBmdW5j
dGlvbiB5Rm9yVCh0KSB7CisgICAgdmFyIG9tdCA9IDEtdDsKKyAgICByZXR1cm4gMyAqIG9tdCAq
IG9tdCAqIHQgKiB5MSArIDMgKiBvbXQgKiB0ICogdCAqIHkyICsgdCAqIHQgKiB0OworICB9CisK
KyAgZnVuY3Rpb24gdEZvclgoeCkgeworICAgIC8vIEJpbmFyeSBzdWJkaXZpc2lvbi4KKyAgICB2
YXIgbWludCA9IDAsIG1heHQgPSAxOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMzA7ICsraSkg
eworICAgICAgdmFyIGd1ZXNzdCA9IChtaW50ICsgbWF4dCkgLyAyOworICAgICAgdmFyIGd1ZXNz
eCA9IHhGb3JUKGd1ZXNzdCk7CisgICAgICBpZiAoeCA8IGd1ZXNzeCkgeworICAgICAgICBtYXh0
ID0gZ3Vlc3N0OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbWludCA9IGd1ZXNzdDsKKyAgICAg
IH0KKyAgICB9CisgICAgcmV0dXJuIChtaW50ICsgbWF4dCkgLyAyOworICB9CisKKyAgcmV0dXJu
IGZ1bmN0aW9uIGJlemllckNsb3N1cmUoeCkgeworICAgIGlmICh4ID09IDApIHsKKyAgICAgIHJl
dHVybiAwOworICAgIH0KKyAgICBpZiAoeCA9PSAxKSB7CisgICAgICByZXR1cm4gMTsKKyAgICB9
CisgICAgcmV0dXJuIHlGb3JUKHRGb3JYKHgpKTsKKyAgfQorfQorCitmdW5jdGlvbiBzdGVwRW5k
KG5zdGVwcykgeworICByZXR1cm4gZnVuY3Rpb24gc3RlcEVuZENsb3N1cmUoeCkgeworICAgIHJl
dHVybiBNYXRoLmZsb29yKHggKiBuc3RlcHMpIC8gbnN0ZXBzOworICB9Cit9CisKK2Z1bmN0aW9u
IHN0ZXBTdGFydChuc3RlcHMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uIHN0ZXBTdGFydENsb3N1cmUo
eCkgeworICAgIHZhciByZXN1bHQgPSBNYXRoLmZsb29yKHggKiBuc3RlcHMgKyAxLjApIC8gbnN0
ZXBzOworICAgIHJldHVybiAocmVzdWx0ID4gMS4wKSA/IDEuMCA6IHJlc3VsdDsKKyAgfQorfQor
CitmdW5jdGlvbiBmcmFtZXNUaW1pbmcobmZyYW1lcykgeworICByZXR1cm4gZnVuY3Rpb24gZnJh
bWVzQ2xvc3VyZSh4KSB7CisgICAgdmFyIHJlc3VsdCA9IE1hdGguZmxvb3IoeCAqIG5mcmFtZXMp
IC8gKG5mcmFtZXMgLSAxKTsKKyAgICByZXR1cm4gKHJlc3VsdCA+IDEuMCAmJiB4IDw9IDEuMCkg
PyAxLjAgOiByZXN1bHQ7CisgIH0KK30KKworZnVuY3Rpb24gd2FpdEZvckFuaW1hdGlvbkZyYW1l
cyhmcmFtZUNvdW50KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKKyAgICBmdW5jdGlvbiBoYW5kbGVGcmFtZSgpIHsKKyAgICAgIGlmICgtLWZyYW1l
Q291bnQgPD0gMCkgeworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9IGVsc2UgeworICAgICAg
ICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGhhbmRsZUZyYW1lKTsgLy8gd2FpdCBhbm90
aGVyIGZyYW1lCisgICAgICB9CisgICAgfQorICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoaGFuZGxlRnJhbWUpOworICB9KTsKK30KKworLy8gQ29udGludWFsbHkgY2FsbHMgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lIHVudGlsIHxtaW5EZWxheXwgaGFzIGVsYXBzZWQKKy8vIGFzIHJlY29y
ZGVkIHVzaW5nIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIChpLmUuIGZyYW1lIHRpbWUg
bm90CisvLyB3YWxsLWNsb2NrIHRpbWUpLgorZnVuY3Rpb24gd2FpdEZvckFuaW1hdGlvbkZyYW1l
c1dpdGhEZWxheShtaW5EZWxheSkgeworICB2YXIgc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxp
bmUuY3VycmVudFRpbWU7CisgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
CisgICAgKGZ1bmN0aW9uIGhhbmRsZUZyYW1lKCkgeworICAgICAgaWYgKGRvY3VtZW50LnRpbWVs
aW5lLmN1cnJlbnRUaW1lIC0gc3RhcnRUaW1lID49IG1pbkRlbGF5KSB7CisgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoaGFuZGxlRnJhbWUpOworICAgICAgfQorICAgIH0oKSk7CisgIH0pOworfQorCisvLyBSZXR1
cm5zICdtYXRyaXgoKScgb3IgJ21hdHJpeDNkKCknIGZ1bmN0aW9uIHN0cmluZyBnZW5lcmF0ZWQg
ZnJvbSBhbiBhcnJheS4KK2Z1bmN0aW9uIGNyZWF0ZU1hdHJpeEZyb21BcnJheShhcnJheSkgewor
ICByZXR1cm4gKGFycmF5Lmxlbmd0aCA9PSAxNiA/ICdtYXRyaXgzZCcgOiAnbWF0cml4JykgKwor
ICAgICAgICAgJygnICsgYXJyYXkuam9pbigpICsgJyknOworfQorCisvLyBSZXR1cm5zICdtYXRy
aXgzZCgpJyBmdW5jdGlvbiBzdHJpbmcgZXF1aXZhbGVudCB0bworLy8gJ3JvdGF0ZTNkKHgsIHks
IHosIHJhZGlhbiknLgorZnVuY3Rpb24gcm90YXRlM2RUb01hdHJpeDNkKHgsIHksIHosIHJhZGlh
bikgeworICByZXR1cm4gY3JlYXRlTWF0cml4RnJvbUFycmF5KHJvdGF0ZTNkVG9NYXRyaXgoeCwg
eSwgeiwgcmFkaWFuKSk7Cit9CisKKy8vIFJldHVybnMgYW4gYXJyYXkgb2YgdGhlIDR4NCBtYXRy
aXggZXF1aXZhbGVudCB0byAncm90YXRlM2QoeCwgeSwgeiwgcmFkaWFuKScuCisvLyBodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLXRyYW5zZm9ybXMtMS8jUm90YXRlM2REZWZpbmVkCitmdW5jdGlv
biByb3RhdGUzZFRvTWF0cml4KHgsIHksIHosIHJhZGlhbikgeworICB2YXIgc2MgPSBNYXRoLnNp
bihyYWRpYW4gLyAyKSAqIE1hdGguY29zKHJhZGlhbiAvIDIpOworICB2YXIgc3EgPSBNYXRoLnNp
bihyYWRpYW4gLyAyKSAqIE1hdGguc2luKHJhZGlhbiAvIDIpOworCisgIC8vIE5vcm1hbGl6ZSB0
aGUgdmVjdG9yLgorICB2YXIgbGVuZ3RoID0gTWF0aC5zcXJ0KHgqeCArIHkqeSArIHoqeik7Cisg
IHggLz0gbGVuZ3RoOworICB5IC89IGxlbmd0aDsKKyAgeiAvPSBsZW5ndGg7CisKKyAgcmV0dXJu
IFsKKyAgICAxIC0gMiAqICh5KnkgKyB6KnopICogc3EsCisgICAgMiAqICh4ICogeSAqIHNxICsg
eiAqIHNjKSwKKyAgICAyICogKHggKiB6ICogc3EgLSB5ICogc2MpLAorICAgIDAsCisgICAgMiAq
ICh4ICogeSAqIHNxIC0geiAqIHNjKSwKKyAgICAxIC0gMiAqICh4KnggKyB6KnopICogc3EsCisg
ICAgMiAqICh5ICogeiAqIHNxICsgeCAqIHNjKSwKKyAgICAwLAorICAgIDIgKiAoeCAqIHogKiBz
cSArIHkgKiBzYyksCisgICAgMiAqICh5ICogeiAqIHNxIC0geCAqIHNjKSwKKyAgICAxIC0gMiAq
ICh4KnggKyB5KnkpICogc3EsCisgICAgMCwKKyAgICAwLAorICAgIDAsCisgICAgMCwKKyAgICAx
CisgIF07Cit9CisKKy8vIENvbXBhcmUgbWF0cml4IHN0cmluZyBsaWtlICdtYXRyaXgoMSwgMCwg
MCwgMSwgMTAwLCAwKScgd2l0aCB0b2xlcmFuY2VzLgorZnVuY3Rpb24gYXNzZXJ0X21hdHJpeF9l
cXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pIHsKKyAgdmFyIG1hdHJpeFJlZ0V4
cCA9IC9ebWF0cml4KD86M2QpKlwoKC4rKVwpLzsKKyAgYXNzZXJ0X3JlZ2V4cF9tYXRjaChhY3R1
YWwsIG1hdHJpeFJlZ0V4cCwKKyAgICAnQWN0dWFsIHZhbHVlIGlzIG5vdCBhIG1hdHJpeCcpCisg
IGFzc2VydF9yZWdleHBfbWF0Y2goZXhwZWN0ZWQsIG1hdHJpeFJlZ0V4cCwKKyAgICAnRXhwZWN0
ZWQgdmFsdWUgaXMgbm90IGEgbWF0cml4Jyk7CisKKyAgdmFyIGFjdHVhbE1hdHJpeEFycmF5ID0K
KyAgICBhY3R1YWwubWF0Y2gobWF0cml4UmVnRXhwKVsxXS5zcGxpdCgnLCcpLm1hcChOdW1iZXIp
OworICB2YXIgZXhwZWN0ZWRNYXRyaXhBcnJheSA9CisgICAgZXhwZWN0ZWQubWF0Y2gobWF0cml4
UmVnRXhwKVsxXS5zcGxpdCgnLCcpLm1hcChOdW1iZXIpOworCisgIGFzc2VydF9lcXVhbHMoYWN0
dWFsTWF0cml4QXJyYXkubGVuZ3RoLCBleHBlY3RlZE1hdHJpeEFycmF5Lmxlbmd0aCwKKyAgICAn
ZGltZW5zaW9uIG9mIHRoZSBtYXRyaXg6ICcgKyBkZXNjcmlwdGlvbik7CisgIGZvciAodmFyIGkg
PSAwOyBpIDwgYWN0dWFsTWF0cml4QXJyYXkubGVuZ3RoOyBpKyspIHsKKyAgICBhc3NlcnRfYXBw
cm94X2VxdWFscyhhY3R1YWxNYXRyaXhBcnJheVtpXSwgZXhwZWN0ZWRNYXRyaXhBcnJheVtpXSwg
MC4wMDAxLAorICAgICAgJ2V4cGVjdGVkICcgKyBleHBlY3RlZCArICcgYnV0IGdvdCAnICsgYWN0
dWFsICsgIjogIiArIGRlc2NyaXB0aW9uKTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3Rz
L2FjdGl2ZS10aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9hY3RpdmUtdGltZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2I1OWZjYzg5NDNjNTFmYjMwYzdhYjJiMTI2NjY3ODk0ZGM3MjVl
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9hY3RpdmUtdGltZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNiBAQAorCitGQUlMIEFjdGl2ZSB0aW1lIGluIGJlZm9yZSBwaGFzZSBjcmVh
dGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5p
bWF0ZShudWxsLCB7IGRlbGF5OiAxLCBmaWxsOiB0ZXN0LmZpbGwgfSknLCAnY3JlYXRlRGl2KHQp
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQWN0aXZlIHRpbWUgaW4gYWN0aXZlIHBoYXNl
IGFuZCBubyBzdGFydCBkZWxheSBpcyB0aGUgbG9jYWwgdGltZSBjcmVhdGVEaXYodCkuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAw
KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBBY3RpdmUgdGlt
ZSBpbiBhY3RpdmUgcGhhc2UgYW5kIHBvc2l0aXZlIHN0YXJ0IGRlbGF5IGlzIHRoZSBsb2NhbCB0
aW1lIG1pbnVzIHRoZSBzdGFydCBkZWxheSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxMDAw
LCBkZWxheTogNTAwIH0pJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIEFjdGl2ZSB0aW1lIGluIGFjdGl2ZSBwaGFzZSBhbmQgbmVnYXRpdmUgc3RhcnQgZGVsYXkg
aXMgdGhlIGxvY2FsIHRpbWUgbWludXMgdGhlIHN0YXJ0IGRlbGF5IGNyZWF0ZURpdih0KS5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsg
ZHVyYXRpb246IDEwMDAsIGRlbGF5OiAtNTAwIH0pJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIEFjdGl2ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdpdGggbm8gZmls
bCBpcyB1bnJlc29sdmVkIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIEFjdGl2ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdpdGggYmFja3dh
cmRzLW9ubHkgZmlsbCBpcyB1bnJlc29sdmVkIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZmlsbDogJ2JhY2t3
YXJkcycgfSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQWN0
aXZlIHRpbWUgaW4gYWZ0ZXIgcGhhc2Ugd2l0aCBmb3J3YXJkcyBmaWxsIGlzIHRoZSBhY3RpdmUg
ZHVyYXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5jcmVhdGVEaXYo
dCkuYW5pbWF0ZS4uLicpCitGQUlMIEFjdGl2ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdpdGggZm9y
d2FyZHMgZmlsbCwgemVyby1kdXJhdGlvbiwgYW5kICBpbmZpbml0ZSBpdGVyYXRpb24gY291bnQg
aXMgdGhlIGFjdGl2ZSBkdXJhdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIg
Jy4uLmNyZWF0ZURpdih0KS5hbmltYXRlLi4uJykKK0ZBSUwgQWN0aXZlIHRpbWUgaW4gYWZ0ZXIg
cGhhc2Ugd2l0aCBmb3J3YXJkcyBmaWxsIGFuZCBwb3NpdGl2ZSBlbmQgZGVsYXkgaXMgdGhlIGFj
dGl2ZSBkdXJhdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmNyZWF0
ZURpdih0KS5hbmltYXRlLi4uJykKK0ZBSUwgQWN0aXZlIHRpbWUgaW4gYWZ0ZXIgcGhhc2Ugd2l0
aCBmb3J3YXJkcyBmaWxsIGFuZCBuZWdhdGl2ZSBlbmQgZGVsYXkgaXMgdGhlIGFjdGl2ZSBkdXJh
dGlvbiArIGVuZCBkZWxheSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmNy
ZWF0ZURpdih0KS5hbmltYXRlLi4uJykKK0ZBSUwgQWN0aXZlIHRpbWUgaW4gYWZ0ZXIgcGhhc2Ug
d2l0aCBmb3J3YXJkcyBmaWxsIGFuZCBuZWdhdGl2ZSBlbmQgZGVsYXkgZ3JlYXRlciBpbiBtYWdu
aXR1ZGUgdGhhbiB0aGUgYWN0aXZlIGR1cmF0aW9uIGlzIHplcm8gdW5kZWZpbmVkIGlzIG5vdCBh
IGZ1bmN0aW9uIChuZWFyICcuLi5jcmVhdGVEaXYodCkuYW5pbWF0ZS4uLicpCitGQUlMIEFjdGl2
ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdpdGggZm9yd2FyZHMgZmlsbCBhbmQgbmVnYXRpdmUgZW5k
IGRlbGF5IGdyZWF0ZXIgaW4gbWFnbml0dWRlIHRoYW4gdGhlIHN1bSBvZiB0aGUgYWN0aXZlIGR1
cmF0aW9uIGFuZCBzdGFydCBkZWxheSBpcyB6ZXJvIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlv
biAobmVhciAnLi4uY3JlYXRlRGl2KHQpLmFuaW1hdGUuLi4nKQorRkFJTCBBY3RpdmUgdGltZSBp
biBhZnRlciBwaGFzZSB3aXRoICdib3RoJyBmaWxsIGlzIHRoZSBhY3RpdmUgZHVyYXRpb24gdW5k
ZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5jcmVhdGVEaXYodCkuYW5pbWF0ZS4u
LicpCitGQUlMIEFjdGl2ZSB0aW1lIHdoZW4gdGhlIGxvY2FsIHRpbWUgaXMgdW5yZXNvbHZlZCwg
aXMgdW5yZXNvbHZlZCBlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCknLCAnZWZmZWN0LmdldENvbXB1dGVkVGlt
aW5nJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9hY3RpdmUtdGltZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbi1lZmZlY3RzL2FjdGl2ZS10aW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRhYWQwOGVkZDQ0
MTkyOThlZGIwYWM0MWU2Y2I1ZTMzNDkzN2JiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0
cy9hY3RpdmUtdGltZS5odG1sCkBAIC0wLDAgKzEsMTQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QWN0aXZlIHRpbWUgdGVzdHM8L3RpdGxlPgorPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMv
I2NhbGN1bGF0aW5nLXRoZS1hY3RpdmUtdGltZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3Vz
ZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHRlc3RzID0gWyB7IGZpbGw6
ICdub25lJywgcHJvZ3Jlc3M6IG51bGwgfSwKKyAgICAgICAgICAgICAgICB7IGZpbGw6ICdiYWNr
d2FyZHMnLCBwcm9ncmVzczogMCB9LAorICAgICAgICAgICAgICAgIHsgZmlsbDogJ2ZvcndhcmRz
JywgcHJvZ3Jlc3M6IG51bGwgfSwKKyAgICAgICAgICAgICAgICB7IGZpbGw6ICdib3RoJywgcHJv
Z3Jlc3M6IDAgfSBdOworICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKHRlc3QpIHsKKyAgICB2YXIg
YW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZGVsYXk6IDEsIGZpbGw6IHRlc3Qu
ZmlsbCB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5n
KCkucHJvZ3Jlc3MsIHRlc3QucHJvZ3Jlc3MsCisgICAgICAgICAgICAgICAgICAnUHJvZ3Jlc3Mg
aW4gYmVmb3JlIHBoYXNlIHdoZW4gdXNpbmcgXCcnICsgdGVzdC5maWxsCisgICAgICAgICAgICAg
ICAgICArICdcJyBmaWxsJyk7CisgIH0pOworfSwgJ0FjdGl2ZSB0aW1lIGluIGJlZm9yZSBwaGFz
ZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5p
bWF0ZShudWxsLCAxMDAwKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDUwMDsKKyAgYXNzZXJ0X3Rp
bWVzX2VxdWFsKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDAuNSk7
Cit9LCAnQWN0aXZlIHRpbWUgaW4gYWN0aXZlIHBoYXNlIGFuZCBubyBzdGFydCBkZWxheSBpcyB0
aGUgbG9jYWwgdGltZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVh
dGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxMDAwLCBkZWxheTogNTAwIH0pOwor
ICBhbmltLmN1cnJlbnRUaW1lID0gMTAwMDsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uZWZm
ZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDAuNSk7Cit9LCAnQWN0aXZlIHRpbWUg
aW4gYWN0aXZlIHBoYXNlIGFuZCBwb3NpdGl2ZSBzdGFydCBkZWxheSBpcyB0aGUgbG9jYWwgdGlt
ZScKKyAgICsgJyBtaW51cyB0aGUgc3RhcnQgZGVsYXknKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMTAw
MCwgZGVsYXk6IC01MDAgfSk7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltLmVmZmVjdC5nZXRD
b21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAwLjUpOworfSwgJ0FjdGl2ZSB0aW1lIGluIGFjdGl2
ZSBwaGFzZSBhbmQgbmVnYXRpdmUgc3RhcnQgZGVsYXkgaXMgdGhlIGxvY2FsIHRpbWUnCisgICAr
ICcgbWludXMgdGhlIHN0YXJ0IGRlbGF5Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
YW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW0u
ZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIG51bGwpOworfSwgJ0FjdGl2ZSB0
aW1lIGluIGFmdGVyIHBoYXNlIHdpdGggbm8gZmlsbCBpcyB1bnJlc29sdmVkJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsg
ZmlsbDogJ2JhY2t3YXJkcycgfSk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29t
cHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgbnVsbCk7Cit9LCAnQWN0aXZlIHRpbWUgaW4gYWZ0ZXIg
cGhhc2Ugd2l0aCBiYWNrd2FyZHMtb25seSBmaWxsIGlzIHVucmVzb2x2ZWQnKTsKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBk
dXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGl0ZXJhdGlvbnM6IDIuMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlbGF5OiA1MDAsIC8vIFNob3VsZCBoYXZlIG5vIGVmZmVjdAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2ZvcndhcmRzJyB9KTsKKyAgYW5pbS5m
aW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygp
LmN1cnJlbnRJdGVyYXRpb24sIDIpOworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbS5lZmZlY3Qu
Z2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMC4zKTsKK30sICdBY3RpdmUgdGltZSBpbiBh
ZnRlciBwaGFzZSB3aXRoIGZvcndhcmRzIGZpbGwgaXMgdGhlIGFjdGl2ZSBkdXJhdGlvbicpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsLCB7IGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaXRlcmF0aW9uczogSW5maW5pdHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWxsOiAnZm9yd2FyZHMnIH0pOworICBhbmltLmZpbmlzaCgpOworICBh
c3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0ZXJh
dGlvbiwgSW5maW5pdHkpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVk
VGltaW5nKCkucHJvZ3Jlc3MsIDEpOworfSwgJ0FjdGl2ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdp
dGggZm9yd2FyZHMgZmlsbCwgemVyby1kdXJhdGlvbiwgYW5kICcKKyAgICsgJyBpbmZpbml0ZSBp
dGVyYXRpb24gY291bnQgaXMgdGhlIGFjdGl2ZSBkdXJhdGlvbicpOworCit0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9u
OiAxMDAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0
aW9uczogMi4zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVs
YXk6IDUwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZERl
bGF5OiA0MDAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmls
bDogJ2ZvcndhcmRzJyB9KTsKKyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
LmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmN1cnJlbnRJdGVyYXRpb24sIDIpOworICBhc3Nl
cnRfdGltZXNfZXF1YWwoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywg
MC4zKTsKK30sICdBY3RpdmUgdGltZSBpbiBhZnRlciBwaGFzZSB3aXRoIGZvcndhcmRzIGZpbGwg
YW5kIHBvc2l0aXZlIGVuZCBkZWxheScKKyAgICsgJyBpcyB0aGUgYWN0aXZlIGR1cmF0aW9uJyk7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRl
KG51bGwsIHsgZHVyYXRpb246IDEwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpdGVyYXRpb25zOiAyLjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZWxheTogNTAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZW5kRGVsYXk6IC04MDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWxsOiAnZm9yd2FyZHMnIH0pOworICBhbmltLmZpbmlzaCgpOworICBh
c3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0ZXJh
dGlvbiwgMSk7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRp
bWluZygpLnByb2dyZXNzLCAwLjUpOworfSwgJ0FjdGl2ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdp
dGggZm9yd2FyZHMgZmlsbCBhbmQgbmVnYXRpdmUgZW5kIGRlbGF5JworICAgKyAnIGlzIHRoZSBh
Y3RpdmUgZHVyYXRpb24gKyBlbmQgZGVsYXknKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMTAwMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDIuMywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiA1MDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmREZWxheTogLTI1MDAs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAnZm9yd2Fy
ZHMnIH0pOworICBhbmltLmZpbmlzaCgpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0Lmdl
dENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0ZXJhdGlvbiwgMCk7CisgIGFzc2VydF9lcXVhbHMo
YW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMCk7Cit9LCAnQWN0aXZl
IHRpbWUgaW4gYWZ0ZXIgcGhhc2Ugd2l0aCBmb3J3YXJkcyBmaWxsIGFuZCBuZWdhdGl2ZSBlbmQg
ZGVsYXknCisgICArICcgZ3JlYXRlciBpbiBtYWduaXR1ZGUgdGhhbiB0aGUgYWN0aXZlIGR1cmF0
aW9uIGlzIHplcm8nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRl
RGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDIuMywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiA1MDAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbmREZWxheTogLTQwMDAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAnZm9yd2FyZHMnIH0pOworICBhbmlt
LmZpbmlzaCgpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5n
KCkuY3VycmVudEl0ZXJhdGlvbiwgMCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0
Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMCk7Cit9LCAnQWN0aXZlIHRpbWUgaW4gYWZ0ZXIg
cGhhc2Ugd2l0aCBmb3J3YXJkcyBmaWxsIGFuZCBuZWdhdGl2ZSBlbmQgZGVsYXknCisgICArICcg
Z3JlYXRlciBpbiBtYWduaXR1ZGUgdGhhbiB0aGUgc3VtIG9mIHRoZSBhY3RpdmUgZHVyYXRpb24g
YW5kIHN0YXJ0IGRlbGF5JworICAgKyAnIGlzIHplcm8nKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMTAw
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6
IDIuMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiA1
MDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAnYm90
aCcgfSk7CisgIGFuaW0uZmluaXNoKCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0
Q29tcHV0ZWRUaW1pbmcoKS5jdXJyZW50SXRlcmF0aW9uLCAyKTsKKyAgYXNzZXJ0X3RpbWVzX2Vx
dWFsKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDAuMyk7Cit9LCAn
QWN0aXZlIHRpbWUgaW4gYWZ0ZXIgcGhhc2Ugd2l0aCBcJ2JvdGhcJyBmaWxsIGlzIHRoZSBhY3Rp
dmUgZHVyYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIC8vIENyZWF0ZSBhbiBlZmZl
Y3Qgd2l0aCBhIG5vbi16ZXJvIGR1cmF0aW9uIHNvIHdlIGVuc3VyZSB3ZSdyZSBub3QganVzdAor
ICAvLyB0ZXN0aW5nIHRoZSBhZnRlci1waGFzZSBiZWhhdmlvci4KKyAgdmFyIGVmZmVjdCA9IG5l
dyBLZXlmcmFtZUVmZmVjdChudWxsLCBudWxsLCAxKTsKKyAgYXNzZXJ0X2VxdWFscyhlZmZlY3Qu
Z2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgbnVsbCk7Cit9LCAnQWN0aXZlIHRpbWUgd2hl
biB0aGUgbG9jYWwgdGltZSBpcyB1bnJlc29sdmVkLCBpcyB1bnJlc29sdmVkJyk7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL2N1cnJlbnQtaXRlcmF0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb24tZWZmZWN0cy9jdXJyZW50LWl0ZXJhdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjY4Y2IxOWFjYTc2ODViNTQyOGFjYjk0NmIzMWJiNzkxZTg5M2RiYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb24tZWZmZWN0cy9jdXJyZW50LWl0ZXJhdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1MyBAQAorCitGQUlMIFRlc3QgY3VycmVudEl0ZXJhdGlvbiBkdXJpbmcgYmVmb3Jl
IGFuZCBhZnRlciBwaGFzZSB3aGVuIGZpbGwgaXMgbm9uZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIHsgZGVsYXk6
IDEgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJh
dGlvbnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOjAgZGVsYXk6MSBm
aWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUo
e30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBUZXN0IHplcm8gaXRlcmF0aW9uczogaXRlcmF0aW9uczowIGl0ZXJhdGlvblN0YXJ0OjAgZHVy
YXRpb246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBp
dGVyYXRpb25TdGFydDowIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVz
dC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0
ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFydDoyLjUgZHVyYXRpb246MCBkZWxh
eToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFRlc3QgemVybyBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6
Mi41IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgemVybyBpdGVyYXRpb25zOiBpdGVyYXRp
b25zOjAgaXRlcmF0aW9uU3RhcnQ6Mi41IGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpi
b3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBj
dXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVz
dCB6ZXJvIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9u
OjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IHplcm8gaXRlcmF0aW9uczogaXRlcmF0aW9uczowIGl0ZXJhdGlv
blN0YXJ0OjMgZHVyYXRpb246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6IGl0
ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmls
bDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
VGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRpb25TdGFydDowIGR1
cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGludGVnZXIgaXRlcmF0aW9uczogaXRlcmF0aW9uczoz
IGl0ZXJhdGlvblN0YXJ0OjAgZHVyYXRpb246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5p
bnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0
ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOkluZmluaXR5
IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRp
b25TdGFydDoyLjUgZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywg
J2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRpb25z
OiBpdGVyYXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6Mi41IGR1cmF0aW9uOjEwMCBkZWxheToxIGZp
bGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6Mi41
IGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0
ZXJhdGlvbnM6MyBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGgg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJl
bnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGlu
dGVnZXIgaXRlcmF0aW9uczogaXRlcmF0aW9uczozIGl0ZXJhdGlvblN0YXJ0OjMgZHVyYXRpb246
MTAwIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVy
YXRpb25TdGFydDozIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5p
bnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlvbmFs
IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6My41IGl0ZXJhdGlvblN0YXJ0OjAgZHVyYXRpb246MCBk
ZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVy
YXRpb25TdGFydDowIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVy
YXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOkluZmluaXR5
IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlvbmFsIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6My41IGl0
ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjowIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1
dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlvbmFsIGl0
ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6My41IGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjoxMDAg
ZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2
LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBUZXN0IGZyYWN0aW9uYWwgaXRlcmF0aW9uczogaXRlcmF0aW9uczozLjUgaXRl
cmF0aW9uU3RhcnQ6Mi41IGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVz
dC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlv
bmFsIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6My41IGl0ZXJhdGlvblN0YXJ0OjMgZHVyYXRpb246
MCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBp
dGVyYXRpb25TdGFydDozIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5w
dXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBp
dGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOkluZmlu
aXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbmZpbml0eSBpdGVyYXRpb25zOiBpdGVyYXRpb25zOkluZmlu
aXR5IGl0ZXJhdGlvblN0YXJ0OjAgZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3Qu
aW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkg
aXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9u
OjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZp
bml0eSBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3Ro
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJy
ZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBp
bmZpbml0eSBpdGVyYXRpb25zOiBpdGVyYXRpb25zOkluZmluaXR5IGl0ZXJhdGlvblN0YXJ0OjIu
NSBkdXJhdGlvbjowIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbmZpbml0eSBpdGVyYXRpb25zOiBpdGVyYXRp
b25zOkluZmluaXR5IGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxs
OmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30s
IGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBU
ZXN0IGluZmluaXR5IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6SW5maW5pdHkgaXRlcmF0aW9uU3Rh
cnQ6Mi41IGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbmZpbml0eSBpdGVyYXRp
b25zOiBpdGVyYXRpb25zOkluZmluaXR5IGl0ZXJhdGlvblN0YXJ0OjMgZHVyYXRpb246MCBkZWxh
eToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVy
YXRpb25TdGFydDozIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0
aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOkluZmlu
aXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6
Ym90aCBlbmREZWxheTo1MCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIFRlc3QgZW5kIGRlbGF5OiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGgg
ZW5kRGVsYXk6LTUwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmRE
ZWxheTotMTAwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgVGVzdCBlbmQgZGVsYXk6IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmREZWxh
eTotMjAwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
VGVzdCBlbmQgZGVsYXk6IGl0ZXJhdGlvblN0YXJ0OjAuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBm
aWxsOmJvdGggZW5kRGVsYXk6NTAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IGVuZCBkZWxheTogaXRlcmF0aW9uU3RhcnQ6MC41IGR1cmF0aW9u
OjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmREZWxheTotNTAgZGl2LmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYu
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGVuZCBkZWxheTogaXRlcmF0aW9uU3Rh
cnQ6MC41IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmREZWxheTotMTAwIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVz
dC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVs
YXk6IGl0ZXJhdGlvbnM6MiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVsYXk6
LTEwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwg
Y3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRl
c3QgZW5kIGRlbGF5OiBpdGVyYXRpb25zOjEgaXRlcmF0aW9uU3RhcnQ6MiBkdXJhdGlvbjoxMDAg
ZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVsYXk6LTUwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGl0ZXJhdGlvbnM6MSBpdGVy
YXRpb25TdGFydDoyIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmREZWxheTotMTAw
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJy
ZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBu
ZWdhdGl2ZSBwbGF5YmFjayByYXRlOiBkdXJhdGlvbjoxIGRlbGF5OjEgZmlsbDpib3RoIHBsYXli
YWNrUmF0ZTotMSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0
ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFRlc3QgbmVnYXRpdmUgcGxheWJhY2sgcmF0ZTogZHVyYXRpb246MSBkZWxheToxIGl0ZXJh
dGlvbnM6MiBmaWxsOmJvdGggcGxheWJhY2tSYXRlOi0xIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFu
aW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBuZWdhdGl2ZSBwbGF5YmFjayByYXRlOiBk
dXJhdGlvbjowIGRlbGF5OjEgZmlsbDpib3RoIHBsYXliYWNrUmF0ZTotMSBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgbmVnYXRpdmUgcGxheWJh
Y2sgcmF0ZTogZHVyYXRpb246MCBpdGVyYXRpb25zOjAgZGVsYXk6MSBmaWxsOmJvdGggcGxheWJh
Y2tSYXRlOi0xIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbi1lZmZlY3RzL2N1cnJlbnQtaXRlcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMv
Y3VycmVudC1pdGVyYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjA4ZDQzNTg1MWQ4MWQ1MDIxYWE1
OTcxMmQ5YTNkZDNiMzBjYzYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL2N1cnJlbnQt
aXRlcmF0aW9uLmh0bWwKQEAgLTAsMCArMSw2MjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5DdXJyZW50IGl0ZXJhdGlvbiB0ZXN0czwvdGl0bGU+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9u
cy8jY3VycmVudC1pdGVyYXRpb24iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9lZmZlY3QtdGVzdHMuanMiPjwvc2Ny
aXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0
JzsKKworZnVuY3Rpb24gcnVuVGVzdHModGVzdHMsIGRlc2NyaXB0aW9uKSB7CisgIGZvciAoY29u
c3QgY3VycmVudFRlc3Qgb2YgdGVzdHMpIHsKKyAgICBsZXQgdGVzdFBhcmFtcyA9IE9iamVjdC5l
bnRyaWVzKGN1cnJlbnRUZXN0LmlucHV0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1h
cCgoW2F0dHIsIHZhbHVlXSkgPT4gYCR7YXR0cn06JHt2YWx1ZX1gKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLmpvaW4oJyAnKTsKKyAgICBpZiAoY3VycmVudFRlc3QucGxheWJhY2tSYXRl
ICE9PSB1bmRlZmluZWQpIHsKKyAgICAgIHRlc3RQYXJhbXMgKz0gYCBwbGF5YmFja1JhdGU6JHtj
dXJyZW50VGVzdC5wbGF5YmFja1JhdGV9YDsKKyAgICB9CisKKyAgICB0ZXN0KHQgPT4geworICAg
ICAgY29uc3QgZGl2ID0gY3JlYXRlRGl2KHQpOworICAgICAgY29uc3QgYW5pbSA9IGRpdi5hbmlt
YXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCk7CisgICAgICBpZiAoY3VycmVudFRlc3QucGxheWJh
Y2tSYXRlICE9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgYW5pbS5wbGF5YmFja1JhdGUgPSBjdXJy
ZW50VGVzdC5wbGF5YmFja1JhdGU7CisgICAgICB9CisKKyAgICAgIGFzc2VydF9jb21wdXRlZF90
aW1pbmdfZm9yX2VhY2hfcGhhc2UoCisgICAgICAgIGFuaW0sCisgICAgICAgICdjdXJyZW50SXRl
cmF0aW9uJywKKyAgICAgICAgeyBiZWZvcmU6IGN1cnJlbnRUZXN0LmJlZm9yZSwKKyAgICAgICAg
ICBhY3RpdmVCb3VuZGFyeTogY3VycmVudFRlc3QuYWN0aXZlLAorICAgICAgICAgIGFmdGVyOiBj
dXJyZW50VGVzdC5hZnRlciB9LAorICAgICAgKTsKKyAgICB9LCBgJHtkZXNjcmlwdGlvbn06ICR7
dGVzdFBhcmFtc31gKTsKKyAgfQorfQorCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6
IFsgMCwgMSBdIH0sIHsgZGVsYXk6IDEgfSk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3Qu
Z2V0Q29tcHV0ZWRUaW1pbmcoKS5jdXJyZW50SXRlcmF0aW9uLCBudWxsKTsKKyAgYW5pbS5maW5p
c2hlZC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5p
bS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5jdXJyZW50SXRlcmF0aW9uLCBudWxsKTsKKyAg
ICB0LmRvbmUoKTsKKyAgfSkpOworfSwgJ1Rlc3QgY3VycmVudEl0ZXJhdGlvbiBkdXJpbmcgYmVm
b3JlIGFuZCBhZnRlciBwaGFzZSB3aGVuIGZpbGwgaXMgbm9uZScpOworCisKKy8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCisvLworLy8gWmVybyBpdGVyYXRpb24gZHVyYXRpb24gdGVzdHMKKy8vCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorCitydW5UZXN0cyhbCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAor
ICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0
aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6
ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAg
ICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0
YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAg
ZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAw
LAorICAgIGFmdGVyOiAwCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6
IDAsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAgICAg
ZHVyYXRpb246IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAg
ICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMAorICB9
LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAgICAgICAgICAgICAg
IGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDAsCisgICAg
ICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisg
ICAgYmVmb3JlOiAyLAorICAgIGFmdGVyOiAyCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7
IGl0ZXJhdGlvbnM6IDAsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIuNSwKKyAg
ICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAor
ICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMiwKKyAgICBhZnRl
cjogMgorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246
IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZp
bGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMiwKKyAgICBhZnRlcjogMgorICB9LAorCisgIHsK
KyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlv
blN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAg
IGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTog
MywKKyAgICBhZnRlcjogMworICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25z
OiAwLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAgICAg
IGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAg
ICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAzLAorICAgIGFmdGVyOiAzCisgIH0sCisK
KyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDAsCisgICAgICAgICAgICAgICAgaXRl
cmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IEluZmluaXR5LAorICAg
ICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAor
ICAgIGJlZm9yZTogMywKKyAgICBhZnRlcjogMworICB9CitdLCAnVGVzdCB6ZXJvIGl0ZXJhdGlv
bnMnKTsKKworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIFRlc3RzIHdoZXJlIHRoZSBpdGVyYXRp
b24gY291bnQgaXMgYW4gaW50ZWdlcgorLy8KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3J1blRlc3RzKFsK
KyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMsCisgICAgICAgICAgICAgICAgaXRl
cmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDAsCisgICAgICAgICAg
ICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVm
b3JlOiAwLAorICAgIGFmdGVyOiAyCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJh
dGlvbnM6IDMsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAg
ICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAg
ICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAor
ICAgIGFmdGVyOiAyCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMs
CisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAgICAgZHVy
YXRpb246IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAg
ICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAKKyAgfSwK
KworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBp
dGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAg
ICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAg
IGJlZm9yZTogMiwKKyAgICBhZnRlcjogNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBp
dGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAg
ICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAg
ICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDIsCisgICAgYWN0aXZl
OiAyLAorICAgIGFmdGVyOiA1CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlv
bnM6IDMsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIuNSwKKyAgICAgICAgICAg
ICAgICBkdXJhdGlvbjogSW5maW5pdHksCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAg
ICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAyLAorICAgIGFjdGl2ZTog
MgorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLAorICAgICAgICAg
ICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAor
ICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9
LAorICAgIGJlZm9yZTogMywKKyAgICBhZnRlcjogNQorICB9LAorCisgIHsKKyAgICBpbnB1dDog
ICAgeyBpdGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAor
ICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEs
CisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAzLAorICAgIGFj
dGl2ZTogMywKKyAgICBhZnRlcjogNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVy
YXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAg
ICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAg
ICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDMsCisgICAgYWN0aXZl
OiAzCisgIH0KK10sICdUZXN0IGludGVnZXIgaXRlcmF0aW9ucycpOworCisKKy8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCisvLworLy8gVGVzdHMgd2hlcmUgdGhlIGl0ZXJhdGlvbiBjb3VudCBpcyBhIGZyYWN0aW9u
CisvLworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworcnVuVGVzdHMoWworICB7CisgICAgaW5wdXQ6ICAgIHsg
aXRlcmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAg
ICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAg
ICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjog
MworICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLjUsCisgICAgICAg
ICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEw
MCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90
aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAorICAgIGFmdGVyOiAzCisgIH0s
CisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAgICAgICAgICAgICAg
ICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogSW5maW5pdHks
CisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgn
IH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMAorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBpdGVyYXRpb25zOiAzLjUsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6
IDIuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBkZWxh
eTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDIsCisg
ICAgYWZ0ZXI6IDUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMy41
LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAg
ZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAg
ICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDIsCisgICAgYWN0aXZlOiAyLAorICAgIGFm
dGVyOiA1CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAg
ICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1cmF0
aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAg
ICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDIsCisgICAgYWN0aXZlOiAyCisgIH0sCisK
KyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAgICAgICAgICAgICAgICBp
dGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAg
ICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBi
ZWZvcmU6IDMsCisgICAgYWZ0ZXI6IDYKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAg
ICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAg
ICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAzLAorICAgIGFjdGl2ZTog
MywKKyAgICBhZnRlcjogNgorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25z
OiAzLjUsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAg
ICAgZHVyYXRpb246IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAg
ICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMywKKyAgICBhY3RpdmU6IDMK
KyAgfQorXSwgJ1Rlc3QgZnJhY3Rpb25hbCBpdGVyYXRpb25zJyk7CisKKworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy8vCisvLyBUZXN0cyB3aGVyZSB0aGUgaXRlcmF0aW9uIGNvdW50IGlzIEluZmluaXR5Cisv
LworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKworcnVuVGVzdHMoWworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogSW5maW5pdHksCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisg
ICAgICAgICAgICAgICAgZHVyYXRpb246IDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisg
ICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFmdGVy
OiBJbmZpbml0eQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiBJbmZp
bml0eSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAg
ICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAg
ICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAKKyAgfSwK
KworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogSW5maW5pdHksCisgICAgICAgICAg
ICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IEluZmlu
aXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdi
b3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAKKyAgfSwKKworICB7CisgICAg
aW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogSW5maW5pdHksCisgICAgICAgICAgICAgICAgaXRlcmF0
aW9uU3RhcnQ6IDIuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAg
ICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZv
cmU6IDIsCisgICAgYWZ0ZXI6IEluZmluaXR5CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7
IGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAy
LjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxh
eTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDIsCisg
ICAgYWN0aXZlOiAyCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IElu
ZmluaXR5LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAg
ICAgICAgZHVyYXRpb246IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAg
ICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMiwKKyAgICBhY3RpdmU6
IDIKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogSW5maW5pdHksCisg
ICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAgICAgZHVyYXRp
b246IDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDog
J2JvdGgnIH0sCisgICAgYmVmb3JlOiAzLAorICAgIGFmdGVyOiBJbmZpbml0eQorICB9LAorCisg
IHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAg
ICBpdGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAg
ICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAor
ICAgIGJlZm9yZTogMywKKyAgICBhY3RpdmU6IDMKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAg
IHsgaXRlcmF0aW9uczogSW5maW5pdHksCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6
IDMsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IEluZmluaXR5LAorICAgICAgICAgICAgICAg
IGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTog
MywKKyAgICBhY3RpdmU6IDMKKyAgfQorXSwgJ1Rlc3QgaW5maW5pdHkgaXRlcmF0aW9ucycpOwor
CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gRW5kIGRlbGF5IHRlc3RzCisvLworLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworcnVuVGVzdHMoWworICB7CisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMCwK
KyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcs
CisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IDUwIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFj
dGl2ZTogMCwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJh
dGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZp
bGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICBlbmREZWxheTogLTUwIH0sCisgICAgYmVmb3Jl
OiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAg
ICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICBlbmREZWxheTogLTEwMCB9
LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKwor
ICB7CisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxh
eTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5k
RGVsYXk6IC0yMDAgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAorICAgIGFmdGVy
OiAwCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvblN0YXJ0OiAwLjUsCisg
ICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwK
KyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6
IDUwIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRlcjogMQorICB9
LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25TdGFydDogMC41LAorICAgICAgICAg
ICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAg
ICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtNTAgfSwK
KyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAorICAgIGFmdGVyOiAxCisgIH0sCisKKyAg
eworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvblN0YXJ0OiAwLjUsCisgICAgICAgICAgICAgICAg
ZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAg
ICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC0xMDAgfSwKKyAgICBi
ZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAorICAgIGFmdGVyOiAwCisgIH0sCisKKyAgeworICAg
IGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDIsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEw
MCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90
aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC0xMDAgfSwKKyAgICBiZWZvcmU6IDAsCisg
ICAgYWN0aXZlOiAwLAorICAgIGFmdGVyOiAxCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7
IGl0ZXJhdGlvbnM6IDEsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIsCisgICAg
ICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAg
ICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC01
MCB9LAorICAgIGJlZm9yZTogMiwKKyAgICBhY3RpdmU6IDIsCisgICAgYWZ0ZXI6IDIKKyAgfSwK
KworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMSwKKyAgICAgICAgICAgICAgICBp
dGVyYXRpb25TdGFydDogMiwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAg
ICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAg
ICAgICAgICAgICBlbmREZWxheTogLTEwMCB9LAorICAgIGJlZm9yZTogMiwKKyAgICBhY3RpdmU6
IDIsCisgICAgYWZ0ZXI6IDIKKyAgfSwKK10sICdUZXN0IGVuZCBkZWxheScpOworCisKKy8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisvLworLy8gTmVnYXRpdmUgcGxheWJhY2sgcmF0ZSB0ZXN0cworLy8KKy8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisKK3J1blRlc3RzKFsKKyAgeworICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAx
LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3Ro
JyB9LAorICAgIHBsYXliYWNrUmF0ZTogLTEsCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTog
MCwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjog
MSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25z
OiAyLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIHBsYXliYWNrUmF0ZTog
LTEsCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMSwKKyAgICBhZnRlcjogMQorICB9LAor
CisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBkZWxh
eTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBwbGF5YmFja1JhdGU6
IC0xLAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAwLAorICAg
ICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAor
ICAgIHBsYXliYWNrUmF0ZTogLTEsCisgICAgYmVmb3JlOiAwLAorICAgIGFmdGVyOiAwCisgIH0s
CitdLCAnVGVzdCBuZWdhdGl2ZSBwbGF5YmFjayByYXRlJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL2xvY2FsLXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZl
Y3RzL2xvY2FsLXRpbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjYzE4MmY4YmMwZmE4YTM2
YmVlYmFhYTI0YjczYmQxODI5ZDJkMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvbG9j
YWwtdGltZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK0ZBSUwgTG9jYWwgdGltZSBp
cyBjdXJyZW50IHRpbWUgZm9yIGFuaW1hdGlvbiBlZmZlY3RzIGFzc29jaWF0ZWQgd2l0aCBhbiBh
bmltYXRpb24gY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3Jl
YXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCku
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBMb2NhbCB0aW1lIGlzIHVucmVzb2x2ZWQgZm9y
IGFuaW1hdGlvbiBlZmZlY3RzIG5vdCBhc3NvY2lhdGVkIHdpdGggYW4gYW5pbWF0aW9uIGVmZmVj
dC5nZXRDb21wdXRlZFRpbWluZyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0Q29t
cHV0ZWRUaW1pbmcoKScsICdlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcnIGlzIHVuZGVmaW5lZCkK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL2xvY2FsLXRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9sb2Nh
bC10aW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFjMWVkNDAxYzk1ZDMwNTk4NWMzMTMwNTM0MjkyOGNk
YWZjNjJjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9sb2NhbC10aW1lLmh0bWwKQEAg
LTAsMCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRp
dGxlPkFuaW1hdGlvbkVmZmVjdCBsb2NhbCB0aW1lIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNsb2NhbC10
aW1lIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNj
cmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0g
Y3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAgKiBNU19QRVJfU0VDKTsKKyAgZm9yICh2YXIg
c2Vjb25kcyBvZiBbLTEsIDAsIDUsIDEwLCAyMF0pIHsKKyAgICBhbmltLmN1cnJlbnRUaW1lID0g
c2Vjb25kcyAqIE1TX1BFUl9TRUM7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRD
b21wdXRlZFRpbWluZygpLmxvY2FsVGltZSwgc2Vjb25kcyAqIE1TX1BFUl9TRUMpOworICB9Cit9
LCAnTG9jYWwgdGltZSBpcyBjdXJyZW50IHRpbWUgZm9yIGFuaW1hdGlvbiBlZmZlY3RzIGFzc29j
aWF0ZWQgd2l0aCBhbiBhbmltYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBl
ZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMCAqIE1TX1BF
Ul9TRUMpOworICBhc3NlcnRfZXF1YWxzKGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmxvY2Fs
VGltZSwgbnVsbCk7Cit9LCAnTG9jYWwgdGltZSBpcyB1bnJlc29sdmVkIGZvciBhbmltYXRpb24g
ZWZmZWN0cyBub3QgYXNzb2NpYXRlZCB3aXRoIGFuIGFuaW1hdGlvbicpOworCis8L3NjcmlwdD4K
KzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9waGFzZXMtYW5kLXN0YXRlcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9uLWVmZmVjdHMvcGhhc2VzLWFuZC1zdGF0ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA5YmI5YzAxOTczZTA1MzEzNjc4NThkZmEwZmI0MmIyNzFlYzY0NjIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9uLWVmZmVjdHMvcGhhc2VzLWFuZC1zdGF0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKKworRkFJTCBQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYSBzaW1wbGUgYW5pbWF0aW9u
IGVmZmVjdCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVh
dGVEaXYodCkuYW5pbWF0ZShudWxsLCAxKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYW4gYW5pbWF0aW9uIGVmZmVjdCB3
aXRoIGEgcG9zaXRpdmUgc3RhcnQgZGVsYXkgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMSwg
ZGVsYXk6IDEgfSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
UGhhc2UgY2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBhIG5lZ2F0aXZl
IHN0YXJ0IGRlbGF5IGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEsIGRlbGF5OiAtMSB9KScs
ICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBQaGFzZSBjYWxjdWxh
dGlvbiBmb3IgYW4gYW5pbWF0aW9uIGVmZmVjdCB3aXRoIGEgcG9zaXRpdmUgZW5kIGRlbGF5IGNy
ZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5h
bmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEsIGVuZERlbGF5OiAxIH0pJywgJ2NyZWF0ZURpdih0
KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFBoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBh
bmltYXRpb24gZWZmZWN0IHdpdGggYSBuZWdhdGl2ZSBlbmQgZGVsYXkgbGVzc2VyIGluIG1hZ25p
dHVkZSB0aGFuIHRoZSBhY3RpdmUgZHVyYXRpb24gY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjog
MiwgZW5kRGVsYXk6IC0xIH0pJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFBoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBhbmltYXRpb24gZWZmZWN0IHdpdGggYSBu
ZWdhdGl2ZSBlbmQgZGVsYXkgZXF1YWwgaW4gbWFnbml0dWRlIHRvIHRoZSBhY3RpdmUgZHVyYXRp
b24gY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2
KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMSwgZW5kRGVsYXk6IC0xIH0pJywgJ2NyZWF0
ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFBoYXNlIGNhbGN1bGF0aW9uIGZv
ciBhbiBhbmltYXRpb24gZWZmZWN0IHdpdGggYSBuZWdhdGl2ZSBlbmQgZGVsYXkgZ3JlYXRlciBp
biBtYWduaXR1ZGUgdGhhbiB0aGUgYWN0aXZlIGR1cmF0aW9uIGNyZWF0ZURpdih0KS5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVy
YXRpb246IDEsIGVuZERlbGF5OiAtMiB9KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYW4gYW5pbWF0aW9uIGVmZmVjdCB3
aXRoIGEgcG9zaXRpdmUgc3RhcnQgZGVsYXkgYW5kIGEgbmVnYXRpdmUgZW5kIGRlbGF5IGxlc3Nl
ciBpbiBtYWduaXR1ZGUgdGhhbiB0aGUgYWN0aXZlIGR1cmF0aW9uIHVuZGVmaW5lZCBpcyBub3Qg
YSBmdW5jdGlvbiAobmVhciAnLi4uY3JlYXRlRGl2KHQpLmFuaW1hdGUuLi4nKQorRkFJTCBQaGFz
ZSBjYWxjdWxhdGlvbiBmb3IgYW4gYW5pbWF0aW9uIGVmZmVjdCB3aXRoIGEgbmVnYXRpdmUgc3Rh
cnQgZGVsYXkgYW5kIGEgbmVnYXRpdmUgZW5kIGRlbGF5IGVxdWFsIGluIG1hZ25pdHVkZSB0byB0
aGUgYWN0aXZlIGR1cmF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4u
Y3JlYXRlRGl2KHQpLmFuaW1hdGUuLi4nKQorRkFJTCBQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYW4g
YW5pbWF0aW9uIGVmZmVjdCB3aXRoIGEgbmVnYXRpdmUgc3RhcnQgZGVsYXkgYW5kIGEgbmVnYXRp
dmUgZW5kIGRlbGF5IGVxdWFsIGdyZWF0ZXIgaW4gbWFnbml0dWRlIHRoYW4gdGhlIGFjdGl2ZSBk
dXJhdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmNyZWF0ZURpdih0
KS5hbmltYXRlLi4uJykKK0ZBSUwgUGhhc2UgY2FsY3VsYXRpb24gZm9yIGEgc2ltcGxlIGFuaW1h
dGlvbiBlZmZlY3Qgd2l0aCBuZWdhdGl2ZSBwbGF5YmFjayByYXRlIGNyZWF0ZURpdih0KS5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEp
JywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24t
ZWZmZWN0cy9waGFzZXMtYW5kLXN0YXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL3BoYXNlcy1hbmQtc3Rh
dGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRjMzIwNjZmZWE3OGU5MzU4NTBlZTM2MTcyNTAyMTZmMTVh
YzgyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9waGFzZXMtYW5kLXN0YXRlcy5odG1s
CkBAIC0wLDAgKzEsMTkxIEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+
Cis8dGl0bGU+VGVzdHMgZm9yIHBoYXNlcyBhbmQgc3RhdGVzPC90aXRsZT4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNhbmltYXRp
b24tZWZmZWN0LXBoYXNlcy1hbmQtc3RhdGVzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNl
IHN0cmljdCc7CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gUGhhc2VzCisvLworLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworZnVuY3Rpb24gYXNzZXJ0X3BoYXNlX2F0X3RpbWUoYW5pbWF0aW9uLCBwaGFzZSwg
Y3VycmVudFRpbWUpIHsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gY3VycmVudFRpbWU7CisK
KyAgaWYgKHBoYXNlID09PSAnYWN0aXZlJykgeworICAgIC8vIElmIHRoZSBmaWxsIG1vZGUgaXMg
J25vbmUnLCB0aGVuIHByb2dyZXNzIHdpbGwgb25seSBiZSBub24tbnVsbCBpZiB3ZQorICAgIC8v
IGFyZSBpbiB0aGUgYWN0aXZlIHBoYXNlLgorICAgIGFuaW1hdGlvbi5lZmZlY3QudGltaW5nLmZp
bGwgPSAnbm9uZSc7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdC5nZXRD
b21wdXRlZFRpbWluZygpLnByb2dyZXNzLCBudWxsLAorICAgICAgICAgICAgICAgICAgICAgICdB
bmltYXRpb24gZWZmZWN0IGlzIGluIGFjdGl2ZSBwaGFzZSB3aGVuIGN1cnJlbnQgdGltZScKKyAg
ICAgICAgICAgICAgICAgICAgICArICcgaXMgJyArIGN1cnJlbnRUaW1lICsgJ21zJyk7CisgIH0g
ZWxzZSB7CisgICAgLy8gVGhlIGVhc2llc3Qgd2F5IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhl
ICdiZWZvcmUnIHBoYXNlIGFuZCB0aGUgJ2FmdGVyJworICAgIC8vIHBoYXNlIGlzIHRvIHRvZ2ds
ZSB0aGUgZmlsbCBtb2RlLiBGb3IgZXhhbXBsZSwgaWYgdGhlIHByb2dyZXNzIGlzIG51bGwKKyAg
ICAvLyB3aWxsIHRoZSBmaWxsIG5vZGUgaXMgJ25vbmUnIGJ1dCBub24tbnVsbCB3aGVuIHRoZSBm
aWxsIG1vZGUgaXMKKyAgICAvLyAnYmFja3dhcmRzJyB0aGVuIHdlIGFyZSBpbiB0aGUgYmVmb3Jl
IHBoYXNlLgorICAgIGFuaW1hdGlvbi5lZmZlY3QudGltaW5nLmZpbGwgPSAnbm9uZSc7CisgICAg
YXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jl
c3MsIG51bGwsCisgICAgICAgICAgICAgICAgICAnQW5pbWF0aW9uIGVmZmVjdCBpcyBpbiAnICsg
cGhhc2UgKyAnIHBoYXNlIHdoZW4gY3VycmVudCB0aW1lJworICAgICAgICAgICAgICAgICAgKyAn
IGlzICcgKyBjdXJyZW50VGltZSArICdtcycKKyAgICAgICAgICAgICAgICAgICsgJyAocHJvZ3Jl
c3MgaXMgbnVsbCB3aXRoIFwnbm9uZVwnIGZpbGwgbW9kZSknKTsKKworICAgIGFuaW1hdGlvbi5l
ZmZlY3QudGltaW5nLmZpbGwgPSBwaGFzZSA9PT0gJ2JlZm9yZScKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPyAnYmFja3dhcmRzJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6ICdmb3J3YXJkcyc7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9u
LmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCBudWxsLAorICAgICAgICAgICAg
ICAgICAgICAgICdBbmltYXRpb24gZWZmZWN0IGlzIGluICcgKyBwaGFzZSArICcgcGhhc2Ugd2hl
biBjdXJyZW50JworICAgICAgICAgICAgICAgICAgICAgICsgJyB0aW1lIGlzICcgKyBjdXJyZW50
VGltZSArICdtcycKKyAgICAgICAgICAgICAgICAgICAgICArICcgKHByb2dyZXNzIGlzIG5vbi1u
dWxsIHdpdGggYXBwcm9wcmlhdGUgZmlsbCBtb2RlKScpOworICB9Cit9CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7
CisKKyAgWyB7IGN1cnJlbnRUaW1lOiAtMSwgcGhhc2U6ICdiZWZvcmUnIH0sCisgICAgeyBjdXJy
ZW50VGltZTogIDAsIHBoYXNlOiAnYWN0aXZlJyB9LAorICAgIHsgY3VycmVudFRpbWU6ICAxLCBw
aGFzZTogJ2FmdGVyJyAgfSBdCisgIC5mb3JFYWNoKGZ1bmN0aW9uKHRlc3QpIHsKKyAgICBhc3Nl
cnRfcGhhc2VfYXRfdGltZShhbmltYXRpb24sIHRlc3QucGhhc2UsIHRlc3QuY3VycmVudFRpbWUp
OworICB9KTsKK30sICdQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYSBzaW1wbGUgYW5pbWF0aW9uIGVm
ZmVjdCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURp
dih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEsIGRlbGF5OiAxIH0pOworCisgIFsgeyBj
dXJyZW50VGltZTogMCwgcGhhc2U6ICdiZWZvcmUnIH0sCisgICAgeyBjdXJyZW50VGltZTogMSwg
cGhhc2U6ICdhY3RpdmUnIH0sCisgICAgeyBjdXJyZW50VGltZTogMiwgcGhhc2U6ICdhZnRlcicg
IH0gXQorICAuZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7CisgICAgYXNzZXJ0X3BoYXNlX2F0X3Rp
bWUoYW5pbWF0aW9uLCB0ZXN0LnBoYXNlLCB0ZXN0LmN1cnJlbnRUaW1lKTsKKyAgfSk7Cit9LCAn
UGhhc2UgY2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBhIHBvc2l0aXZl
IHN0YXJ0IGRlbGF5Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0g
Y3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMSwgZGVsYXk6IC0xIH0pOwor
CisgIFsgeyBjdXJyZW50VGltZTogLTIsIHBoYXNlOiAnYmVmb3JlJyB9LAorICAgIHsgY3VycmVu
dFRpbWU6IC0xLCBwaGFzZTogJ2JlZm9yZScgfSwKKyAgICB7IGN1cnJlbnRUaW1lOiAgMCwgcGhh
c2U6ICdhZnRlcicgIH0gXQorICAuZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7CisgICAgYXNzZXJ0
X3BoYXNlX2F0X3RpbWUoYW5pbWF0aW9uLCB0ZXN0LnBoYXNlLCB0ZXN0LmN1cnJlbnRUaW1lKTsK
KyAgfSk7Cit9LCAnUGhhc2UgY2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0
aCBhIG5lZ2F0aXZlIHN0YXJ0IGRlbGF5Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
YW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMSwgZW5k
RGVsYXk6IDEgfSk7CisKKyAgWyB7IGN1cnJlbnRUaW1lOiAtMSwgcGhhc2U6ICdiZWZvcmUnIH0s
CisgICAgeyBjdXJyZW50VGltZTogIDAsIHBoYXNlOiAnYWN0aXZlJyB9LAorICAgIHsgY3VycmVu
dFRpbWU6ICAxLCBwaGFzZTogJ2FmdGVyJyAgfSwKKyAgICB7IGN1cnJlbnRUaW1lOiAgMiwgcGhh
c2U6ICdhZnRlcicgIH0gXQorICAuZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7CisgICAgYXNzZXJ0
X3BoYXNlX2F0X3RpbWUoYW5pbWF0aW9uLCB0ZXN0LnBoYXNlLCB0ZXN0LmN1cnJlbnRUaW1lKTsK
KyAgfSk7Cit9LCAnUGhhc2UgY2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0
aCBhIHBvc2l0aXZlIGVuZCBkZWxheScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFu
aW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDIsIGVuZERl
bGF5OiAtMSB9KTsKKworICBbIHsgY3VycmVudFRpbWU6IC0xLCAgIHBoYXNlOiAnYmVmb3JlJyB9
LAorICAgIHsgY3VycmVudFRpbWU6ICAwLCAgIHBoYXNlOiAnYWN0aXZlJyB9LAorICAgIHsgY3Vy
cmVudFRpbWU6ICAwLjksIHBoYXNlOiAnYWN0aXZlJyB9LAorICAgIHsgY3VycmVudFRpbWU6ICAx
LCAgIHBoYXNlOiAnYWZ0ZXInICB9IF0KKyAgLmZvckVhY2goZnVuY3Rpb24odGVzdCkgeworICAg
IGFzc2VydF9waGFzZV9hdF90aW1lKGFuaW1hdGlvbiwgdGVzdC5waGFzZSwgdGVzdC5jdXJyZW50
VGltZSk7CisgIH0pOworfSwgJ1BoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBhbmltYXRpb24gZWZm
ZWN0IHdpdGggYSBuZWdhdGl2ZSBlbmQgZGVsYXkgbGVzc2VyJworICAgKyAnIGluIG1hZ25pdHVk
ZSB0aGFuIHRoZSBhY3RpdmUgZHVyYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxLCBl
bmREZWxheTogLTEgfSk7CisKKyAgWyB7IGN1cnJlbnRUaW1lOiAtMSwgcGhhc2U6ICdiZWZvcmUn
IH0sCisgICAgeyBjdXJyZW50VGltZTogIDAsIHBoYXNlOiAnYWZ0ZXInICB9LAorICAgIHsgY3Vy
cmVudFRpbWU6ICAxLCBwaGFzZTogJ2FmdGVyJyAgfSBdCisgIC5mb3JFYWNoKGZ1bmN0aW9uKHRl
c3QpIHsKKyAgICBhc3NlcnRfcGhhc2VfYXRfdGltZShhbmltYXRpb24sIHRlc3QucGhhc2UsIHRl
c3QuY3VycmVudFRpbWUpOworICB9KTsKK30sICdQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYW4gYW5p
bWF0aW9uIGVmZmVjdCB3aXRoIGEgbmVnYXRpdmUgZW5kIGRlbGF5IGVxdWFsJworICAgKyAnIGlu
IG1hZ25pdHVkZSB0byB0aGUgYWN0aXZlIGR1cmF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlv
bjogMSwgZW5kRGVsYXk6IC0yIH0pOworCisgIFsgeyBjdXJyZW50VGltZTogLTIsIHBoYXNlOiAn
YmVmb3JlJyB9LAorICAgIHsgY3VycmVudFRpbWU6IC0xLCBwaGFzZTogJ2JlZm9yZScgfSwKKyAg
ICB7IGN1cnJlbnRUaW1lOiAgMCwgcGhhc2U6ICdhZnRlcicgIH0gXQorICAuZm9yRWFjaChmdW5j
dGlvbih0ZXN0KSB7CisgICAgYXNzZXJ0X3BoYXNlX2F0X3RpbWUoYW5pbWF0aW9uLCB0ZXN0LnBo
YXNlLCB0ZXN0LmN1cnJlbnRUaW1lKTsKKyAgfSk7Cit9LCAnUGhhc2UgY2FsY3VsYXRpb24gZm9y
IGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBhIG5lZ2F0aXZlIGVuZCBkZWxheScKKyAgICsgJyBn
cmVhdGVyIGluIG1hZ25pdHVkZSB0aGFuIHRoZSBhY3RpdmUgZHVyYXRpb24nKTsKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxs
LCB7IGR1cmF0aW9uOiAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZW5kRGVsYXk6IC0xIH0pOworCisgIFsgeyBjdXJyZW50VGltZTogMCwgcGhhc2U6
ICdiZWZvcmUnIH0sCisgICAgeyBjdXJyZW50VGltZTogMSwgcGhhc2U6ICdhY3RpdmUnIH0sCisg
ICAgeyBjdXJyZW50VGltZTogMiwgcGhhc2U6ICdhZnRlcicgIH0gXQorICAuZm9yRWFjaChmdW5j
dGlvbih0ZXN0KSB7CisgICAgYXNzZXJ0X3BoYXNlX2F0X3RpbWUoYW5pbWF0aW9uLCB0ZXN0LnBo
YXNlLCB0ZXN0LmN1cnJlbnRUaW1lKTsKKyAgfSk7Cit9LCAnUGhhc2UgY2FsY3VsYXRpb24gZm9y
IGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBhIHBvc2l0aXZlIHN0YXJ0IGRlbGF5JworICAgKyAn
IGFuZCBhIG5lZ2F0aXZlIGVuZCBkZWxheSBsZXNzZXIgaW4gbWFnbml0dWRlIHRoYW4gdGhlIGFj
dGl2ZSBkdXJhdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9
IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAtMSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC0xIH0pOworCisg
IFsgeyBjdXJyZW50VGltZTogLTIsIHBoYXNlOiAnYmVmb3JlJyB9LAorICAgIHsgY3VycmVudFRp
bWU6IC0xLCBwaGFzZTogJ2JlZm9yZScgfSwKKyAgICB7IGN1cnJlbnRUaW1lOiAgMCwgcGhhc2U6
ICdhZnRlcicgIH0gXQorICAuZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7CisgICAgYXNzZXJ0X3Bo
YXNlX2F0X3RpbWUoYW5pbWF0aW9uLCB0ZXN0LnBoYXNlLCB0ZXN0LmN1cnJlbnRUaW1lKTsKKyAg
fSk7Cit9LCAnUGhhc2UgY2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBh
IG5lZ2F0aXZlIHN0YXJ0IGRlbGF5JworICAgKyAnIGFuZCBhIG5lZ2F0aXZlIGVuZCBkZWxheSBl
cXVhbCBpbiBtYWduaXR1ZGUgdG8gdGhlIGFjdGl2ZSBkdXJhdGlvbicpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsg
ZHVyYXRpb246IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlbGF5OiAtMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZW5kRGVsYXk6IC0yIH0pOworCisgIFsgeyBjdXJyZW50VGltZTogLTMsIHBoYXNlOiAn
YmVmb3JlJyB9LAorICAgIHsgY3VycmVudFRpbWU6IC0yLCBwaGFzZTogJ2JlZm9yZScgfSwKKyAg
ICB7IGN1cnJlbnRUaW1lOiAtMSwgcGhhc2U6ICdiZWZvcmUnIH0sCisgICAgeyBjdXJyZW50VGlt
ZTogIDAsIHBoYXNlOiAnYWZ0ZXInICB9IF0KKyAgLmZvckVhY2goZnVuY3Rpb24odGVzdCkgewor
ICAgIGFzc2VydF9waGFzZV9hdF90aW1lKGFuaW1hdGlvbiwgdGVzdC5waGFzZSwgdGVzdC5jdXJy
ZW50VGltZSk7CisgIH0pOworfSwgJ1BoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBhbmltYXRpb24g
ZWZmZWN0IHdpdGggYSBuZWdhdGl2ZSBzdGFydCBkZWxheScKKyAgICsgJyBhbmQgYSBuZWdhdGl2
ZSBlbmQgZGVsYXkgZXF1YWwgZ3JlYXRlciBpbiBtYWduaXR1ZGUgdGhhbiB0aGUgYWN0aXZlJwor
ICAgKyAnIGR1cmF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9u
ID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1Jh
dGUgPSAtMTsKKworICBbIHsgY3VycmVudFRpbWU6IC0xLCBwaGFzZTogJ2JlZm9yZScgfSwKKyAg
ICB7IGN1cnJlbnRUaW1lOiAgMCwgcGhhc2U6ICdiZWZvcmUnIH0sCisgICAgeyBjdXJyZW50VGlt
ZTogIDEsIHBoYXNlOiAnYWN0aXZlJyB9LAorICAgIHsgY3VycmVudFRpbWU6ICAyLCBwaGFzZTog
J2FmdGVyJyAgfSBdCisgIC5mb3JFYWNoKGZ1bmN0aW9uKHRlc3QpIHsKKyAgICBhc3NlcnRfcGhh
c2VfYXRfdGltZShhbmltYXRpb24sIHRlc3QucGhhc2UsIHRlc3QuY3VycmVudFRpbWUpOworICB9
KTsKK30sICdQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYSBzaW1wbGUgYW5pbWF0aW9uIGVmZmVjdCB3
aXRoIG5lZ2F0aXZlIHBsYXliYWNrJworICAgKyAnIHJhdGUnKTsKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1p
bmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvc2ltcGxlLWl0ZXJhdGlvbi1wcm9ncmVzcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9uLWVmZmVjdHMvc2ltcGxlLWl0ZXJhdGlvbi1wcm9ncmVzcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTU0ZWNmYzFlZjI0NDkzZmE3MjVjODhjNTFjOWExYzliZWYyNWFmMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9zaW1wbGUtaXRlcmF0aW9uLXByb2dyZXNzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUxIEBACisKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6
IGl0ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJv
dGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1
cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0
IHplcm8gaXRlcmF0aW9uczogaXRlcmF0aW9uczowIGl0ZXJhdGlvblN0YXJ0OjAgZHVyYXRpb246
MTAwIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRp
b25TdGFydDowIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1
dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlv
bnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFydDoyLjUgZHVyYXRpb246MCBkZWxheToxIGZp
bGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgemVybyBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6Mi41IGR1
cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgemVybyBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjAg
aXRlcmF0aW9uU3RhcnQ6Mi41IGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50
VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJv
IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOjAgZGVs
YXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBUZXN0IHplcm8gaXRlcmF0aW9uczogaXRlcmF0aW9uczowIGl0ZXJhdGlvblN0YXJ0
OjMgZHVyYXRpb246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFu
aW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6IGl0ZXJhdGlv
bnM6MCBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3Ro
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJy
ZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBp
bnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9u
OjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IGludGVnZXIgaXRlcmF0aW9uczogaXRlcmF0aW9uczozIGl0ZXJh
dGlvblN0YXJ0OjAgZHVyYXRpb246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlv
bnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5
OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRpb25TdGFy
dDoyLjUgZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBpdGVy
YXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6Mi41IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90
aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3Vy
cmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3Qg
aW50ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6Mi41IGR1cmF0
aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlv
bnM6MyBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0
LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGludGVnZXIg
aXRlcmF0aW9uczogaXRlcmF0aW9uczozIGl0ZXJhdGlvblN0YXJ0OjMgZHVyYXRpb246MTAwIGRl
bGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRpb25T
dGFydDozIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlvbmFsIGl0ZXJh
dGlvbnM6IGl0ZXJhdGlvbnM6My41IGl0ZXJhdGlvblN0YXJ0OjAgZHVyYXRpb246MCBkZWxheTox
IGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0
ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25T
dGFydDowIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVyYXRpb25z
OiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5
OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgVGVzdCBmcmFjdGlvbmFsIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6My41IGl0ZXJhdGlv
blN0YXJ0OjIuNSBkdXJhdGlvbjowIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlvbmFsIGl0ZXJhdGlv
bnM6IGl0ZXJhdGlvbnM6My41IGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjoxMDAgZGVsYXk6
MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBUZXN0IGZyYWN0aW9uYWwgaXRlcmF0aW9uczogaXRlcmF0aW9uczozLjUgaXRlcmF0aW9u
U3RhcnQ6Mi41IGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1
dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlvbmFsIGl0
ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6My41IGl0ZXJhdGlvblN0YXJ0OjMgZHVyYXRpb246MCBkZWxh
eToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRp
b25TdGFydDozIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywg
J2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVyYXRp
b25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOkluZmluaXR5IGRl
bGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgVGVzdCBpbmZpbml0eSBpdGVyYXRpb25zOiBpdGVyYXRpb25zOkluZmluaXR5IGl0
ZXJhdGlvblN0YXJ0OjAgZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0
aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOjEwMCBk
ZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBp
dGVyYXRpb25TdGFydDowIGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVz
dC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbmZpbml0
eSBpdGVyYXRpb25zOiBpdGVyYXRpb25zOkluZmluaXR5IGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJh
dGlvbjowIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbmZpbml0eSBpdGVyYXRpb25zOiBpdGVyYXRpb25zOklu
ZmluaXR5IGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGgg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJl
bnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGlu
ZmluaXR5IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6SW5maW5pdHkgaXRlcmF0aW9uU3RhcnQ6Mi41
IGR1cmF0aW9uOkluZmluaXR5IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbmZpbml0eSBpdGVyYXRpb25zOiBp
dGVyYXRpb25zOkluZmluaXR5IGl0ZXJhdGlvblN0YXJ0OjMgZHVyYXRpb246MCBkZWxheToxIGZp
bGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25T
dGFydDozIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczog
aXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOkluZmluaXR5IGRl
bGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBl
bmREZWxheTo1MCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0
ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFRlc3QgZW5kIGRlbGF5OiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVs
YXk6LTUwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
VGVzdCBlbmQgZGVsYXk6IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmREZWxheTot
MTAwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBj
dXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVz
dCBlbmQgZGVsYXk6IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmREZWxheTotMjAw
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJy
ZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBl
bmQgZGVsYXk6IGl0ZXJhdGlvblN0YXJ0OjAuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJv
dGggZW5kRGVsYXk6NTAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBUZXN0IGVuZCBkZWxheTogaXRlcmF0aW9uU3RhcnQ6MC41IGR1cmF0aW9uOjEwMCBk
ZWxheToxIGZpbGw6Ym90aCBlbmREZWxheTotNTAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGVuZCBkZWxheTogaXRlcmF0aW9uU3RhcnQ6MC41
IGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmREZWxheTotMTAwIGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1
dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGl0
ZXJhdGlvbnM6MiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVsYXk6LTEwMCBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVu
dFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZW5k
IGRlbGF5OiBpdGVyYXRpb25zOjEgaXRlcmF0aW9uU3RhcnQ6MiBkdXJhdGlvbjoxMDAgZGVsYXk6
MSBmaWxsOmJvdGggZW5kRGVsYXk6LTUwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGl0ZXJhdGlvbnM6MSBpdGVyYXRpb25T
dGFydDoyIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBlbmREZWxheTotMTAwIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVz
dC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBuZWdhdGl2
ZSBwbGF5YmFjayByYXRlOiBkdXJhdGlvbjoxIGRlbGF5OjEgZmlsbDpib3RoIHBsYXliYWNrUmF0
ZTotMSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwg
Y3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRl
c3QgbmVnYXRpdmUgcGxheWJhY2sgcmF0ZTogZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBw
bGF5YmFja1JhdGU6LTEgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBUZXN0IG5lZ2F0aXZlIHBsYXliYWNrIHJhdGU6IGR1cmF0aW9uOjAgaXRlcmF0aW9u
czowIGRlbGF5OjEgZmlsbDpib3RoIHBsYXliYWNrUmF0ZTotMSBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9zaW1wbGUt
aXRlcmF0aW9uLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvc2ltcGxlLWl0ZXJhdGlvbi1wcm9n
cmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MjUzYTBiZDM1NzU4Yzc4MDBmN2ViMjdiODE4NmY0ZTJk
OTFmZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvc2ltcGxlLWl0ZXJhdGlvbi1wcm9n
cmVzcy5odG1sCkBAIC0wLDAgKzEsNjAwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTg+Cis8dGl0bGU+U2ltcGxlIGl0ZXJhdGlvbiBwcm9ncmVzcyB0ZXN0czwvdGl0bGU+
Cis8bGluayByZWw9ImhlbHAiCisgICAgICBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2Vi
LWFuaW1hdGlvbnMvI3NpbXBsZS1pdGVyYXRpb24tcHJvZ3Jlc3MiPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rl
c3Rjb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9lZmZl
Y3QtdGVzdHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNj
cmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworZnVuY3Rpb24gcnVuVGVzdHModGVzdHMsIGRlc2NyaXB0
aW9uKSB7CisgIGZvciAoY29uc3QgY3VycmVudFRlc3Qgb2YgdGVzdHMpIHsKKyAgICBsZXQgdGVz
dFBhcmFtcyA9IE9iamVjdC5lbnRyaWVzKGN1cnJlbnRUZXN0LmlucHV0KQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLm1hcCgoW2F0dHIsIHZhbHVlXSkgPT4gYCR7YXR0cn06JHt2YWx1ZX1g
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyAnKTsKKyAgICBpZiAoY3VycmVu
dFRlc3QucGxheWJhY2tSYXRlICE9PSB1bmRlZmluZWQpIHsKKyAgICAgIHRlc3RQYXJhbXMgKz0g
YCBwbGF5YmFja1JhdGU6JHtjdXJyZW50VGVzdC5wbGF5YmFja1JhdGV9YDsKKyAgICB9CisKKyAg
ICB0ZXN0KHQgPT4geworICAgICAgY29uc3QgZGl2ID0gY3JlYXRlRGl2KHQpOworICAgICAgY29u
c3QgYW5pbSA9IGRpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCk7CisgICAgICBpZiAo
Y3VycmVudFRlc3QucGxheWJhY2tSYXRlICE9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgYW5pbS5w
bGF5YmFja1JhdGUgPSBjdXJyZW50VGVzdC5wbGF5YmFja1JhdGU7CisgICAgICB9CisKKyAgICAg
IGFzc2VydF9jb21wdXRlZF90aW1pbmdfZm9yX2VhY2hfcGhhc2UoCisgICAgICAgIGFuaW0sCisg
ICAgICAgICdwcm9ncmVzcycsCisgICAgICAgIHsgYmVmb3JlOiBjdXJyZW50VGVzdC5iZWZvcmUs
CisgICAgICAgICAgYWN0aXZlQm91bmRhcnk6IGN1cnJlbnRUZXN0LmFjdGl2ZSwKKyAgICAgICAg
ICBhZnRlcjogY3VycmVudFRlc3QuYWZ0ZXIgfSwKKyAgICAgICk7CisgICAgfSwgYCR7ZGVzY3Jp
cHRpb259OiAke3Rlc3RQYXJhbXN9YCk7CisgIH0KK30KKworCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8K
Ky8vIFplcm8gaXRlcmF0aW9uIGR1cmF0aW9uIHRlc3RzCisvLworLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
cnVuVGVzdHMoWworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwKKyAgICAgICAg
ICAgICAgICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwK
KyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcg
fSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6
ICAgIHsgaXRlcmF0aW9uczogMCwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMCwK
KyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAx
LAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBh
ZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAg
ICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0aW9u
OiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBm
aWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7
CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwKKyAgICAgICAgICAgICAgICBpdGVyYXRp
b25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAg
ICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9y
ZTogMC41LAorICAgIGFmdGVyOiAwLjUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogMCwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAg
ICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAg
ICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLjUsCisgICAgYWZ0ZXI6
IDAuNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246
IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZp
bGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMC41LAorICAgIGFmdGVyOiAwLjUKKyAgfSwKKwor
ICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwKKyAgICAgICAgICAgICAgICBpdGVy
YXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAg
ICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZv
cmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0
aW9uczogMCwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAg
ICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAg
ICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMAorICB9
LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAgICAgICAgICAgICAg
IGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwK
KyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcg
fSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfQorXSwgJ1Rlc3QgemVybyBpdGVy
YXRpb25zJyk7CisKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBUZXN0cyB3aGVyZSB0aGUgaXRl
cmF0aW9uIGNvdW50IGlzIGFuIGludGVnZXIKKy8vCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitydW5UZXN0
cyhbCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAg
IGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAg
ICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAg
IGJlZm9yZTogMCwKKyAgICBhZnRlcjogMQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBp
dGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAg
ICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAg
ICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTog
MCwKKyAgICBhZnRlcjogMQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25z
OiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAg
IGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAg
ICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwCisg
IH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMsCisgICAgICAgICAgICAg
ICAgaXRlcmF0aW9uU3RhcnQ6IDIuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAg
ICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwK
KyAgICBiZWZvcmU6IDAuNSwKKyAgICBhZnRlcjogMC41CisgIH0sCisKKyAgeworICAgIGlucHV0
OiAgICB7IGl0ZXJhdGlvbnM6IDMsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIu
NSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5
OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMC41LAor
ICAgIGFjdGl2ZTogMC41LAorICAgIGFmdGVyOiAwLjUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6
ICAgIHsgaXRlcmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41
LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBk
ZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAu
NSwKKyAgICBhY3RpdmU6IDAuNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRp
b25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAg
ICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAg
ICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMQorICB9LAor
CisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0
ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAg
ICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAg
YmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRlcjogMQorICB9LAorCisgIHsKKyAg
ICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0
YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAg
ICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZv
cmU6IDAsCisgICAgYWN0aXZlOiAwCisgIH0KK10sICdUZXN0IGludGVnZXIgaXRlcmF0aW9ucycp
OworCisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gVGVzdHMgd2hlcmUgdGhlIGl0ZXJhdGlvbiBj
b3VudCBpcyBhIGZyYWN0aW9uCisvLworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworcnVuVGVzdHMoWworICB7
CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJh
dGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAg
ICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9y
ZTogMCwKKyAgICBhZnRlcjogMC41CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJh
dGlvbnM6IDMuNSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAg
ICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAg
ICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAs
CisgICAgYWZ0ZXI6IDAuNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25z
OiAzLjUsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAg
ICAgZHVyYXRpb246IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAg
ICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAK
KyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMy41LAorICAgICAgICAg
ICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDAs
CisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgn
IH0sCisgICAgYmVmb3JlOiAwLjUsCisgICAgYWZ0ZXI6IDEKKyAgfSwKKworICB7CisgICAgaW5w
dXQ6ICAgIHsgaXRlcmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0
OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBk
ZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAu
NSwKKyAgICBhY3RpdmU6IDAuNSwKKyAgICBhZnRlcjogMQorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBpdGVyYXRpb25zOiAzLjUsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6
IDIuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogSW5maW5pdHksCisgICAgICAgICAgICAg
ICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3Jl
OiAwLjUsCisgICAgYWN0aXZlOiAwLjUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAg
ICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAg
ICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMC41
CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAgICAgICAg
ICAgICAgICBpdGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAw
LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3Ro
JyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDAuNQorICB9
LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLjUsCisgICAgICAgICAgICAg
ICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IEluZmluaXR5
LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3Ro
JyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAKKyAgfQorXSwgJ1Rlc3QgZnJhY3Rp
b25hbCBpdGVyYXRpb25zJyk7CisKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBUZXN0cyB3aGVy
ZSB0aGUgaXRlcmF0aW9uIGNvdW50IGlzIEluZmluaXR5CisvLworLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
cnVuVGVzdHMoWworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogSW5maW5pdHksCisg
ICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAgICAgZHVyYXRp
b246IDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDog
J2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFmdGVyOiAxCisgIH0sCisKKyAgeworICAg
IGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGl0ZXJh
dGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAg
ICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVm
b3JlOiAwLAorICAgIGFjdGl2ZTogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVy
YXRpb25zOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMCwKKyAg
ICAgICAgICAgICAgICBkdXJhdGlvbjogSW5maW5pdHksCisgICAgICAgICAgICAgICAgZGVsYXk6
IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAg
IGFjdGl2ZTogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiBJbmZp
bml0eSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAgICAg
ICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAg
ICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMC41LAorICAgIGFmdGVyOiAwLjUKKyAg
fSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogSW5maW5pdHksCisgICAgICAg
ICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjog
MTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdi
b3RoJyB9LAorICAgIGJlZm9yZTogMC41LAorICAgIGFjdGl2ZTogMC41CisgIH0sCisKKyAgewor
ICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGl0
ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IEluZmluaXR5LAor
ICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9
LAorICAgIGJlZm9yZTogMC41LAorICAgIGFjdGl2ZTogMC41CisgIH0sCisKKyAgeworICAgIGlu
cHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlv
blN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAg
IGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTog
MCwKKyAgICBhZnRlcjogMQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25z
OiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMywKKyAgICAgICAg
ICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAg
ICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAK
KyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogSW5maW5pdHksCisgICAg
ICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAgICAgZHVyYXRpb246
IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZp
bGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAKKyAgfQorXSwgJ1Rl
c3QgaW5maW5pdHkgaXRlcmF0aW9ucycpOworCisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gRW5k
IGRlbGF5IHRlc3RzCisvLworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworcnVuVGVzdHMoWworICB7CisgICAg
aW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAg
ICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IDUw
IH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRlcjogMQorICB9LAor
CisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRl
bGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICBl
bmREZWxheTogLTUwIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRl
cjogMC41CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAxMDAsCisgICAg
ICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAg
ICAgICAgICAgICAgIGVuZERlbGF5OiAtMTAwIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2
ZTogMCwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJhdGlv
bjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6
ICdib3RoJywKKyAgICAgICAgICAgICAgICBlbmREZWxheTogLTIwMCB9LAorICAgIGJlZm9yZTog
MCwKKyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6
ICAgIHsgaXRlcmF0aW9uU3RhcnQ6IDAuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAw
LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3Ro
JywKKyAgICAgICAgICAgICAgICBlbmREZWxheTogNTAgfSwKKyAgICBiZWZvcmU6IDAuNSwKKyAg
ICBhY3RpdmU6IDAuNSwKKyAgICBhZnRlcjogMC41CisgIH0sCisKKyAgeworICAgIGlucHV0OiAg
ICB7IGl0ZXJhdGlvblN0YXJ0OiAwLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwK
KyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcs
CisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC01MCB9LAorICAgIGJlZm9yZTogMC41LAorICAg
IGFjdGl2ZTogMC41LAorICAgIGFmdGVyOiAwCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7
IGl0ZXJhdGlvblN0YXJ0OiAwLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAg
ICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisg
ICAgICAgICAgICAgICAgZW5kRGVsYXk6IC0xMDAgfSwKKyAgICBiZWZvcmU6IDAuNSwKKyAgICBh
Y3RpdmU6IDAuNSwKKyAgICBhZnRlcjogMC41CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7
IGl0ZXJhdGlvbnM6IDIsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAg
ICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAg
ICAgICAgICAgZW5kRGVsYXk6IC0xMDAgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAw
LAorICAgIGFmdGVyOiAwCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6
IDEsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIsCisgICAgICAgICAgICAgICAg
ZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAg
ICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC01MCB9LAorICAgIGJl
Zm9yZTogMCwKKyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDAuNQorICB9LAorCisgIHsKKyAg
ICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAxLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0
YXJ0OiAyLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAg
ZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAg
IGVuZERlbGF5OiAtMTAwIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBh
ZnRlcjogMAorICB9LAorXSwgJ1Rlc3QgZW5kIGRlbGF5Jyk7CisKKworLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky8vCisvLyBOZWdhdGl2ZSBwbGF5YmFjayByYXRlIHRlc3RzCisvLworLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KworcnVuVGVzdHMoWworICB7CisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEsCisgICAgICAg
ICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAg
cGxheWJhY2tSYXRlOiAtMSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAxLAorICAgIGFm
dGVyOiAxCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAwLAorICAgICAg
ICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAg
IHBsYXliYWNrUmF0ZTogLTEsCisgICAgYmVmb3JlOiAwLAorICAgIGFmdGVyOiAxCisgIH0sCisK
KyAgeworICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGl0ZXJh
dGlvbnM6IDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmls
bDogJ2JvdGgnIH0sCisgICAgcGxheWJhY2tSYXRlOiAtMSwKKyAgICBiZWZvcmU6IDAsCisgICAg
YWZ0ZXI6IDAKKyAgfSwKK10sICdUZXN0IG5lZ2F0aXZlIHBsYXliYWNrIHJhdGUnKTsKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9jYW5jZWxpbmctYW4tYW5pbWF0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb25zL2NhbmNlbGluZy1hbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkzNGU1Y2JmZjAyZTYwYzJjMzZlOWNlNmZlN2RiMWJmNDIwZTM5YjEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9ucy9jYW5jZWxpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDYgQEAKKworRkFJTCBBIHBsYXktcGVuZGluZyByZWFkeSBwcm9taXNlIHNob3VsZCBiZSBy
ZWplY3RlZCB3aGVuIHRoZSBhbmltYXRpb24gaXMgY2FuY2VsZWQgY3JlYXRlRGl2KHQpLmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAw
ICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgQSBwYXVzZS1wZW5kaW5nIHJlYWR5IHByb21pc2Ugc2hvdWxkIGJlIHJlamVjdGVkIHdoZW4g
dGhlIGFuaW1hdGlvbiBpcyBjYW5jZWxlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VD
KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBXaGVuIGFuIGFu
aW1hdGlvbiBpcyBjYW5jZWxlZCwgaXQgc2hvdWxkIGNyZWF0ZSBhIHJlc29sdmVkIFByb21pc2Ug
Y3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQp
LmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgVGhlIHJlYWR5IHByb21pc2Ugc2hvdWxkIGJlIHJlcGxhY2VkIHdoZW4gdGhlIGFuaW1hdGlv
biBpcyBjYW5jZWxlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9jYW5jZWxpbmctYW4tYW5pbWF0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0
aW9ucy9jYW5jZWxpbmctYW4tYW5pbWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFhN2RlMmJiODc4
NjExNjgxNTRkNjRjZDY4NjMyNTA0OWIwZTI3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL2NhbmNl
bGluZy1hbi1hbmltYXRpb24uaHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+Q2FuY2VsaW5nIGFuIGFuaW1hdGlvbjwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiCisgICAgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dl
Yi1hbmltYXRpb25zLyNjYW5jZWxpbmctYW4tYW5pbWF0aW9uLXNlY3Rpb24iPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgY29uc3QgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNf
UEVSX1NFQyk7CisgIGNvbnN0IHJldFByb21pc2UgPSBhbmltYXRpb24ucmVhZHkudGhlbigoKSA9
PiB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgncmVhZHkgcHJvbWlzZSB3YXMgZnVsZmlsbGVkJyk7
CisgIH0pLmNhdGNoKGVyciA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhlcnIubmFtZSwgJ0Fib3J0
RXJyb3InLAorICAgICAgICAgICAgICAgICAgJ3JlYWR5IHByb21pc2UgaXMgcmVqZWN0ZWQgd2l0
aCBBYm9ydEVycm9yJyk7CisgIH0pOworCisgIGFuaW1hdGlvbi5jYW5jZWwoKTsKKworICByZXR1
cm4gcmV0UHJvbWlzZTsKK30sICdBIHBsYXktcGVuZGluZyByZWFkeSBwcm9taXNlIHNob3VsZCBi
ZSByZWplY3RlZCB3aGVuIHRoZSBhbmltYXRpb24gaXMnCisgICArICcgY2FuY2VsZWQnKTsKKwor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgY29uc3QgYW5pbWF0aW9uID0gY3JlYXRlRGl2
KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIHJldHVybiBhbmltYXRpb24u
cmVhZHkudGhlbigoKSA9PiB7CisgICAgYW5pbWF0aW9uLnBhdXNlKCk7CisgICAgLy8gU2V0IHVw
IGxpc3RlbmVycyBvbiBwYXVzZS1wZW5kaW5nIHJlYWR5IHByb21pc2UKKyAgICB2YXIgcmV0UHJv
bWlzZSA9IGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X3Vu
cmVhY2hlZCgncmVhZHkgcHJvbWlzZSB3YXMgZnVsZmlsbGVkJyk7CisgICAgfSkuY2F0Y2goZXJy
ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZXJyLm5hbWUsICdBYm9ydEVycm9yJywKKyAgICAg
ICAgICAgICAgICAgICAgJ3JlYWR5IHByb21pc2UgaXMgcmVqZWN0ZWQgd2l0aCBBYm9ydEVycm9y
Jyk7CisgICAgfSk7CisgICAgYW5pbWF0aW9uLmNhbmNlbCgpOworICAgIHJldHVybiByZXRQcm9t
aXNlOworICB9KTsKK30sICdBIHBhdXNlLXBlbmRpbmcgcmVhZHkgcHJvbWlzZSBzaG91bGQgYmUg
cmVqZWN0ZWQgd2hlbiB0aGUgYW5pbWF0aW9uIGlzJworICAgKyAnIGNhbmNlbGVkJyk7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIGNvbnN0IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0
KS5hbmltYXRlKG51bGwpOworICBhbmltYXRpb24uY2FuY2VsKCk7CisgIHJldHVybiBhbmltYXRp
b24ucmVhZHkudGhlbihmdW5jdGlvbihwKSB7CisgICAgYXNzZXJ0X2VxdWFscyhwLCBhbmltYXRp
b24pOworICB9KTsKK30sICdXaGVuIGFuIGFuaW1hdGlvbiBpcyBjYW5jZWxlZCwgaXQgc2hvdWxk
IGNyZWF0ZSBhIHJlc29sdmVkIFByb21pc2UnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIGNv
bnN0IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpOworICBjb25zdCBwcm9t
aXNlID0gYW5pbWF0aW9uLnJlYWR5OworICBhbmltYXRpb24uY2FuY2VsKCk7CisgIGFzc2VydF9u
b3RfZXF1YWxzKGFuaW1hdGlvbi5yZWFkeSwgcHJvbWlzZSk7Cit9LCAnVGhlIHJlYWR5IHByb21p
c2Ugc2hvdWxkIGJlIHJlcGxhY2VkIHdoZW4gdGhlIGFuaW1hdGlvbiBpcyBjYW5jZWxlZCcpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL2N1cnJlbnQtdGltZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9ucy9jdXJyZW50LXRpbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjYzA4NjRm
YmEyZjFiNTkwYzdlOTJlN2RjY2I1NDBjMjNmOTFlODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9j
dXJyZW50LXRpbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitGQUlMIFRoZSBjdXJy
ZW50IHRpbWUgcmV0dXJucyB0aGUgaG9sZCB0aW1lIHdoZW4gc2V0IEFyZ3VtZW50IDEgKCd0aW1l
bGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBUaGUgY3VycmVudCB0aW1lIGlzIHVucmVzb2x2ZWQg
d2hlbiB0aGVyZSBpcyBubyBhc3NvY2lhdGVkIHRpbWVsaW5lIChhbmQgbm8gaG9sZCB0aW1lIGlz
IHNldCkgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3Rv
ciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIFRoZSBjdXJy
ZW50IHRpbWUgaXMgdW5yZXNvbHZlZCB3aGVuIHRoZSBzdGFydCB0aW1lIGlzIHVucmVzb2x2ZWQg
KGFuZCBubyBob2xkIHRpbWUgaXMgc2V0KSBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUg
QW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGlt
ZWxpbmUKK0ZBSUwgVGhlIGN1cnJlbnQgdGltZSBpcyBjYWxjdWxhdGVkIGZyb20gdGhlIHRpbWVs
aW5lIHRpbWUsIHN0YXJ0IHRpbWUgYW5kIHBsYXliYWNrIHJhdGUgQXJndW1lbnQgMSAoJ3RpbWVs
aW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIFRoZSBjdXJyZW50IHRpbWUgZG9lcyBub3QgcHJvZ3Jl
c3MgaWYgcGxheWJhY2sgcmF0ZSBpcyAwIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMp
JywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25z
L2N1cnJlbnQtdGltZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvY3VycmVudC10aW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUw
MDE3NTQzNWM4NDIxYjkyZTBlODJjMTJhODJiMDhiMjNkMmFhMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b25zL2N1cnJlbnQtdGltZS5odG1sCkBAIC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0cyBmb3IgY3VycmVudCB0aW1lPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmlt
YXRpb25zLyNjdXJyZW50LXRpbWUiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2Ny
aXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0
JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmlt
YXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVS
X1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisKKyAgYW5pbWF0
aW9uLnBsYXkoKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDAsCisg
ICAgJ0N1cnJlbnQgdGltZSByZXR1cm5zIHRoZSBob2xkIHRpbWUgc2V0IHdoZW4gZW50ZXJpbmcg
dGhlIHBsYXktcGVuZGluZyAnICsKKyAgICAnc3RhdGUnKTsKK30sICdUaGUgY3VycmVudCB0aW1l
IHJldHVybnMgdGhlIGhvbGQgdGltZSB3aGVuIHNldCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFt
ZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAg
ICAgICAgICAgbnVsbCk7CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCBudWxsKTsKKyAg
fSk7Cit9LCAnVGhlIGN1cnJlbnQgdGltZSBpcyB1bnJlc29sdmVkIHdoZW4gdGhlcmUgaXMgbm8g
YXNzb2NpYXRlZCB0aW1lbGluZSAnICsKKyAgICcoYW5kIG5vIGhvbGQgdGltZSBpcyBzZXQpJyk7
CisKKy8vIEZJWE1FOiBUZXN0IHRoYXQgdGhlIGN1cnJlbnQgdGltZSBpcyB1bnJlc29sdmVkIHdo
ZW4gd2UgaGF2ZSBhbiBpbmFjdGl2ZQorLy8gdGltZWxpbmUgaWYgd2UgZmluZCBhIHdheSBvZiBj
cmVhdGluZyBhbiBpbmFjdGl2ZSB0aW1lbGluZSEKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0
ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1
bWVudC50aW1lbGluZSk7CisKKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IG51bGw7CisgIGFzc2Vy
dF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCBudWxsKTsKK30sICdUaGUgY3VycmVudCB0
aW1lIGlzIHVucmVzb2x2ZWQgd2hlbiB0aGUgc3RhcnQgdGltZSBpcyB1bnJlc29sdmVkICcgKwor
ICAgJyhhbmQgbm8gaG9sZCB0aW1lIGlzIHNldCknKTsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNy
ZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBk
b2N1bWVudC50aW1lbGluZSk7CisKKyAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IDI7CisgIGFu
aW1hdGlvbi5zdGFydFRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSAtIDI1ICog
TVNfUEVSX1NFQzsKKworICB2YXIgdGltZWxpbmVUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3Vy
cmVudFRpbWU7CisgIHZhciBzdGFydFRpbWUgPSBhbmltYXRpb24uc3RhcnRUaW1lOworICB2YXIg
cGxheWJhY2tSYXRlID0gYW5pbWF0aW9uLnBsYXliYWNrUmF0ZTsKKyAgYXNzZXJ0X3RpbWVzX2Vx
dWFsKGFuaW1hdGlvbi5jdXJyZW50VGltZSwKKyAgICAgICAgICAgICAgICAgICAgICh0aW1lbGlu
ZVRpbWUgLSBzdGFydFRpbWUpICogcGxheWJhY2tSYXRlLAorICAgICAgICAgICAgICAgICAgICAg
J0FuaW1hdGlvbiBoYXMgYSB1bnJlc29sdmVkIHN0YXJ0IHRpbWUnKTsKK30sICdUaGUgY3VycmVu
dCB0aW1lIGlzIGNhbGN1bGF0ZWQgZnJvbSB0aGUgdGltZWxpbmUgdGltZSwgc3RhcnQgdGltZSBh
bmQgJyArCisgICAncGxheWJhY2sgcmF0ZScpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNf
UEVSX1NFQyk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAwOworCisgIHJldHVybiBhbmlt
YXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gd2FpdEZvckFuaW1hdGlv
bkZyYW1lcygxKTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfdGltZXNfZXF1
YWwoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAwKTsKKyAgfSk7Cit9LCAnVGhlIGN1cnJlbnQgdGlt
ZSBkb2VzIG5vdCBwcm9ncmVzcyBpZiBwbGF5YmFjayByYXRlIGlzIDAnKTsKKworPC9zY3JpcHQ+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9maW5pc2hpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9h
bmltYXRpb25zL2ZpbmlzaGluZy1hbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmEyMGI0MjZhNWFhMTY0MTBkZWY4NzUyNzFjNjVhMTY5NDY3OWUwOGEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9ucy9maW5pc2hpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworRkFJTCBBIHBlbmRpbmcgcmVhZHkgcHJvbWlzZSBzaG91bGQgYmUgcmVzb2x2ZWQgYW5k
IG5vdCByZXBsYWNlZCB3aGVuIHRoZSBhbmltYXRpb24gaXMgZmluaXNoZWQgY3JlYXRlRGl2KHQp
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVs
bCwgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGlt
aW5nLW1vZGVsL2FuaW1hdGlvbnMvZmluaXNoaW5nLWFuLWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvZmlu
aXNoaW5nLWFuLWFuaW1hdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4OTBiZDFiZGU4YzdhMDI4NmQ1
NTczZDlhYWI4ZmVkYTE1YWZiYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9maW5pc2hpbmctYW4t
YW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PXV0Zi04PgorPHRpdGxlPkZpbmlzaGluZyBhbiBhbmltYXRpb248L3RpdGxlPgorPGxp
bmsgcmVsPSJoZWxwIgorICBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlv
bnMvI2ZpbmlzaGluZy1hbi1hbmltYXRpb24tc2VjdGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0
PgorJ3VzZSBzdHJpY3QnOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICBjb25zdCBh
bmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsK
KyAgY29uc3QgcHJvbWlzZSA9IGFuaW1hdGlvbi5yZWFkeTsKKyAgbGV0IHJlYWR5UmVzb2x2ZWQg
PSBmYWxzZTsKKworICBhbmltYXRpb24uZmluaXNoKCk7CisgIGFuaW1hdGlvbi5yZWFkeS50aGVu
KCgpID0+IHsgcmVhZHlSZXNvbHZlZCA9IHRydWU7IH0pOworCisgIHJldHVybiBhbmltYXRpb24u
ZmluaXNoZWQudGhlbihwID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHAsIGFuaW1hdGlvbik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucmVhZHksIHByb21pc2UpOworICAgIGFzc2VydF90
cnVlKHJlYWR5UmVzb2x2ZWQpOworICB9KTsKK30sICdBIHBlbmRpbmcgcmVhZHkgcHJvbWlzZSBz
aG91bGQgYmUgcmVzb2x2ZWQgYW5kIG5vdCByZXBsYWNlZCB3aGVuIHRoZScKKyAgICsgJyBhbmlt
YXRpb24gaXMgZmluaXNoZWQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
cy9wYXVzaW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9wYXVzaW5nLWFuLWFuaW1h
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2NlYjdkZTExOGFhMTFmYjU0ZmJmNDI0ZGE5
ZTQ5Mzg2NDVkNTM5MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3BhdXNpbmctYW4tYW5pbWF0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBBIHBlbmRpbmcgcmVhZHkgcHJv
bWlzZSBzaG91bGQgYmUgcmVzb2x2ZWQgYW5kIG5vdCByZXBsYWNlZCB3aGVuIHRoZSBhbmltYXRp
b24gaXMgcGF1c2VkIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURp
dih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3BhdXNpbmctYW4t
YW5pbWF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1p
bmctbW9kZWwvYW5pbWF0aW9ucy9wYXVzaW5nLWFuLWFuaW1hdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjlhNGRhMmU3YzJmMGIyMTEyNDViOGQ0NzJjOWE3ZmJiZDJmOTcxZTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9ucy9wYXVzaW5nLWFuLWFuaW1hdGlvbi5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9D
VFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5QYXVzaW5nIGFuIGFuaW1h
dGlvbjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiCisgIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWItYW5pbWF0aW9ucy8jZmluaXNoaW5nLWFuLWFuaW1hdGlvbi1zZWN0aW9uIj4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIGNvbnN0IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEw
MCAqIE1TX1BFUl9TRUMpOworICBjb25zdCBwcm9taXNlID0gYW5pbWF0aW9uLnJlYWR5OworICBh
bmltYXRpb24ucGF1c2UoKTsKKyAgcmV0dXJuIHByb21pc2UudGhlbihwID0+IHsKKyAgICBhc3Nl
cnRfZXF1YWxzKHAsIGFuaW1hdGlvbik7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucmVh
ZHksIHByb21pc2UpOworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3Bh
dXNlZCcpOworICB9KTsKK30sICdBIHBlbmRpbmcgcmVhZHkgcHJvbWlzZSBzaG91bGQgYmUgcmVz
b2x2ZWQgYW5kIG5vdCByZXBsYWNlZCB3aGVuIHRoZScKKyAgICsgJyBhbmltYXRpb24gaXMgcGF1
c2VkJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcGxheWluZy1hbi1h
bmltYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcGxheWluZy1hbi1hbmltYXRpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjBjMDRkY2FiOTM2YWU5MDJiNzk0MGRlODUyYzEwNzU0ZmVjZDIxMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9wbGF5aW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3IEBACisKK0ZBSUwgUGxheWluZyBhIHJ1bm5pbmcgYW5pbWF0aW9uIGxlYXZl
cyB0aGUgY3VycmVudCB0aW1lIHVuY2hhbmdlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJf
U0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBQbGF5aW5n
IGEgZmluaXNoZWQgYW5pbWF0aW9uIHNlZWtzIGJhY2sgdG8gdGhlIHN0YXJ0IGNyZWF0ZURpdih0
KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51
bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIFBsYXlpbmcgYSBmaW5pc2hlZCBhbmQgcmV2ZXJzZWQgYW5pbWF0aW9uIHNlZWtz
IHRvIGVuZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVh
dGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCku
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUaGUgcmVhZHkgcHJvbWlzZSBzaG91bGQgYmUg
cmVwbGFjZWQgaWYgdGhlIGFuaW1hdGlvbiBpcyBub3QgYWxyZWFkeSBwZW5kaW5nIGNyZWF0ZURp
dih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRl
KG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEEgcGVuZGluZyByZWFkeSBwcm9taXNlIHNob3VsZCBiZSByZXNvbHZlZCBh
bmQgbm90IHJlcGxhY2VkIHdoZW4gdGhlIGFuaW1hdGlvbiBlbnRlcnMgdGhlIHJ1bm5pbmcgc3Rh
dGUgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2
KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcGxheWluZy1hbi1hbmltYXRpb24u
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9h
bmltYXRpb25zL3BsYXlpbmctYW4tYW5pbWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWNmMTA5ZGVi
MTU0ZTVkMTQ5YWQ4MGE1ZDM5ODJiY2IwMDUzMGM2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3Bs
YXlpbmctYW4tYW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSw1OSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlBsYXlpbmcgYW4gYW5pbWF0aW9uPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIKKyAgICAgIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93
ZWItYW5pbWF0aW9ucy8jcGxheWluZy1hbi1hbmltYXRpb24tc2VjdGlvbiI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+
Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFu
aW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOwor
ICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxICogTVNfUEVSX1NFQzsKKyAgYXNzZXJ0X3RpbWVz
X2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMSAqIE1TX1BFUl9TRUMpOworICBhbmltYXRp
b24ucGxheSgpOworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAx
ICogTVNfUEVSX1NFQyk7Cit9LCAnUGxheWluZyBhIHJ1bm5pbmcgYW5pbWF0aW9uIGxlYXZlcyB0
aGUgY3VycmVudCB0aW1lIHVuY2hhbmdlZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMp
OworICBhbmltYXRpb24uZmluaXNoKCk7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltYXRpb24u
Y3VycmVudFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24ucGxheSgpOworICBh
c3NlcnRfdGltZXNfZXF1YWwoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAwKTsKK30sICdQbGF5aW5n
IGEgZmluaXNoZWQgYW5pbWF0aW9uIHNlZWtzIGJhY2sgdG8gdGhlIHN0YXJ0Jyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVs
bCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAtMTsKKyAg
YW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMDsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW1hdGlv
bi5jdXJyZW50VGltZSwgMCk7CisgIGFuaW1hdGlvbi5wbGF5KCk7CisgIGFzc2VydF90aW1lc19l
cXVhbChhbmltYXRpb24uY3VycmVudFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMpOworfSwgJ1BsYXlp
bmcgYSBmaW5pc2hlZCBhbmQgcmV2ZXJzZWQgYW5pbWF0aW9uIHNlZWtzIHRvIGVuZCcpOworCit0
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgY29uc3QgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1h
dGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5jYW5jZWwoKTsKKyAgY29u
c3QgcHJvbWlzZSA9IGFuaW1hdGlvbi5yZWFkeTsKKyAgYW5pbWF0aW9uLnBsYXkoKTsKKyAgYXNz
ZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9uLnJlYWR5LCBwcm9taXNlKTsKK30sICdUaGUgcmVhZHkg
cHJvbWlzZSBzaG91bGQgYmUgcmVwbGFjZWQgaWYgdGhlIGFuaW1hdGlvbiBpcyBub3QgYWxyZWFk
eScKKyAgICsgJyBwZW5kaW5nJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIGNv
bnN0IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9T
RUMpOworICBjb25zdCBwcm9taXNlID0gYW5pbWF0aW9uLnJlYWR5OworICByZXR1cm4gcHJvbWlz
ZS50aGVuKHAgPT4geworICAgIGFzc2VydF9lcXVhbHMocCwgYW5pbWF0aW9uKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5yZWFkeSwgcHJvbWlzZSk7CisgIH0pOworfSwgJ0EgcGVuZGlu
ZyByZWFkeSBwcm9taXNlIHNob3VsZCBiZSByZXNvbHZlZCBhbmQgbm90IHJlcGxhY2VkIHdoZW4g
dGhlJworICAgKyAnIGFuaW1hdGlvbiBlbnRlcnMgdGhlIHJ1bm5pbmcgc3RhdGUnKTsKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9yZXZlcnNpbmctYW4tYW5pbWF0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb25zL3JldmVyc2luZy1hbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFlOTAwOGY5MTAyNWI4Mzc2ZTE4OGVlYmY0ZTg1ZGM0MWJiNjU0ZTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9ucy9yZXZlcnNpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDI1IEBACisKK0ZBSUwgUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiBpbnZlcnRzIHRoZSBwbGF5
YmFjayByYXRlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHt9LCB7ZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IEluZmluaXR5fSknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiBwbGF5cyBhIHBhdXNpbmcgYW5p
bWF0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCB7ZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvbnM6IEluZmluaXR5fSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiBtYWludGFpbnMgdGhlIHNhbWUgY3Vy
cmVudCB0aW1lIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIGRvZXMgbm90IGNhdXNlIGl0IHRvIGxlYXZlIHRoZSBw
ZW5kaW5nIHN0YXRlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHt9LCB7IGR1cmF0aW9uOiAyMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGVsYXk6IC0xMDAgKiBNU19QRVJfU0VDIH0pJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJldmVyc2luZyBhbiBhbmltYXRpb24gZG9lcyBub3Qg
Y2F1c2UgaXQgdG8gcmVzb2x2ZSB0aGUgcmVhZHkgcHJvbWlzZSBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgeyBkdXJhdGlvbjogMjAwICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAtMTAwICog
TVNfUEVSX1NFQyB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBSZXZlcnNp
bmcgYW4gYW5pbWF0aW9uIHdoZW4gcGxheWJhY2tSYXRlID4gMCBhbmQgY3VycmVudFRpbWUgPiBl
ZmZlY3QgZW5kIHNob3VsZCBtYWtlIGl0IHBsYXkgZnJvbSB0aGUgZW5kIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBSZXZlcnNpbmcgYW4gYW5pbWF0aW9u
IHdoZW4gcGxheWJhY2tSYXRlID4gMCBhbmQgY3VycmVudFRpbWUgPCAwIHNob3VsZCBtYWtlIGl0
IHBsYXkgZnJvbSB0aGUgZW5kIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIHdoZW4gcGxheWJhY2tSYXRlIDwgMCBh
bmQgY3VycmVudFRpbWUgPCAwIHNob3VsZCBtYWtlIGl0IHBsYXkgZnJvbSB0aGUgc3RhcnQgZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1T
X1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJldmVyc2luZyBh
biBhbmltYXRpb24gd2hlbiBwbGF5YmFja1JhdGUgPCAwIGFuZCBjdXJyZW50VGltZSA+IGVmZmVj
dCBlbmQgc2hvdWxkIG1ha2UgaXQgcGxheSBmcm9tIHRoZSBzdGFydCBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiB3
aGVuIHBsYXliYWNrUmF0ZSA+IDAgYW5kIGN1cnJlbnRUaW1lIDwgMCBhbmQgdGhlIHRhcmdldCBl
ZmZlY3QgZW5kIGlzIHBvc2l0aXZlIGluZmluaXR5IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24g
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIHtkdXJh
dGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaXRlcmF0aW9uczogSW5maW5pdHl9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBXaGVuIHJldmVyc2luZyB0aHJvd3MgYW4gZXhjZXB0aW9uLCB0aGUgcGxheWJhY2sgcmF0
ZSByZW1haW5zIHVuY2hhbmdlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZSh7fSwgeyBkdXJhdGlvbjogMTAwICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJh
dGlvbnM6IEluZmluaXR5IH0pJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFJldmVyc2luZyBhbmltYXRpb24gd2hlbiBwbGF5YmFja1JhdGUgPSAwIGFuZCBjdXJy
ZW50VGltZSA8IDAgYW5kIHRoZSB0YXJnZXQgZWZmZWN0IGVuZCBpcyBwb3NpdGl2ZSBpbmZpbml0
eSBzaG91bGQgTk9UIHRocm93IGFuIGV4Y2VwdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwge2R1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiBJbmZpbml0eX0p
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJldmVyc2luZyBhbiBhbmltYXRp
b24gd2hlbiBwbGF5YmFja1JhdGUgPCAwIGFuZCBjdXJyZW50VGltZSA8IDAgYW5kIHRoZSB0YXJn
ZXQgZWZmZWN0IGVuZCBpcyBwb3NpdGl2ZSBpbmZpbml0eSBzaG91bGQgbWFrZSBpdCBwbGF5IGZy
b20gdGhlIHN0YXJ0IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHt9LCB7ZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IEluZmluaXR5fSknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgUmV2ZXJzaW5nIHdoZW4gd2hlbiBwbGF5YmFja1JhdGUgPT0gMCBz
aG91bGQgcHJlc2VydmUgdGhlIGN1cnJlbnQgdGltZSBhbmQgcGxheWJhY2sgcmF0ZSBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVS
X1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgUmV2ZXJzaW5nIGFuIGFu
aW1hdGlvbiB3aXRob3V0IGFuIGFjdGl2ZSB0aW1lbGluZSB0aHJvd3MgYW4gSW52YWxpZFN0YXRl
RXJyb3IgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3Rv
ciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b25zL3JldmVyc2luZy1hbi1hbmltYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3JldmVyc2luZy1hbi1hbmltYXRp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MjA5M2M5Yzk4ZGZmZmY2ZDFjMDdmYmNlMzIzNmQ4MWM2YmM0
MGUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcmV2ZXJzaW5nLWFuLWFuaW1hdGlvbi5odG1sCkBA
IC0wLDAgKzEsMjE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8
dGl0bGU+UmV2ZXJzaW5nIGFuIGFuaW1hdGlvbjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiCisg
ICAgICBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI3JldmVyc2Ut
YW4tYW5pbWF0aW9uIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxi
b2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZh
ciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwge2R1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VD
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiBJbmZpbml0
eX0pOworCisgIC8vIFdhaXQgYSBmcmFtZSBiZWNhdXNlIGlmIGN1cnJlbnRUaW1lIGlzIHN0aWxs
IDAgd2hlbiB3ZSBjYWxsCisgIC8vIHJldmVyc2UoKSwgaXQgd2lsbCB0aHJvdyAocGVyIHNwZWMp
LgorICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4od2FpdEZvckFuaW1hdGlvbkZyYW1lcygx
KSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGFuaW1h
dGlvbi5jdXJyZW50VGltZSwgMCwKKyAgICAgICdjdXJyZW50VGltZSBleHBlY3RlZCB0byBiZSBn
cmVhdGVyIHRoYW4gMCwgb25lIGZyYW1lIGFmdGVyIHN0YXJ0aW5nJyk7CisgICAgYW5pbWF0aW9u
LmN1cnJlbnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOworICAgIHZhciBwcmV2aW91c1BsYXliYWNr
UmF0ZSA9IGFuaW1hdGlvbi5wbGF5YmFja1JhdGU7CisgICAgYW5pbWF0aW9uLnJldmVyc2UoKTsK
KyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5YmFja1JhdGUsIC1wcmV2aW91c1BsYXli
YWNrUmF0ZSwKKyAgICAgICdwbGF5YmFja1JhdGUgc2hvdWxkIGJlIGludmVydGVkJyk7CisgIH0p
OworfSwgJ1JldmVyc2luZyBhbiBhbmltYXRpb24gaW52ZXJ0cyB0aGUgcGxheWJhY2sgcmF0ZScp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIHtkdXJhdGlvbjogMTAwICogTVNf
UEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczog
SW5maW5pdHl9KTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOwor
ICBhbmltYXRpb24ucGF1c2UoKTsKKworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVu
Y3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLnJldmVyc2UoKTsKKyAgICByZXR1cm4gYW5pbWF0aW9u
LnJlYWR5OworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0
aW9uLnBsYXlTdGF0ZSwgJ3J1bm5pbmcnLAorICAgICAgJ0FuaW1hdGlvbi5wbGF5U3RhdGUgc2hv
dWxkIGJlICJydW5uaW5nIiBhZnRlciByZXZlcnNlKCknKTsKKyAgfSk7Cit9LCAnUmV2ZXJzaW5n
IGFuIGFuaW1hdGlvbiBwbGF5cyBhIHBhdXNpbmcgYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2
LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24uY3VycmVudFRpbWUg
PSA1MCAqIE1TX1BFUl9TRUM7CisgIGFuaW1hdGlvbi5yZXZlcnNlKCk7CisKKyAgYXNzZXJ0X2Vx
dWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDUwICogTVNfUEVSX1NFQywKKyAgICAnVGhlIGN1
cnJlbnQgdGltZSBzaG91bGQgbm90IGNoYW5nZSBpdCBpcyBpbiB0aGUgbWlkZGxlIG9mICcgKwor
ICAgICd0aGUgYW5pbWF0aW9uIGR1cmF0aW9uJyk7Cit9LCAnUmV2ZXJzaW5nIGFuIGFuaW1hdGlv
biBtYWludGFpbnMgdGhlIHNhbWUgY3VycmVudCB0aW1lJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1h
dGUoe30sIHsgZHVyYXRpb246IDIwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkZWxheTogLTEwMCAqIE1TX1BFUl9TRUMgfSk7CisgIGFzc2VydF9l
cXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnLAorICAgICdUaGUgcGxheVN0YXRl
IGlzIHBlbmRpbmcgYmVmb3JlIHdlIGNhbGwgcmV2ZXJzZScpOworCisgIGFuaW1hdGlvbi5yZXZl
cnNlKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVuZGluZycs
CisgICAgJ1RoZSBwbGF5U3RhdGUgaXMgc3RpbGwgcGVuZGluZyBhZnRlciBjYWxsaW5nIHJldmVy
c2UnKTsKK30sICdSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIGRvZXMgbm90IGNhdXNlIGl0IHRvIGxl
YXZlIHRoZSBwZW5kaW5nIHN0YXRlJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7
fSwgeyBkdXJhdGlvbjogMjAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRlbGF5OiAtMTAwICogTVNfUEVSX1NFQyB9KTsKKyAgdmFyIHJlYWR5UmVz
b2x2ZWQgPSBmYWxzZTsKKyAgYW5pbWF0aW9uLnJlYWR5LnRoZW4oKCkgPT4geyByZWFkeVJlc29s
dmVkID0gdHJ1ZTsgfSk7CisKKyAgYW5pbWF0aW9uLnJldmVyc2UoKTsKKworICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKCgpID0+IHsKKyAgICBhc3NlcnRfZmFsc2UocmVhZHlSZXNvbHZlZCwKKyAg
ICAgICAgICAgICAgICAgJ3JlYWR5IHByb21pc2Ugc2hvdWxkIG5vdCBoYXZlIGJlZW4gcmVzb2x2
ZWQgeWV0Jyk7CisgIH0pOworfSwgJ1JldmVyc2luZyBhbiBhbmltYXRpb24gZG9lcyBub3QgY2F1
c2UgaXQgdG8gcmVzb2x2ZSB0aGUgcmVhZHkgcHJvbWlzZScpOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmlt
YXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMjAw
ICogTVNfUEVSX1NFQzsKKyAgYW5pbWF0aW9uLnJldmVyc2UoKTsKKworICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMTAwICogTVNfUEVSX1NFQywKKyAgICAncmV2ZXJzZSgp
IHNob3VsZCBzdGFydCBwbGF5aW5nIGZyb20gdGhlIGFuaW1hdGlvbiBlZmZlY3QgZW5kICcgKwor
ICAgICdpZiB0aGUgcGxheWJhY2tSYXRlID4gMCBhbmQgdGhlIGN1cnJlbnRUaW1lID4gZWZmZWN0
IGVuZCcpOworfSwgJ1JldmVyc2luZyBhbiBhbmltYXRpb24gd2hlbiBwbGF5YmFja1JhdGUgPiAw
IGFuZCBjdXJyZW50VGltZSA+ICcgKworICAgJ2VmZmVjdCBlbmQgc2hvdWxkIG1ha2UgaXQgcGxh
eSBmcm9tIHRoZSBlbmQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVh
dGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVS
X1NFQyk7CisKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gLTIwMCAqIE1TX1BFUl9TRUM7Cisg
IGFuaW1hdGlvbi5yZXZlcnNlKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVu
dFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMsCisgICAgJ3JldmVyc2UoKSBzaG91bGQgc3RhcnQgcGxh
eWluZyBmcm9tIHRoZSBhbmltYXRpb24gZWZmZWN0IGVuZCAnICsKKyAgICAnaWYgdGhlIHBsYXli
YWNrUmF0ZSA+IDAgYW5kIHRoZSBjdXJyZW50VGltZSA8IDAnKTsKK30sICdSZXZlcnNpbmcgYW4g
YW5pbWF0aW9uIHdoZW4gcGxheWJhY2tSYXRlID4gMCBhbmQgY3VycmVudFRpbWUgPCAwICcgKwor
ICAgJ3Nob3VsZCBtYWtlIGl0IHBsYXkgZnJvbSB0aGUgZW5kJyk7CisKK3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFu
aW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0g
LTE7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IC0yMDAgKiBNU19QRVJfU0VDOworICBhbmlt
YXRpb24ucmV2ZXJzZSgpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1l
LCAwLAorICAgICdyZXZlcnNlKCkgc2hvdWxkIHN0YXJ0IHBsYXlpbmcgZnJvbSB0aGUgc3RhcnQg
b2YgYW5pbWF0aW9uIHRpbWUgJyArCisgICAgJ2lmIHRoZSBwbGF5YmFja1JhdGUgPCAwIGFuZCB0
aGUgY3VycmVudFRpbWUgPCAwJyk7Cit9LCAnUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiB3aGVuIHBs
YXliYWNrUmF0ZSA8IDAgYW5kIGN1cnJlbnRUaW1lIDwgMCAnICsKKyAgICdzaG91bGQgbWFrZSBp
dCBwbGF5IGZyb20gdGhlIHN0YXJ0Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAq
IE1TX1BFUl9TRUMpOworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gLTE7CisgIGFuaW1hdGlv
bi5jdXJyZW50VGltZSA9IDIwMCAqIE1TX1BFUl9TRUM7CisgIGFuaW1hdGlvbi5yZXZlcnNlKCk7
CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDAsCisgICAgJ3JldmVy
c2UoKSBzaG91bGQgc3RhcnQgcGxheWluZyBmcm9tIHRoZSBzdGFydCBvZiBhbmltYXRpb24gdGlt
ZSAnICsKKyAgICAnaWYgdGhlIHBsYXliYWNrUmF0ZSA8IDAgYW5kIHRoZSBjdXJyZW50VGltZSA+
IGVmZmVjdCBlbmQnKTsKK30sICdSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIHdoZW4gcGxheWJhY2tS
YXRlIDwgMCBhbmQgY3VycmVudFRpbWUgPiBlZmZlY3QgJyArCisgICAnZW5kIHNob3VsZCBtYWtl
IGl0IHBsYXkgZnJvbSB0aGUgc3RhcnQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBk
aXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwge2R1
cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiBJbmZpbml0eX0pOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAt
MjAwICogTVNfUEVSX1NFQzsKKworICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcics
CisgICAgZnVuY3Rpb24gKCkgeyBhbmltYXRpb24ucmV2ZXJzZSgpOyB9LAorICAgICdyZXZlcnNl
KCkgc2hvdWxkIHRocm93IEludmFsaWRTdGF0ZUVycm9yICcgKworICAgICdpZiB0aGUgcGxheWJh
Y2tSYXRlID4gMCBhbmQgdGhlIGN1cnJlbnRUaW1lIDwgMCAnICsKKyAgICAnYW5kIHRoZSB0YXJn
ZXQgZWZmZWN0IGlzIHBvc2l0aXZlIGluZmluaXR5Jyk7Cit9LCAnUmV2ZXJzaW5nIGFuIGFuaW1h
dGlvbiB3aGVuIHBsYXliYWNrUmF0ZSA+IDAgYW5kIGN1cnJlbnRUaW1lIDwgMCAnICsKKyAgICdh
bmQgdGhlIHRhcmdldCBlZmZlY3QgZW5kIGlzIHBvc2l0aXZlIGluZmluaXR5IHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24g
PSBjcmVhdGVEaXYodCkuYW5pbWF0ZSh7fSwgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6
IEluZmluaXR5IH0pOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAtMjAwICogTVNfUEVSX1NF
QzsKKworICB0cnkgeyBhbmltYXRpb24ucmV2ZXJzZSgpOyB9IGNhdGNoKGUpIHsgfQorCisgIGFz
c2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSwgMSwgJ3BsYXliYWNrUmF0ZSByZW1h
aW5zIHVuY2hhbmdlZCcpOworfSwgJ1doZW4gcmV2ZXJzaW5nIHRocm93cyBhbiBleGNlcHRpb24s
IHRoZSBwbGF5YmFjayByYXRlIHJlbWFpbnMgdW5jaGFuZ2VkJyk7CisKK3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFu
aW1hdGUoe30sIHtkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogSW5maW5pdHl9KTsKKyAgYW5pbWF0aW9uLmN1
cnJlbnRUaW1lID0gLTIwMCAqIE1TX1BFUl9TRUM7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUg
PSAwOworCisgIHRyeSB7CisgICAgYW5pbWF0aW9uLnJldmVyc2UoKTsKKyAgfSBjYXRjaCAoZSkg
eworICAgIGFzc2VydF91bnJlYWNoZWQoYFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gY2FsbGlu
ZyByZXZlcnNlKCk6ICR7ZX1gKTsKKyAgfQorfSwgJ1JldmVyc2luZyBhbmltYXRpb24gd2hlbiBw
bGF5YmFja1JhdGUgPSAwIGFuZCBjdXJyZW50VGltZSA8IDAgJyArCisgICAnYW5kIHRoZSB0YXJn
ZXQgZWZmZWN0IGVuZCBpcyBwb3NpdGl2ZSBpbmZpbml0eSBzaG91bGQgTk9UIHRocm93IGFuICcg
KworICAgJ2V4Y2VwdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNy
ZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCB7ZHVyYXRpb246
IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0
ZXJhdGlvbnM6IEluZmluaXR5fSk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAtMTsKKyAg
YW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gLTIwMCAqIE1TX1BFUl9TRUM7CisgIGFuaW1hdGlvbi5y
ZXZlcnNlKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDAsCisg
ICAgJ3JldmVyc2UoKSBzaG91bGQgc3RhcnQgcGxheWluZyBmcm9tIHRoZSBzdGFydCBvZiBhbmlt
YXRpb24gdGltZSAnICsKKyAgICAnaWYgdGhlIHBsYXliYWNrUmF0ZSA8IDAgYW5kIHRoZSBjdXJy
ZW50VGltZSA8IDAgJyArCisgICAgJ2FuZCB0aGUgdGFyZ2V0IGVmZmVjdCBpcyBwb3NpdGl2ZSBp
bmZpbml0eScpOworfSwgJ1JldmVyc2luZyBhbiBhbmltYXRpb24gd2hlbiBwbGF5YmFja1JhdGUg
PCAwIGFuZCBjdXJyZW50VGltZSA8IDAgJyArCisgICAnYW5kIHRoZSB0YXJnZXQgZWZmZWN0IGVu
ZCBpcyBwb3NpdGl2ZSBpbmZpbml0eSBzaG91bGQgbWFrZSBpdCBwbGF5ICcgKworICAgJ2Zyb20g
dGhlIHN0YXJ0Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2
KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMp
OworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gMDsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1l
ID0gNTAgKiBNU19QRVJfU0VDOworICBhbmltYXRpb24ucmV2ZXJzZSgpOworCisgIGFzc2VydF9l
cXVhbHMoYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSwgMCwKKyAgICAncmV2ZXJzZSgpIHNob3VsZCBw
cmVzZXJ2ZSBwbGF5YmFja1JhdGUgaWYgdGhlIHBsYXliYWNrUmF0ZSA9PSAwJyk7CisgIGFzc2Vy
dF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCA1MCAqIE1TX1BFUl9TRUMsCisgICAgJ3Jl
dmVyc2UoKSBzaG91bGQgbm90IGFmZmVjdCB0aGUgY3VycmVudFRpbWUgaWYgdGhlIHBsYXliYWNr
UmF0ZSA9PSAwJyk7CisgIHQuZG9uZSgpOworfSwgJ1JldmVyc2luZyB3aGVuIHdoZW4gcGxheWJh
Y2tSYXRlID09IDAgc2hvdWxkIHByZXNlcnZlIHRoZSBjdXJyZW50ICcgKworICAgJ3RpbWUgYW5k
IHBsYXliYWNrIHJhdGUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVh
dGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZy
YW1lRWZmZWN0KGRpdiwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksIG51bGwpOworCisgIGFzc2Vy
dF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywgZnVuY3Rpb24oKSB7IGFuaW1hdGlvbi5yZXZl
cnNlKCk7IH0pOworfSwgJ1JldmVyc2luZyBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUg
dGltZWxpbmUgdGhyb3dzIGFuICcgKworICAgJ0ludmFsaWRTdGF0ZUVycm9yJyk7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3RhcnQtdGlt
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1p
bmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MTFhY2ZiYjQ5YzcyODhlY2U4YTE5Mzc4ZDM5OTRiMDVlNmE2Mjgz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3RhcnQtdGltZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw5IEBACisKK0ZBSUwgU2V0dGluZyB0aGUgc3RhcnQgdGltZSBv
ZiBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUgQXJndW1lbnQgMSAoJ3Rp
bWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIFNldHRpbmcgYW4gdW5yZXNvbHZlZCBzdGFydCB0
aW1lIGFuIGFuaW1hdGlvbiB3aXRob3V0IGFuIGFjdGl2ZSB0aW1lbGluZSBkb2VzIG5vdCBjbGVh
ciB0aGUgY3VycmVudCB0aW1lIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRp
b24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQor
RkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1lIGNsZWFycyB0aGUgaG9sZCB0aW1lIEFyZ3VtZW50
IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBTZXR0aW5nIGFuIHVucmVzb2x2ZWQg
c3RhcnQgdGltZSBzZXRzIHRoZSBob2xkIHRpbWUgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8g
dGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlv
blRpbWVsaW5lCitGQUlMIFNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgcmVzb2x2ZXMgYSBwZW5kaW5n
IHJlYWR5IHByb21pc2UgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBj
b25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlM
IFNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgcmVzb2x2ZXMgYSBwZW5kaW5nIHBhdXNlIHRhc2sgQXJn
dW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIFNldHRpbmcgdGhlIHN0YXJ0
IHRpbWUgdXBkYXRlcyB0aGUgZmluaXNoZWQgc3RhdGUgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykg
dG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1h
dGlvblRpbWVsaW5lCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRp
bWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2Rl
bC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRpbWUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44Yjc0YzkyYTQ2OWYwYTEwNzYyZjUwOTU2NTA2NzYxYzhhMDg2YzQ2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3RhcnQtdGltZS5odG1sCkBAIC0wLDAgKzEsMjA3
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+U2V0dGlu
ZyB0aGUgc3RhcnQgdGltZSB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jc2V0LXRoZS1hbmltYXRpb24tc3Rh
cnQtdGltZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1
bmN0aW9uKHQpCit7CisgIC8vIEl0IHNob3VsZCBvbmx5IGJlIHBvc3NpYmxlIHRvIHNldCAqZWl0
aGVyKiB0aGUgc3RhcnQgdGltZSBvciB0aGUgY3VycmVudAorICAvLyB0aW1lIGZvciBhbiBhbmlt
YXRpb24gdGhhdCBkb2VzIG5vdCBoYXZlIGFuIGFjdGl2ZSB0aW1lbGluZS4KKworICB2YXIgYW5p
bWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYo
dCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgbnVsbCk7CisK
KyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIG51bGwsICdJbnRpYWwgY3Vy
cmVudCB0aW1lJyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnN0YXJ0VGltZSwgbnVsbCwg
J0ludGlhbCBzdGFydCB0aW1lJyk7CisKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMTAwMDsK
KyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDEwMDAsCisgICAgICAgICAg
ICAgICAgJ1NldHRpbmcgdGhlIGN1cnJlbnQgdGltZSBzdWNjZWVkcycpOworICBhc3NlcnRfZXF1
YWxzKGFuaW1hdGlvbi5zdGFydFRpbWUsIG51bGwsCisgICAgICAgICAgICAgICAgJ1N0YXJ0IHRp
bWUgcmVtYWlucyBudWxsIGFmdGVyIHNldHRpbmcgY3VycmVudCB0aW1lJyk7CisKKyAgYW5pbWF0
aW9uLnN0YXJ0VGltZSA9IDEwMDA7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnN0YXJ0VGlt
ZSwgMTAwMCwKKyAgICAgICAgICAgICAgICAnU2V0dGluZyB0aGUgc3RhcnQgdGltZSBzdWNjZWVk
cycpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgbnVsbCwKKyAgICAg
ICAgICAgICAgICAnU2V0dGluZyB0aGUgc3RhcnQgdGltZSBjbGVhcnMgdGhlIGN1cnJlbnQgdGlt
ZScpOworCisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBudWxsOworICBhc3NlcnRfZXF1YWxzKGFu
aW1hdGlvbi5zdGFydFRpbWUsIG51bGwsCisgICAgICAgICAgICAgICAgJ1NldHRpbmcgdGhlIHN0
YXJ0IHRpbWUgdG8gYW4gdW5yZXNvbHZlZCB0aW1lIHN1Y2NlZWRzJyk7CisgIGFzc2VydF9lcXVh
bHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCBudWxsLCAnVGhlIGN1cnJlbnQgdGltZSBpcyB1bmFm
ZmVjdGVkJyk7CisKK30sICdTZXR0aW5nIHRoZSBzdGFydCB0aW1lIG9mIGFuIGFuaW1hdGlvbiB3
aXRob3V0IGFuIGFjdGl2ZSB0aW1lbGluZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpCit7CisgIC8v
IFNldHRpbmcgYW4gdW5yZXNvbHZlZCBzdGFydCB0aW1lIG9uIGFuIGFuaW1hdGlvbiB3aXRob3V0
IGFuIGFjdGl2ZQorICAvLyB0aW1lbGluZSBzaG91bGQgbm90IGNsZWFyIHRoZSBjdXJyZW50IHRp
bWUuCisKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVF
ZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAgICAgICAgICAg
ICAgICAgIG51bGwpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCBu
dWxsLCAnSW50aWFsIGN1cnJlbnQgdGltZScpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5z
dGFydFRpbWUsIG51bGwsICdJbnRpYWwgc3RhcnQgdGltZScpOworCisgIGFuaW1hdGlvbi5jdXJy
ZW50VGltZSA9IDEwMDA7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAx
MDAwLAorICAgICAgICAgICAgICAgICdTZXR0aW5nIHRoZSBjdXJyZW50IHRpbWUgc3VjY2VlZHMn
KTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uc3RhcnRUaW1lLCBudWxsLAorICAgICAgICAg
ICAgICAgICdTdGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRlciBzZXR0aW5nIGN1cnJlbnQgdGlt
ZScpOworCisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBudWxsOworICBhc3NlcnRfZXF1YWxzKGFu
aW1hdGlvbi5zdGFydFRpbWUsIG51bGwsICdTdGFydCB0aW1lIHJlbWFpbnMgdW5yZXNvbHZlZCcp
OworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMTAwMCwgJ0N1cnJlbnQg
dGltZSBpcyB1bmFmZmVjdGVkJyk7CisKK30sICdTZXR0aW5nIGFuIHVucmVzb2x2ZWQgc3RhcnQg
dGltZSBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUnCisgICArICcgZG9l
cyBub3QgY2xlYXIgdGhlIGN1cnJlbnQgdGltZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpCit7Cisg
IHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNy
ZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBk
b2N1bWVudC50aW1lbGluZSk7CisKKyAgLy8gU28gbG9uZyBhcyBhIGhvbGQgdGltZSBpcyBzZXQs
IHF1ZXJ5aW5nIHRoZSBjdXJyZW50IHRpbWUgd2lsbCByZXR1cm4KKyAgLy8gdGhlIGhvbGQgdGlt
ZS4KKworICAvLyBTaW5jZSB0aGUgc3RhcnQgdGltZSBpcyB1bnJlc29sdmVkIGF0IHRoaXMgcG9p
bnQsIHNldHRpbmcgdGhlIGN1cnJlbnQgdGltZQorICAvLyB3aWxsIHNldCB0aGUgaG9sZCB0aW1l
CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMDA7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0
aW9uLmN1cnJlbnRUaW1lLCAxMDAwLAorICAgICAgICAgICAgICAgICdUaGUgY3VycmVudCB0aW1l
IGlzIGNhbGN1bGF0ZWQgZnJvbSB0aGUgaG9sZCB0aW1lJyk7CisKKyAgLy8gSWYgd2Ugc2V0IHRo
ZSBzdGFydCB0aW1lLCBob3dldmVyLCB3ZSBzaG91bGQgY2xlYXIgdGhlIGhvbGQgdGltZS4KKyAg
YW5pbWF0aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIC0gMjAw
MDsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMjAwMCwKKyAg
ICAgICAgICAgICAgICAgICAgICdUaGUgY3VycmVudCB0aW1lIGlzIGNhbGN1bGF0ZWQgZnJvbSB0
aGUgc3RhcnQgdGltZSwnCisgICAgICAgICAgICAgICAgICAgICArICcgbm90IHRoZSBob2xkIHRp
bWUnKTsKKworICAvLyBTYW5pdHkgY2hlY2sKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxh
eVN0YXRlLCAncnVubmluZycsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiByZXBvcnRzIGl0
IGlzIHJ1bm5pbmcgYWZ0ZXIgc2V0dGluZyBhIHJlc29sdmVkJworICAgICAgICAgICAgICAgICsg
JyBzdGFydCB0aW1lJyk7Cit9LCAnU2V0dGluZyB0aGUgc3RhcnQgdGltZSBjbGVhcnMgdGhlIGhv
bGQgdGltZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpCit7CisgIHZhciBhbmltYXRpb24gPQorICAg
IG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAw
ICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisK
KyAgLy8gU2V0IHVwIGEgcnVubmluZyBhbmltYXRpb24gKGkuZS4gYm90aCBzdGFydCB0aW1lIGFu
ZCBjdXJyZW50IHRpbWUKKyAgLy8gYXJlIHJlc29sdmVkKS4KKyAgYW5pbWF0aW9uLnN0YXJ0VGlt
ZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIC0gMTAwMDsKKyAgYXNzZXJ0X2VxdWFs
cyhhbmltYXRpb24ucGxheVN0YXRlLCAncnVubmluZycpOworICBhc3NlcnRfdGltZXNfZXF1YWwo
YW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAxMDAwLAorICAgICAgICAgICAgICAgICAgICAgJ0N1cnJl
bnQgdGltZSBpcyByZXNvbHZlZCBmb3IgYSBydW5uaW5nIGFuaW1hdGlvbicpCisKKyAgLy8gQ2xl
YXIgc3RhcnQgdGltZQorICBhbmltYXRpb24uc3RhcnRUaW1lID0gbnVsbDsKKyAgYXNzZXJ0X3Rp
bWVzX2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMTAwMCwKKyAgICAgICAgICAgICAgICAg
ICAgICdIb2xkIHRpbWUgaXMgc2V0IGFmdGVyIHN0YXJ0IHRpbWUgaXMgbWFkZSB1bnJlc29sdmVk
Jyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BhdXNlZCcsCisgICAg
ICAgICAgICAgICAgJ0FuaW1hdGlvbiByZXBvcnRzIGl0IGlzIHBhdXNlZCBhZnRlciBzZXR0aW5n
IGFuIHVucmVzb2x2ZWQnCisgICAgICAgICAgICAgICAgKyAnIHN0YXJ0IHRpbWUnKTsKK30sICdT
ZXR0aW5nIGFuIHVucmVzb2x2ZWQgc3RhcnQgdGltZSBzZXRzIHRoZSBob2xkIHRpbWUnKTsKKwor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpCit7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBB
bmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNf
UEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisKKyAgdmFy
IHJlYWR5UHJvbWlzZUNhbGxiYWNrQ2FsbGVkID0gZmFsc2U7CisgIGFuaW1hdGlvbi5yZWFkeS50
aGVuKGZ1bmN0aW9uKCkgeyByZWFkeVByb21pc2VDYWxsYmFja0NhbGxlZCA9IHRydWU7IH0gKTsK
KworICAvLyBQdXQgdGhlIGFuaW1hdGlvbiBpbiB0aGUgcGxheS1wZW5kaW5nIHN0YXRlCisgIGFu
aW1hdGlvbi5wbGF5KCk7CisKKyAgLy8gU2FuaXR5IGNoZWNrCisgIGFzc2VydF9lcXVhbHMoYW5p
bWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnLAorICAgICAgICAgICAgICAgICdBbmltYXRpb24g
aXMgaW4gcGxheS1wZW5kaW5nIHN0YXRlJyk7CisKKyAgLy8gU2V0dGluZyB0aGUgc3RhcnQgdGlt
ZSBzaG91bGQgcmVzb2x2ZSB0aGUgJ3JlYWR5JyBwcm9taXNlLCBpLmUuCisgIC8vIGl0IHNob3Vs
ZCBzY2hlZHVsZSBhIG1pY3JvdGFzayB0byBydW4gdGhlIHByb21pc2UgY2FsbGJhY2tzLgorICBh
bmltYXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWU7CisgIGFz
c2VydF9mYWxzZShyZWFkeVByb21pc2VDYWxsYmFja0NhbGxlZCwKKyAgICAgICAgICAgICAgICdS
ZWFkeSBwcm9taXNlIGNhbGxiYWNrIGlzIG5vdCBjYWxsZWQgc3luY2hyb25vdXNseScpOworCisg
IC8vIElmIHdlIHNjaGVkdWxlIGFub3RoZXIgbWljcm90YXNrIHRoZW4gaXQgc2hvdWxkIHJ1biBp
bW1lZGlhdGVseSBhZnRlcgorICAvLyB0aGUgcmVhZHkgcHJvbWlzZSByZXNvbHV0aW9uIG1pY3Jv
dGFzay4KKyAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKSB7CisgICAg
YXNzZXJ0X3RydWUocmVhZHlQcm9taXNlQ2FsbGJhY2tDYWxsZWQsCisgICAgICAgICAgICAgICAg
J1JlYWR5IHByb21pc2UgY2FsbGJhY2sgY2FsbGVkIGFmdGVyIHNldHRpbmcgc3RhcnRUaW1lJyk7
CisgIH0pOworfSwgJ1NldHRpbmcgdGhlIHN0YXJ0IHRpbWUgcmVzb2x2ZXMgYSBwZW5kaW5nIHJl
YWR5IHByb21pc2UnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpCit7CisgIHZhciBhbmlt
YXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0
KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVudC50
aW1lbGluZSk7CisKKyAgdmFyIHJlYWR5UHJvbWlzZUNhbGxiYWNrQ2FsbGVkID0gZmFsc2U7Cisg
IGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeyByZWFkeVByb21pc2VDYWxsYmFja0Nh
bGxlZCA9IHRydWU7IH0gKTsKKworICAvLyBQdXQgdGhlIGFuaW1hdGlvbiBpbiB0aGUgcGF1c2Ut
cGVuZGluZyBzdGF0ZQorICBhbmltYXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUu
Y3VycmVudFRpbWU7CisgIGFuaW1hdGlvbi5wYXVzZSgpOworCisgIC8vIFNhbml0eSBjaGVjawor
ICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJywKKyAgICAgICAg
ICAgICAgICAnQW5pbWF0aW9uIGlzIGluIHBhdXNlLXBlbmRpbmcgc3RhdGUnKTsKKworICAvLyBT
ZXR0aW5nIHRoZSBzdGFydCB0aW1lIHNob3VsZCByZXNvbHZlIHRoZSAncmVhZHknIHByb21pc2Ug
YWx0aG91Z2gKKyAgLy8gdGhlIHJlc29sdXRpb24gY2FsbGJhY2tzIHdoZW4gYmUgcnVuIGluIGEg
c2VwYXJhdGUgbWljcm90YXNrLgorICBhbmltYXRpb24uc3RhcnRUaW1lID0gbnVsbDsKKyAgYXNz
ZXJ0X2ZhbHNlKHJlYWR5UHJvbWlzZUNhbGxiYWNrQ2FsbGVkLAorICAgICAgICAgICAgICAgJ1Jl
YWR5IHByb21pc2UgY2FsbGJhY2sgaXMgbm90IGNhbGxlZCBzeW5jaHJvbm91c2x5Jyk7CisKKyAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3Ry
dWUocmVhZHlQcm9taXNlQ2FsbGJhY2tDYWxsZWQsCisgICAgICAgICAgICAgICAgJ1JlYWR5IHBy
b21pc2UgY2FsbGJhY2sgY2FsbGVkIGFmdGVyIHNldHRpbmcgc3RhcnRUaW1lJyk7CisgIH0pOwor
fSwgJ1NldHRpbmcgdGhlIHN0YXJ0IHRpbWUgcmVzb2x2ZXMgYSBwZW5kaW5nIHBhdXNlIHRhc2sn
KTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpCit7CisgIHZhciBhbmltYXRpb24gPQorICAg
IG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAw
ICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisK
KyAgLy8gU2V0IHN0YXJ0IHRpbWUgc3VjaCB0aGF0IHRoZSBjdXJyZW50IHRpbWUgaXMgcGFzdCB0
aGUgZW5kIHRpbWUKKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1
cnJlbnRUaW1lCisgICAgICAgICAgICAgICAgICAgICAgICAtIDExMCAqIE1TX1BFUl9TRUM7Cisg
IGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ2ZpbmlzaGVkJywKKyAgICAgICAg
ICAgICAgICAnU2Vla2VkIHRvIGZpbmlzaGVkIHN0YXRlIHVzaW5nIHRoZSBzdGFydFRpbWUnKTsK
KworICAvLyBJZiB0aGUgJ2RpZCBzZWVrJyBmbGFnIGlzIHRydWUsIHRoZSBjdXJyZW50IHRpbWUg
c2hvdWxkIGJlIGdyZWF0ZXIgdGhhbgorICAvLyB0aGUgZWZmZWN0IGVuZC4KKyAgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbihhbmltYXRpb24uY3VycmVudFRpbWUsCisgICAgICAgICAgICAgICAgICAgICAg
YW5pbWF0aW9uLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmVuZFRpbWUsCisgICAgICAgICAg
ICAgICAgICAgICAgJ1NldHRpbmcgdGhlIHN0YXJ0IHRpbWUgdXBkYXRlZCB0aGUgZmluaXNoZWQg
c3RhdGUgd2l0aCcKKyAgICAgICAgICAgICAgICAgICAgICArICcgdGhlIFwnZGlkIHNlZWtcJyBm
bGFnIHNldCB0byB0cnVlJyk7CisKKyAgLy8gRnVydGhlcm1vcmUsIHRoYXQgdGltZSBzaG91bGQg
cGVyc2lzdCBpZiB3ZSBoYXZlIGNvcnJlY3RseSB1cGRhdGVkCisgIC8vIHRoZSBob2xkIHRpbWUK
KyAgdmFyIGZpbmlzaGVkQ3VycmVudFRpbWUgPSBhbmltYXRpb24uY3VycmVudFRpbWU7CisgIHJl
dHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNz
ZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIGZpbmlzaGVkQ3VycmVudFRpbWUsCisg
ICAgICAgICAgICAgICAgICAnQ3VycmVudCB0aW1lIGRvZXMgbm90IGNoYW5nZSBhZnRlciBzZWVr
aW5nIHBhc3QgdGhlIGVmZmVjdCcKKyAgICAgICAgICAgICAgICAgICsgJyBlbmQgdGltZSBieSBz
ZXR0aW5nIHRoZSBjdXJyZW50IHRpbWUnKTsKKyAgfSk7Cit9LCAnU2V0dGluZyB0aGUgc3RhcnQg
dGltZSB1cGRhdGVzIHRoZSBmaW5pc2hlZCBzdGF0ZScpOworCis8L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb25zL3NldC10aGUtdGFyZ2V0LWVmZmVjdC1vZi1hbi1hbmltYXRpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10YXJnZXQtZWZmZWN0LW9mLWFuLWFuaW1hdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWVkOTNhYTA2ZDJhYThjMjU2NTU4M2VmMWQyNjI2NzgzOGM2
ZjlhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtdGFyZ2V0LWVmZmVjdC1vZi1hbi1h
bmltYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworRkFJTCBJZiBuZXcgZWZm
ZWN0IGlzIG51bGwgYW5kIG9sZCBlZmZlY3QgaXMgbm90IG51bGwsIHdlIHJlc2V0IHRoZSBwZW5k
aW5nIHRhc2tzIGFuZCByZWFkeSBwcm9taXNlIGlzIHJlamVjdGVkIGNyZWF0ZURpdih0KS5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKHsgbWFyZ2lu
TGVmdDogWyAnMHB4JywgJzEwMHB4JyBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgSWYgYW5pbWF0aW9uIGhhcyBhIHBlbmRpbmcgcGF1c2UgdGFzaywgcmVzY2hl
ZHVsZSB0aGF0IHRhc2sgdG8gcnVuIGFzIHNvb24gYXMgYW5pbWF0aW9uIGlzIHJlYWR5LiBhbmlt
LnBhdXNlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0ucGF1c2UoKScsICdhbmltLnBhdXNl
JyBpcyB1bmRlZmluZWQpCitGQUlMIElmIGFuaW1hdGlvbiBoYXMgYSBwZW5kaW5nIHBsYXkgdGFz
aywgcmVzY2hlZHVsZSB0aGF0IHRhc2sgdG8gcnVuIGFzIHNvb24gYXMgYW5pbWF0aW9uIGlzIHJl
YWR5IHRvIHBsYXkgbmV3IGVmZmVjdC4gYW5pbS5wbGF5IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2FuaW0ucGxheSgpJywgJ2FuaW0ucGxheScgaXMgdW5kZWZpbmVkKQorRkFJTCBXaGVuIHNldHRp
bmcgdGhlIGVmZmVjdCBvZiBhbiBhbmltYXRpb24gdG8gdGhlIGVmZmVjdCBvZiBhbiBleGlzdGlu
ZyBhbmltYXRpb24sIHRoZSBleGlzdGluZyBhbmltYXRpb24ncyB0YXJnZXQgZWZmZWN0IHNob3Vs
ZCBiZSBzZXQgdG8gbnVsbC4gY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbICcwcHgnLCAnMTAwcHgn
IF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwICogTVNfUEVSX1NF
QyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQWZ0ZXIgc2V0
dGluZyB0aGUgdGFyZ2V0IGVmZmVjdCBvZiBhbmltYXRpb24gdG8gdGhlIHRhcmdldCBlZmZlY3Qg
b2YgYW4gZXhpc3RpbmcgYW5pbWF0aW9uLCB0aGUgdGFyZ2V0IGVmZmVjdCdzIHRpbWluZyBpcyB1
cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgdGltZSBvZiB0aGUgbmV3IGFuaW1hdGlvbi4g
Y3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQp
LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbICcwcHgnLCAnMTAwcHgnIF0gfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQp
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10YXJnZXQt
ZWZmZWN0LW9mLWFuLWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10YXJnZXQtZWZmZWN0LW9m
LWFuLWFuaW1hdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjNTFmMDE0MWMzOWJiZDQ2YzQwMTkyNDgw
NTQ4ZDFjN2MwOWNlMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLXRhcmdldC1lZmZl
Y3Qtb2YtYW4tYW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSw5NSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlNldHRpbmcgdGhlIHRhcmdldCBlZmZlY3Qg
dGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL3czYy5naXRodWIu
aW8vd2ViLWFuaW1hdGlvbnMvI3NldHRpbmctdGhlLXRhcmdldC1lZmZlY3QnPgorPHNjcmlwdCBz
cmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Jy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Jy4u
Ly4uL3Rlc3Rjb21tb24uanMnPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSdsb2cnPjwvZGl2
PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZSh7IG1hcmdpbkxlZnQ6IFsgJzBweCcs
ICcxMDBweCcgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCAqIE1T
X1BFUl9TRUMpOworICBhc3NlcnRfZXF1YWxzKGFuaW0ucGxheVN0YXRlLCAncGVuZGluZycpOwor
CisgIHZhciByZXRQcm9taXNlID0gYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFz
c2VydF91bnJlYWNoZWQoJ3JlYWR5IHByb21pc2UgaXMgZnVsZmlsbGVkJyk7CisgIH0pLmNhdGNo
KGZ1bmN0aW9uKGVycikgeworICAgIGFzc2VydF9lcXVhbHMoZXJyLm5hbWUsICdBYm9ydEVycm9y
JywKKyAgICAgICAgICAgICAgICAgICdyZWFkeSBwcm9taXNlIGlzIHJlamVjdGVkIHdpdGggQWJv
cnRFcnJvcicpOworICB9KTsKKworICBhbmltLmVmZmVjdCA9IG51bGw7CisgIGFzc2VydF9lcXVh
bHMoYW5pbS5wbGF5U3RhdGUsICdwYXVzZWQnKTsKKworICByZXR1cm4gcmV0UHJvbWlzZTsKK30s
ICdJZiBuZXcgZWZmZWN0IGlzIG51bGwgYW5kIG9sZCBlZmZlY3QgaXMgbm90IG51bGwsIHdlIHJl
c2V0IHRoZSBwZW5kaW5nICcgKworICAgJ3Rhc2tzIGFuZCByZWFkeSBwcm9taXNlIGlzIHJlamVj
dGVkJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gbmV3IEFu
aW1hdGlvbigpOworICBhbmltLnBhdXNlKCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5wbGF5U3Rh
dGUsICdwZW5kaW5nJyk7CisKKyAgYW5pbS5lZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seShjcmVhdGVEaXYodCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBtYXJnaW5MZWZ0OiBbICcwcHgnLCAnMTAwcHgnIF0gfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYXNzZXJ0
X2VxdWFscyhhbmltLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnKTsKKworICByZXR1cm4gYW5pbS5yZWFk
eS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5wbGF5U3RhdGUsICdw
YXVzZWQnKTsKKyAgfSk7Cit9LCAnSWYgYW5pbWF0aW9uIGhhcyBhIHBlbmRpbmcgcGF1c2UgdGFz
aywgcmVzY2hlZHVsZSB0aGF0IHRhc2sgdG8gcnVuICcgKworICAgJ2FzIHNvb24gYXMgYW5pbWF0
aW9uIGlzIHJlYWR5LicpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5p
bSA9IG5ldyBBbmltYXRpb24oKTsKKyAgYW5pbS5wbGF5KCk7CisgIGFzc2VydF9lcXVhbHMoYW5p
bS5wbGF5U3RhdGUsICdwZW5kaW5nJyk7CisKKyAgYW5pbS5lZmZlY3QgPSBuZXcgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seShjcmVhdGVEaXYodCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiBbICcwcHgnLCAnMTAwcHgnIF0gfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAgKiBNU19QRVJfU0VDKTsK
KyAgYXNzZXJ0X2VxdWFscyhhbmltLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnKTsKKworICByZXR1cm4g
YW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5wbGF5
U3RhdGUsICdydW5uaW5nJyk7CisgIH0pOworfSwgJ0lmIGFuaW1hdGlvbiBoYXMgYSBwZW5kaW5n
IHBsYXkgdGFzaywgcmVzY2hlZHVsZSB0aGF0IHRhc2sgdG8gcnVuICcgKworICAgJ2FzIHNvb24g
YXMgYW5pbWF0aW9uIGlzIHJlYWR5IHRvIHBsYXkgbmV3IGVmZmVjdC4nKTsKKworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1BID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUoeyBt
YXJnaW5MZWZ0OiBbICcwcHgnLCAnMTAwcHgnIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBhbmltQiA9IG5ldyBBbmltYXRp
b24oKTsKKworICByZXR1cm4gYW5pbUEucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmlt
Qi5lZmZlY3QgPSBhbmltQS5lZmZlY3Q7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltQS5lZmZlY3Qs
IG51bGwpOworICAgIGFzc2VydF9lcXVhbHMoYW5pbUEucGxheVN0YXRlLCAnZmluaXNoZWQnKTsK
KyAgfSk7Cit9LCAnV2hlbiBzZXR0aW5nIHRoZSBlZmZlY3Qgb2YgYW4gYW5pbWF0aW9uIHRvIHRo
ZSBlZmZlY3Qgb2YgYW4gZXhpc3RpbmcgJyArCisgICAnYW5pbWF0aW9uLCB0aGUgZXhpc3Rpbmcg
YW5pbWF0aW9uXCdzIHRhcmdldCBlZmZlY3Qgc2hvdWxkIGJlIHNldCB0byBudWxsLicpOworCit0
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1BID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUoeyBt
YXJnaW5MZWZ0OiBbICcwcHgnLCAnMTAwcHgnIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBhbmltQiA9IG5ldyBBbmltYXRp
b24oKTsKKyAgdmFyIGVmZmVjdCA9IGFuaW1BLmVmZmVjdDsKKyAgYW5pbUEuY3VycmVudFRpbWUg
PSA1MCAqIE1TX1BFUl9TRUM7CisgIGFuaW1CLmN1cnJlbnRUaW1lID0gMjAgKiBNU19QRVJfU0VD
OworICBhc3NlcnRfZXF1YWxzKGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAw
LjUsCisgICAgICAgICAgICAgICAgJ09yaWdpbmFsIHRpbWluZyBjb21lcyBmcm9tIGZpcnN0IGFu
aW1hdGlvbicpOworICBhbmltQi5lZmZlY3QgPSBlZmZlY3Q7CisgIGFzc2VydF9lcXVhbHMoZWZm
ZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDAuMiwKKyAgICAgICAgICAgICAgICAn
QWZ0ZXIgc2V0dGluZyB0aGUgZWZmZWN0IG9uIGEgZGlmZmVyZW50IGFuaW1hdGlvbiwgJyArCisg
ICAgICAgICAgICAgICAgJ2l0IHVzZXMgdGhlIG5ldyBhbmltYXRpb25cJ3MgdGltaW5nJyk7Cit9
LCAnQWZ0ZXIgc2V0dGluZyB0aGUgdGFyZ2V0IGVmZmVjdCBvZiBhbmltYXRpb24gdG8gdGhlIHRh
cmdldCBlZmZlY3Qgb2YgYW4gJyArCisgICAnZXhpc3RpbmcgYW5pbWF0aW9uLCB0aGUgdGFyZ2V0
IGVmZmVjdFwncyB0aW1pbmcgaXMgdXBkYXRlZCB0byByZWZsZWN0ICcgKworICAgJ3RoZSBjdXJy
ZW50IHRpbWUgb2YgdGhlIG5ldyBhbmltYXRpb24uJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10aW1lbGluZS1vZi1hbi1hbmltYXRpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbnMvc2V0LXRoZS10aW1lbGluZS1vZi1hbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdhM2M0N2Q3YzVhOTczOWQ2MTU5YWQ4ZTU1NTI5NTlkN2VmZTlhZWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmct
bW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLXRpbWVsaW5lLW9mLWFuLWFuaW1hdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyMCBAQAorCitGQUlMIEFmdGVyIHNldHRpbmcgdGltZWxpbmUgb24g
cGF1c2VkIGFuaW1hdGlvbiBpdCBpcyBzdGlsbCBwYXVzZWQgQXJndW1lbnQgMSAoJ3RpbWVsaW5l
JykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFu
aW1hdGlvblRpbWVsaW5lCitGQUlMIEFmdGVyIHNldHRpbmcgdGltZWxpbmUgb24gYW5pbWF0aW9u
IHBhdXNlZCBvdXRzaWRlIGFjdGl2ZSBpbnRlcnZhbCBpdCBpcyBzdGlsbCBwYXVzZWQgQXJndW1l
bnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIEFmdGVyIHNldHRpbmcgdGltZWxp
bmUgb24gYW4gaWRsZSBhbmltYXRpb24gd2l0aG91dCBhIHN0YXJ0IHRpbWUgaXQgaXMgc3RpbGwg
aWRsZSBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9y
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgc2V0
dGluZyB0aW1lbGluZSBvbiBhbiBpZGxlIGFuaW1hdGlvbiB3aXRoIGEgc3RhcnQgdGltZSBpdCBp
cyBydW5uaW5nIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3Ry
dWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRl
ciBzZXR0aW5nIHRpbWVsaW5lIG9uIGFuIGlkbGUgYW5pbWF0aW9uIHdpdGggYSBzdWZmaWNpZW50
bHkgYW5jaWVudCBzdGFydCB0aW1lIGl0IGlzIGZpbmlzaGVkIEFyZ3VtZW50IDEgKCd0aW1lbGlu
ZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBB
bmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRlciBzZXR0aW5nIHRpbWVsaW5lIG9uIGEgcGxheS1w
ZW5kaW5nIGFuaW1hdGlvbiBpdCBpcyBzdGlsbCBwZW5kaW5nIEFyZ3VtZW50IDEgKCd0aW1lbGlu
ZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBB
bmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRlciBzZXR0aW5nIHRpbWVsaW5lIG9uIGEgcGxheS1w
ZW5kaW5nIGFuaW1hdGlvbiBpdCBiZWdpbnMgcGxheWluZyBhZnRlciBwZW5kaW5nIEFyZ3VtZW50
IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRlciBzZXR0aW5nIHRpbWVsaW5l
IG9uIGEgcGF1c2UtcGVuZGluZyBhbmltYXRpb24gaXQgaXMgc3RpbGwgcGVuZGluZyBBcmd1bWVu
dCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgc2V0dGluZyB0aW1lbGlu
ZSBvbiBhIHBhdXNlLXBlbmRpbmcgYW5pbWF0aW9uIGl0IGJlY29tZXMgcGF1c2VkIGFmdGVyIHBl
bmRpbmcgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3Rv
ciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIEFmdGVyIGNs
ZWFyaW5nIHRpbWVsaW5lIG9uIHBhdXNlZCBhbmltYXRpb24gaXQgaXMgc3RpbGwgcGF1c2VkIEFy
Z3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRlciBjbGVhcmluZyB0
aW1lbGluZSBvbiBmaW5pc2hlZCBhbmltYXRpb24gaXQgaXMgaWRsZSBBcmd1bWVudCAxICgndGlt
ZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgY2xlYXJpbmcgdGltZWxpbmUgb24gcnVu
bmluZyBhbmltYXRpb24gaXQgaXMgaWRsZSBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUg
QW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGlt
ZWxpbmUKK0ZBSUwgQWZ0ZXIgY2xlYXJpbmcgdGltZWxpbmUgb24gaWRsZSBhbmltYXRpb24gaXQg
aXMgc3RpbGwgaWRsZSBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNv
bnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwg
QWZ0ZXIgY2xlYXJpbmcgdGltZWxpbmUgb24gcGxheS1wZW5kaW5nIGFuaW1hdGlvbiBpdCBpcyBz
dGlsbCBwZW5kaW5nIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURp
dih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEFmdGVyIGNsZWFyaW5nIGFuZCByZS1z
ZXR0aW5nIHRpbWVsaW5lIG9uIHBsYXktcGVuZGluZyBhbmltYXRpb24gaXQgYmVnaW5zIHRvIHBs
YXkgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2
KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQWZ0ZXIgY2xlYXJpbmcgdGltZWxpbmUgb24gYSBwYXVz
ZS1wZW5kaW5nIGFuaW1hdGlvbiBpdCBpcyBzdGlsbCBwZW5kaW5nIEFyZ3VtZW50IDEgKCd0aW1l
bGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRlciBjbGVhcmluZyBhbmQgcmUtc2V0dGluZyB0
aW1lbGluZSBvbiBhIHBhdXNlLXBlbmRpbmcgYW5pbWF0aW9uIGl0IGJlY29tZXMgcGF1c2VkIEFy
Z3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRlciBjbGVhcmluZyBh
bmQgcmUtc2V0dGluZyB0aW1lbGluZSBvbiBhbiBhbmltYXRpb24gaW4gdGhlIG1pZGRsZSBvZiBh
biBhYm9ydGVkIHBhdXNlLCBpdCBjb250aW51ZXMgcGxheWluZyB1c2luZyB0aGUgc2FtZSBzdGFy
dCB0aW1lIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0
b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0
aW9ucy9zZXQtdGhlLXRpbWVsaW5lLW9mLWFuLWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10
aW1lbGluZS1vZi1hbi1hbmltYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTQwZmUyY2E3MTgxMmUz
MDViNTc1Mzc4YWZjYTdmNzJjZTUwMmUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10
aW1lbGluZS1vZi1hbi1hbmltYXRpb24uaHRtbApAQCAtMCwwICsxLDI3NiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlNldHRpbmcgdGhlIHRpbWVsaW5l
IHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3dlYi1hbmltYXRpb25zLyNzZXR0aW5nLXRoZS10aW1lbGluZSI+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
dGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8
c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBUZXN0cyBm
cm9tIG5vIHRpbWVsaW5lIHRvIHRpbWVsaW5lCisvLworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBL
ZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAg
ICAgICAgICAgICAgICAgbnVsbCk7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDUwICogTVNf
UEVSX1NFQzsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGF1c2VkJyk7
CisKKyAgYW5pbWF0aW9uLnRpbWVsaW5lID0gZG9jdW1lbnQudGltZWxpbmU7CisKKyAgYXNzZXJ0
X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGF1c2VkJyk7CisgIGFzc2VydF90aW1lc19l
cXVhbChhbmltYXRpb24uY3VycmVudFRpbWUsIDUwICogTVNfUEVSX1NFQyk7Cit9LCAnQWZ0ZXIg
c2V0dGluZyB0aW1lbGluZSBvbiBwYXVzZWQgYW5pbWF0aW9uIGl0IGlzIHN0aWxsIHBhdXNlZCcp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1h
dGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJf
U0VDKSwKKyAgICAgICAgICAgICAgICAgIG51bGwpOworICBhbmltYXRpb24uY3VycmVudFRpbWUg
PSAyMDAgKiBNU19QRVJfU0VDOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUs
ICdwYXVzZWQnKTsKKworICBhbmltYXRpb24udGltZWxpbmUgPSBkb2N1bWVudC50aW1lbGluZTsK
KworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwYXVzZWQnKTsKKyAgYXNz
ZXJ0X3RpbWVzX2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMjAwICogTVNfUEVSX1NFQyk7
Cit9LCAnQWZ0ZXIgc2V0dGluZyB0aW1lbGluZSBvbiBhbmltYXRpb24gcGF1c2VkIG91dHNpZGUg
YWN0aXZlIGludGVydmFsJworICAgKyAnIGl0IGlzIHN0aWxsIHBhdXNlZCcpOworCit0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcgS2V5
ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAgICAg
ICAgICAgICAgICAgIG51bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUs
ICdpZGxlJyk7CisKKyAgYW5pbWF0aW9uLnRpbWVsaW5lID0gZG9jdW1lbnQudGltZWxpbmU7CisK
KyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAnaWRsZScpOworfSwgJ0FmdGVy
IHNldHRpbmcgdGltZWxpbmUgb24gYW4gaWRsZSBhbmltYXRpb24gd2l0aG91dCBhIHN0YXJ0IHRp
bWUnCisgICArICcgaXQgaXMgc3RpbGwgaWRsZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
dmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoY3Jl
YXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAgICAgICAgICAgICAgICAgIG51
bGwpOworICBhbmltYXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRp
bWU7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ2lkbGUnKTsKKworICBh
bmltYXRpb24udGltZWxpbmUgPSBkb2N1bWVudC50aW1lbGluZTsKKworICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5wbGF5U3RhdGUsICdydW5uaW5nJyk7Cit9LCAnQWZ0ZXIgc2V0dGluZyB0aW1l
bGluZSBvbiBhbiBpZGxlIGFuaW1hdGlvbiB3aXRoIGEgc3RhcnQgdGltZScKKyAgICsgJyBpdCBp
cyBydW5uaW5nJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAg
ICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEw
MCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgbnVsbCk7CisgIGFuaW1hdGlvbi5z
dGFydFRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSAtIDIwMCAqIE1TX1BFUl9T
RUM7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ2lkbGUnKTsKKworICBh
bmltYXRpb24udGltZWxpbmUgPSBkb2N1bWVudC50aW1lbGluZTsKKworICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5wbGF5U3RhdGUsICdmaW5pc2hlZCcpOworfSwgJ0FmdGVyIHNldHRpbmcgdGlt
ZWxpbmUgb24gYW4gaWRsZSBhbmltYXRpb24gd2l0aCBhIHN1ZmZpY2llbnRseSBhbmNpZW50Jwor
ICAgKyAnIHN0YXJ0IHRpbWUgaXQgaXMgZmluaXNoZWQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0
KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAg
ICBudWxsKTsKKyAgYW5pbWF0aW9uLnBsYXkoKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24u
cGxheVN0YXRlLCAncGVuZGluZycpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IGRvY3VtZW50
LnRpbWVsaW5lOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRp
bmcnKTsKK30sICdBZnRlciBzZXR0aW5nIHRpbWVsaW5lIG9uIGEgcGxheS1wZW5kaW5nIGFuaW1h
dGlvbiBpdCBpcyBzdGlsbCBwZW5kaW5nJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0
KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAg
ICBudWxsKTsKKyAgYW5pbWF0aW9uLnBsYXkoKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24u
cGxheVN0YXRlLCAncGVuZGluZycpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IGRvY3VtZW50
LnRpbWVsaW5lOworCisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsK
KyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdydW5uaW5nJyk7CisgIH0p
OworfSwgJ0FmdGVyIHNldHRpbmcgdGltZWxpbmUgb24gYSBwbGF5LXBlbmRpbmcgYW5pbWF0aW9u
IGl0IGJlZ2lucyBwbGF5aW5nJworICAgKyAnIGFmdGVyIHBlbmRpbmcnKTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZy
YW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAg
ICAgICAgICAgICBudWxsKTsKKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVs
aW5lLmN1cnJlbnRUaW1lOworICBhbmltYXRpb24ucGF1c2UoKTsKKyAgYW5pbWF0aW9uLnRpbWVs
aW5lID0gbnVsbDsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVuZGlu
ZycpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IGRvY3VtZW50LnRpbWVsaW5lOworCisgIGFz
c2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnKTsKK30sICdBZnRlciBz
ZXR0aW5nIHRpbWVsaW5lIG9uIGEgcGF1c2UtcGVuZGluZyBhbmltYXRpb24gaXQgaXMgc3RpbGwg
cGVuZGluZycpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9u
ID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51
bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgbnVsbCk7CisgIGFuaW1h
dGlvbi5zdGFydFRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZTsKKyAgYW5pbWF0
aW9uLnBhdXNlKCk7CisgIGFuaW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisgIGFzc2VydF9lcXVh
bHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnKTsKKworICBhbmltYXRpb24udGltZWxp
bmUgPSBkb2N1bWVudC50aW1lbGluZTsKKworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4o
ZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGF1
c2VkJyk7CisgIH0pOworfSwgJ0FmdGVyIHNldHRpbmcgdGltZWxpbmUgb24gYSBwYXVzZS1wZW5k
aW5nIGFuaW1hdGlvbiBpdCBiZWNvbWVzIHBhdXNlZCcKKyAgICsgJyBhZnRlciBwZW5kaW5nJyk7
CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIFRlc3RzIGZyb20gdGltZWxpbmUgdG8gbm8gdGlt
ZWxpbmUKKy8vCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBh
bmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURp
dih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVu
dC50aW1lbGluZSk7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsK
KyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGF1c2VkJyk7CisKKyAgYW5p
bWF0aW9uLnRpbWVsaW5lID0gbnVsbDsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5
U3RhdGUsICdwYXVzZWQnKTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50
VGltZSwgNTAgKiBNU19QRVJfU0VDKTsKK30sICdBZnRlciBjbGVhcmluZyB0aW1lbGluZSBvbiBw
YXVzZWQgYW5pbWF0aW9uIGl0IGlzIHN0aWxsIHBhdXNlZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZl
Y3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50LnRpbWVsaW5lKTsKKyAgdmFyIGluaXRpYWxTdGFydFRpbWUgPSBkb2N1bWVu
dC50aW1lbGluZS5jdXJyZW50VGltZSAtIDIwMCAqIE1TX1BFUl9TRUM7CisgIGFuaW1hdGlvbi5z
dGFydFRpbWUgPSBpbml0aWFsU3RhcnRUaW1lOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5w
bGF5U3RhdGUsICdmaW5pc2hlZCcpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisK
KyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAnaWRsZScpOworICBhc3NlcnRf
dGltZXNfZXF1YWwoYW5pbWF0aW9uLnN0YXJ0VGltZSwgaW5pdGlhbFN0YXJ0VGltZSk7Cit9LCAn
QWZ0ZXIgY2xlYXJpbmcgdGltZWxpbmUgb24gZmluaXNoZWQgYW5pbWF0aW9uIGl0IGlzIGlkbGUn
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmlt
YXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVS
X1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisgIHZhciBpbml0
aWFsU3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgLSA1MCAqIE1TX1BF
Ul9TRUM7CisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBpbml0aWFsU3RhcnRUaW1lOworICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdydW5uaW5nJyk7CisKKyAgYW5pbWF0aW9u
LnRpbWVsaW5lID0gbnVsbDsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUs
ICdpZGxlJyk7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltYXRpb24uc3RhcnRUaW1lLCBpbml0
aWFsU3RhcnRUaW1lKTsKK30sICdBZnRlciBjbGVhcmluZyB0aW1lbGluZSBvbiBydW5uaW5nIGFu
aW1hdGlvbiBpdCBpcyBpZGxlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0
aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCks
IG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGlt
ZWxpbmUpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdpZGxlJyk7CisK
KyAgYW5pbWF0aW9uLnRpbWVsaW5lID0gbnVsbDsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlv
bi5wbGF5U3RhdGUsICdpZGxlJyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnN0YXJ0VGlt
ZSwgbnVsbCk7Cit9LCAnQWZ0ZXIgY2xlYXJpbmcgdGltZWxpbmUgb24gaWRsZSBhbmltYXRpb24g
aXQgaXMgc3RpbGwgaWRsZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlv
biA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJyk7CisKKyAgYW5pbWF0aW9u
LnRpbWVsaW5lID0gbnVsbDsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUs
ICdwZW5kaW5nJyk7Cit9LCAnQWZ0ZXIgY2xlYXJpbmcgdGltZWxpbmUgb24gcGxheS1wZW5kaW5n
IGFuaW1hdGlvbiBpdCBpcyBzdGlsbCBwZW5kaW5nJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAg
KiBNU19QRVJfU0VDKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVu
ZGluZycpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisgIGFuaW1hdGlvbi50aW1l
bGluZSA9IGRvY3VtZW50LnRpbWVsaW5lOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBs
YXlTdGF0ZSwgJ3BlbmRpbmcnKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0
aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3J1bm5pbmcn
KTsKKyAgfSk7Cit9LCAnQWZ0ZXIgY2xlYXJpbmcgYW5kIHJlLXNldHRpbmcgdGltZWxpbmUgb24g
cGxheS1wZW5kaW5nIGFuaW1hdGlvbiBpdCcKKyAgICsgJyBiZWdpbnMgdG8gcGxheScpOworCit0
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihu
ZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwK
KyAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnRpbWVsaW5lKTsKKyAgYW5pbWF0aW9uLnN0YXJ0
VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lOworICBhbmltYXRpb24ucGF1c2Uo
KTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVuZGluZycpOworCisg
IGFuaW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24u
cGxheVN0YXRlLCAncGVuZGluZycpOworfSwgJ0FmdGVyIGNsZWFyaW5nIHRpbWVsaW5lIG9uIGEg
cGF1c2UtcGVuZGluZyBhbmltYXRpb24gaXQgaXMgc3RpbGwgcGVuZGluZycpOworCitwcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9u
KG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMp
LAorICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxpbmUpOworICBhbmltYXRpb24uc3Rh
cnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWU7CisgIGFuaW1hdGlvbi5wYXVz
ZSgpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJyk7CisK
KyAgYW5pbWF0aW9uLnRpbWVsaW5lID0gbnVsbDsKKyAgYW5pbWF0aW9uLnRpbWVsaW5lID0gZG9j
dW1lbnQudGltZWxpbmU7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAn
cGVuZGluZycpOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGF1c2VkJyk7CisgIH0pOwor
fSwgJ0FmdGVyIGNsZWFyaW5nIGFuZCByZS1zZXR0aW5nIHRpbWVsaW5lIG9uIGEgcGF1c2UtcGVu
ZGluZyBhbmltYXRpb24gaXQnCisgICArICcgYmVjb21lcyBwYXVzZWQnKTsKKworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihu
ZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwK
KyAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnRpbWVsaW5lKTsKKyAgdmFyIGluaXRpYWxTdGFy
dFRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSAtIDUwICogTVNfUEVSX1NFQzsK
KyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IGluaXRpYWxTdGFydFRpbWU7CisgIGFuaW1hdGlvbi5w
YXVzZSgpOworICBhbmltYXRpb24ucGxheSgpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IG51
bGw7CisgIGFuaW1hdGlvbi50aW1lbGluZSA9IGRvY3VtZW50LnRpbWVsaW5lOworICBhc3NlcnRf
ZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJyk7CisKKyAgcmV0dXJuIGFuaW1h
dGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9u
LnBsYXlTdGF0ZSwgJ3J1bm5pbmcnKTsKKyAgICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbWF0aW9u
LnN0YXJ0VGltZSwgaW5pdGlhbFN0YXJ0VGltZSk7CisgIH0pOworfSwgJ0FmdGVyIGNsZWFyaW5n
IGFuZCByZS1zZXR0aW5nIHRpbWVsaW5lIG9uIGFuIGFuaW1hdGlvbiBpbiB0aGUgbWlkZGxlIG9m
JworICAgKyAnIGFuIGFib3J0ZWQgcGF1c2UsIGl0IGNvbnRpbnVlcyBwbGF5aW5nIHVzaW5nIHRo
ZSBzYW1lIHN0YXJ0IHRpbWUnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
cy91cGRhdGluZy10aGUtZmluaXNoZWQtc3RhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvdXBkYXRpbmct
dGhlLWZpbmlzaGVkLXN0YXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YzU3ZDNiODU0ZTg1
M2MzZTZlMTkyZDcxZTBkNzIxMTMwMzA3MWI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvdXBkYXRp
bmctdGhlLWZpbmlzaGVkLXN0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACisKK0ZB
SUwgVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gcGxheWluZyBwYXN0IGVuZCBjcmVh
dGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5p
bWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBVcGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBzZWVraW5n
IHBhc3QgZW5kIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0
KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0
ZSB3aGVuIHNlZWtpbmcgZXhhY3RseSB0byBlbmQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVS
X1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVXBkYXRp
bmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gcGxheWluZyBpbiByZXZlcnNlIHBhc3QgemVybyBj
cmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCku
YW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBVcGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBzZWVr
aW5nIGEgcmV2ZXJzZWQgYW5pbWF0aW9uIHBhc3QgemVybyBjcmVhdGVEaXYodCkuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBN
U19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBV
cGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBzZWVraW5nIGEgcmV2ZXJzZWQgYW5pbWF0
aW9uIGV4YWN0bHkgdG8gemVybyBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdj
cmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBVcGRhdGluZyB0aGUgZmlu
aXNoZWQgc3RhdGUgd2hlbiBwbGF5aW5nIGJlZm9yZSBlbmQgY3JlYXRlRGl2KHQpLmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICog
TVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
VXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gc2Vla2luZyBiZWZvcmUgZW5kIGNyZWF0
ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmlt
YXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHNlZWtpbmcg
YSByZXZlcnNlZCBhbmltYXRpb24gYmVmb3JlIGVuZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19Q
RVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBVcGRh
dGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBwbGF5YmFjayByYXRlIGlzIHplcm8gYW5kIHRo
ZSBjdXJyZW50IHRpbWUgaXMgbGVzcyB0aGFuIHplcm8gY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNf
UEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVXBk
YXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gcGxheWJhY2sgcmF0ZSBpcyB6ZXJvIGFuZCB0
aGUgY3VycmVudCB0aW1lIGlzIGxlc3MgdGhhbiBlbmQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNf
UEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVXBk
YXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gcGxheWJhY2sgcmF0ZSBpcyB6ZXJvIGFuZCB0
aGUgY3VycmVudCB0aW1lIGlzIGdyZWF0ZXIgdGhhbiBlbmQgY3JlYXRlRGl2KHQpLmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICog
TVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
VXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gY3VycmVudCB0aW1lIGlzIHVucmVzb2x2
ZWQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2
KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4g
dGhlcmUgaXMgYSBwZW5kaW5nIHRhc2sgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQykn
LCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVXBkYXRpbmcgdGhl
IGZpbmlzaGVkIHN0YXRlIHdoZW4gc3RhcnQgdGltZSBpcyB1bnJlc29sdmVkIGFuZCBkaWQgc2Vl
ayA9IGZhbHNlIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0
KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0
ZSB3aGVuIHN0YXJ0IHRpbWUgaXMgdW5yZXNvbHZlZCBhbmQgZGlkIHNlZWsgPSB0cnVlIGNyZWF0
ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmlt
YXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIEZpbmlzaCBub3RpZmljYXRpb24gc3RlcHMgZG9uJ3QgcnVuIHdoZW4g
dGhlIGFuaW1hdGlvbiBzZWVrcyB0byBmaW5pc2ggYW5kIHRoZW4gc2Vla3MgYmFjayBhZ2FpbiBj
cmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCku
YW5pbWF0ZShudWxsLCAxKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBGaW5pc2ggbm90aWZpY2F0aW9uIHN0ZXBzIHJ1biB3aGVuIHRoZSBhbmltYXRpb24gY29t
cGxldGVzIG5vcm1hbGx5IGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIEZpbmlzaCBub3RpZmljYXRpb24gc3RlcHMgcnVuIHdoZW4g
dGhlIGFuaW1hdGlvbiBzZWVrcyBwYXN0IGZpbmlzaCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxKScsICdjcmVh
dGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBGaW5pc2ggbm90aWZpY2F0aW9u
IHN0ZXBzIHJ1biB3aGVuIHRoZSBhbmltYXRpb24gY29tcGxldGVzIHdpdGggLmZpbmlzaCgpLCBl
dmVuIGlmIHdlIHRoZW4gc2VlayBhd2F5IGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEpJywgJ2NyZWF0ZURpdih0
KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEFuaW1hdGlvbiBmaW5pc2hlZCBwcm9taXNl
IGlzIHJlcGxhY2VkIGFmdGVyIHNlZWtpbmcgYmFjayB0byBzdGFydCBjcmVhdGVEaXYodCkuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAx
KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBBbmltYXRpb24g
ZmluaXNoZWQgcHJvbWlzZSBpcyByZXBsYWNlZCBhZnRlciByZXBsYXlpbmcgZnJvbSBzdGFydCBj
cmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCku
YW5pbWF0ZShudWxsLCAxKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBBbmltYXRpb24gZmluaXNoIGV2ZW50IGlzIGZpcmVkIGFnYWluIGFmdGVyIHNlZWtpbmcg
YmFjayB0byBzdGFydCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBBbmltYXRpb24gZmluaXNoIGV2ZW50IGlzIGZpcmVkIGFnYWlu
IGFmdGVyIHJlcGxheWluZyBmcm9tIHN0YXJ0IGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEpJywgJ2NyZWF0ZURp
dih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3VwZGF0aW5nLXRo
ZS1maW5pc2hlZC1zdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvdXBkYXRpbmctdGhlLWZpbmlzaGVkLXN0YXRlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2I5ZWZlZGJmNjNjNmM1OWIzMTdhMmI5NDAyMzcwMGE4ZDI0ZmFiYQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb25zL3VwZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZS5odG1sCkBA
IC0wLDAgKzEsNDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8
dGl0bGU+VGVzdHMgZm9yIHVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSBvZiBhbiBhbmltYXRp
b248L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8v
d2ViLWFuaW1hdGlvbnMvI3VwZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZSI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+
Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIFRFU1RT
IEZPUiBVUERBVElORyBUSEUgSE9MRCBUSU1FCisvLworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gQ0FT
RSAxOiBwbGF5YmFjayByYXRlID4gMCBhbmQgY3VycmVudCB0aW1lID49IHRhcmdldCBlZmZlY3Qg
ZW5kCisvLyAoQWxzbyB0aGUgc3RhcnQgdGltZSBpcyByZXNvbHZlZCBhbmQgdGhlcmUgaXMgcGVu
ZGluZyB0YXNrKQorCisvLyBEaWQgc2VlayA9IGZhbHNlCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BF
Ul9TRUMpOworCisgIC8vIEhlcmUgYW5kIGluIHRoZSBmb2xsb3dpbmcgdGVzdHMgd2Ugd2FpdCB1
bnRpbCByZWFkeSByZXNvbHZlcyBhcworICAvLyBvdGhlcndpc2Ugd2UgZG9uJ3QgaGF2ZSBhIHJl
c29sdmVkIHN0YXJ0IHRpbWUuIFdlIHRlc3QgdGhlIGNhc2UKKyAgLy8gd2hlcmUgdGhlIHN0YXJ0
IHRpbWUgaXMgdW5yZXNvbHZlZCBpbiBhIHN1YnNlcXVlbnQgdGVzdC4KKyAgcmV0dXJuIGFuaW0u
cmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICAvLyBTZWVrIHRvIDFtcyBiZWZvcmUgdGhlIHRh
cmdldCBlbmQgYW5kIHRoZW4gd2FpdCAxbXMKKyAgICBhbmltLmN1cnJlbnRUaW1lID0gMTAwICog
TVNfUEVSX1NFQyAtIDE7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXNXaXRoRGVs
YXkoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1
cnJlbnRUaW1lLCAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgJ0hvbGQgdGlt
ZSBpcyBzZXQgdG8gdGFyZ2V0IGVuZCBjbGFtcGluZyBjdXJyZW50IHRpbWUnKTsKKyAgfSk7Cit9
LCAnVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gcGxheWluZyBwYXN0IGVuZCcpOwor
CisvLyBEaWQgc2VlayA9IHRydWUKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBh
bmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIHJl
dHVybiBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbS5jdXJyZW50VGltZSA9
IDIwMCAqIE1TX1BFUl9TRUM7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7
CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRU
aW1lLCAyMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgJ0hvbGQgdGltZSBpcyBz
ZXQgc28gY3VycmVudCB0aW1lIHNob3VsZCBOT1QgY2hhbmdlJyk7CisgIH0pOworfSwgJ1VwZGF0
aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHNlZWtpbmcgcGFzdCBlbmQnKTsKKworLy8gVGVz
dCBjdXJyZW50IHRpbWUgPT0gdGFyZ2V0IGVuZAorLy8KKy8vIFdlIGNhbid0IHJlYWxseSB3cml0
ZSBhIHRlc3QgZm9yIGN1cnJlbnQgdGltZSA9PSB0YXJnZXQgZW5kIHdpdGgKKy8vIGRpZCBzZWVr
ID0gZmFsc2Ugc2luY2UgdGhhdCB3b3VsZCBpbXBseSBzZXR0aW5nIHVwIGFuIGFuaW1hdGlvbiB3
aGVyZQorLy8gdGhlIG5leHQgYW5pbWF0aW9uIGZyYW1lIHRpbWUgaGFwcGVucyB0byBleGFjdGx5
IGFsaWduIHdpdGggdGhlIHRhcmdldCBlbmQuCisvLworLy8gRm9ydHVuYXRlbHksIHdlIGRvbid0
IG5lZWQgdG8gdGVzdCB0aGF0IGNhc2Ugc2luY2UgZXZlbiBpZiB0aGUgaW1wbGVtZW50YXRpb24K
Ky8vIGZhaWxzIHRvIHNldCB0aGUgaG9sZCB0aW1lIG9uIHN1Y2ggYSB0aWNrLCBpdCBzaG91bGQg
YmUgbW9zdGx5IHVub2JzZXJ2YWJsZQorLy8gKG9uIHRoZSBzdWJzZXF1ZW50IHRpY2sgdGhlIGhv
bGQgdGltZSB3aWxsIGJlIHNldCB0byB0aGUgc2FtZSB2YWx1ZSBhbnl3YXkpLgorCisvLyBEaWQg
c2VlayA9IHRydWUKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3Jl
YXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIHJldHVybiBhbmlt
LnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbS5jdXJyZW50VGltZSA9IDEwMCAqIE1T
X1BFUl9TRUM7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7CisgIH0pLnRo
ZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRUaW1lLCAxMDAg
KiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgJ0hvbGQgdGltZSBpcyBzZXQgc28gY3Vy
cmVudCB0aW1lIHNob3VsZCBOT1QgY2hhbmdlJyk7CisgIH0pOworfSwgJ1VwZGF0aW5nIHRoZSBm
aW5pc2hlZCBzdGF0ZSB3aGVuIHNlZWtpbmcgZXhhY3RseSB0byBlbmQnKTsKKworCisvLyBDQVNF
IDI6IHBsYXliYWNrIHJhdGUgPCAwIGFuZCBjdXJyZW50IHRpbWUgPD0gMAorLy8gKEFsc28gdGhl
IHN0YXJ0IHRpbWUgaXMgcmVzb2x2ZWQgYW5kIHRoZXJlIGlzIHBlbmRpbmcgdGFzaykKKworLy8g
RGlkIHNlZWsgPSBmYWxzZQorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0g
PSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbS5w
bGF5YmFja1JhdGUgPSAtMTsKKyAgYW5pbS5wbGF5KCk7IC8vIE1ha2Ugc3VyZSBhbmltYXRpb24g
aXMgbm90IGluaXRpYWxseSBmaW5pc2hlZAorICByZXR1cm4gYW5pbS5yZWFkeS50aGVuKGZ1bmN0
aW9uKCkgeworICAgIC8vIFNlZWsgdG8gMW1zIGJlZm9yZSAwIGFuZCB0aGVuIHdhaXQgMW1zCisg
ICAgYW5pbS5jdXJyZW50VGltZSA9IDE7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFt
ZXNXaXRoRGVsYXkoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFs
cyhhbmltLmN1cnJlbnRUaW1lLCAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdI
b2xkIHRpbWUgaXMgc2V0IHRvIHplcm8gY2xhbXBpbmcgY3VycmVudCB0aW1lJyk7CisgIH0pOwor
fSwgJ1VwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHBsYXlpbmcgaW4gcmV2ZXJzZSBw
YXN0IHplcm8nKTsKKworLy8gRGlkIHNlZWsgPSB0cnVlCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BF
Ul9TRUMpOworICBhbmltLnBsYXliYWNrUmF0ZSA9IC0xOworICBhbmltLnBsYXkoKTsKKyAgcmV0
dXJuIGFuaW0ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltLmN1cnJlbnRUaW1lID0g
LTEwMCAqIE1TX1BFUl9TRUM7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7
CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRU
aW1lLCAtMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdIb2xkIHRpbWUgaXMg
c2V0IHNvIGN1cnJlbnQgdGltZSBzaG91bGQgTk9UIGNoYW5nZScpOworICB9KTsKK30sICdVcGRh
dGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBzZWVraW5nIGEgcmV2ZXJzZWQgYW5pbWF0aW9u
IHBhc3QgemVybycpOworCisvLyBBcyBiZWZvcmUsIGl0J3MgZGlmZmljdWx0IHRvIHRlc3QgY3Vy
cmVudCB0aW1lID09IDAgZm9yIGRpZCBzZWVrID0gZmFsc2UgYnV0CisvLyBpdCBkb2Vzbid0IHJl
YWxseSBtYXR0ZXIuCisKKy8vIERpZCBzZWVrID0gdHJ1ZQorcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19Q
RVJfU0VDKTsKKyAgYW5pbS5wbGF5YmFja1JhdGUgPSAtMTsKKyAgYW5pbS5wbGF5KCk7CisgIHJl
dHVybiBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbS5jdXJyZW50VGltZSA9
IDA7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7CisgIH0pLnRoZW4oZnVu
Y3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRUaW1lLCAwICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAgICdIb2xkIHRpbWUgaXMgc2V0IHNvIGN1cnJlbnQgdGlt
ZSBzaG91bGQgTk9UIGNoYW5nZScpOworICB9KTsKK30sICdVcGRhdGluZyB0aGUgZmluaXNoZWQg
c3RhdGUgd2hlbiBzZWVraW5nIGEgcmV2ZXJzZWQgYW5pbWF0aW9uIGV4YWN0bHknCisgICArICcg
dG8gemVybycpOworCisvLyBDQVNFIDM6IHBsYXliYWNrIHJhdGUgPiAwIGFuZCBjdXJyZW50IHRp
bWUgPCB0YXJnZXQgZW5kIE9SCisvLyAgICAgICAgIHBsYXliYWNrIHJhdGUgPCAwIGFuZCBjdXJy
ZW50IHRpbWUgPiAwCisvLyAoQWxzbyB0aGUgc3RhcnQgdGltZSBpcyByZXNvbHZlZCBhbmQgdGhl
cmUgaXMgcGVuZGluZyB0YXNrKQorCisvLyBEaWQgc2VlayA9IGZhbHNlOyBwbGF5YmFjayByYXRl
ID4gMAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYo
dCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKworICAvLyBXZSB3YW50IHRvIHRl
c3QgdGhhdCB0aGUgaG9sZCB0aW1lIGlzIGNsZWFyZWQgc28gZmlyc3Qgd2UgbmVlZCB0bworICAv
LyBwdXQgdGhlIGFuaW1hdGlvbiBpbiBhIHN0YXRlIHdoZXJlIHRoZSBob2xkIHRpbWUgaXMgc2V0
LgorICBhbmltLmZpbmlzaCgpOworICByZXR1cm4gYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkg
eworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5jdXJyZW50VGltZSwgMTAwICogTVNfUEVSX1NFQywK
KyAgICAgICAgICAgICAgICAgICdIb2xkIHRpbWUgaXMgaW5pdGlhbGx5IHNldCcpOworICAgIC8v
IFRoZW4gZXh0ZW5kIHRoZSBkdXJhdGlvbiBzbyB0aGF0IHRoZSBob2xkIHRpbWUgaXMgY2xlYXJl
ZCBhbmQgb24KKyAgICAvLyB0aGUgbmV4dCB0aWNrIHRoZSBjdXJyZW50IHRpbWUgd2lsbCBpbmNy
ZWFzZS4KKyAgICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKj0gMjsKKyAgICByZXR1cm4g
d2FpdEZvckFuaW1hdGlvbkZyYW1lcygxKTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBh
c3NlcnRfZ3JlYXRlcl90aGFuKGFuaW0uY3VycmVudFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAnSG9sZCB0aW1lIGlzIG5vdCBzZXQgc28gY3VycmVudCB0
aW1lIHNob3VsZCBpbmNyZWFzZScpOworICB9KTsKK30sICdVcGRhdGluZyB0aGUgZmluaXNoZWQg
c3RhdGUgd2hlbiBwbGF5aW5nIGJlZm9yZSBlbmQnKTsKKworLy8gRGlkIHNlZWsgPSB0cnVlOyBw
bGF5YmFjayByYXRlID4gMAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0g
PSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbS5m
aW5pc2goKTsKKyAgcmV0dXJuIGFuaW0ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmlt
LmN1cnJlbnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOworICAgIC8vIFdoZW4gZGlkIHNlZWsgPSB0
cnVlLCB1cGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGU6IChpKSB1cGRhdGVzCisgICAgLy8gdGhl
IGFuaW1hdGlvbidzIHN0YXJ0IHRpbWUgYW5kIChpaSkgY2xlYXJzIHRoZSBob2xkIHRpbWUuCisg
ICAgLy8gV2UgY2FuIHRlc3QgYm90aCBieSBjaGVja2luZyB0aGF0IHRoZSBjdXJyZW50VGltZSBp
cyBpbml0aWFsbHkKKyAgICAvLyB1cGRhdGVkIGFuZCB0aGVuIGluY3JlYXNlcy4KKyAgICBhc3Nl
cnRfZXF1YWxzKGFuaW0uY3VycmVudFRpbWUsIDUwICogTVNfUEVSX1NFQywgJ1N0YXJ0IHRpbWUg
aXMgdXBkYXRlZCcpOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpOworICB9
KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oYW5pbS5jdXJyZW50
VGltZSwgNTAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0hvbGQgdGlt
ZSBpcyBub3Qgc2V0IHNvIGN1cnJlbnQgdGltZSBzaG91bGQgaW5jcmVhc2UnKTsKKyAgfSk7Cit9
LCAnVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gc2Vla2luZyBiZWZvcmUgZW5kJyk7
CisKKy8vIERpZCBzZWVrID0gZmFsc2U7IHBsYXliYWNrIHJhdGUgPCAwCisvLworLy8gVW5mb3J0
dW5hdGVseSBpdCBpcyBub3QgcG9zc2libGUgdG8gdGVzdCB0aGlzIGNhc2UuIFdlIG5lZWQgdG8g
aGF2ZQorLy8gYSBob2xkIHRpbWUgc2V0LCBhIHJlc29sdmVkIHN0YXJ0IHRpbWUsIGFuZCB0aGVu
IHBlcmZvcm0gc29tZQorLy8gb3BlcmF0aW9uIHRoYXQgdXBkYXRlcyB0aGUgZmluaXNoZWQgc3Rh
dGUgd2l0aCBkaWQgc2VlayBzZXQgdG8gdHJ1ZS4KKy8vCisvLyBIb3dldmVyLCB0aGUgb25seSBz
aXR1YXRpb24gd2hlcmUgdGhpcyBjb3VsZCBhcnJpdmUgaXMgd2hlbiB3ZQorLy8gcmVwbGFjZSB0
aGUgdGltZWxpbmUgYW5kIHRoYXQgcHJvY2VkdXJlIGlzIGxpa2VseSB0byBjaGFuZ2UuIEZvciBh
bGwKKy8vIG90aGVyIGNhc2VzIHdlIGVpdGhlciBoYXZlIGFuIHVucmVzb2x2ZWQgc3RhcnQgdGlt
ZSAoZS5nLiB3aGVuCisvLyBwYXVzZWQpLCB3ZSBkb24ndCBoYXZlIGEgc2V0IGhvbGQgdGltZSAo
ZS5nLiByZWd1bGFyIHBsYXliYWNrKSwgb3IKKy8vIHRoZSBjdXJyZW50IHRpbWUgaXMgemVybyAo
YW5kIGFueXRoaW5nIHRoYXQgZ2V0cyB1cyBvdXQgb2YgdGhhdCBzdGF0ZQorLy8gd2lsbCBzZXQg
ZGlkIHNlZWsgPSB0cnVlKS4KKworLy8gRGlkIHNlZWsgPSB0cnVlOyBwbGF5YmFjayByYXRlIDwg
MAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCku
YW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbS5wbGF5YmFja1JhdGUgPSAt
MTsKKyAgcmV0dXJuIGFuaW0ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltLmN1cnJl
bnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5jdXJyZW50
VGltZSwgNTAgKiBNU19QRVJfU0VDLCAnU3RhcnQgdGltZSBpcyB1cGRhdGVkJyk7CisgICAgcmV0
dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7Cisg
ICAgYXNzZXJ0X2xlc3NfdGhhbihhbmltLmN1cnJlbnRUaW1lLCA1MCAqIE1TX1BFUl9TRUMsCisg
ICAgICAgICAgICAgICAgICAgICAnSG9sZCB0aW1lIGlzIG5vdCBzZXQgc28gY3VycmVudCB0aW1l
IHNob3VsZCBkZWNyZWFzZScpOworICB9KTsKK30sICdVcGRhdGluZyB0aGUgZmluaXNoZWQgc3Rh
dGUgd2hlbiBzZWVraW5nIGEgcmV2ZXJzZWQgYW5pbWF0aW9uIGJlZm9yZSBlbmQnKTsKKworLy8g
Q0FTRSA0OiBwbGF5YmFjayByYXRlID09IDAKKworLy8gY3VycmVudCB0aW1lIDwgMAorcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbS5wbGF5YmFja1JhdGUgPSAwOworICByZXR1
cm4gYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW0uY3VycmVudFRpbWUgPSAt
MTAwICogTVNfUEVSX1NFQzsKKyAgICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygxKTsK
KyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0uY3VycmVudFRp
bWUsIC0xMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgJ0hvbGQgdGltZSBzaG91
bGQgbm90IGJlIGNsZWFyZWQgc28gY3VycmVudCB0aW1lIHNob3VsZCcKKyAgICAgICAgICAgICAg
ICAgICsgJyBOT1QgY2hhbmdlJyk7CisgIH0pOworfSwgJ1VwZGF0aW5nIHRoZSBmaW5pc2hlZCBz
dGF0ZSB3aGVuIHBsYXliYWNrIHJhdGUgaXMgemVybyBhbmQgdGhlJworICAgKyAnIGN1cnJlbnQg
dGltZSBpcyBsZXNzIHRoYW4gemVybycpOworCisvLyBjdXJyZW50IHRpbWUgPCB0YXJnZXQgZW5k
Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5h
bmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltLnBsYXliYWNrUmF0ZSA9IDA7
CisgIHJldHVybiBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbS5jdXJyZW50
VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1l
cygxKTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0uY3Vy
cmVudFRpbWUsIDUwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdIb2xkIHRpbWUg
c2hvdWxkIG5vdCBiZSBjbGVhcmVkIHNvIGN1cnJlbnQgdGltZSBzaG91bGQnCisgICAgICAgICAg
ICAgICAgICArICcgTk9UIGNoYW5nZScpOworICB9KTsKK30sICdVcGRhdGluZyB0aGUgZmluaXNo
ZWQgc3RhdGUgd2hlbiBwbGF5YmFjayByYXRlIGlzIHplcm8gYW5kIHRoZScKKyAgICsgJyBjdXJy
ZW50IHRpbWUgaXMgbGVzcyB0aGFuIGVuZCcpOworCisvLyBjdXJyZW50IHRpbWUgPiB0YXJnZXQg
ZW5kCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0
KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltLnBsYXliYWNrUmF0ZSA9
IDA7CisgIHJldHVybiBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbS5jdXJy
ZW50VGltZSA9IDIwMCAqIE1TX1BFUl9TRUM7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25G
cmFtZXMoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmlt
LmN1cnJlbnRUaW1lLCAyMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgJ0hvbGQg
dGltZSBzaG91bGQgbm90IGJlIGNsZWFyZWQgc28gY3VycmVudCB0aW1lIHNob3VsZCcKKyAgICAg
ICAgICAgICAgICAgICsgJyBOT1QgY2hhbmdlJyk7CisgIH0pOworfSwgJ1VwZGF0aW5nIHRoZSBm
aW5pc2hlZCBzdGF0ZSB3aGVuIHBsYXliYWNrIHJhdGUgaXMgemVybyBhbmQgdGhlJworICAgKyAn
IGN1cnJlbnQgdGltZSBpcyBncmVhdGVyIHRoYW4gZW5kJyk7CisKKy8vIENBU0UgNTogY3VycmVu
dCB0aW1lIHVucmVzb2x2ZWQKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFu
aW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5p
bS5jYW5jZWwoKTsKKyAgLy8gVHJpZ2dlciBhIGNoYW5nZSB0aGF0IHdpbGwgY2F1c2UgdGhlICJ1
cGRhdGUgdGhlIGZpbmlzaGVkIHN0YXRlIgorICAvLyBwcm9jZWR1cmUgdG8gcnVuLgorICBhbmlt
LmVmZmVjdC50aW1pbmcuZHVyYXRpb24gPSAyMDAgKiBNU19QRVJfU0VDOworICBhc3NlcnRfZXF1
YWxzKGFuaW0uY3VycmVudFRpbWUsIG51bGwsCisgICAgICAgICAgICAgICAgJ1RoZSBhbmltYXRp
b24gaG9sZCB0aW1lIC8gc3RhcnQgdGltZSBzaG91bGQgbm90IGJlIHVwZGF0ZWQnKTsKKyAgLy8g
VGhlICJ1cGRhdGUgdGhlIGZpbmlzaGVkIHN0YXRlIiBwcm9jZWR1cmUgaXMgc3VwcG9zZWQgdG8g
cnVuIGFmdGVyIGFueQorICAvLyBjaGFuZ2UgdG8gdGltaW5nLCBidXQganVzdCBpbiBjYXNlIGFu
IGltcGxlbWVudGF0aW9uIGRlZmVycyB0aGF0LCBsZXQncworICAvLyB3YWl0IGEgZnJhbWUgYW5k
IGNoZWNrIHRoYXQgdGhlIGhvbGQgdGltZSAvIHN0YXJ0IHRpbWUgaGFzIHN0aWxsIG5vdCBiZWVu
CisgIC8vIHVwZGF0ZWQuCisgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpLnRoZW4o
ZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRUaW1lLCBudWxsLAor
ICAgICAgICAgICAgICAgICAgJ1RoZSBhbmltYXRpb24gaG9sZCB0aW1lIC8gc3RhcnQgdGltZSBz
aG91bGQgbm90IGJlIHVwZGF0ZWQnKTsKKyAgfSk7Cit9LCAnVXBkYXRpbmcgdGhlIGZpbmlzaGVk
IHN0YXRlIHdoZW4gY3VycmVudCB0aW1lIGlzIHVucmVzb2x2ZWQnKTsKKworLy8gQ0FTRSA2OiBo
YXMgYSBwZW5kaW5nIHRhc2sKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3Jl
YXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW0uY2FuY2Vs
KCk7CisgIGFuaW0uY3VycmVudFRpbWUgPSA3NSAqIE1TX1BFUl9TRUM7CisgIGFuaW0ucGxheSgp
OworICAvLyBXZSBub3cgaGF2ZSBhIHBlbmRpbmcgdGFzayBhbmQgYSByZXNvbHZlZCBjdXJyZW50
IHRpbWUuCisgIC8vCisgIC8vIEluIHRoZSBuZXh0IHN0ZXAgd2Ugd2lsbCBhZGp1c3QgdGhlIHRp
bWluZyBzbyB0aGF0IHRoZSBjdXJyZW50IHRpbWUKKyAgLy8gaXMgZ3JlYXRlciB0aGFuIHRoZSB0
YXJnZXQgZW5kLiBBdCB0aGlzIHBvaW50IHRoZSAidXBkYXRlIHRoZSBmaW5pc2hlZAorICAvLyBz
dGF0ZSIgcHJvY2VkdXJlIHNob3VsZCBydW4gYW5kIGlmIHdlIGZhaWwgdG8gY2hlY2sgZm9yIGEg
cGVuZGluZyB0YXNrCisgIC8vIHdlIHdpbGwgc2V0IHRoZSBob2xkIHRpbWUgdG8gdGhlIHRhcmdl
dCBlbmQsIGkuZS4gNTBtcy4KKyAgYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gNTAgKiBN
U19QRVJfU0VDOworICBhc3NlcnRfZXF1YWxzKGFuaW0uY3VycmVudFRpbWUsIDc1ICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAnSG9sZCB0aW1lIHNob3VsZCBub3QgYmUgdXBkYXRlZCcp
OworfSwgJ1VwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHRoZXJlIGlzIGEgcGVuZGlu
ZyB0YXNrJyk7CisKKy8vIENBU0UgNzogc3RhcnQgdGltZSB1bnJlc29sdmVkCisKKy8vIERpZCBz
ZWVrID0gZmFsc2UKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3Jl
YXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW0uY2FuY2Vs
KCk7CisgIC8vIE1ha2UgaXQgc28gdGhhdCBvbmx5IHRoZSBzdGFydCB0aW1lIGlzIHVucmVzb2x2
ZWQgKHRvIGF2b2lkIG92ZXJsYXBwaW5nCisgIC8vIHdpdGggdGhlIHRlc3QgY2FzZSB3aGVyZSBj
dXJyZW50IHRpbWUgaXMgdW5yZXNvbHZlZCkKKyAgYW5pbS5jdXJyZW50VGltZSA9IDE1MCAqIE1T
X1BFUl9TRUM7CisgIC8vIFRyaWdnZXIgYSBjaGFuZ2UgdGhhdCB3aWxsIGNhdXNlIHRoZSAidXBk
YXRlIHRoZSBmaW5pc2hlZCBzdGF0ZSIKKyAgLy8gcHJvY2VkdXJlIHRvIHJ1biAoZGlkIHNlZWsg
PSBmYWxzZSkuCisgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IDIwMCAqIE1TX1BFUl9T
RUM7CisgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpLnRoZW4oZnVuY3Rpb24oKSB7
CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRUaW1lLCAxNTAgKiBNU19QRVJfU0VDLAor
ICAgICAgICAgICAgICAgICAgJ1RoZSBhbmltYXRpb24gaG9sZCB0aW1lIHNob3VsZCBub3QgYmUg
dXBkYXRlZCcpOworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5zdGFydFRpbWUsIG51bGwsCisgICAg
ICAgICAgICAgICAgICAnVGhlIGFuaW1hdGlvbiBzdGFydCB0aW1lIHNob3VsZCBub3QgYmUgdXBk
YXRlZCcpOworICB9KTsKK30sICdVcGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBzdGFy
dCB0aW1lIGlzIHVucmVzb2x2ZWQgYW5kJworICAgKyAnIGRpZCBzZWVrID0gZmFsc2UnKTsKKwor
Ly8gRGlkIHNlZWsgPSB0cnVlCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVh
dGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbS5jYW5jZWwo
KTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDE1MCAqIE1TX1BFUl9TRUM7CisgIC8vIFRyaWdnZXIg
YSBjaGFuZ2UgdGhhdCB3aWxsIGNhdXNlIHRoZSAidXBkYXRlIHRoZSBmaW5pc2hlZCBzdGF0ZSIK
KyAgLy8gcHJvY2VkdXJlIHRvIHJ1bi4KKyAgYW5pbS5jdXJyZW50VGltZSA9IDUwICogTVNfUEVS
X1NFQzsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRUaW1lLCA1MCAqIE1TX1BFUl9TRUMs
CisgICAgICAgICAgICAgICAgJ1RoZSBhbmltYXRpb24gaG9sZCB0aW1lIHNob3VsZCBub3QgYmUg
dXBkYXRlZCcpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uc3RhcnRUaW1lLCBudWxsLAorICAgICAg
ICAgICAgICAgICdUaGUgYW5pbWF0aW9uIHN0YXJ0IHRpbWUgc2hvdWxkIG5vdCBiZSB1cGRhdGVk
Jyk7Cit9LCAnVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gc3RhcnQgdGltZSBpcyB1
bnJlc29sdmVkIGFuZCcKKyAgICsgJyBkaWQgc2VlayA9IHRydWUnKTsKKworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy8vCisvLyBURVNUUyBGT1IgUlVOTklORyBGSU5JU0ggTk9USUZJQ0FUSU9OIFNURVBTCisv
LworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKworZnVuY3Rpb24gd2FpdEZvckZpbmlzaEV2ZW50QW5kUHJvbWlz
ZShhbmltYXRpb24pIHsKKyAgdmFyIGV2ZW50UHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsKKyAgICBhbmltYXRpb24ub25maW5pc2ggPSBmdW5jdGlvbigpIHsgcmVzb2x2
ZSgpOyB9CisgIH0pOworICByZXR1cm4gUHJvbWlzZS5hbGwoW2V2ZW50UHJvbWlzZSwgYW5pbWF0
aW9uLmZpbmlzaGVkXSk7Cit9CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBh
bmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxKTsKKyAgYW5pbWF0aW9uLm9u
ZmluaXNoID0KKyAgICB0LnVucmVhY2hlZF9mdW5jKCdTZWVraW5nIHRvIGZpbmlzaCBzaG91bGQg
bm90IGZpcmUgZmluaXNoIGV2ZW50Jyk7CisgIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKAorICAg
IHQudW5yZWFjaGVkX2Z1bmMoJ1NlZWtpbmcgdG8gZmluaXNoIHNob3VsZCBub3QgcmVzb2x2ZSBm
aW5pc2hlZCBwcm9taXNlJykpOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxOworICBhbmlt
YXRpb24uY3VycmVudFRpbWUgPSAwOworICBhbmltYXRpb24ucGF1c2UoKTsKKyAgcmV0dXJuIHdh
aXRGb3JBbmltYXRpb25GcmFtZXMoMyk7Cit9LCAnRmluaXNoIG5vdGlmaWNhdGlvbiBzdGVwcyBk
b25cJ3QgcnVuIHdoZW4gdGhlIGFuaW1hdGlvbiBzZWVrcyB0byBmaW5pc2gnCisgICArICcgYW5k
IHRoZW4gc2Vla3MgYmFjayBhZ2FpbicpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7CisgIHJldHVy
biBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gd2FpdEZvckZp
bmlzaEV2ZW50QW5kUHJvbWlzZShhbmltYXRpb24pOworICB9KTsKK30sICdGaW5pc2ggbm90aWZp
Y2F0aW9uIHN0ZXBzIHJ1biB3aGVuIHRoZSBhbmltYXRpb24gY29tcGxldGVzIG5vcm1hbGx5Jyk7
CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVE
aXYodCkuYW5pbWF0ZShudWxsLCAxKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1
bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwOworICAgIHJldHVybiB3
YWl0Rm9yRmluaXNoRXZlbnRBbmRQcm9taXNlKGFuaW1hdGlvbik7CisgIH0pOworfSwgJ0Zpbmlz
aCBub3RpZmljYXRpb24gc3RlcHMgcnVuIHdoZW4gdGhlIGFuaW1hdGlvbiBzZWVrcyBwYXN0IGZp
bmlzaCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0g
Y3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7CisgIHJldHVybiBhbmltYXRpb24ucmVhZHku
dGhlbihmdW5jdGlvbigpIHsKKyAgICAvLyBSZWdpc3RlciBmb3Igbm90aWZpY2F0aW9ucyBub3cg
c2luY2Ugb25jZSB3ZSBzZWVrIGF3YXkgZnJvbSBiZWluZworICAgIC8vIGZpbmlzaGVkIHRoZSAn
ZmluaXNoZWQnIHByb21pc2Ugd2lsbCBiZSByZXBsYWNlZC4KKyAgICB2YXIgZmluaXNoTm90aWZp
Y2F0aW9uU3RlcHMgPSB3YWl0Rm9yRmluaXNoRXZlbnRBbmRQcm9taXNlKGFuaW1hdGlvbik7Cisg
ICAgYW5pbWF0aW9uLmZpbmlzaCgpOworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDA7Cisg
ICAgYW5pbWF0aW9uLnBhdXNlKCk7CisgICAgcmV0dXJuIGZpbmlzaE5vdGlmaWNhdGlvblN0ZXBz
OworICB9KTsKK30sICdGaW5pc2ggbm90aWZpY2F0aW9uIHN0ZXBzIHJ1biB3aGVuIHRoZSBhbmlt
YXRpb24gY29tcGxldGVzIHdpdGggLmZpbmlzaCgpLCcKKyAgICsgJyBldmVuIGlmIHdlIHRoZW4g
c2VlayBhd2F5Jyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRp
b24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxKTsKKyAgdmFyIGluaXRpYWxGaW5pc2hl
ZFByb21pc2UgPSBhbmltYXRpb24uZmluaXNoZWQ7CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5maW5p
c2hlZC50aGVuKGZ1bmN0aW9uKHRhcmdldCkgeworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9
IDA7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoaW5pdGlhbEZpbmlzaGVkUHJvbWlzZSwgYW5pbWF0
aW9uLmZpbmlzaGVkKTsKKyAgfSk7Cit9LCAnQW5pbWF0aW9uIGZpbmlzaGVkIHByb21pc2UgaXMg
cmVwbGFjZWQgYWZ0ZXIgc2Vla2luZyBiYWNrIHRvIHN0YXJ0Jyk7CisKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxs
LCAxKTsKKyAgdmFyIGluaXRpYWxGaW5pc2hlZFByb21pc2UgPSBhbmltYXRpb24uZmluaXNoZWQ7
CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKHRhcmdldCkgewor
ICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoaW5pdGlhbEZpbmlz
aGVkUHJvbWlzZSwgYW5pbWF0aW9uLmZpbmlzaGVkKTsKKyAgfSk7Cit9LCAnQW5pbWF0aW9uIGZp
bmlzaGVkIHByb21pc2UgaXMgcmVwbGFjZWQgYWZ0ZXIgcmVwbGF5aW5nIGZyb20gc3RhcnQnKTsK
KworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYo
dCkuYW5pbWF0ZShudWxsLCAxKTsKKyAgYW5pbWF0aW9uLm9uZmluaXNoID0gZnVuY3Rpb24oZXZl
bnQpIHsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAwOworICAgIGFuaW1hdGlvbi5vbmZp
bmlzaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICB0LmRvbmUoKTsKKyAgICB9OworICB9Owor
fSwgJ0FuaW1hdGlvbiBmaW5pc2ggZXZlbnQgaXMgZmlyZWQgYWdhaW4gYWZ0ZXIgc2Vla2luZyBi
YWNrIHRvIHN0YXJ0Jyk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0
aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7CisgIGFuaW1hdGlvbi5vbmZpbmlz
aCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgYW5pbWF0aW9uLnBsYXkoKTsKKyAgICBhbmltYXRp
b24ub25maW5pc2ggPSBmdW5jdGlvbihldmVudCkgeworICAgICAgdC5kb25lKCk7CisgICAgfTsK
KyAgfTsKK30sICdBbmltYXRpb24gZmluaXNoIGV2ZW50IGlzIGZpcmVkIGFnYWluIGFmdGVyIHJl
cGxheWluZyBmcm9tIHN0YXJ0Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL3RpbWUtdHJh
bnNmb3JtYXRpb25zL3RyYW5zZm9ybWVkLXByb2dyZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC90aW1lLXRyYW5zZm9ybWF0
aW9ucy90cmFuc2Zvcm1lZC1wcm9ncmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA5YzNj
NDQwZmZlNGVkMTY2Mzg1NzYxZWJhNjQzMDZiNTk3N2I3NAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC90aW1lLXRyYW5z
Zm9ybWF0aW9ucy90cmFuc2Zvcm1lZC1wcm9ncmVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
MCBAQAorCitGQUlMIFRyYW5zZm9ybWVkIHByb2dyZXNzIGZvciBzdGVwLXN0YXJ0IGZ1bmN0aW9u
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4n
KQorRkFJTCBUcmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3Igc3RlcHMoMSwgc3RhcnQpIGZ1bmN0aW9u
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4n
KQorRkFJTCBUcmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3Igc3RlcHMoMiwgc3RhcnQpIGZ1bmN0aW9u
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4n
KQorRkFJTCBUcmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3Igc3RlcC1lbmQgZnVuY3Rpb24gdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlM
IFRyYW5zZm9ybWVkIHByb2dyZXNzIGZvciBzdGVwcygxKSBmdW5jdGlvbiB1bmRlZmluZWQgaXMg
bm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgVHJhbnNm
b3JtZWQgcHJvZ3Jlc3MgZm9yIHN0ZXBzKDEsIGVuZCkgZnVuY3Rpb24gdW5kZWZpbmVkIGlzIG5v
dCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIFRyYW5zZm9y
bWVkIHByb2dyZXNzIGZvciBzdGVwcygyLCBlbmQpIGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3Qg
YSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBUcmFuc2Zvcm1l
ZCBwcm9ncmVzcyBmb3IgZnJhbWVzIGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlv
biAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBUcmFuc2Zvcm1lZCBwcm9ncmVz
cyBmb3IgbGluZWFyIGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAn
Li4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBUcmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3IgZWFz
ZSBmdW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5h
bmltYXRlLi4uJykKK0ZBSUwgVHJhbnNmb3JtZWQgcHJvZ3Jlc3MgZm9yIGVhc2UtaW4gZnVuY3Rp
b24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4u
LicpCitGQUlMIFRyYW5zZm9ybWVkIHByb2dyZXNzIGZvciBlYXNlLWluLW91dCBmdW5jdGlvbiB1
bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykK
K0ZBSUwgVHJhbnNmb3JtZWQgcHJvZ3Jlc3MgZm9yIGVhc2Utb3V0IGZ1bmN0aW9uIHVuZGVmaW5l
ZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBU
cmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3IgZWFzaW5nIGZ1bmN0aW9uIHdoaWNoIHByb2R1Y2VzIHZh
bHVlcyBncmVhdGVyIHRoYW4gMSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4u
LnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgVHJhbnNmb3JtZWQgcHJvZ3Jlc3MgZm9yIGVhc2lu
ZyBmdW5jdGlvbiB3aGljaCBwcm9kdWNlcyB2YWx1ZXMgbGVzcyB0aGFuIDEgdW5kZWZpbmVkIGlz
IG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIFRlc3Qg
Ym91bmRzIHBvaW50IG9mIHN0ZXAtc3RhcnQgZWFzaW5nIHRhcmdldC5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMuZWZmZWN0KScsICd0
YXJnZXQuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGJvdW5kcyBwb2ludCBvZiBz
dGVwLXN0YXJ0IGVhc2luZyB3aXRoIHJldmVyc2UgZGlyZWN0aW9uIHRhcmdldC5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMuZWZmZWN0
KScsICd0YXJnZXQuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGJvdW5kcyBwb2lu
dCBvZiBzdGVwLXN0YXJ0IGVhc2luZyB3aXRoIGl0ZXJhdGlvblN0YXJ0IG5vdCBhdCBhIHRyYW5z
aXRpb24gcG9pbnQgdGFyZ2V0LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0
LmFuaW1hdGUobnVsbCwgb3B0aW9ucy5lZmZlY3QpJywgJ3RhcmdldC5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIFRlc3QgYm91bmRzIHBvaW50IG9mIHN0ZXAtc3RhcnQgZWFzaW5nIHdpdGgg
aXRlcmF0aW9uU3RhcnQgYW5kIGRlbGF5IHRhcmdldC5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMuZWZmZWN0KScsICd0YXJnZXQuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGJvdW5kcyBwb2ludCBvZiBzdGVwLXN0YXJ0
IGVhc2luZyB3aXRoIGl0ZXJhdGlvblN0YXJ0IGFuZCByZXZlcnNlIGRpcmVjdGlvbiB0YXJnZXQu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYW5pbWF0ZShudWxsLCBvcHRp
b25zLmVmZmVjdCknLCAndGFyZ2V0LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBi
b3VuZHMgcG9pbnQgb2Ygc3RlcCg0LCBzdGFydCkgZWFzaW5nIHdpdGggaXRlcmF0aW9uU3RhcnQg
MC43NSBhbmQgZGVsYXkgdGFyZ2V0LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFy
Z2V0LmFuaW1hdGUobnVsbCwgb3B0aW9ucy5lZmZlY3QpJywgJ3RhcmdldC5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgYm91bmRzIHBvaW50IG9mIHN0ZXAtc3RhcnQgZWFzaW5nIHdp
dGggYWx0ZXJuYXRlIGRpcmVjdGlvbiB0YXJnZXQuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0YXJnZXQuYW5pbWF0ZShudWxsLCBvcHRpb25zLmVmZmVjdCknLCAndGFyZ2V0LmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBib3VuZHMgcG9pbnQgb2Ygc3RlcC1zdGFydCBl
YXNpbmcgd2l0aCBhbHRlcm5hdGUtcmV2ZXJzZSBkaXJlY3Rpb24gdGFyZ2V0LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0LmFuaW1hdGUobnVsbCwgb3B0aW9ucy5lZmZlY3Qp
JywgJ3RhcmdldC5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgYm91bmRzIHBvaW50
IG9mIHN0ZXAtZW5kIGVhc2luZyB0YXJnZXQuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0YXJnZXQuYW5pbWF0ZShudWxsLCBvcHRpb25zLmVmZmVjdCknLCAndGFyZ2V0LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBib3VuZHMgcG9pbnQgb2Ygc3RlcC1lbmQgZWFzaW5n
IHdpdGggaXRlcmF0aW9uU3RhcnQgYW5kIGRlbGF5IHRhcmdldC5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMuZWZmZWN0KScsICd0YXJn
ZXQuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGJvdW5kcyBwb2ludCBvZiBzdGVw
LWVuZCBlYXNpbmcgd2l0aCBpdGVyYXRpb25TdGFydCBub3QgYXQgYSB0cmFuc2l0aW9uIHBvaW50
IHRhcmdldC5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hbmltYXRlKG51
bGwsIG9wdGlvbnMuZWZmZWN0KScsICd0YXJnZXQuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBUZXN0IGJvdW5kcyBwb2ludCBvZiBmcmFtZXMgZWFzaW5nIHRhcmdldC5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMuZWZmZWN0KScs
ICd0YXJnZXQuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGJvdW5kcyBwb2ludCBv
ZiBmcmFtZXMgZWFzaW5nIHdpdGggaXRlcmF0aW9uU3RhcnQgYW5kIGRlbGF5IHRhcmdldC5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMu
ZWZmZWN0KScsICd0YXJnZXQuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvdGltZS10cmFu
c2Zvcm1hdGlvbnMvdHJhbnNmb3JtZWQtcHJvZ3Jlc3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC90aW1lLXRyYW5zZm9ybWF0aW9ucy90cmFu
c2Zvcm1lZC1wcm9ncmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjYTI3Y2Y1YWY4YzZhZjk1YjVmYzg1
NjNkMGRmOTg2YjllZDZiMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvdGltZS10cmFuc2Zvcm1hdGlvbnMvdHJhbnNm
b3JtZWQtcHJvZ3Jlc3MuaHRtbApAQCAtMCwwICsxLDMwOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciB0aGUgdHJhbnNmb3JtZWQgcHJv
Z3Jlc3M8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vd2ViLWFuaW1hdGlvbnMvI2NhbGN1bGF0aW5nLXRoZS10cmFuc2Zvcm1lZC1wcm9ncmVzcyI+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2Vhc2luZy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImxvZyI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3Ry
aWN0JzsKKworZ0Vhc2luZ1Rlc3RzLmZvckVhY2gocGFyYW1zID0+IHsKKyAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgY29uc3QgdGFyZ2V0ID0gY3JlYXRlRGl2KHQpOworICAgIGNvbnN0IGFuaW0g
ICA9IHRhcmdldC5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEwMDAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAnZm9yd2FyZHMnLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiBwYXJhbXMuZWFzaW5nIH0p
OworCisgICAgWyAwLCAyNTAsIDUwMCwgNzUwLCAxMDAwIF0uZm9yRWFjaChzYW1wbGVUaW1lID0+
IHsKKyAgICAgIGFuaW0uY3VycmVudFRpbWUgPSBzYW1wbGVUaW1lOworICAgICAgY29uc3QgcG9y
dGlvbiA9IHNhbXBsZVRpbWUgLyBhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmR1cmF0
aW9uOworICAgICAgY29uc3QgZXhwZWN0ZWRQcm9ncmVzcyA9IHBhcmFtcy5lYXNpbmdGdW5jdGlv
bihwb3J0aW9uKTsKKyAgICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENv
bXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBl
Y3RlZFByb2dyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wMSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdUaGUgcHJvZ3Jlc3Mgc2hvdWxkIGJlIGFwcHJveGltYXRlbHkg
JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZFByb2dyZXNzICsgYCBhdCAk
e3NhbXBsZVRpbWV9bXNgKTsKKyAgICB9KTsKKyAgfSwgJ1RyYW5zZm9ybWVkIHByb2dyZXNzIGZv
ciAnICsgcGFyYW1zLmRlc2MpOworfSk7CisKKy8vIEFkZGl0aW9uYWwgdGVzdHMgZm9yIHZhcmlv
dXMgYm91bmRhcnkgY29uZGl0aW9ucyBvZiBzdGVwIHRpbWluZyBmdW5jdGlvbnMgYW5kCisvLyBm
cmFtZXMgdGltaW5nIGZ1bmN0aW9ucy4KKwordmFyIGdTdGVwQW5kRnJhbWVzVGltaW5nRnVuY3Rp
b25UZXN0cyA9IFsKKyAgeworICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBib3VuZHMgcG9pbnQgb2Yg
c3RlcC1zdGFydCBlYXNpbmcnLAorICAgIGVmZmVjdDogICAgIHsKKyAgICAgICAgICAgICAgICAg
IGRlbGF5OiAxMDAwLAorICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDAsCisgICAgICAg
ICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdzdGVw
cygyLCBzdGFydCknCisgICAgICAgICAgICAgICAgfSwKKyAgICBjb25kaXRpb25zOiBbCisgICAg
ICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVzczogMCB9LAorICAgICAg
ICAgICAgICAgICAgeyBjdXJyZW50VGltZTogOTk5LCAgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAg
ICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDAsIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAg
ICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE0OTksIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAg
ICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE1MDAsIHByb2dyZXNzOiAxIH0sCisgICAgICAgICAg
ICAgICAgICB7IGN1cnJlbnRUaW1lOiAyMDAwLCBwcm9ncmVzczogMSB9CisgICAgICAgICAgICAg
ICAgXQorICB9LAorICB7CisgICAgZGVzY3JpcHRpb246ICdUZXN0IGJvdW5kcyBwb2ludCBvZiBz
dGVwLXN0YXJ0IGVhc2luZyB3aXRoIHJldmVyc2UgZGlyZWN0aW9uJywKKyAgICBlZmZlY3Q6ICAg
ICB7CisgICAgICAgICAgICAgICAgICBkZWxheTogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGR1
cmF0aW9uOiAxMDAwLAorICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAg
ICAgICAgICAgZGlyZWN0aW9uOiAncmV2ZXJzZScsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6
ICdzdGVwcygyLCBzdGFydCknCisgICAgICAgICAgICAgICAgfSwKKyAgICBjb25kaXRpb25zOiBb
CisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVzczogMSB9LAor
ICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTAwMSwgcHJvZ3Jlc3M6IDEgfSwKKyAg
ICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE1MDAsIHByb2dyZXNzOiAxIH0sCisgICAg
ICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNTAxLCBwcm9ncmVzczogMC41IH0sCisgICAg
ICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAyMDAwLCBwcm9ncmVzczogMCB9LAorICAgICAg
ICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjUwMCwgcHJvZ3Jlc3M6IDAgfQorICAgICAgICAg
ICAgICAgIF0KKyAgfSwKKyAgeworICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBib3VuZHMgcG9pbnQg
b2Ygc3RlcC1zdGFydCBlYXNpbmcgJyArCisgICAgICAgICAgICAgICAgICd3aXRoIGl0ZXJhdGlv
blN0YXJ0IG5vdCBhdCBhIHRyYW5zaXRpb24gcG9pbnQnLAorICAgIGVmZmVjdDogICAgIHsKKyAg
ICAgICAgICAgICAgICAgIGRlbGF5OiAxMDAwLAorICAgICAgICAgICAgICAgICAgZHVyYXRpb246
IDEwMDAsCisgICAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAg
ICBpdGVyYXRpb25TdGFydDogMC4yNSwKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ3N0ZXBz
KDIsIHN0YXJ0KScKKyAgICAgICAgICAgICAgICB9LAorICAgIGNvbmRpdGlvbnM6IFsKKyAgICAg
ICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDAsICAgIHByb2dyZXNzOiAwLjUgfSwKKyAgICAg
ICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDk5OSwgIHByb2dyZXNzOiAwLjUgfSwKKyAgICAg
ICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDAsIHByb2dyZXNzOiAwLjUgfSwKKyAgICAg
ICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEyNDksIHByb2dyZXNzOiAwLjUgfSwKKyAgICAg
ICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEyNTAsIHByb2dyZXNzOiAxIH0sCisgICAgICAg
ICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNzQ5LCBwcm9ncmVzczogMSB9LAorICAgICAgICAg
ICAgICAgICAgeyBjdXJyZW50VGltZTogMTc1MCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAg
ICAgICAgICAgeyBjdXJyZW50VGltZTogMjAwMCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAg
ICAgICAgICAgeyBjdXJyZW50VGltZTogMjUwMCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAg
ICAgICAgIF0KKyAgfSwKKyAgeworICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBib3VuZHMgcG9pbnQg
b2Ygc3RlcC1zdGFydCBlYXNpbmcgJyArCisgICAgICAgICAgICAgICAgICd3aXRoIGl0ZXJhdGlv
blN0YXJ0IGFuZCBkZWxheScsCisgICAgZWZmZWN0OiAgICAgeworICAgICAgICAgICAgICAgICAg
ZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAg
ICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0
OiAwLjUsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdzdGVwcygyLCBzdGFydCknCisgICAg
ICAgICAgICAgICAgfSwKKyAgICBjb25kaXRpb25zOiBbCisgICAgICAgICAgICAgICAgICB7IGN1
cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1
cnJlbnRUaW1lOiA5OTksICBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1
cnJlbnRUaW1lOiAxMDAwLCBwcm9ncmVzczogMSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJy
ZW50VGltZTogMTQ5OSwgcHJvZ3Jlc3M6IDEgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDE1MDAsIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDIwMDAsIHByb2dyZXNzOiAxIH0KKyAgICAgICAgICAgICAgICBdCisgIH0sCisgIHsK
KyAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgYm91bmRzIHBvaW50IG9mIHN0ZXAtc3RhcnQgZWFzaW5n
ICcgKworICAgICAgICAgICAgICAgICAnd2l0aCBpdGVyYXRpb25TdGFydCBhbmQgcmV2ZXJzZSBk
aXJlY3Rpb24nLAorICAgIGVmZmVjdDogICAgIHsKKyAgICAgICAgICAgICAgICAgIGRlbGF5OiAx
MDAwLAorICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDAsCisgICAgICAgICAgICAgICAg
ICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMC41LAor
ICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiAncmV2ZXJzZScsCisgICAgICAgICAgICAgICAg
ICBlYXNpbmc6ICdzdGVwcygyLCBzdGFydCknCisgICAgICAgICAgICAgICAgfSwKKyAgICBjb25k
aXRpb25zOiBbCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVz
czogMSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTAwMCwgcHJvZ3Jlc3M6
IDEgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDEsIHByb2dyZXNzOiAw
LjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE0OTksIHByb2dyZXNzOiAw
LjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE1MDAsIHByb2dyZXNzOiAx
IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxOTk5LCBwcm9ncmVzczogMSB9
LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjAwMCwgcHJvZ3Jlc3M6IDAuNSB9
LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjUwMCwgcHJvZ3Jlc3M6IDAuNSB9
CisgICAgICAgICAgICAgICAgXQorICB9LAorICB7CisgICAgZGVzY3JpcHRpb246ICdUZXN0IGJv
dW5kcyBwb2ludCBvZiBzdGVwKDQsIHN0YXJ0KSBlYXNpbmcgJyArCisgICAgICAgICAgICAgICAg
ICd3aXRoIGl0ZXJhdGlvblN0YXJ0IDAuNzUgYW5kIGRlbGF5JywKKyAgICBlZmZlY3Q6ICAgICB7
CisgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGZp
bGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgIGRlbGF5OiAxMDAwLAorICAgICAgICAgICAg
ICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAuNzUsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdz
dGVwcyg0LCBzdGFydCknCisgICAgICAgICAgICAgICAgfSwKKyAgICBjb25kaXRpb25zOiBbCisg
ICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVzczogMC43NSB9LAor
ICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogOTk5LCAgcHJvZ3Jlc3M6IDAuNzUgfSwK
KyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDAsIHByb2dyZXNzOiAxIH0sCisg
ICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAyMDAwLCBwcm9ncmVzczogMSB9LAorICAg
ICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjUwMCwgcHJvZ3Jlc3M6IDEgfQorICAgICAg
ICAgICAgICAgIF0KKyAgfSwKKyAgeworICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBib3VuZHMgcG9p
bnQgb2Ygc3RlcC1zdGFydCBlYXNpbmcgJyArCisgICAgICAgICAgICAgICAgICd3aXRoIGFsdGVy
bmF0ZSBkaXJlY3Rpb24nLAorICAgIGVmZmVjdDogICAgIHsKKyAgICAgICAgICAgICAgICAgIGR1
cmF0aW9uOiAxMDAwLAorICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAg
ICAgICAgICAgZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAyLAor
ICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDEuNSwKKyAgICAgICAgICAgICAgICAg
IGRpcmVjdGlvbjogJ2FsdGVybmF0ZScsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdzdGVw
cygyLCBzdGFydCknCisgICAgICAgICAgICAgICAgfSwKKyAgICBjb25kaXRpb25zOiBbCisgICAg
ICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVzczogMSB9LAorICAgICAg
ICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTAwMCwgcHJvZ3Jlc3M6IDEgfSwKKyAgICAgICAg
ICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDEsIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAg
ICAgICAgICAgIHsgY3VycmVudFRpbWU6IDI5OTksIHByb2dyZXNzOiAxIH0sCisgICAgICAgICAg
ICAgICAgICB7IGN1cnJlbnRUaW1lOiAzMDAwLCBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAg
ICAgICAgICB7IGN1cnJlbnRUaW1lOiAzNTAwLCBwcm9ncmVzczogMC41IH0KKyAgICAgICAgICAg
ICAgICBdCisgIH0sCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgYm91bmRzIHBvaW50IG9m
IHN0ZXAtc3RhcnQgZWFzaW5nICcgKworICAgICAgICAgICAgICAgICAnd2l0aCBhbHRlcm5hdGUt
cmV2ZXJzZSBkaXJlY3Rpb24nLAorICAgIGVmZmVjdDogICAgIHsKKyAgICAgICAgICAgICAgICAg
IGR1cmF0aW9uOiAxMDAwLAorICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAg
ICAgICAgICAgICAgZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAy
LAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAuNSwKKyAgICAgICAgICAgICAg
ICAgIGRpcmVjdGlvbjogJ2FsdGVybmF0ZS1yZXZlcnNlJywKKyAgICAgICAgICAgICAgICAgIGVh
c2luZzogJ3N0ZXBzKDIsIHN0YXJ0KScKKyAgICAgICAgICAgICAgICB9LAorICAgIGNvbmRpdGlv
bnM6IFsKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDAsICAgIHByb2dyZXNzOiAx
IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxMDAwLCBwcm9ncmVzczogMSB9
LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTAwMSwgcHJvZ3Jlc3M6IDAuNSB9
LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjk5OSwgcHJvZ3Jlc3M6IDEgfSwK
KyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDMwMDAsIHByb2dyZXNzOiAwLjUgfSwK
KyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDM1MDAsIHByb2dyZXNzOiAwLjUgfQor
ICAgICAgICAgICAgICAgIF0KKyAgfSwKKyAgeworICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBib3Vu
ZHMgcG9pbnQgb2Ygc3RlcC1lbmQgZWFzaW5nJywKKyAgICBlZmZlY3Q6ICAgICB7CisgICAgICAg
ICAgICAgICAgICBkZWxheTogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAw
LAorICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgZWFz
aW5nOiAnc3RlcHMoMiwgZW5kKScKKyAgICAgICAgICAgICAgICB9LAorICAgIGNvbmRpdGlvbnM6
IFsKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDAsICAgIHByb2dyZXNzOiAwIH0s
CisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiA5OTksICBwcm9ncmVzczogMCB9LAor
ICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTAwMCwgcHJvZ3Jlc3M6IDAgfSwKKyAg
ICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE0OTksIHByb2dyZXNzOiAwIH0sCisgICAg
ICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNTAwLCBwcm9ncmVzczogMC41IH0sCisgICAg
ICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAyMDAwLCBwcm9ncmVzczogMSB9CisgICAgICAg
ICAgICAgICAgXQorICB9LAorICB7CisgICAgZGVzY3JpcHRpb246ICdUZXN0IGJvdW5kcyBwb2lu
dCBvZiBzdGVwLWVuZCBlYXNpbmcgJyArCisgICAgICAgICAgICAgICAgICd3aXRoIGl0ZXJhdGlv
blN0YXJ0IGFuZCBkZWxheScsCisgICAgZWZmZWN0OiAgICAgeworICAgICAgICAgICAgICAgICAg
ZHVyYXRpb246IDEwMDAsCisgICAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAg
ICAgICAgICAgICBkZWxheTogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0
OiAwLjUsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdzdGVwcygyLCBlbmQpJworICAgICAg
ICAgICAgICAgIH0sCisgICAgY29uZGl0aW9uczogWworICAgICAgICAgICAgICAgICAgeyBjdXJy
ZW50VGltZTogMCwgICAgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDk5OSwgIHByb2dyZXNzOiAwIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRU
aW1lOiAxMDAwLCBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRU
aW1lOiAxNDk5LCBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRU
aW1lOiAxNTAwLCBwcm9ncmVzczogMCB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGlt
ZTogMTk5OSwgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6
IDIwMDAsIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6
IDI1MDAsIHByb2dyZXNzOiAwLjUgfQorICAgICAgICAgICAgICAgIF0KKyAgfSwKKyAgeworICAg
IGRlc2NyaXB0aW9uOiAnVGVzdCBib3VuZHMgcG9pbnQgb2Ygc3RlcC1lbmQgZWFzaW5nICcgKwor
ICAgICAgICAgICAgICAgICAnd2l0aCBpdGVyYXRpb25TdGFydCBub3QgYXQgYSB0cmFuc2l0aW9u
IHBvaW50JywKKyAgICBlZmZlY3Q6ICAgICB7CisgICAgICAgICAgICAgICAgICBkZWxheTogMTAw
MCwKKyAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwLAorICAgICAgICAgICAgICAgICAg
ZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAuNzUsCisg
ICAgICAgICAgICAgICAgICBlYXNpbmc6ICdzdGVwcygyLCBlbmQpJworICAgICAgICAgICAgICAg
IH0sCisgICAgY29uZGl0aW9uczogWworICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTog
MCwgICAgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTog
OTk5LCAgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTog
MTAwMCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTog
MTI0OSwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTog
MTI1MCwgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE3
NDksIHByb2dyZXNzOiAwIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNzUw
LCBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAyMDAw
LCBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAyNTAw
LCBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgXQorICB9LAorICB7CisgICAgZGVz
Y3JpcHRpb246ICdUZXN0IGJvdW5kcyBwb2ludCBvZiBmcmFtZXMgZWFzaW5nJywKKyAgICBlZmZl
Y3Q6ICAgICB7CisgICAgICAgICAgICAgICAgICBkZWxheTogMTAwMCwKKyAgICAgICAgICAgICAg
ICAgIGR1cmF0aW9uOiAxMDAwLAorICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAg
ICAgICAgICAgICAgICAgZWFzaW5nOiAnZnJhbWVzKDIpJworICAgICAgICAgICAgICAgIH0sCisg
ICAgY29uZGl0aW9uczogWworICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMCwgICAg
cHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDAsIHBy
b2dyZXNzOiAwIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNDk5LCBwcm9n
cmVzczogMCB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTUwMCwgcHJvZ3Jl
c3M6IDEgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDIwMDAsIHByb2dyZXNz
OiAxIH0KKyAgICAgICAgICAgICAgICBdCisgIH0sCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ1Rl
c3QgYm91bmRzIHBvaW50IG9mIGZyYW1lcyBlYXNpbmcgJyArCisgICAgICAgICAgICAgICAgICd3
aXRoIGl0ZXJhdGlvblN0YXJ0IGFuZCBkZWxheScsCisgICAgZWZmZWN0OiAgICAgeworICAgICAg
ICAgICAgICAgICAgZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAw
MCwKKyAgICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgIGl0
ZXJhdGlvblN0YXJ0OiAwLjUsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdmcmFtZXMoMikn
CisgICAgICAgICAgICAgICAgfSwKKyAgICBjb25kaXRpb25zOiBbCisgICAgICAgICAgICAgICAg
ICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVzczogMSB9LAorICAgICAgICAgICAgICAgICAg
eyBjdXJyZW50VGltZTogMTAwMCwgcHJvZ3Jlc3M6IDEgfSwKKyAgICAgICAgICAgICAgICAgIHsg
Y3VycmVudFRpbWU6IDE0OTksIHByb2dyZXNzOiAxIH0sCisgICAgICAgICAgICAgICAgICB7IGN1
cnJlbnRUaW1lOiAxNTAwLCBwcm9ncmVzczogMCB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJy
ZW50VGltZTogMTk5OSwgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDIwMDAsIHByb2dyZXNzOiAxIH0KKyAgICAgICAgICAgICAgICBdCisgIH0KK107CisK
K2dTdGVwQW5kRnJhbWVzVGltaW5nRnVuY3Rpb25UZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKG9wdGlv
bnMpIHsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIHRhcmdldCA9IGNyZWF0ZURpdih0
KTsKKyAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUobnVsbCwgb3B0aW9ucy5lZmZl
Y3QpOworICAgIG9wdGlvbnMuY29uZGl0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGNvbmRpdGlvbikg
eworICAgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gY29uZGl0aW9uLmN1cnJlbnRUaW1lOwor
ICAgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCku
cHJvZ3Jlc3MsCisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbi5wcm9ncmVzcywKKyAgICAg
ICAgICAgICAgICAgICAgJ1Byb2dyZXNzIGF0ICcgKyBhbmltYXRpb24uY3VycmVudFRpbWUgKyAn
bXMnKTsKKyAgICB9KTsKKyAgfSwgb3B0aW9ucy5kZXNjcmlwdGlvbik7Cit9KTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325351</attachid>
            <date>2017-10-30 08:36:55 -0700</date>
            <delta_ts>2017-10-30 09:15:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-178999-20171030163630.patch</filename>
            <type>text/plain</type>
            <size>769748</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0MTgxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWFmZGJkN2EyZDYxMGE2YzAzNDMz
OWQxMWQ2ZGY2YTFhNmU4Nzk4Ny4uYjFhNWE0ZjAxYzk4OGE5ODhkZTk0MzM1NDFjYjI0ZDllZTkz
NTVkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3MCBAQAogMjAxNy0xMC0zMCAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAYXBwbGUuY29tPgogCisgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gQWRkIFdlYiBQ
bGF0Zm9ybSB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc4OTk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAg
ICBUaGUgdmFzdCBtYWpvcml0eSBpcyBmYWlsaW5nLCBhcyBleHBlY3RlZCBkdWUgdG8gdGhlIG5h
c2NlbnQgc3RhdHVzIG9mIG91ciBXZWIgQW5pbWF0aW9ucyBpbXBsZW1lbnRhdGlvbi4KKworICAg
ICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL09XTkVSUzogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvUkVBRE1FLm1kOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FjY3Vt
dWxhdGlvbi1wZXItcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FjY3Vt
dWxhdGlvbi1wZXItcHJvcGVydHkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9hZGRpdGlvbi1wZXIt
cHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FkZGl0aW9uLXBlci1wcm9w
ZXJ0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmlt
YXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2Rpc2NyZXRlLWFuaW1hdGlvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1t
b2RlbC9hbmltYXRpb24tdHlwZXMvZGlzY3JldGUtYW5pbWF0aW9uLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24t
dHlwZXMvaW50ZXJwb2xhdGlvbi1wZXItcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9u
LXR5cGVzL2ludGVycG9sYXRpb24tcGVyLXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMv
cHJvcGVydHktbGlzdC5qczogQWRkZWQuCisgICAgICAgICh0ZXN0QW5pbWF0aW9uU2FtcGxlc1dp
dGhBbnlPcmRlcik6CisgICAgICAgIChpc1N1cHBvcnRlZCk6CisgICAgICAgIChUZXN0S2V5ZnJh
bWUuKToKKyAgICAgICAgKFRlc3RLZXlmcmFtZS5nZXQgT2JqZWN0KToKKyAgICAgICAgKFRlc3RL
ZXlmcmFtZSk6CisgICAgICAgIChnZXQgcHJvcGVydHlUb0lETCk6CisgICAgICAgIChjYWxjRnJv
bVBlcmNlbnRhZ2UpOgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlv
bi1tb2RlbC9hbmltYXRpb24tdHlwZXMvcHJvcGVydHktdHlwZXMuanM6IEFkZGVkLgorICAgICAg
ICAoY29uc3QuZGlzY3JldGVUeXBlLik6CisgICAgICAgIChjb25zdC5kaXNjcmV0ZVR5cGUudGVz
dEludGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3QuZGlzY3JldGVUeXBlLnRlc3RBZGRpdGlv
bk9yQWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmRpc2NyZXRlVHlwZS50ZXN0QWRkaXRp
b24pOgorICAgICAgICAoY29uc3QuZGlzY3JldGVUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAg
ICAgICAoY29uc3QubGVuZ3RoVHlwZS50ZXN0SW50ZXJwb2xhdGlvbik6CisgICAgICAgIChjb25z
dC5sZW5ndGhUeXBlLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0
Lmxlbmd0aFR5cGUudGVzdEFkZGl0aW9uKToKKyAgICAgICAgKGNvbnN0Lmxlbmd0aFR5cGUudGVz
dEFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5sZW5ndGhQYWlyVHlwZS50ZXN0SW50ZXJw
b2xhdGlvbik6CisgICAgICAgIChjb25zdC5sZW5ndGhQYWlyVHlwZS50ZXN0QWRkaXRpb25PckFj
Y3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5sZW5ndGhQYWlyVHlwZS50ZXN0QWRkaXRpb24p
OgorICAgICAgICAoY29uc3QubGVuZ3RoUGFpclR5cGUudGVzdEFjY3VtdWxhdGlvbik6CisgICAg
ICAgIChjb25zdC5wZXJjZW50YWdlVHlwZS50ZXN0SW50ZXJwb2xhdGlvbik6CisgICAgICAgIChj
b25zdC5wZXJjZW50YWdlVHlwZS50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAg
IChjb25zdC5wZXJjZW50YWdlVHlwZS50ZXN0QWRkaXRpb24pOgorICAgICAgICAoY29uc3QucGVy
Y2VudGFnZVR5cGUudGVzdEFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5pbnRlZ2VyVHlw
ZS50ZXN0SW50ZXJwb2xhdGlvbik6CisgICAgICAgIChjb25zdC5pbnRlZ2VyVHlwZS50ZXN0QWRk
aXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5pbnRlZ2VyVHlwZS50ZXN0QWRk
aXRpb24pOgorICAgICAgICAoY29uc3QuaW50ZWdlclR5cGUudGVzdEFjY3VtdWxhdGlvbik6Cisg
ICAgICAgIChjb25zdC5wb3NpdGl2ZUludGVnZXJUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKToKKyAg
ICAgICAgKGNvbnN0LnBvc2l0aXZlSW50ZWdlclR5cGUudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRp
b24pOgorICAgICAgICAoY29uc3QucG9zaXRpdmVJbnRlZ2VyVHlwZS50ZXN0QWRkaXRpb24pOgor
ICAgICAgICAoY29uc3QucG9zaXRpdmVJbnRlZ2VyVHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAg
ICAgICAgKGNvbnN0Lmxlbmd0aFBlcmNlbnRhZ2VPckNhbGNUeXBlLnRlc3RJbnRlcnBvbGF0aW9u
KToKKyAgICAgICAgKGNvbnN0Lmxlbmd0aFBlcmNlbnRhZ2VPckNhbGNUeXBlLnRlc3RBZGRpdGlv
bk9yQWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0Lmxlbmd0aFBlcmNlbnRhZ2VPckNhbGNU
eXBlLnRlc3RBZGRpdGlvbik6CisgICAgICAgIChjb25zdC5sZW5ndGhQZXJjZW50YWdlT3JDYWxj
VHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LnBvc2l0aXZlTnVtYmVyVHlw
ZS50ZXN0SW50ZXJwb2xhdGlvbik6CisgICAgICAgIChjb25zdC5wb3NpdGl2ZU51bWJlclR5cGUu
dGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QucG9zaXRpdmVOdW1i
ZXJUeXBlLnRlc3RBZGRpdGlvbik6CisgICAgICAgIChjb25zdC5wb3NpdGl2ZU51bWJlclR5cGUu
dGVzdEFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5vcGFjaXR5VHlwZS50ZXN0SW50ZXJw
b2xhdGlvbik6CisgICAgICAgIChjb25zdC5vcGFjaXR5VHlwZS50ZXN0QWRkaXRpb25PckFjY3Vt
dWxhdGlvbik6CisgICAgICAgIChjb25zdC5vcGFjaXR5VHlwZS50ZXN0QWRkaXRpb24pOgorICAg
ICAgICAoY29uc3Qub3BhY2l0eVR5cGUudGVzdEFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25z
dC52aXNpYmlsaXR5VHlwZS50ZXN0SW50ZXJwb2xhdGlvbik6CisgICAgICAgIChjb25zdC52aXNp
YmlsaXR5VHlwZS50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC52
aXNpYmlsaXR5VHlwZS50ZXN0QWRkaXRpb24pOgorICAgICAgICAoY29uc3QudmlzaWJpbGl0eVR5
cGUudGVzdEFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5jb2xvclR5cGUudGVzdEludGVy
cG9sYXRpb24pOgorICAgICAgICAoY29uc3QuY29sb3JUeXBlLnRlc3RBZGRpdGlvbk9yQWNjdW11
bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmNvbG9yVHlwZS50ZXN0QWRkaXRpb24pOgorICAgICAg
ICAoY29uc3QuY29sb3JUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QudHJh
bnNmb3JtTGlzdFR5cGUudGVzdEludGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3QudHJhbnNm
b3JtTGlzdFR5cGUudGVzdEFkZGl0aW9uKToKKyAgICAgICAgKGNvbnN0LnRyYW5zZm9ybUxpc3RU
eXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QuZmlsdGVyTGlzdFR5cGUudGVz
dEludGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3QuZmlsdGVyTGlzdFR5cGUudGVzdEFkZGl0
aW9uKToKKyAgICAgICAgKGNvbnN0LmZpbHRlckxpc3RUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgor
ICAgICAgICAoY29uc3QudGV4dFNoYWRvd0xpc3RUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKToKKyAg
ICAgICAgKGNvbnN0LnRleHRTaGFkb3dMaXN0VHlwZS50ZXN0QWRkaXRpb24pOgorICAgICAgICAo
Y29uc3QudGV4dFNoYWRvd0xpc3RUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29u
c3QuYm94U2hhZG93TGlzdFR5cGUudGVzdEludGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3Qu
Ym94U2hhZG93TGlzdFR5cGUudGVzdEFkZGl0aW9uKToKKyAgICAgICAgKGNvbnN0LmJveFNoYWRv
d0xpc3RUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29uc3QucG9zaXRpb25UeXBl
LnRlc3RJbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNvbnN0LnBvc2l0aW9uVHlwZS50ZXN0QWRk
aXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25zdC5wb3NpdGlvblR5cGUudGVzdEFk
ZGl0aW9uKToKKyAgICAgICAgKGNvbnN0LnBvc2l0aW9uVHlwZS50ZXN0QWNjdW11bGF0aW9uKToK
KyAgICAgICAgKGNvbnN0LnJlY3RUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNv
bnN0LnJlY3RUeXBlLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0
LnJlY3RUeXBlLnRlc3RBZGRpdGlvbik6CisgICAgICAgIChjb25zdC5yZWN0VHlwZS50ZXN0QWNj
dW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmRhc2hhcnJheVR5cGUudGVzdEludGVycG9sYXRp
b24pOgorICAgICAgICAoY29uc3QuZGFzaGFycmF5VHlwZS50ZXN0QWRkaXRpb25PckFjY3VtdWxh
dGlvbik6CisgICAgICAgIChjb25zdC5kYXNoYXJyYXlUeXBlLnRlc3RBZGRpdGlvbik6CisgICAg
ICAgIChjb25zdC5kYXNoYXJyYXlUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAgICAoY29u
c3QuZm9udFN0cmV0Y2hUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmZv
bnRTdHJldGNoVHlwZS50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChjb25z
dC5mb250U3RyZXRjaFR5cGUudGVzdEFkZGl0aW9uKToKKyAgICAgICAgKGNvbnN0LmZvbnRTdHJl
dGNoVHlwZS50ZXN0QWNjdW11bGF0aW9uKToKKyAgICAgICAgKGNvbnN0LmZvbnRWYXJpYXRpb25T
ZXR0aW5nc1R5cGUudGVzdEludGVycG9sYXRpb24pOgorICAgICAgICAoY29uc3QuZm9udFZhcmlh
dGlvblNldHRpbmdzVHlwZS50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbik6CisgICAgICAgIChj
b25zdC5mb250VmFyaWF0aW9uU2V0dGluZ3NUeXBlLnRlc3RBZGRpdGlvbik6CisgICAgICAgIChj
b25zdC5mb250VmFyaWF0aW9uU2V0dGluZ3NUeXBlLnRlc3RBY2N1bXVsYXRpb24pOgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9jb21iaW5pbmctZWZm
ZWN0cy9lZmZlY3QtY29tcG9zaXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvY29tYmluaW5nLWVmZmVjdHMv
ZWZmZWN0LWNvbXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1j
b250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLWNvbnRl
eHQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0
aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLW92ZXJsYXBwaW5nLWtleWZy
YW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1vdmVybGFw
cGluZy1rZXlmcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLXRyYW5z
Zm9ybWVkLWRpc3RhbmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZh
bHVlLXRyYW5zZm9ybWVkLWRpc3RhbmNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12
YWx1ZS12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZh
bHVlLXZpc2liaWxpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUv
YW5pbWF0ZS1uby1icm93c2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUt
bm8tYnJvd3NpbmctY29udGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvZ2V0
QW5pbWF0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9nZXRBbmltYXRpb25zLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9u
L2NhbmNlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2NhbmNlbC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9jb25zdHJ1Y3Rv
ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uL2NvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2VmZmVjdC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0aW9uL2VmZmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9maW5pc2gtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbi9maW5pc2guaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmluaXNoZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9maW5p
c2hlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbi9pZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2lkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZGxoYXJuZXNzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL29uY2Fu
Y2VsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb24vb25jYW5jZWwuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vb25maW5pc2gtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbi9vbmZpbmlzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wYXVzZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5p
bWF0aW9uL3BhdXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uL3BsYXlTdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXlTdGF0ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbi9wbGF5YmFja1JhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5YmFja1JhdGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb24vcmVhZHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9yZWFkeS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9zdGFydFRp
bWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9zdGFydFRpbWUuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcv
ZGVsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kZWxheS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVm
ZmVjdFRpbWluZy9kaXJlY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kaXJl
Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZHVyYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlv
bkVmZmVjdFRpbWluZy9kdXJhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9lYXNpbmctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9lYXNpbmcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1p
bmcvZW5kRGVsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9lbmREZWxheS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbkVmZmVjdFRpbWluZy9maWxsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcv
ZmlsbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9nZXRBbmltYXRpb25zLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb25FZmZlY3RUaW1pbmcvZ2V0QW5pbWF0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9n
ZXRDb21wdXRlZFN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZ2V0Q29tcHV0
ZWRTdHlsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9pdGVyYXRpb25TdGFydC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uRWZmZWN0VGltaW5nL2l0ZXJhdGlvblN0YXJ0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGlt
aW5nL2l0ZXJhdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9pdGVyYXRpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlv
blRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvaWRsaGFybmVz
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvaWRsaGFybmVzcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0RvY3VtZW50L2dldEFu
aW1hdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0RvY3VtZW50L2dldEFuaW1hdGlvbnMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudFRpbWVs
aW5lL2NvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudFRpbWVsaW5lL2NvbnN0cnVjdG9yLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
S2V5ZnJhbWVFZmZlY3QvY29tcG9zaXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb21wb3Np
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9LZXlmcmFtZUVmZmVjdC9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qv
Y29uc3RydWN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb3B5LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9L
ZXlmcmFtZUVmZmVjdC9jb3B5LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvZ2V0Q29tcHV0
ZWRUaW1pbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2dldENvbXB1dGVkVGltaW5nLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5
ZnJhbWVFZmZlY3QvaXRlcmF0aW9uQ29tcG9zaXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9p
dGVyYXRpb25Db21wb3NpdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVz
LWFyZ3VtZW50LTAwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZy
YW1lcy1hcmd1bWVudC0wMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVz
LWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZy
YW1lcy1hcmd1bWVudC0wMDIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldFRhcmdldC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0VGFyZ2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eS9jb3B5LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5L2NvcHkt
Y29uc3RydWN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvcmVzb3VyY2VzL2Vhc2luZy10ZXN0cy5qczogQWRkZWQuCisgICAgICAgIChlYXNpbmdGdW5j
dGlvbi5zdGVwU3RhcnQpOgorICAgICAgICAoZWFzaW5nRnVuY3Rpb24uc3RlcEVuZCk6CisgICAg
ICAgIChlYXNpbmdGdW5jdGlvbi5mcmFtZXNUaW1pbmcpOgorICAgICAgICAoZWFzaW5nRnVuY3Rp
b24uY3ViaWNCZXppZXIpOgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Jlc291
cmNlcy9lZmZlY3QtdGVzdHMuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0X2NvbXB1dGVkX3Rp
bWluZ19mb3JfZWFjaF9waGFzZSk6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
cmVzb3VyY2VzL2tleWZyYW1lLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydF9mcmFt
ZV9saXN0c19lcXVhbCk6CisgICAgICAgIChhc3NlcnRfZnJhbWVzX2VxdWFsKToKKyAgICAgICAg
KiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMveGhyLWRvYy5weTogQWRkZWQuCisg
ICAgICAgIChtYWluKToKKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90ZXN0Y29t
bW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKHdpbmRvdy5hc3NlcnRfdGltZXNfZXF1YWwud2luZG93
LmFzc2VydF90aW1lc19lcXVhbCk6CisgICAgICAgIChjcmVhdGVEaXYpOgorICAgICAgICAoY3Jl
YXRlRWxlbWVudCk6CisgICAgICAgIChjcmVhdGVTdHlsZSk6CisgICAgICAgIChjcmVhdGVQc2V1
ZG8pOgorICAgICAgICAoeEZvclQpOgorICAgICAgICAoeUZvclQpOgorICAgICAgICAodEZvclgp
OgorICAgICAgICAocmV0dXJuLmJlemllckNsb3N1cmUpOgorICAgICAgICAoY3ViaWNCZXppZXIp
OgorICAgICAgICAoc3RlcEVuZC5yZXR1cm4uc3RlcEVuZENsb3N1cmUpOgorICAgICAgICAoc3Rl
cEVuZCk6CisgICAgICAgIChzdGVwU3RhcnQucmV0dXJuLnN0ZXBTdGFydENsb3N1cmUpOgorICAg
ICAgICAoc3RlcFN0YXJ0KToKKyAgICAgICAgKGZyYW1lc1RpbWluZy5yZXR1cm4uZnJhbWVzQ2xv
c3VyZSk6CisgICAgICAgIChmcmFtZXNUaW1pbmcpOgorICAgICAgICAod2FpdEZvckFuaW1hdGlv
bkZyYW1lcyk6CisgICAgICAgIChyb3RhdGUzZFRvTWF0cml4M2QpOgorICAgICAgICAocm90YXRl
M2RUb01hdHJpeCk6CisgICAgICAgIChhc3NlcnRfbWF0cml4X2VxdWFscyk6CisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL2Fj
dGl2ZS10aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL2FjdGl2ZS10aW1lLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9h
bmltYXRpb24tZWZmZWN0cy9jdXJyZW50LWl0ZXJhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24t
ZWZmZWN0cy9jdXJyZW50LWl0ZXJhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvbG9jYWwtdGlt
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25z
L3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9sb2NhbC10aW1lLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24t
ZWZmZWN0cy9waGFzZXMtYW5kLXN0YXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9w
aGFzZXMtYW5kLXN0YXRlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvc2ltcGxlLWl0ZXJhdGlvbi1w
cm9ncmVzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9zaW1wbGUtaXRlcmF0aW9uLXBy
b2dyZXNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb25zL2NhbmNlbGluZy1hbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9ucy9jYW5jZWxpbmctYW4tYW5pbWF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL2N1cnJlbnQt
dGltZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL2N1cnJlbnQtdGltZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9m
aW5pc2hpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvZmluaXNoaW5nLWFu
LWFuaW1hdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9u
cy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9wYXVzaW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2Rl
bC9hbmltYXRpb25zL3BhdXNpbmctYW4tYW5pbWF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3BsYXlpbmct
YW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcGxheWluZy1hbi1hbmltYXRpb24u
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbnMvcmV2ZXJzaW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b25zL3JldmVyc2luZy1hbi1hbmltYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRp
b24tc3RhcnQtdGltZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0
YXJ0LXRpbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10YXJnZXQtZWZmZWN0LW9mLWFuLWFuaW1h
dGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtdGFyZ2V0LWVmZmVjdC1vZi1hbi1h
bmltYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10aW1lbGluZS1vZi1hbi1hbmltYXRpb24t
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLXRpbWVsaW5lLW9mLWFuLWFuaW1hdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9ucy91cGRhdGluZy10aGUtZmluaXNoZWQtc3RhdGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9ucy91cGRhdGluZy10aGUtZmluaXNoZWQtc3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL3RpbWUtdHJhbnNmb3JtYXRp
b25zL3RyYW5zZm9ybWVkLXByb2dyZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL3RpbWUtdHJhbnNmb3JtYXRpb25z
L3RyYW5zZm9ybWVkLXByb2dyZXNzLmh0bWw6IEFkZGVkLgorCisyMDE3LTEwLTMwICBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBF
eHBvc2UgdGhlIHBsYXliYWNrUmF0ZSBwcm9wZXJ0eSBvbiBBbmltYXRpb24KICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODkzMQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9PV05FUlMgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9PV05FUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQzOGY1ZTViOWJm
MWU3NmQ1YWFkNDQ2ZWY1ODZhMzcxYjNjM2FmMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL09XTkVSUwpAQCAtMCwwICsxIEBACitAYmlydGxl
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvUkVBRE1F
Lm1kIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvUkVBRE1FLm1kCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFiYzkzMzhjMWYyYzVhODdmMzFiODkwYjQzNDdiOGM3NmZmMWQyZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9SRUFETUUubWQK
QEAgLTAsMCArMSwxMDcgQEAKK1dlYiBBbmltYXRpb25zIFRlc3QgU3VpdGUKKz09PT09PT09PT09
PT09PT09PT09PT09PT0KKworU3BlY2lmaWNhdGlvbjogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dl
Yi1hbmltYXRpb25zLworCisKK0d1aWRlbGluZXMgZm9yIHdyaXRpbmcgdGVzdHMKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiAgIFRyeSB0byBmb2xsb3cgdGhlIHNwZWMgb3V0bGlu
ZSB3aGVyZSBwb3NzaWJsZS4KKworICAgIEZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byB0ZXN0
IHNldHRpbmcgdGhlIHN0YXJ0IHRpbWUsIHlvdSBtaWdodCBiZQorICAgIHRlbXB0ZWQgdG8gcHV0
IGFsbCB0aGUgdGVzdHMgaW46CisKKyAgICA+IGAvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb24vc3RhcnRUaW1lLmh0bWxgCisKKyAgICBIb3dldmVyLCBpbiB0aGUgc3BlYyBtb3N0
IG9mIHRoZSBsb2dpYyBpcyBpbiB0aGUgJmxkcXVvO1NldCB0aGUgYW5pbWF0aW9uCisgICAgc3Rh
cnQgdGltZSZsZHF1bzsgcHJvY2VkdXJlIGluIHRoZSAmbGRxdW87VGltaW5nIG1vZGVsJnJkcXVv
OyBzZWN0aW9uLgorCisgICAgSW5zdGVhZCwgdHJ5IHNvbWV0aGluZyBsaWtlOgorCisgICAgPiAq
ICAgYC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1h
dGlvbi1zdGFydC10aW1lLmh0bWxgPGJyPgorICAgID4gICAgIFRlc3RzIGFsbCB0aGUgYnJhbmNo
ZXMgYW5kIGlucHV0cyB0byB0aGUgcHJvY2VkdXJlIGFzIGRlZmluZWQgaW4gdGhlCisgICAgPiAg
ICAgc3BlYyAodXNpbmcgdGhlIGBBbmltYXRpb24uc3RhcnRUaW1lYCBBUEkpLgorICAgID4gKiAg
IGAvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vc3RhcnRUaW1lLmh0bWxgPGJy
PgorICAgID4gICAgIFRlc3RzIEFQSS1sYXllciBzcGVjaWZpYyBpc3N1ZXMgbGlrZSBtYXBwaW5n
IHVucmVzb2x2ZWQgdmFsdWVzIHRvCisgICAgPiAgICAgIG51bGwsIGV0Yy4KKworICAgIE9uIHRo
YXQgbm90ZSwgdHdvIGxldmVscyBvZiBzdWJkaXJlY3RvcmllcyBpcyBlbm91Z2ggZXZlbiBpZiB0
aGUgc3BlYyBoYXMKKyAgICBkZWVwZXIgbmVzdGluZy4KKworICAgIE5vdGUgdGhhdCBtb3N0IG9m
IHRoZSBleGlzdGluZyB0ZXN0cyBpbiB0aGUgc3VpdGUgX2Rvbid0XyBkbyB0aGlzIHdlbGwgeWV0
LgorICAgIFRoYXQncyB0aGUgZGlyZWN0aW9uIHdlJ3JlIGhlYWRpbmcsIGhvd2V2ZXIuCisKKyog
ICBUZXN0IHRoZSBzcGVjLgorCisgICAgKiAgIElmIHRoZSBzcGVjIGRlZmluZXMgYSB0aW1pbmcg
Y2FsY3VsYXRpb24gdGhhdCBpcyBkaXJlY3RseQorICAgICAgICByZWZsZWN0ZWQgaW4gdGhlIGl0
ZXJhdGlvbiBwcm9ncmVzcworICAgICAgICAoaS5lLiBgYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRU
aW1pbmcoKS5wcm9ncmVzc2ApLCB0ZXN0IHRoYXQgaW5zdGVhZAorICAgICAgICBvZiBjYWxsaW5n
IGBnZXRDb21wdXRlZFN0eWxlKGVsZW0pLm1hcmdpbkxlZnRgLgorCisgICAgKiAgIExpa2V3aXNl
LCBkb24ndCBhZGQgbmVlZGxlc3MgdGVzdHMgZm9yIGBhbmltLnBsYXliYWNrU3RhdGVgLgorICAg
ICAgICBUaGUgcGxheWJhY2sgc3RhdGUgaXMgYSBjYWxjdWxhdGVkIHZhbHVlIGJhc2VkIG9uIG90
aGVyIHZhbHVlcy4KKyAgICAgICAgSXQncyByYXJlbHkgbmVjZXNzYXJ5IHRvIHRlc3QgZGlyZWN0
bHkgdW5sZXNzIHlvdSBuZWVkLCBmb3IgZXhhbXBsZSwKKyAgICAgICAgdG8gY2hlY2sgdGhhdCBh
IHBlbmRpbmcgdGFzayBpcyBzY2hlZHVsZWQgKHdoaWNoIGlzbid0IG9ic2VydmFibGUKKyAgICAg
ICAgZWxzZXdoZXJlIG90aGVyIHRoYW4gd2FpdGluZyBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgcHJv
bWlzZSB0bworICAgICAgICBjb21wbGV0ZSkuCisKKyogICBUcnkgdG8ga2VlcCB0ZXN0cyBhcyBz
aW1wbGUgYW5kIGZvY3VzZWQgYXMgcG9zc2libGUuCisKKyAgICBlLmcuCisKKyAgICAgIGBgYGph
dmFzY3JpcHQKKyAgICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgICBjb25zdCBhbmltYXRp
b24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgICAgICAgYXNzZXJ0X2NsYXNzX3N0
cmluZyhhbmltYXRpb24sICdBbmltYXRpb24nLCAnUmV0dXJuZWQgb2JqZWN0IGlzIGFuIEFuaW1h
dGlvbicpOworICAgICAgfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4gQW5pbWF0aW9u
IG9iamVjdCcpOworICAgICAgYGBgCisKKyAgICAgIGBgYGphdmFzY3JpcHQKKyAgICAgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgICAgICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicg
fSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgLTEp
OworICAgICAgICB9KTsKKyAgICAgIH0sICdTZXR0aW5nIGEgbmVnYXRpdmUgZHVyYXRpb24gdGhy
b3dzIGEgVHlwZUVycm9yJyk7CisgICAgICBgYGAKKworICAgICAgYGBgamF2YXNjcmlwdAorICAg
ICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgY29uc3QgYW5pbWF0aW9uID0g
Y3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgICAgICAgIHJl
dHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICAgICAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuKGFuaW1hdGlvbi5zdGFydFRpbWUsIDAsICdzdGFydFRpbWUgd2hlbiBydW5u
aW5nJyk7CisgICAgICAgIH0pOworICAgICAgfSwgJ3N0YXJ0VGltZSBpcyByZXNvbHZlZCB3aGVu
IHJ1bm5pbmcnKTsKKyAgICAgIGBgYAorCisgICAgSWYgeW91J3JlIGdlbmVyYXRpbmcgY29tcGxl
eCB0ZXN0IGxvb3BzIGFuZCBmYWN0b3Jpbmcgb3V0IHV0aWxpdHkgZnVuY3Rpb25zCisgICAgdGhh
dCBhZmZlY3QgdGhlIGxvZ2ljIG9mIHRoZSB0ZXN0IChvdGhlciB0aGFuLCBzYXksIHNpbXBsZSBh
c3NlcnRpb24gdXRpbGl0eQorICAgIGZ1bmN0aW9ucyksIHlvdSdyZSBwcm9iYWJseSBkb2luZyBp
dCB3cm9uZy4KKworICAgIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byB1bmRlcnN0YW5kIGV4YWN0
bHkgd2hhdCB0aGUgdGVzdCBpcyBkb2luZyBhdCBhCisgICAgZ2xhbmNlIHdpdGhvdXQgaGF2aW5n
IHRvIHNjcm9sbCB1cCBhbmQgZG93biB0aGUgdGVzdCBmaWxlIGFuZCByZWZlciB0bworICAgIG90
aGVyIGZpbGVzLgorCisgICAgU2VlIEp1c3RpbiBTZWFybHMnIHByZXNlbnRhdGlvbiwgWyZsZHF1
bztIb3cgdG8gc3RvcCBoYXRpbmcgeW91cgorICAgIHRlc3RzJnJkcXVvO10oaHR0cDovL2Jsb2cu
dGVzdGRvdWJsZS5jb20vcG9zdHMvMjAxNS0xMS0xNi1ob3ctdG8tc3RvcC1oYXRpbmcteW91ci10
ZXN0cy5odG1sKQorICAgIGZvciBzb21lIHRpcHMgb24gbWFraW5nIHlvdXIgdGVzdHMgc2ltcGxl
ci4KKworKiAgIEFzc3VtZSB0ZXN0cyB3aWxsIHJ1biBvbiB1bmRlci1wZXJmb3JtaW5nIGhhcmR3
YXJlIHdoZXJlIHRoZSB0aW1lIGJldHdlZW4KKyAgICBhbmltYXRpb24gZnJhbWVzIG1pZ2h0IHJ1
biBpbnRvIDEwcyBvZiBzZWNvbmRzLgorICAgIEFzIGEgcmVzdWx0LCBhbmltYXRpb25zIHRoYXQg
YXJlIGV4cGVjdGVkIHRvIHN0aWxsIGJlIHJ1bm5pbmcgZHVyaW5nCisgICAgdGhlIHRlc3Qgc2hv
dWxkIGJlIGF0IGxlYXN0IDEwMHMgaW4gbGVuZ3RoLgorCisqICAgQXZvaWQgdXNpbmcgYEdMT0JB
TF9DT05TVFNgIHRoYXQgbWFrZSB0aGUgdGVzdCBoYXJkZXIgdG8gcmVhZC4KKyAgICBJdCdzIGZp
bmUgdG8gcmVwZWF0IHRoZSB0aGUgc2FtZSBwYXJhbWV0ZXIgdmFsdWVzIGxpa2UgYDEwMCAqIE1T
X1BFUl9TRUNgCisgICAgb3ZlciBhbmQgb3ZlciBhZ2FpbiBzaW5jZSBpdCBtYWtlcyBpdCBlYXN5
IHRvIHJlYWQgYW5kIGRlYnVnIGEgdGVzdCBpbgorICAgIGlzb2xhdGlvbi4KKyAgICBSZW1lbWJl
ciwgZXZlbiBpZiB3ZSBkbyBuZWVkIHRvIG1ha2UgYWxsIHRlc3RzIHRha2UsIHNheSAyMDBzIGVh
Y2gsIHRleHQKKyAgICBlZGl0b3JzIGFyZSB2ZXJ5IGdvb2QgYXQgc2VhcmNoIGFuZCByZXBsYWNl
LgorCisqICAgVXNlIHRoZSBgYXNzZXJ0X3RpbWVzX2VxdWFsYCBhc3NlcnRpb24gZm9yIGNvbXBh
cmluZyBjYWxjdWxhdGVkIHRpbWVzLgorICAgIEl0IHRlc3RzIHRpbWVzIGFyZSBlcXVhbCB1c2lu
ZyB0aGUgcHJlY2lzaW9uIHJlY29tbWVuZGVkIGluIHRoZSBzcGVjIHdoaWxzdAorICAgIGFsbG93
aW5nIGltcGxlbWVudGF0aW9ucyB0byBvdmVycmlkZSB0aGUgZnVuY3Rpb24gdG8gbWVldCB0aGVp
ciBvd24KKyAgICBwcmVjaXNpb24gcmVxdWlyZW1lbnRzLgorCisqICAgVGhlcmUgYXJlIHF1aXRl
IGEgZmV3IGJhZCB0ZXN0cyBpbiB0aGUgcmVwb3NpdG9yeS4gV2UncmUgbGVhcm5pbmcgYXMKKyAg
ICB3ZSBnby4gRG9uJ3QganVzdCBjb3B5IHRoZW0gYmxpbmRseSZtZGFzaDtwbGVhc2UgZml4IHRo
ZW0hCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmlt
YXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FjY3VtdWxhdGlvbi1wZXItcHJvcGVydHktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LW1vZGVsL2FuaW1hdGlvbi10eXBlcy9hY2N1bXVsYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44OTI4Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9hY2N1bXVsYXRpb24tcGVyLXByb3BlcnR5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCks
IG1lc3NhZ2UgPSBudWxsCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9hY2N1bXVsYXRpb24t
cGVyLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9h
bmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2FjY3VtdWxhdGlvbi1wZXItcHJvcGVydHku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jNDQzOWRkM2M5NGJmOGQ4MWQyODZmYWY3ZDZhNTBhYTA4Y2JlZjNh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9hY2N1bXVsYXRpb24tcGVyLXByb3BlcnR5
Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04PgorPHRpdGxlPlRlc3RzIGZvciBhbmltYXRpb24gdHlwZSBvZiBhY2N1bXVsYXRpb248L3Rp
dGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFu
aW1hdGlvbnMvI2FuaW1hdGlvbi10eXBlcyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icHJvcGVydHktbGlzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icHJvcGVydHktdHlwZXMuanMiPjwvc2NyaXB0PgorPHN0eWxlPgoraHRtbCB7Cisg
IGZvbnQtc2l6ZTogMTBweDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitmb3IgKHZhciBwcm9wZXJ0eSBpbiBnQ1NT
UHJvcGVydGllcykgeworICBpZiAoIWlzU3VwcG9ydGVkKHByb3BlcnR5KSkgeworICAgIGNvbnRp
bnVlOworICB9CisKKyAgdmFyIGFuaW1hdGlvblR5cGVzID0gZ0NTU1Byb3BlcnRpZXNbcHJvcGVy
dHldLnR5cGVzOworICB2YXIgc2V0dXBGdW5jdGlvbiA9IGdDU1NQcm9wZXJ0aWVzW3Byb3BlcnR5
XS5zZXR1cDsKKyAgYW5pbWF0aW9uVHlwZXMuZm9yRWFjaChmdW5jdGlvbihhbmltYXRpb25UeXBl
KSB7CisgICAgdmFyIHR5cGVPYmplY3Q7CisgICAgdmFyIGFuaW1hdGlvblR5cGVTdHJpbmc7Cisg
ICAgaWYgKHR5cGVvZiBhbmltYXRpb25UeXBlID09PSAnc3RyaW5nJykgeworICAgICAgdHlwZU9i
amVjdCA9IHR5cGVzW2FuaW1hdGlvblR5cGVdOworICAgICAgYW5pbWF0aW9uVHlwZVN0cmluZyA9
IGFuaW1hdGlvblR5cGU7CisgICAgfSBlbHNlIGlmICh0eXBlb2YgYW5pbWF0aW9uVHlwZSA9PT0g
J29iamVjdCcgJiYKKyAgICAgICAgICAgICAgIGFuaW1hdGlvblR5cGUudHlwZSAmJiB0eXBlb2Yg
YW5pbWF0aW9uVHlwZS50eXBlID09PSAnc3RyaW5nJykgeworICAgICAgdHlwZU9iamVjdCA9IHR5
cGVzW2FuaW1hdGlvblR5cGUudHlwZV07CisgICAgICBhbmltYXRpb25UeXBlU3RyaW5nID0gYW5p
bWF0aW9uVHlwZS50eXBlOworICAgIH0KKworICAgIC8vIEZpcnN0LCB0ZXN0IHRoYXQgdGhlIGFu
aW1hdGlvbiB0eXBlIG9iamVjdCBoYXMgJ3Rlc3RBY2N1bXVsYXRpb24nLgorICAgIC8vIFdlIHVz
ZSB0ZXN0KCkgZnVuY3Rpb24gaGVyZSBzbyB0aGF0IHdlIGNhbiBjb250aW51ZSB0aGUgcmVtYWlu
ZGVyIHRlc3RzCisgICAgLy8gZXZlbiBpZiB0aGlzIHRlc3QgZmFpbHMuCisgICAgdGVzdChmdW5j
dGlvbih0KSB7CisgICAgICBhc3NlcnRfb3duX3Byb3BlcnR5KHR5cGVPYmplY3QsICd0ZXN0QWNj
dW11bGF0aW9uJywgYW5pbWF0aW9uVHlwZVN0cmluZyArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICcgc2hvdWxkIGhhdmUgdGVzdEFjY3VtdWxhdGlvbiBwcm9wZXJ0eScpOworICAgICAgYXNz
ZXJ0X2VxdWFscyh0eXBlb2YgdHlwZU9iamVjdC50ZXN0QWNjdW11bGF0aW9uLCAnZnVuY3Rpb24n
LAorICAgICAgICAgICAgICAgICAgICAndGVzdEFjY3VtdWxhdGlvbiBtZXRob2Qgc2hvdWxkIGJl
IGEgZnVuY3Rpb24nKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgKHR5cGU6ICcgKyBhbmltYXRpb25U
eXBlU3RyaW5nICsKKyAgICAgICAnKSBoYXMgdGVzdEFjY3VtdWxhdGlvbiBmdW5jdGlvbicpOwor
CisgICAgaWYgKHR5cGVPYmplY3QudGVzdEFjY3VtdWxhdGlvbiAmJgorICAgICAgICB0eXBlb2Yg
dHlwZU9iamVjdC50ZXN0QWNjdW11bGF0aW9uID09PSAnZnVuY3Rpb24nKSB7CisgICAgICB0eXBl
T2JqZWN0LnRlc3RBY2N1bXVsYXRpb24ocHJvcGVydHksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZXR1cEZ1bmN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5p
bWF0aW9uVHlwZS5vcHRpb25zKTsKKyAgICB9CisgIH0pOworfQorPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwv
YW5pbWF0aW9uLXR5cGVzL2FkZGl0aW9uLXBlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9u
LXR5cGVzL2FkZGl0aW9uLXBlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODky
OGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmlt
YXRpb24tdHlwZXMvYWRkaXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1v
ZGVsL2FuaW1hdGlvbi10eXBlcy9hZGRpdGlvbi1wZXItcHJvcGVydHkuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlw
ZXMvYWRkaXRpb24tcGVyLXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTdmNzIyMDY0YzEyOWU2
OTUyMjg1MzcxMTA5YThjYjBmN2RmODdjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMv
YWRkaXRpb24tcGVyLXByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBhbmltYXRpb24gdHlw
ZSBvZiBhZGRpdGlvbjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNj
LmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jYW5pbWF0aW9uLXR5cGVzIj4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJwcm9wZXJ0eS1saXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJwcm9wZXJ0eS10eXBlcy5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGU+CitodG1sIHsKKyAgZm9udC1zaXplOiAxMHB4OworfQorPC9zdHlsZT4KKzxib2R5Pgor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2ZvciAodmFy
IHByb3BlcnR5IGluIGdDU1NQcm9wZXJ0aWVzKSB7CisgIGlmICghaXNTdXBwb3J0ZWQocHJvcGVy
dHkpKSB7CisgICAgY29udGludWU7CisgIH0KKworICB2YXIgYW5pbWF0aW9uVHlwZXMgPSBnQ1NT
UHJvcGVydGllc1twcm9wZXJ0eV0udHlwZXM7CisgIHZhciBzZXR1cEZ1bmN0aW9uID0gZ0NTU1By
b3BlcnRpZXNbcHJvcGVydHldLnNldHVwOworICBhbmltYXRpb25UeXBlcy5mb3JFYWNoKGZ1bmN0
aW9uKGFuaW1hdGlvblR5cGUpIHsKKyAgICB2YXIgdHlwZU9iamVjdDsKKyAgICB2YXIgYW5pbWF0
aW9uVHlwZVN0cmluZzsKKyAgICBpZiAodHlwZW9mIGFuaW1hdGlvblR5cGUgPT09ICdzdHJpbmcn
KSB7CisgICAgICB0eXBlT2JqZWN0ID0gdHlwZXNbYW5pbWF0aW9uVHlwZV07CisgICAgICBhbmlt
YXRpb25UeXBlU3RyaW5nID0gYW5pbWF0aW9uVHlwZTsKKyAgICB9IGVsc2UgaWYgKHR5cGVvZiBh
bmltYXRpb25UeXBlID09PSAnb2JqZWN0JyAmJgorICAgICAgICAgICAgICAgYW5pbWF0aW9uVHlw
ZS50eXBlICYmIHR5cGVvZiBhbmltYXRpb25UeXBlLnR5cGUgPT09ICdzdHJpbmcnKSB7CisgICAg
ICB0eXBlT2JqZWN0ID0gdHlwZXNbYW5pbWF0aW9uVHlwZS50eXBlXTsKKyAgICAgIGFuaW1hdGlv
blR5cGVTdHJpbmcgPSBhbmltYXRpb25UeXBlLnR5cGU7CisgICAgfQorCisgICAgLy8gRmlyc3Qs
IHRlc3QgdGhhdCB0aGUgYW5pbWF0aW9uIHR5cGUgb2JqZWN0IGhhcyAndGVzdEFkZGl0aW9uJy4K
KyAgICAvLyBXZSB1c2UgdGVzdCgpIGZ1bmN0aW9uIGhlcmUgc28gdGhhdCB3ZSBjYW4gY29udGlu
dWUgdGhlIHJlbWFpbmRlciB0ZXN0cworICAgIC8vIGV2ZW4gaWYgdGhpcyB0ZXN0IGZhaWxzLgor
ICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgYXNzZXJ0X293bl9wcm9wZXJ0eSh0eXBlT2Jq
ZWN0LCAndGVzdEFkZGl0aW9uJywgYW5pbWF0aW9uVHlwZVN0cmluZyArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICcgc2hvdWxkIGhhdmUgdGVzdEFkZGl0aW9uIHByb3BlcnR5Jyk7CisgICAg
ICBhc3NlcnRfZXF1YWxzKHR5cGVvZiB0eXBlT2JqZWN0LnRlc3RBZGRpdGlvbiwgJ2Z1bmN0aW9u
JywKKyAgICAgICAgICAgICAgICAgICAgJ3Rlc3RBZGRpdGlvbiBtZXRob2Qgc2hvdWxkIGJlIGEg
ZnVuY3Rpb24nKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgKHR5cGU6ICcgKyBhbmltYXRpb25UeXBl
U3RyaW5nICsKKyAgICAgICAnKSBoYXMgdGVzdEFkZGl0aW9uIGZ1bmN0aW9uJyk7CisKKyAgICBp
ZiAodHlwZU9iamVjdC50ZXN0QWRkaXRpb24gJiYKKyAgICAgICAgdHlwZW9mIHR5cGVPYmplY3Qu
dGVzdEFkZGl0aW9uID09PSAnZnVuY3Rpb24nKSB7CisgICAgICB0eXBlT2JqZWN0LnRlc3RBZGRp
dGlvbihwcm9wZXJ0eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHVwRnVuY3Rp
b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb25UeXBlLm9wdGlvbnMp
OworICAgIH0KKyAgfSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvZGlz
Y3JldGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvZGlzY3JldGUtYW5pbWF0
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTI5YWFiNjU5MTNjNzRmYTE3YzNjYTU3Nzkz
NTA4OTMxYWE0OWRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9kaXNjcmV0ZS1hbmlt
YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitGQUlMIFRlc3QgYW5pbWF0aW5n
IGRpc2NyZXRlIHZhbHVlcyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7IGZvbnRTdHlsZTogWyAnbm9ybWFsJywgJ2l0YWxpYycgXSB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdmb3J3YXJkcycgfSknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBkaXNjcmV0ZSBhbmltYXRpb24g
aXMgdXNlZCB3aGVuIGludGVycG9sYXRpb24gZmFpbHMgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBoZWlnaHQ6IFsgJ2F1dG8nLCAnMjAwcHgnIF0gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnZm9yd2Fy
ZHMnIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZGlzY3JldGUg
YW5pbWF0aW9uIGlzIHVzZWQgb25seSBmb3IgcGFpcnMgb2YgdmFsdWVzIHRoYXQgY2Fubm90IGJl
IGludGVycG9sYXRlZCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5h
bmltYXRlLi4uJykKK0ZBSUwgVGVzdCB0aGUgNTAlIHN3aXRjaCBwb2ludCBmb3IgZGlzY3JldGUg
YW5pbWF0aW9uIGlzIGJhc2VkIG9uIHRoZSBlZmZlY3QgZWFzaW5nIHVuZGVmaW5lZCBpcyBub3Qg
YSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBUZXN0IHRoZSA1MCUg
c3dpdGNoIHBvaW50IGZvciBkaXNjcmV0ZSBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIGtleWZy
YW1lIGVhc2luZyB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmlt
YXRlLi4uJykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9kaXNjcmV0ZS1hbmltYXRpb24uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9h
bmltYXRpb24tdHlwZXMvZGlzY3JldGUtYW5pbWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI3ZTZh
NTY1OTIwM2U3N2IwYWE4OWY1NTAwNjU4ZmUzNTUyZGZmNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRp
b24tdHlwZXMvZGlzY3JldGUtYW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSwxMzUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0cyBmb3IgZGlzY3Jl
dGUgYW5pbWF0aW9uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3czYy5n
aXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2FuaW1hdGFibGUtYXMtc3RyaW5nLXNlY3Rpb24iPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7
IGZvbnRTdHlsZTogWyAnbm9ybWFsJywgJ2l0YWxpYycgXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdmb3J3YXJkcycgfSk7CisKKyAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZm9udFN0eWxlLCAnbm9ybWFsJywKKyAgICAg
ICAgICAgICAgICAnQW5pbWF0aW9uIHByb2R1Y2VzIFwnZnJvbVwnIHZhbHVlIGF0IHN0YXJ0IG9m
IGludGVydmFsJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC5nZXRDb21wdXRl
ZFRpbWluZygpLmR1cmF0aW9uIC8gMiAtIDE7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLmZvbnRTdHlsZSwgJ25vcm1hbCcsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlv
biBwcm9kdWNlcyBcJ2Zyb21cJyB2YWx1ZSBqdXN0IGJlZm9yZSB0aGUgbWlkZGxlIG9mJworICAg
ICAgICAgICAgICAgICsgJyB0aGUgaW50ZXJ2YWwnKTsKKyAgYW5pbS5jdXJyZW50VGltZSsrOwor
ICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5mb250U3R5bGUsICdpdGFsaWMn
LAorICAgICAgICAgICAgICAgICdBbmltYXRpb24gcHJvZHVjZXMgXCd0b1wnIHZhbHVlIGF0IGV4
YWN0IG1pZGRsZSBvZicKKyAgICAgICAgICAgICAgICArICcgdGhlIGludGVydmFsJyk7CisgIGFu
aW0uZmluaXNoKCk7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZvbnRT
dHlsZSwgJ2l0YWxpYycsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBwcm9kdWNlcyBcJ3Rv
XCcgdmFsdWUgZHVyaW5nIGZvcndhcmRzIGZpbGwnKTsKK30sICdUZXN0IGFuaW1hdGluZyBkaXNj
cmV0ZSB2YWx1ZXMnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVE
aXYodCk7CisgIHZhciBvcmlnaW5hbEhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoZGl2KS5oZWln
aHQ7CisKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IGhlaWdodDogWyAnYXV0bycsICcyMDBw
eCcgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6
ICdmb3J3YXJkcycgfSk7CisKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdiku
aGVpZ2h0LCBvcmlnaW5hbEhlaWdodCwKKyAgICAgICAgICAgICAgICAnQW5pbWF0aW9uIHByb2R1
Y2VzIFwnZnJvbVwnIHZhbHVlIGF0IHN0YXJ0IG9mIGludGVydmFsJyk7CisgIGFuaW0uY3VycmVu
dFRpbWUgPSBhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmR1cmF0aW9uIC8gMiAtIDE7
CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmhlaWdodCwgb3JpZ2luYWxI
ZWlnaHQsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBwcm9kdWNlcyBcJ2Zyb21cJyB2YWx1
ZSBqdXN0IGJlZm9yZSB0aGUgbWlkZGxlIG9mJworICAgICAgICAgICAgICAgICsgJyB0aGUgaW50
ZXJ2YWwnKTsKKyAgYW5pbS5jdXJyZW50VGltZSsrOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoZGl2KS5oZWlnaHQsICcyMDBweCcsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlv
biBwcm9kdWNlcyBcJ3RvXCcgdmFsdWUgYXQgZXhhY3QgbWlkZGxlIG9mJworICAgICAgICAgICAg
ICAgICsgJyB0aGUgaW50ZXJ2YWwnKTsKKyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGRpdikuaGVpZ2h0LCAnMjAwcHgnLAorICAgICAgICAgICAgICAg
ICdBbmltYXRpb24gcHJvZHVjZXMgXCd0b1wnIHZhbHVlIGR1cmluZyBmb3J3YXJkcyBmaWxsJyk7
Cit9LCAnVGVzdCBkaXNjcmV0ZSBhbmltYXRpb24gaXMgdXNlZCB3aGVuIGludGVycG9sYXRpb24g
ZmFpbHMnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7
CisgIHZhciBvcmlnaW5hbEhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoZGl2KS5oZWlnaHQ7CisK
KyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IGhlaWdodDogWyAnYXV0bycsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMHB4JywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnMzAwcHgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdhdXRvJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnNDAw
cHgnIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxs
OiAnZm9yd2FyZHMnIH0pOworCisgIC8vIFRoZXJlIGFyZSBmaXZlIHZhbHVlcywgc28gdGhlcmUg
YXJlIGZvdXIgcGFpcnMgdG8gdHJ5IHRvIGludGVycG9sYXRlLgorICAvLyBXZSB0ZXN0IGF0IHRo
ZSBtaWRkbGUgb2YgZWFjaCBwYWlyLgorICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS5oZWlnaHQsIG9yaWdpbmFsSGVpZ2h0LAorICAgICAgICAgICAgICAgICdBbmltYXRpb24g
cHJvZHVjZXMgXCdmcm9tXCcgdmFsdWUgYXQgc3RhcnQgb2YgaW50ZXJ2YWwnKTsKKyAgYW5pbS5j
dXJyZW50VGltZSA9IDEyNTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdiku
aGVpZ2h0LCAnMjAwcHgnLAorICAgICAgICAgICAgICAgICdGaXJzdCBub24taW50ZXJwb2xhYmxl
IHBhaXIgdXNlcyBkaXNjcmV0ZSBpbnRlcnBvbGF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUg
Kz0gMjUwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5oZWlnaHQsICcy
NTBweCcsCisgICAgICAgICAgICAgICAgJ1NlY29uZCBpbnRlcnBvbGFibGUgcGFpciB1c2VzIGxp
bmVhciBpbnRlcnBvbGF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gMjUwOworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5oZWlnaHQsIG9yaWdpbmFsSGVpZ2h0LAor
ICAgICAgICAgICAgICAgICdUaGlyZCBub24taW50ZXJwb2xhYmxlIHBhaXIgdXNlcyBkaXNjcmV0
ZSBpbnRlcnBvbGF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gMjUwOworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5oZWlnaHQsICc0MDBweCcsCisgICAgICAgICAg
ICAgICAgJ0ZvdXJ0aCBub24taW50ZXJwb2xhYmxlIHBhaXIgdXNlcyBkaXNjcmV0ZSBpbnRlcnBv
bGF0aW9uJyk7Cit9LCAnVGVzdCBkaXNjcmV0ZSBhbmltYXRpb24gaXMgdXNlZCBvbmx5IGZvciBw
YWlycyBvZiB2YWx1ZXMgdGhhdCBjYW5ub3QnCisgICArICcgYmUgaW50ZXJwb2xhdGVkJyk7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgb3Jp
Z2luYWxIZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKGRpdikuaGVpZ2h0OworCisgIC8vIEVhc2lu
ZzogaHR0cDovL2N1YmljLWJlemllci5jb20vIy42OCwwLDEsLjAxCisgIC8vIFdpdGggdGhpcyBj
dXJ2ZSwgd2UgZG9uJ3QgcmVhY2ggdGhlIDUwJSBwb2ludCB1bnRpbCBhYm91dCA5NSUgb2YKKyAg
Ly8gdGhlIHRpbWUgaGFzIGV4cGlyZWQuCisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBmb250
U3R5bGU6IFsgJ25vcm1hbCcsICdpdGFsaWMnIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnZm9yd2FyZHMnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAuNjgsMCwxLDAuMDEpJyB9KTsKKworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5mb250U3R5bGUsICdub3JtYWwnLAor
ICAgICAgICAgICAgICAgICdBbmltYXRpb24gcHJvZHVjZXMgXCdmcm9tXCcgdmFsdWUgYXQgc3Rh
cnQgb2YgaW50ZXJ2YWwnKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDk0MDsKKyAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZm9udFN0eWxlLCAnbm9ybWFsJywKKyAgICAgICAg
ICAgICAgICAnQW5pbWF0aW9uIHByb2R1Y2VzIFwnZnJvbVwnIHZhbHVlIGF0IDk0JSBvZiB0aGUg
aXRlcmF0aW9uJworICAgICAgICAgICAgICAgICsgJyB0aW1lJyk7CisgIGFuaW0uY3VycmVudFRp
bWUgPSA5NjA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZvbnRTdHls
ZSwgJ2l0YWxpYycsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBwcm9kdWNlcyBcJ3RvXCcg
dmFsdWUgYXQgOTYlIG9mIHRoZSBpdGVyYXRpb24nCisgICAgICAgICAgICAgICAgKyAnIHRpbWUn
KTsKK30sICdUZXN0IHRoZSA1MCUgc3dpdGNoIHBvaW50IGZvciBkaXNjcmV0ZSBhbmltYXRpb24g
aXMgYmFzZWQgb24gdGhlJworICAgKyAnIGVmZmVjdCBlYXNpbmcnKTsKKwordGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBvcmlnaW5hbEhlaWdodCA9
IGdldENvbXB1dGVkU3R5bGUoZGl2KS5oZWlnaHQ7CisKKyAgLy8gRWFzaW5nOiBodHRwOi8vY3Vi
aWMtYmV6aWVyLmNvbS8jLjY4LDAsMSwuMDEKKyAgLy8gV2l0aCB0aGlzIGN1cnZlLCB3ZSBkb24n
dCByZWFjaCB0aGUgNTAlIHBvaW50IHVudGlsIGFib3V0IDk1JSBvZgorICAvLyB0aGUgdGltZSBo
YXMgZXhwaXJlZC4KKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZShbIHsgZm9udFN0eWxlOiAnbm9y
bWFsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVy
KDAuNjgsMCwxLDAuMDEpJyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBmb250U3R5
bGU6ICdpdGFsaWMnIH0gXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAx
MDAwLCBmaWxsOiAnZm9yd2FyZHMnIH0pOworCisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLmZvbnRTdHlsZSwgJ25vcm1hbCcsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlv
biBwcm9kdWNlcyBcJ2Zyb21cJyB2YWx1ZSBhdCBzdGFydCBvZiBpbnRlcnZhbCcpOworICBhbmlt
LmN1cnJlbnRUaW1lID0gOTQwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2
KS5mb250U3R5bGUsICdub3JtYWwnLAorICAgICAgICAgICAgICAgICdBbmltYXRpb24gcHJvZHVj
ZXMgXCdmcm9tXCcgdmFsdWUgYXQgOTQlIG9mIHRoZSBpdGVyYXRpb24nCisgICAgICAgICAgICAg
ICAgKyAnIHRpbWUnKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDk2MDsKKyAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZm9udFN0eWxlLCAnaXRhbGljJywKKyAgICAgICAgICAg
ICAgICAnQW5pbWF0aW9uIHByb2R1Y2VzIFwndG9cJyB2YWx1ZSBhdCA5NiUgb2YgdGhlIGl0ZXJh
dGlvbicKKyAgICAgICAgICAgICAgICArICcgdGltZScpOworfSwgJ1Rlc3QgdGhlIDUwJSBzd2l0
Y2ggcG9pbnQgZm9yIGRpc2NyZXRlIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUnCisgICArICcg
a2V5ZnJhbWUgZWFzaW5nJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9p
bnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9uLXR5cGVzL2ludGVy
cG9sYXRpb24tcGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTI4Zjc3NWU4
ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10
eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0
IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2Rl
bC9hbmltYXRpb24tdHlwZXMvaW50ZXJwb2xhdGlvbi1wZXItcHJvcGVydHkuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24t
dHlwZXMvaW50ZXJwb2xhdGlvbi1wZXItcHJvcGVydHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGU0YjQ4
ZmE2OWRmYTY5NDMxNDlmOTQ1YTI1NzZmZTQ0OWU3Yzk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlv
bi10eXBlcy9pbnRlcnBvbGF0aW9uLXBlci1wcm9wZXJ0eS5odG1sCkBAIC0wLDAgKzEsNTggQEAK
KzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0cyBmb3Ig
YW5pbWF0aW9uIHR5cGUgb2YgaW50ZXJwb2xhdGlvbjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jYW5pbWF0aW9uLXR5
cGVzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJwcm9wZXJ0eS1saXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJwcm9wZXJ0eS10eXBl
cy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitodG1sIHsKKyAgZm9udC1zaXplOiAxMHB4OworfQor
PC9zdHlsZT4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0
cmljdCc7CisKK2ZvciAodmFyIHByb3BlcnR5IGluIGdDU1NQcm9wZXJ0aWVzKSB7CisgIGlmICgh
aXNTdXBwb3J0ZWQocHJvcGVydHkpKSB7CisgICAgY29udGludWU7CisgIH0KKworICB2YXIgYW5p
bWF0aW9uVHlwZXMgPSBnQ1NTUHJvcGVydGllc1twcm9wZXJ0eV0udHlwZXM7CisgIHZhciBzZXR1
cEZ1bmN0aW9uID0gZ0NTU1Byb3BlcnRpZXNbcHJvcGVydHldLnNldHVwOworICBhbmltYXRpb25U
eXBlcy5mb3JFYWNoKGZ1bmN0aW9uKGFuaW1hdGlvblR5cGUpIHsKKyAgICB2YXIgdHlwZU9iamVj
dDsKKyAgICB2YXIgYW5pbWF0aW9uVHlwZVN0cmluZzsKKyAgICBpZiAodHlwZW9mIGFuaW1hdGlv
blR5cGUgPT09ICdzdHJpbmcnKSB7CisgICAgICB0eXBlT2JqZWN0ID0gdHlwZXNbYW5pbWF0aW9u
VHlwZV07CisgICAgICBhbmltYXRpb25UeXBlU3RyaW5nID0gYW5pbWF0aW9uVHlwZTsKKyAgICB9
IGVsc2UgaWYgKHR5cGVvZiBhbmltYXRpb25UeXBlID09PSAnb2JqZWN0JyAmJgorICAgICAgICAg
ICAgICAgYW5pbWF0aW9uVHlwZS50eXBlICYmIHR5cGVvZiBhbmltYXRpb25UeXBlLnR5cGUgPT09
ICdzdHJpbmcnKSB7CisgICAgICB0eXBlT2JqZWN0ID0gdHlwZXNbYW5pbWF0aW9uVHlwZS50eXBl
XTsKKyAgICAgIGFuaW1hdGlvblR5cGVTdHJpbmcgPSBhbmltYXRpb25UeXBlLnR5cGU7CisgICAg
fQorCisgICAgLy8gRmlyc3QsIHRlc3QgdGhhdCB0aGUgYW5pbWF0aW9uIHR5cGUgb2JqZWN0IGhh
cyAndGVzdEludGVycG9sYXRpb24nLgorICAgIC8vIFdlIHVzZSB0ZXN0KCkgZnVuY3Rpb24oKSBo
ZXJlIHNvIHRoYXQgd2UgY2FuIGNvbnRpbnVlIHRoZSByZW1haW5kZXIgdGVzdHMKKyAgICAvLyBl
dmVuIGlmIHRoaXMgdGVzdCBmYWlscy4KKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIGFz
c2VydF9vd25fcHJvcGVydHkodHlwZU9iamVjdCwgJ3Rlc3RJbnRlcnBvbGF0aW9uJywgYW5pbWF0
aW9uVHlwZVN0cmluZyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgc2hvdWxkIGhhdmUg
dGVzdEludGVycG9sYXRpb24gcHJvcGVydHknKTsKKyAgICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IHR5cGVPYmplY3QudGVzdEludGVycG9sYXRpb24sICdmdW5jdGlvbicsCisgICAgICAgICAgICAg
ICAgICAgICd0ZXN0SW50ZXJwb2xhdGlvbiBtZXRob2Qgc2hvdWxkIGJlIGEgZnVuY3Rpb24nKTsK
KyAgICB9LCBwcm9wZXJ0eSArICcgKHR5cGU6ICcgKyBhbmltYXRpb25UeXBlU3RyaW5nICsKKyAg
ICAgICAnKSBoYXMgdGVzdEludGVycG9sYXRpb24gZnVuY3Rpb24nKTsKKworICAgIGlmICh0eXBl
T2JqZWN0LnRlc3RJbnRlcnBvbGF0aW9uICYmCisgICAgICAgIHR5cGVvZiB0eXBlT2JqZWN0LnRl
c3RJbnRlcnBvbGF0aW9uID09PSAnZnVuY3Rpb24nKSB7CisgICAgICB0eXBlT2JqZWN0LnRlc3RJ
bnRlcnBvbGF0aW9uKHByb3BlcnR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZXR1cEZ1bmN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmlt
YXRpb25UeXBlLm9wdGlvbnMpOworICAgIH0KKyAgfSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9h
bmltYXRpb24tdHlwZXMvcHJvcGVydHktbGlzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9hbmltYXRpb24tdHlwZXMvcHJvcGVydHktbGlz
dC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MzE1ZDBmZTcxNjRhZDRhNGI1Zjg5OWY2MWEzZDQ1OTI2NTcwY2Jj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9wcm9wZXJ0eS1saXN0LmpzCkBAIC0wLDAg
KzEsMTU3NCBAQAorJ3VzZSBzdHJpY3QnOworCit2YXIgZ0NTU1Byb3BlcnRpZXMgPSB7CisgICdh
bGlnbi1jb250ZW50JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYWxp
Z24vI3Byb3BkZWYtYWxpZ24tY29udGVudAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdk
aXNjcmV0ZScgLCBvcHRpb25zOiBbIFsgJ2ZsZXgtc3RhcnQnLCAnZmxleC1lbmQnIF0gXSB9Cisg
ICAgXQorICB9LAorICAnYWxpZ24taXRlbXMnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1hbGlnbi8jcHJvcGRlZi1hbGlnbi1pdGVtcworICAgIHR5cGVzOiBbCisgICAg
ICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnZmxleC1zdGFydCcsICdmbGV4LWVu
ZCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdhbGlnbi1zZWxmJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtYWxpZ24vI3Byb3BkZWYtYWxpZ24tc2VsZgorICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnZmxleC1zdGFydCcs
ICdmbGV4LWVuZCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdiYWNrZmFjZS12aXNpYmlsaXR5Jzog
eworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdHJhbnNmb3Jtcy8jcHJvcGRl
Zi1iYWNrZmFjZS12aXNpYmlsaXR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2Ny
ZXRlJywgb3B0aW9uczogWyBbICd2aXNpYmxlJywgJ2hpZGRlbicgXSBdIH0KKyAgICBdCisgIH0s
CisgICdiYWNrZ3JvdW5kLWF0dGFjaG1lbnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNiYWNrZ3JvdW5kLWF0dGFjaG1lbnQKKyAgICB0eXBl
czogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2ZpeGVkJywgJ2xv
Y2FsJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2JhY2tncm91bmQtY29sb3InOiB7CisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNiYWNrZ3JvdW5kLWNv
bG9yCisgICAgdHlwZXM6IFsgJ2NvbG9yJyBdCisgIH0sCisgICdiYWNrZ3JvdW5kLWJsZW5kLW1v
ZGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY29tcG9zaXRpbmctMS8jcHJv
cGRlZi1iYWNrZ3JvdW5kLWJsZW5kLW1vZGUKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAn
ZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ211bHRpcGx5JywgJ3NjcmVlbicgXSBdIH0KKyAgICBd
CisgIH0sCisgICdiYWNrZ3JvdW5kLWNsaXAnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNiYWNrZ3JvdW5kLWNsaXAKKyAgICB0eXBlczogWwor
ICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3BhZGRpbmctYm94JywgJ2Nv
bnRlbnQtYm94JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2JhY2tncm91bmQtaW1hZ2UnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNiYWNrZ3Jv
dW5kLWltYWdlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywKKyAgICAg
ICAgb3B0aW9uczogWyBbICd1cmwoImh0dHA6Ly9sb2NhbGhvc3QvdGVzdC0xIiknLAorICAgICAg
ICAgICAgICAgICAgICd1cmwoImh0dHA6Ly9sb2NhbGhvc3QvdGVzdC0yIiknIF0gXSB9CisgICAg
XQorICB9LAorICAnYmFja2dyb3VuZC1vcmlnaW4nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNiYWNrZ3JvdW5kLW9yaWdpbgorICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAncGFkZGluZy1ib3gn
LCAnY29udGVudC1ib3gnIF0gXSB9CisgICAgXQorICB9LAorICAnYmFja2dyb3VuZC1wb3NpdGlv
bic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMv
I2JhY2tncm91bmQtcG9zaXRpb24KKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2JhY2tn
cm91bmQtcG9zaXRpb24teCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWJhY2tncm91bmRzLTQvI3Byb3BkZWYtYmFja2dyb3VuZC1wb3NpdGlvbi14CisgICAgdHlwZXM6
IFsKKyAgICBdCisgIH0sCisgICdiYWNrZ3JvdW5kLXBvc2l0aW9uLXknOiB7CisgICAgLy8gaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy00LyNwcm9wZGVmLWJhY2tncm91
bmQtcG9zaXRpb24teQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnYmFja2dyb3VuZC1y
ZXBlYXQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5k
cy0zLyNiYWNrZ3JvdW5kLXJlcGVhdAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNj
cmV0ZScsIG9wdGlvbnM6IFsgWyAnc3BhY2UnLCAncm91bmQnIF0gXSB9CisgICAgXQorICB9LAor
ICAnYmFja2dyb3VuZC1zaXplJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtYmFja2dyb3VuZHMtMy8jYmFja2dyb3VuZC1zaXplCisgICAgdHlwZXM6IFsKKyAgICBdCisg
IH0sCisgICdibG9jay1zaXplJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1ibG9jay1zaXplCisgICAgdHlwZXM6IFsKKyAgICBd
CisgIH0sCisgICdib3JkZXItYmxvY2stZW5kLWNvbG9yJzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1ib3JkZXItYmxvY2stZW5k
LWNvbG9yCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdib3JkZXItYmxvY2stZW5kLXN0
eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9w
cy8jcHJvcGRlZi1ib3JkZXItYmxvY2stZW5kLXN0eWxlCisgICAgdHlwZXM6IFsKKyAgICBdCisg
IH0sCisgICdib3JkZXItYmxvY2stZW5kLXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1ib3JkZXItYmxvY2stZW5kLXdp
ZHRoCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdib3JkZXItYmxvY2stc3RhcnQtY29s
b3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3Bz
LyNwcm9wZGVmLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcgorICAgIHR5cGVzOiBbCisgICAgXQor
ICB9LAorICAnYm9yZGVyLWJsb2NrLXN0YXJ0LXN0eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1ib3JkZXItYmxvY2stc3Rh
cnQtc3R5bGUKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1ibG9jay1zdGFy
dC13aWR0aCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwt
cHJvcHMvI3Byb3BkZWYtYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoCisgICAgdHlwZXM6IFsKKyAg
ICBdCisgIH0sCisgICdib3JkZXItYm90dG9tLWNvbG9yJzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLWJvdHRvbS1jb2xvcgorICAg
IHR5cGVzOiBbICdjb2xvcicgXQorICB9LAorICAnYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyc6
IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2Jv
cmRlci1ib3R0b20tbGVmdC1yYWRpdXMKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2Jv
cmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMKKyAgICB0
eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1ib3R0b20tc3R5bGUnOiB7CisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItYm90dG9t
LXN0eWxlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczog
WyBbICdkb3R0ZWQnLCAnc29saWQnIF0gXSB9CisgICAgXQorICB9LAorICAnYm9yZGVyLWJvdHRv
bS13aWR0aCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91
bmRzLTMvI2JvcmRlci1ib3R0b20td2lkdGgKKyAgICB0eXBlczogWyAnbGVuZ3RoJyBdLAorICAg
IHNldHVwOiB0ID0+IHsKKyAgICAgIHZhciBlbGVtZW50ID0gY3JlYXRlRWxlbWVudCh0KTsKKyAg
ICAgIGVsZW1lbnQuc3R5bGUuYm9yZGVyQm90dG9tU3R5bGUgPSAnc29saWQnOworICAgICAgcmV0
dXJuIGVsZW1lbnQ7CisgICAgfQorICB9LAorICAnYm9yZGVyLWNvbGxhcHNlJzogeworICAgIC8v
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGFibGVzLyNwcm9wZGVmLWJvcmRlci1jb2xs
YXBzZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsg
WyAnY29sbGFwc2UnLCAnc2VwYXJhdGUnIF0gXSB9CisgICAgXQorICB9LAorICAnYm9yZGVyLWlu
bGluZS1lbmQtY29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1s
b2dpY2FsLXByb3BzLyNwcm9wZGVmLWJvcmRlci1pbmxpbmUtZW5kLWNvbG9yCisgICAgdHlwZXM6
IFsKKyAgICBdCisgIH0sCisgICdib3JkZXItaW5saW5lLWVuZC1zdHlsZSc6IHsKKyAgICAvLyBo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtYm9yZGVy
LWlubGluZS1lbmQtc3R5bGUKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1p
bmxpbmUtZW5kLXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
bG9naWNhbC1wcm9wcy8jcHJvcGRlZi1ib3JkZXItaW5saW5lLWVuZC13aWR0aAorICAgIHR5cGVz
OiBbCisgICAgXQorICB9LAorICAnYm9yZGVyLWlubGluZS1zdGFydC1jb2xvcic6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtYm9y
ZGVyLWlubGluZS1zdGFydC1jb2xvcgorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnYm9y
ZGVyLWlubGluZS1zdGFydC1zdHlsZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtYm9yZGVyLWJsb2NrLXN0YXJ0LXN0eWxlCisg
ICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoJzog
eworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJv
cGRlZi1ib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0s
CisgICdib3JkZXItaW1hZ2Utb3V0c2V0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLWltYWdlLW91dHNldAorICAgIHR5cGVzOiBb
CisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnMSAyIDMgNCcsICc1IDYg
NyA4JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1pbWFnZS1yZXBlYXQnOiB7CisgICAg
Ly8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItaW1h
Z2UtcmVwZWF0CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9u
czogWyBbICdzdHJldGNoIHN0cmV0Y2gnLCAncmVwZWF0IHJlcGVhdCcgXSBdIH0KKyAgICBdCisg
IH0sCisgICdib3JkZXItaW1hZ2Utc2xpY2UnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItaW1hZ2Utc2xpY2UKKyAgICB0eXBlczog
WworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJzEgMiAzIDQnLCAnNSA2
IDcgOCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdib3JkZXItaW1hZ2Utc291cmNlJzogeworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLWlt
YWdlLXNvdXJjZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsCisgICAg
ICAgIG9wdGlvbnM6IFsgWyAndXJsKCJodHRwOi8vbG9jYWxob3N0L3Rlc3QtMSIpJywKKyAgICAg
ICAgICAgICAgICAgICAndXJsKCJodHRwOi8vbG9jYWxob3N0L3Rlc3QtMiIpJyBdIF0gfQorICAg
IF0KKyAgfSwKKyAgJ2JvcmRlci1pbWFnZS13aWR0aCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JvcmRlci1pbWFnZS13aWR0aAorICAgIHR5
cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnMSAyIDMgNCcs
ICc1IDYgNyA4JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1sZWZ0LWNvbG9yJzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVy
LWxlZnQtY29sb3IKKyAgICB0eXBlczogWyAnY29sb3InIF0KKyAgfSwKKyAgJ2JvcmRlci1sZWZ0
LXN0eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3Vu
ZHMtMy8jYm9yZGVyLWxlZnQtc3R5bGUKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlz
Y3JldGUnLCBvcHRpb25zOiBbIFsgJ2RvdHRlZCcsICdzb2xpZCcgXSBdIH0KKyAgICBdCisgIH0s
CisgICdib3JkZXItbGVmdC13aWR0aCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWJhY2tncm91bmRzLTMvI2JvcmRlci1sZWZ0LXdpZHRoCisgICAgdHlwZXM6IFsgJ2xl
bmd0aCcgXSwKKyAgICBzZXR1cDogdCA9PiB7CisgICAgICB2YXIgZWxlbWVudCA9IGNyZWF0ZUVs
ZW1lbnQodCk7CisgICAgICBlbGVtZW50LnN0eWxlLmJvcmRlckxlZnRTdHlsZSA9ICdzb2xpZCc7
CisgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICB9CisgIH0sCisgICdib3JkZXItcmlnaHQtY29s
b3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0z
LyNib3JkZXItcmlnaHQtY29sb3IKKyAgICB0eXBlczogWyAnY29sb3InIF0KKyAgfSwKKyAgJ2Jv
cmRlci1yaWdodC1zdHlsZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWJhY2tncm91bmRzLTMvI2JvcmRlci1yaWdodC1zdHlsZQorICAgIHR5cGVzOiBbCisgICAgICB7
IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnZG90dGVkJywgJ3NvbGlkJyBdIF0gfQor
ICAgIF0KKyAgfSwKKyAgJ2JvcmRlci1yaWdodC13aWR0aCc6IHsKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLWJhY2tncm91bmRzLTMvI2JvcmRlci1yaWdodC13aWR0aAorICAg
IHR5cGVzOiBbICdsZW5ndGgnIF0sCisgICAgc2V0dXA6IHQgPT4geworICAgICAgdmFyIGVsZW1l
bnQgPSBjcmVhdGVFbGVtZW50KHQpOworICAgICAgZWxlbWVudC5zdHlsZS5ib3JkZXJSaWdodFN0
eWxlID0gJ3NvbGlkJzsKKyAgICAgIHJldHVybiBlbGVtZW50OworICAgIH0KKyAgfSwKKyAgJ2Jv
cmRlci1zcGFjaW5nJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGFi
bGVzLyNwcm9wZGVmLWJvcmRlci1zcGFjaW5nCisgICAgdHlwZXM6IFsgJ2xlbmd0aFBhaXInIF0K
KyAgfSwKKyAgJ2JvcmRlci10b3AtY29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1iYWNrZ3JvdW5kcy0zLyNib3JkZXItdG9wLWNvbG9yCisgICAgdHlwZXM6IFsg
J2NvbG9yJyBdCisgIH0sCisgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzJzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLXRvcC1sZWZ0
LXJhZGl1cworICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnYm9yZGVyLXRvcC1yaWdodC1y
YWRpdXMnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1iYWNrZ3JvdW5k
cy0zLyNib3JkZXItdG9wLXJpZ2h0LXJhZGl1cworICAgIHR5cGVzOiBbCisgICAgXQorICB9LAor
ICAnYm9yZGVyLXRvcC1zdHlsZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLWJhY2tncm91bmRzLTMvI2JvcmRlci10b3Atc3R5bGUKKyAgICB0eXBlczogWworICAgICAg
eyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2RvdHRlZCcsICdzb2xpZCcgXSBdIH0K
KyAgICBdCisgIH0sCisgICdib3JkZXItdG9wLXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtYmFja2dyb3VuZHMtMy8jYm9yZGVyLXRvcC13aWR0aAorICAgIHR5
cGVzOiBbICdsZW5ndGgnIF0sCisgICAgc2V0dXA6IHQgPT4geworICAgICAgdmFyIGVsZW1lbnQg
PSBjcmVhdGVFbGVtZW50KHQpOworICAgICAgZWxlbWVudC5zdHlsZS5ib3JkZXJUb3BTdHlsZSA9
ICdzb2xpZCc7CisgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICB9CisgIH0sCisgICdib3R0b20n
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1wb3NpdGlvbi8jcHJvcGRl
Zi1ib3R0b20KKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2JveC1kZWNvcmF0aW9uLWJy
ZWFrJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYnJlYWsvI3Byb3Bk
ZWYtYm94LWRlY29yYXRpb24tYnJlYWsKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlz
Y3JldGUnLCBvcHRpb25zOiBbIFsgJ3NsaWNlJywgJ2Nsb25lJyBdIF0gfQorICAgIF0KKyAgfSwK
KyAgJ2JveC1zaGFkb3cnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1i
YWNrZ3JvdW5kcy8jYm94LXNoYWRvdworICAgIHR5cGVzOiBbICdib3hTaGFkb3dMaXN0JyBdLAor
ICB9LAorICAnYm94LXNpemluZyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLXVpLTQvI2JveC1zaXppbmcKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3Jl
dGUnLCBvcHRpb25zOiBbIFsgJ2NvbnRlbnQtYm94JywgJ2JvcmRlci1ib3gnIF0gXSB9CisgICAg
XQorICB9LAorICAnY2FwdGlvbi1zaWRlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtdGFibGVzLyNwcm9wZGVmLWNhcHRpb24tc2lkZQorICAgIHR5cGVzOiBbCisgICAg
ICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAndG9wJywgJ2JvdHRvbScgXSBdIH0K
KyAgICBdCisgIH0sCisgICdjYXJldC1jb2xvcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXVpLyNwcm9wZGVmLWNhcmV0LWNvbG9yCisgICAgdHlwZXM6IFsgJ2NvbG9y
JyBdCisgIH0sCisgICdjbGVhcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLXBhZ2UtZmxvYXRzLyNwcm9wZGVmLWNsZWFyCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlw
ZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdsZWZ0JywgJ3JpZ2h0JyBdIF0gfQorICAgIF0K
KyAgfSwKKyAgJ2NsaXAnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY3NzLW1h
c2tpbmctMS8jcHJvcGRlZi1jbGlwCisgICAgdHlwZXM6IFsKKyAgICAgICdyZWN0JywKKyAgICAg
IHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdyZWN0KDEwcHgsIDEwcHgsIDEwcHgs
IDEwcHgpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhdXRvJyBd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgJ3JlY3QoMTBweCwgMTBw
eCwgMTBweCwgMTBweCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3JlY3QoMTBweCwgMTBweCwgMTBweCwgYXV0byknXSBdIH0KKyAgICBdCisgIH0sCisgICdjbGlw
LXBhdGgnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY3NzLW1hc2tpbmctMS8j
cHJvcGRlZi1jbGlwLXBhdGgKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2NsaXAtcnVs
ZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9jc3MtbWFza2luZy0xLyNwcm9w
ZGVmLWNsaXAtcnVsZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9w
dGlvbnM6IFsgWyAnZXZlbm9kZCcsICdub256ZXJvJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2Nv
bG9yJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29sb3IvI3Byb3Bk
ZWYtY29sb3IKKyAgICB0eXBlczogWyAnY29sb3InIF0KKyAgfSwKKyAgJ2NvbG9yLWFkanVzdCc6
IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbG9yLTQvI2NvbG9yLWFk
anVzdAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsg
WyAnZWNvbm9teScsICdleGFjdCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdjb2xvci1pbnRlcnBv
bGF0aW9uJzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcu
aHRtbCNDb2xvckludGVycG9sYXRpb25Qcm9wZXJ0eQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5
cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnbGluZWFyUkdCJywgJ2F1dG8nIF0gXSB9Cisg
ICAgXQorICB9LAorICAnY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzJzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2ZpbHRlcnMtMS8jcHJvcGRlZi1jb2xvci1pbnRlcnBvbGF0
aW9uLWZpbHRlcnMKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRp
b25zOiBbIFsgJ3NSR0InLCAnbGluZWFyUkdCJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2NvbHVt
bi1jb3VudCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLW11bHRpY29s
LyNwcm9wZGVmLWNvbHVtbi1jb3VudAorICAgIHR5cGVzOiBbICdwb3NpdGl2ZUludGVnZXInLAor
ICAgICAgICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAnMTAn
IF0gXSB9CisgICAgXQorICB9LAorICAnY29sdW1uLWdhcCc6IHsKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLW11bHRpY29sLyNwcm9wZGVmLWNvbHVtbi1nYXAKKyAgICB0eXBl
czogWyAnbGVuZ3RoJywKKyAgICAgICAgICAgIHsgIHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6
IFsgWyAnbm9ybWFsJywgJzIwMHB4JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2NvbHVtbi1ydWxl
LWNvbG9yJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbXVsdGljb2wv
I3Byb3BkZWYtY29sdW1uLXJ1bGUtY29sb3IKKyAgICB0eXBlczogWyAnY29sb3InIF0KKyAgfSwK
KyAgJ2NvbHVtbi1maWxsJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
bXVsdGljb2wvI3Byb3BkZWYtY29sdW1uLWZpbGwKKyAgICB0eXBlczogWworICAgICAgeyB0eXBl
OiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAnYmFsYW5jZScgXSBdIH0KKyAgICBd
CisgIH0sCisgICdjb2x1bW4tcnVsZS1zdHlsZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLW11bHRpY29sLyNwcm9wZGVmLWNvbHVtbi1ydWxlLXN0eWxlCisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdub25lJywgJ2Rv
dHRlZCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdjb2x1bW4tcnVsZS13aWR0aCc6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLW11bHRpY29sLyNwcm9wZGVmLWNvbHVtbi1y
dWxlLXdpZHRoCisgICAgdHlwZXM6IFsgJ2xlbmd0aCcgXSwKKyAgICBzZXR1cDogdCA9PiB7Cisg
ICAgICB2YXIgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQodCk7CisgICAgICBlbGVtZW50LnN0eWxl
LmNvbHVtblJ1bGVTdHlsZSA9ICdzb2xpZCc7CisgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICB9
CisgIH0sCisgICdjb2x1bW4td2lkdGgnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy1tdWx0aWNvbC8jcHJvcGRlZi1jb2x1bW4td2lkdGgKKyAgICB0eXBlczogWyAnbGVu
Z3RoJywKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdhdXRvJywgJzFw
eCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdjb250YWluJzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbm1lbnQvI3Byb3BkZWYtY29udGFpbgorICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnc3RyaWN0JywgJ25v
bmUnIF0gXSB9CisgICAgXQorICB9LAorICAnY29udGVudCc6IHsKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbnRlbnQtMy8jcHJvcGRlZi1jb250ZW50CisgICAgdHlwZXM6
IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICciYSInLCAnImIiJyBd
IF0gfQorICAgIF0sCisgICAgc2V0dXA6IHQgPT4geworICAgICAgcmV0dXJuIGNyZWF0ZVBzZXVk
byh0LCAnYmVmb3JlJyk7CisgICAgfQorICB9LAorICAnY291bnRlci1pbmNyZW1lbnQnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1saXN0cy0zLyNwcm9wZGVmLWNvdW50
ZXItaW5jcmVtZW50CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0
aW9uczogWyBbICdpZGVudC0xIDEnLCAnaWRlbnQtMiAyJyBdIF0gfQorICAgIF0KKyAgfSwKKyAg
J2NvdW50ZXItcmVzZXQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1s
aXN0cy0zLyNwcm9wZGVmLWNvdW50ZXItcmVzZXQKKyAgICB0eXBlczogWworICAgICAgeyB0eXBl
OiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2lkZW50LTEgMScsICdpZGVudC0yIDInIF0gXSB9
CisgICAgXQorICB9LAorICAnY3Vyc29yJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MyL3VpLmh0bWwjcHJvcGRlZi1jdXJzb3IKKyAgICB0eXBlczogWworICAgICAgeyB0
eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3BvaW50ZXInLCAnd2FpdCcgXSBdIH0KKyAg
ICBdCisgIH0sCisgICdkaXJlY3Rpb24nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy13cml0aW5nLW1vZGVzLTMvI3Byb3BkZWYtZGlyZWN0aW9uCisgICAgdHlwZXM6IFsK
KyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdsdHInLCAncnRsJyBdIF0g
fQorICAgIF0KKyAgfSwKKyAgJ2RvbWluYW50LWJhc2VsaW5lJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtaW5saW5lLyNwcm9wZGVmLWRvbWluYW50LWJhc2VsaW5lCisg
ICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdpZGVv
Z3JhcGhpYycsICdhbHBoYWJldGljJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2VtcHR5LWNlbGxz
JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGFibGVzLyNwcm9wZGVm
LWVtcHR5LWNlbGxzCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0
aW9uczogWyBbICdzaG93JywgJ2hpZGUnIF0gXSB9CisgICAgXQorICB9LAorICAnZmlsbCc6IHsK
KyAgICAvLyBodHRwczovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwjRmlsbFBy
b3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdmaWxsLW9wYWNpdHknOiB7Cisg
ICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGluZy5odG1sI0ZpbGxPcGFj
aXR5UHJvcGVydHkKKyAgICB0eXBlczogWyAnb3BhY2l0eScgXQorICB9LAorICAnZmlsbC1ydWxl
JzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcuaHRtbCNG
aWxsUnVsZVByb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICdldmVub2RkJywgJ25vbnplcm8nIF0gXSB9CisgICAgXQorICB9LAorICAn
ZmlsdGVyJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2ZpbHRlcnMvI3Byb3Bk
ZWYtZmlsdGVyCisgICAgdHlwZXM6IFsgJ2ZpbHRlckxpc3QnIF0KKyAgfSwKKyAgJ2ZsZXgtYmFz
aXMnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1mbGV4Ym94LyNwcm9w
ZGVmLWZsZXgtYmFzaXMKKyAgICB0eXBlczogWworICAgICAgJ2xlbmd0aFBlcmNlbnRhZ2VPckNh
bGMnLAorICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAnMTBw
eCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdmbGV4LWRpcmVjdGlvbic6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZsZXhib3gvI3Byb3BkZWYtZmxleC1kaXJlY3Rpb24K
KyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3Jv
dycsICdyb3ctcmV2ZXJzZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdmbGV4LWdyb3cnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1mbGV4Ym94LyNmbGV4LWdyb3ctcHJv
cGVydHkKKyAgICB0eXBlczogWyAncG9zaXRpdmVOdW1iZXInIF0KKyAgfSwKKyAgJ2ZsZXgtc2hy
aW5rJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZmxleGJveC8jcHJv
cGRlZi1mbGV4LXNocmluaworICAgIHR5cGVzOiBbICdwb3NpdGl2ZU51bWJlcicgXQorICB9LAor
ICAnZmxleC13cmFwJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZmxl
eGJveC8jcHJvcGRlZi1mbGV4LXdyYXAKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlz
Y3JldGUnLCBvcHRpb25zOiBbIFsgJ25vd3JhcCcsICd3cmFwJyBdIF0gfQorICAgIF0KKyAgfSwK
KyAgJ2Zsb29kLWNvbG9yJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2ZpbHRl
cnMvI0Zsb29kQ29sb3JQcm9wZXJ0eQorICAgIHR5cGVzOiBbICdjb2xvcicgXQorICB9LAorICAn
Zmxvb2Qtb3BhY2l0eSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9maWx0ZXJz
LyNwcm9wZGVmLWZsb29kLW9wYWNpdHkKKyAgICB0eXBlczogWyAnb3BhY2l0eScgXQorICB9LAor
ICAnZm9udC1zaXplJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9u
dHMtMy8jcHJvcGRlZi1mb250LXNpemUKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2Zv
bnQtc2l6ZS1hZGp1c3QnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1m
b250cy0zLyNwcm9wZGVmLWZvbnQtc2l6ZS1hZGp1c3QKKyAgICB0eXBlczogWworICAgIF0KKyAg
fSwKKyAgJ2ZvbnQtc3RyZXRjaCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC1zdHJldGNoCisgICAgdHlwZXM6IFsgJ2ZvbnRTdHJl
dGNoJyBdCisgIH0sCisgICdmb250LXN0eWxlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtZm9udHMvI3Byb3BkZWYtZm9udC1zdHlsZQorICAgIHR5cGVzOiBbCisgICAg
ICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnaXRhbGljJywgJ29ibGlxdWUnIF0g
XSB9CisgICAgXQorICB9LAorICAnZmxvYXQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1wYWdlLWZsb2F0cy8jcHJvcGRlZi1mbG9hdAorICAgIHR5cGVzOiBbCisgICAg
ICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnbGVmdCcsICdyaWdodCcgXSBdIH0K
KyAgICBdCisgIH0sCisgICdmb250LWZhbWlseSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC1mYW1pbHkKKyAgICB0eXBlczogWwor
ICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2hlbHZldGljYScsICd2ZXJk
YW5hJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2ZvbnQtZmVhdHVyZS1zZXR0aW5ncyc6IHsKKyAg
ICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLyNkZXNjZGVmLWZvbnQtZmVh
dHVyZS1zZXR0aW5ncworICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9w
dGlvbnM6IFsgWyAnImxpZ2EiIDUnLCAnbm9ybWFsJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2Zv
bnQta2VybmluZyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRz
LTMvI3Byb3BkZWYtZm9udC1rZXJuaW5nCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rp
c2NyZXRlJywgb3B0aW9uczogWyBbICdhdXRvJywgJ25vcm1hbCcgXSBdIH0KKyAgICBdCisgIH0s
CisgICdmb250LWxhbmd1YWdlLW92ZXJyaWRlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LWxhbmd1YWdlLW92ZXJyaWRlCisgICAg
dHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICciZW5nIics
ICdub3JtYWwnIF0gXSB9CisgICAgXQorICB9LAorICAnZm9udC1zdHlsZSc6IHsKKyAgICAvLyBo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC1zdHlsZQor
ICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnaXRh
bGljJywgJ29ibGlxdWUnIF0gXSB9CisgICAgXQorICB9LAorICAnZm9udC1zeW50aGVzaXMnOiB7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1mb250cy0zLyNwcm9wZGVmLWZv
bnQtc3ludGhlc2lzCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0
aW9uczogWyBbICdub25lJywgJ3dlaWdodCBzdHlsZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdm
b250LXZhcmlhbnQtYWx0ZXJuYXRlcyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC12YXJpYW50LWFsdGVybmF0ZXMKKyAgICB0eXBl
czogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLAorICAgICAgICBvcHRpb25zOiBbIFsgJ3N3
YXNoKHVua25vd24pJywgJ3N0eWxpc3RpYyh1bmtub3duKScgXSBdIH0KKyAgICBdCisgIH0sCisg
ICdmb250LXZhcmlhbnQtY2Fwcyc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC12YXJpYW50LWNhcHMKKyAgICB0eXBlczogWworICAg
ICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3NtYWxsLWNhcHMnLCAndW5pY2Fz
ZScgXSBdIH0KKyAgICBdCisgIH0sCisgICdmb250LXZhcmlhbnQtZWFzdC1hc2lhbic6IHsKKyAg
ICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC12
YXJpYW50LWVhc3QtYXNpYW4KKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUn
LCBvcHRpb25zOiBbIFsgJ2Z1bGwtd2lkdGgnLCAncHJvcG9ydGlvbmFsLXdpZHRoJyBdIF0gfQor
ICAgIF0KKyAgfSwKKyAgJ2ZvbnQtdmFyaWFudC1saWdhdHVyZXMnOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1mb250cy0zLyNwcm9wZGVmLWZvbnQtdmFyaWFudC1saWdh
dHVyZXMKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLAorICAgICAgICBv
cHRpb25zOiBbIFsgJ2NvbW1vbi1saWdhdHVyZXMnLCAnbm8tY29tbW9uLWxpZ2F0dXJlcycgXSBd
IH0KKyAgICBdCisgIH0sCisgICdmb250LXZhcmlhbnQtbnVtZXJpYyc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC12YXJpYW50LW51
bWVyaWMKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBb
IFsgJ2xpbmluZy1udW1zJywgJ29sZHN0eWxlLW51bXMnIF0gXSB9CisgICAgXQorICB9LAorICAn
Zm9udC12YXJpYW50LXBvc2l0aW9uJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtZm9udHMtMy8jcHJvcGRlZi1mb250LXZhcmlhbnQtcG9zaXRpb24KKyAgICB0eXBlczog
WworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3N1YicsICdzdXBlcicg
XSBdIH0KKyAgICBdCisgIH0sCisgICdmb250LXZhcmlhdGlvbi1zZXR0aW5ncyc6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2Rlc2NkZWYtZm9udC1mYWNl
LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzCisgICAgdHlwZXM6IFsKKyAgICAgICdmb250VmFyaWF0
aW9uU2V0dGluZ3MnLAorICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLAorICAgICAgICBvcHRpb25z
OiBbIFsnIndnaHQiIDEuMSwgIndkdGgiIDEnLCAnIndkdGgiIDUnXSwKKyAgICAgICAgICAgICAg
ICAgICBbJyJ3ZHRoIiA1JywgJ25vcm1hbCddCisgICAgICAgICAgICAgICAgIF0gfSwKKyAgICBd
CisgIH0sCisgICdmb250LXdlaWdodCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWZvbnRzLTMvI3Byb3BkZWYtZm9udC13ZWlnaHQKKyAgICB0eXBlczogWworICAgIF0K
KyAgfSwKKyAgJ2dyaWQtYXV0by1jb2x1bW5zJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtZ3JpZC8jcHJvcGRlZi1ncmlkLWF1dG8tY29sdW1ucworICAgIHR5cGVzOiBb
CisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnMXB4JywgJzVweCcgXSBd
IH0KKyAgICBdCisgIH0sCisgICdncmlkLWF1dG8tZmxvdyc6IHsKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLWdyaWQvI3Byb3BkZWYtZ3JpZC1hdXRvLWZsb3cKKyAgICB0eXBl
czogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3JvdycsICdjb2x1
bW4nIF0gXSB9CisgICAgXQorICB9LAorICAnZ3JpZC1hdXRvLXJvd3MnOiB7CisgICAgLy8gaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLyNwcm9wZGVmLWdyaWQtYXV0by1yb3dzCisg
ICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICcxcHgn
LCAnNXB4JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2dyaWQtY29sdW1uLWVuZCc6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWdyaWQvI3Byb3BkZWYtZ3JpZC1jb2x1bW4t
ZW5kCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBb
ICcxJywgJzUnIF0gXSB9CisgICAgXQorICB9LAorICAnZ3JpZC1jb2x1bW4tZ2FwJzogeworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jcHJvcGRlZi1ncmlkLWNvbHVt
bi1nYXAKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2dyaWQtY29sdW1uLXN0YXJ0Jzog
eworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jcHJvcGRlZi1ncmlk
LWNvbHVtbi1zdGFydAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9w
dGlvbnM6IFsgWyAnMScsICc1JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2dyaWQtcm93LWVuZCc6
IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWdyaWQvI3Byb3BkZWYtZ3Jp
ZC1yb3ctZW5kCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9u
czogWyBbICcxJywgJzUnIF0gXSB9CisgICAgXQorICB9LAorICAnZ3JpZC1yb3ctZ2FwJzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jcHJvcGRlZi1ncmlkLXJv
dy1nYXAKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ2dyaWQtcm93LXN0YXJ0Jzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC8jcHJvcGRlZi1ncmlkLXJv
dy1zdGFydAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6
IFsgWyAnMScsICc1JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2dyaWQtdGVtcGxhdGUtYXJlYXMn
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZW1wbGF0ZS8jZ3JpZC10
ZW1wbGF0ZS1hcmVhcworICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9w
dGlvbnM6IFsgWyAnIi4gLiBhIGIiICIuIC5hIGIiJywgJ25vbmUnIF0gXSB9CisgICAgXQorICB9
LAorICAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtdGVtcGxhdGUvI2dyaWQtdGVtcGxhdGUtY29sdW1ucworICAgIHR5cGVzOiBb
CisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnMXB4JywgJzVweCcgXSBd
IH0KKyAgICBdCisgIH0sCisgICdncmlkLXRlbXBsYXRlLXJvd3MnOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZW1wbGF0ZS8jZ3JpZC10ZW1wbGF0ZS1yb3dzCisgICAg
dHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICcxcHgnLCAn
NXB4JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2hlaWdodCc6IHsKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzMjEvdmlzdWRldC5odG1sI3Byb3BkZWYtaGVpZ2h0CisgICAgdHlw
ZXM6IFsKKyAgICBdCisgIH0sCisgICdoeXBoZW5zJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtdGV4dC0zLyNwcm9wZGVmLWh5cGhlbnMKKyAgICB0eXBlczogWworICAg
ICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ21hbnVhbCcsICdhdXRvJyBdIF0g
fQorICAgIF0KKyAgfSwKKyAgJ2ltYWdlLW9yaWVudGF0aW9uJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtaW1hZ2VzLTMvI3Byb3BkZWYtaW1hZ2Utb3JpZW50YXRpb24K
KyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJzBk
ZWcnLCAnOTBkZWcnIF0gXSB9CisgICAgXQorICB9LAorICAnaW1hZ2UtcmVuZGVyaW5nJzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtaW1hZ2VzLTMvI3Byb3BkZWYtaW1h
Z2UtcmVuZGVyaW5nCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdpbWUtbW9kZSc6IHsK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXVpLyNpbnB1dC1tZXRob2QtZWRp
dG9yCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBb
ICdkaXNhYmxlZCcsICdhdXRvJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2luaXRpYWwtbGV0dGVy
JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtaW5saW5lLyNwcm9wZGVm
LWluaXRpYWwtbGV0dGVyCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICcxIDInLCAnMyA0JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2lubGluZS1z
aXplJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9w
cy8jcHJvcGRlZi1pbmxpbmUtc2l6ZQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnaXNv
bGF0aW9uJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2NvbXBvc2l0aW5nLTEv
I3Byb3BkZWYtaXNvbGF0aW9uCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRl
Jywgb3B0aW9uczogWyBbICdhdXRvJywgJ2lzb2xhdGUnIF0gXSB9CisgICAgXQorICB9LAorICAn
anVzdGlmeS1jb250ZW50JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
YWxpZ24vI3Byb3BkZWYtanVzdGlmeS1jb250ZW50CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlw
ZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdiYXNlbGluZScsICdsYXN0IGJhc2VsaW5lJyBd
IF0gfQorICAgIF0KKyAgfSwKKyAgJ2p1c3RpZnktaXRlbXMnOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1hbGlnbi8jcHJvcGRlZi1qdXN0aWZ5LWl0ZW1zCisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdiYXNlbGluZScs
ICdsYXN0IGJhc2VsaW5lJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ2p1c3RpZnktc2VsZic6IHsK
KyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFsaWduLyNwcm9wZGVmLWp1c3Rp
Znktc2VsZgorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6
IFsgWyAnYmFzZWxpbmUnLCAnbGFzdCBiYXNlbGluZScgXSBdIH0KKyAgICBdCisgIH0sCisgICds
ZWZ0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtcG9zaXRpb24vI3By
b3BkZWYtbGVmdAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbGV0dGVyLXNwYWNpbmcn
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI3Byb3BkZWYt
bGV0dGVyLXNwYWNpbmcKKyAgICB0eXBlczogWyAnbGVuZ3RoJyBdCisgIH0sCisgICdsaWdodGlu
Zy1jb2xvcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9maWx0ZXJzLyNMaWdo
dGluZ0NvbG9yUHJvcGVydHkKKyAgICB0eXBlczogWyAnY29sb3InIF0KKyAgfSwKKyAgJ2xpbmUt
aGVpZ2h0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MyMS92aXN1ZGV0
Lmh0bWwjcHJvcGRlZi1saW5lLWhlaWdodAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAn
bGlzdC1zdHlsZS1pbWFnZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWxpc3RzLTMvI3Byb3BkZWYtbGlzdC1zdHlsZS1pbWFnZQorICAgIHR5cGVzOiBbCisgICAgICB7
IHR5cGU6ICdkaXNjcmV0ZScsCisgICAgICAgIG9wdGlvbnM6IFsgWyAndXJsKCJodHRwOi8vbG9j
YWxob3N0L3Rlc3QtMSIpJywKKyAgICAgICAgICAgICAgICAgICAgICd1cmwoImh0dHA6Ly9sb2Nh
bGhvc3QvdGVzdC0yIiknIF0gXSB9CisgICAgXQorICB9LAorICAnbGlzdC1zdHlsZS1wb3NpdGlv
bic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxpc3RzLTMvI3Byb3Bk
ZWYtbGlzdC1zdHlsZS1wb3NpdGlvbgorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNj
cmV0ZScsIG9wdGlvbnM6IFsgWyAnaW5zaWRlJywgJ291dHNpZGUnIF0gXSB9CisgICAgXQorICB9
LAorICAnbGlzdC1zdHlsZS10eXBlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtbGlzdHMtMy8jcHJvcGRlZi1saXN0LXN0eWxlLXR5cGUKKyAgICB0eXBlczogWworICAg
ICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2NpcmNsZScsICdzcXVhcmUnIF0g
XSB9CisgICAgXQorICB9LAorICAnbWFyZ2luLWJsb2NrLWVuZCc6IHsKKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtbWFyZ2luLWJsb2Nr
LWVuZAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbWFyZ2luLWJsb2NrLXN0YXJ0Jzog
eworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJv
cGRlZi1tYXJnaW4tYmxvY2stc3RhcnQKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ21h
cmdpbi1ib3R0b20nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ib3gv
I3Byb3BkZWYtbWFyZ2luLWJvdHRvbQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbWFy
Z2luLWlubGluZS1lbmQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1s
b2dpY2FsLXByb3BzLyNwcm9wZGVmLW1hcmdpbi1pbmxpbmUtZW5kCisgICAgdHlwZXM6IFsKKyAg
ICBdCisgIH0sCisgICdtYXJnaW4taW5saW5lLXN0YXJ0JzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1tYXJnaW4taW5saW5lLXN0
YXJ0CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtYXJnaW4tbGVmdCc6IHsKKyAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJveC8jcHJvcGRlZi1tYXJnaW4tbGVmdAor
ICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbWFyZ2luLXJpZ2h0JzogeworICAgIC8vIGh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYm94LyNwcm9wZGVmLW1hcmdpbi1yaWdodAorICAg
IHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbWFyZ2luLXRvcCc6IHsKKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJveC8jcHJvcGRlZi1tYXJnaW4tdG9wCisgICAgdHlwZXM6
IFsKKyAgICBdCisgIH0sCisgICdtYXJrZXItZW5kJzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cu
b3JnL3NwZWNzL21hcmtlcnMvI01hcmtlckVuZFByb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAg
IHsgdHlwZTogJ2Rpc2NyZXRlJywKKyAgICAgICAgb3B0aW9uczogWyBbICd1cmwoImh0dHA6Ly9s
b2NhbGhvc3QvdGVzdC0xIiknLAorICAgICAgICAgICAgICAgICAgICAgJ3VybCgiaHR0cDovL2xv
Y2FsaG9zdC90ZXN0LTIiKScgXSBdIH0KKyAgICBdCisgIH0sCisgICdtYXJrZXItbWlkJzogewor
ICAgIC8vIGh0dHBzOi8vc3Znd2cub3JnL3NwZWNzL21hcmtlcnMvI01hcmtlck1pZFByb3BlcnR5
CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywKKyAgICAgICAgb3B0aW9u
czogWyBbICd1cmwoImh0dHA6Ly9sb2NhbGhvc3QvdGVzdC0xIiknLAorICAgICAgICAgICAgICAg
ICAgICAgJ3VybCgiaHR0cDovL2xvY2FsaG9zdC90ZXN0LTIiKScgXSBdIH0KKyAgICBdCisgIH0s
CisgICdtYXJrZXItc3RhcnQnOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3BlY3MvbWFy
a2Vycy8jTWFya2VyU3RhcnRQcm9wZXJ0eQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdk
aXNjcmV0ZScsCisgICAgICAgIG9wdGlvbnM6IFsgWyAndXJsKCJodHRwOi8vbG9jYWxob3N0L3Rl
c3QtMSIpJywKKyAgICAgICAgICAgICAgICAgICAgICd1cmwoImh0dHA6Ly9sb2NhbGhvc3QvdGVz
dC0yIiknIF0gXSB9CisgICAgXQorICB9LAorICAnbWFzayc6IHsKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5meHRmLm9yZy9jc3MtbWFza2luZy0xLyN0aGUtbWFzaworICAgIHR5cGVzOiBbCisgICAg
ICB7IHR5cGU6ICdkaXNjcmV0ZScsCisgICAgICAgIG9wdGlvbnM6IFsgWyAndXJsKCJodHRwOi8v
bG9jYWxob3N0L3Rlc3QtMSIpJywKKyAgICAgICAgICAgICAgICAgICAgICd1cmwoImh0dHA6Ly9s
b2NhbGhvc3QvdGVzdC0yIiknIF0gXSB9CisgICAgXQorICB9LAorICAnbWFzay1jbGlwJzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2Nzcy1tYXNraW5nLTEvI3Byb3BkZWYtbWFz
ay1jbGlwCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczog
WyBbICdjb250ZW50LWJveCcsICdib3JkZXItYm94JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ21h
c2stY29tcG9zaXRlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2Nzcy1tYXNr
aW5nLTEvI3Byb3BkZWYtbWFzay1jb21wb3NpdGUKKyAgICB0eXBlczogWworICAgICAgeyB0eXBl
OiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2FkZCcsICdzdWJ0cmFjdCcgXSBdIH0KKyAgICBd
CisgIH0sCisgICdtYXNrLWltYWdlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3Jn
L2Nzcy1tYXNraW5nLTEvI3Byb3BkZWYtbWFzay1pbWFnZQorICAgIHR5cGVzOiBbCisgICAgICB7
IHR5cGU6ICdkaXNjcmV0ZScsCisgICAgICAgIG9wdGlvbnM6IFsgWyAndXJsKCJodHRwOi8vbG9j
YWxob3N0L3Rlc3QtMSIpJywKKyAgICAgICAgICAgICAgICAgICAgICd1cmwoImh0dHA6Ly9sb2Nh
bGhvc3QvdGVzdC0yIiknIF0gXSB9CisgICAgXQorICB9LAorICAnbWFzay1tb2RlJzogeworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2Nzcy1tYXNraW5nLTEvI3Byb3BkZWYtbWFzay1t
b2RlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBb
ICdhbHBoYScsICdsdW1pbmFuY2UnIF0gXSB9CisgICAgXQorICB9LAorICAnbWFzay1vcmlnaW4n
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY3NzLW1hc2tpbmctMS8jcHJvcGRl
Zi1tYXNrLW9yaWdpbgorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9w
dGlvbnM6IFsgWyAnY29udGVudC1ib3gnLCAnYm9yZGVyLWJveCcgXSBdIH0KKyAgICBdCisgIH0s
CisgICdtYXNrLXBvc2l0aW9uJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2Nz
cy1tYXNraW5nLTEvI3Byb3BkZWYtbWFzay1wb3NpdGlvbgorICAgIHR5cGVzOiBbCisgICAgXQor
ICB9LAorICAnbWFzay1wb3NpdGlvbi14JzogeworICAgIC8vIGh0dHBzOi8vbGlzdHMudzMub3Jn
L0FyY2hpdmVzL1B1YmxpYy93d3ctc3R5bGUvMjAxNEp1bi8wMTY2Lmh0bWwKKyAgICB0eXBlczog
WworICAgIF0KKyAgfSwKKyAgJ21hc2stcG9zaXRpb24teSc6IHsKKyAgICAvLyBodHRwczovL2xp
c3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LXN0eWxlLzIwMTRKdW4vMDE2Ni5odG1sCisg
ICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtYXNrLXJlcGVhdCc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5meHRmLm9yZy9jc3MtbWFza2luZy0xLyNwcm9wZGVmLW1hc2stcmVwZWF0Cisg
ICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdzcGFj
ZScsICdyb3VuZCcgXSBdIH0KKyAgICBdCisgIH0sCisgICdtYXNrLXNpemUnOiB7CisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY3NzLW1hc2tpbmctMS8jcHJvcGRlZi1tYXNrLXNpemUK
KyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ21hc2stdHlwZSc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5meHRmLm9yZy9jc3MtbWFza2luZy0xLyNwcm9wZGVmLW1hc2stdHlwZQorICAg
IHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYWxwaGEn
LCAnbHVtaW5hbmNlJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ21heC1ibG9jay1zaXplJzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRl
Zi1tYXgtYmxvY2stc2l6ZQorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbWF4LWhlaWdo
dCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzMjEvdmlzdWRldC5odG1s
I3Byb3BkZWYtbWF4LWhlaWdodAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbWF4LWlu
bGluZS1zaXplJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNh
bC1wcm9wcy8jcHJvcGRlZi1tYXgtaW5saW5lLXNpemUKKyAgICB0eXBlczogWworICAgIF0KKyAg
fSwKKyAgJ21heC13aWR0aCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
MjEvdmlzdWRldC5odG1sI3Byb3BkZWYtbWF4LXdpZHRoCisgICAgdHlwZXM6IFsKKyAgICBdCisg
IH0sCisgICdtaW4tYmxvY2stc2l6ZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtbWluLWJsb2NrLXNpemUKKyAgICB0eXBlczog
WworICAgIF0KKyAgfSwKKyAgJ21pbi1oZWlnaHQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2NzczIxL3Zpc3VkZXQuaHRtbCNwcm9wZGVmLW1pbi1oZWlnaHQKKyAgICB0eXBl
czogWworICAgIF0KKyAgfSwKKyAgJ21pbi1pbmxpbmUtc2l6ZSc6IHsKKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWxvZ2ljYWwtcHJvcHMvI3Byb3BkZWYtbWluLWlubGluZS1z
aXplCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdtaW4td2lkdGgnOiB7CisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2NzczIxL3Zpc3VkZXQuaHRtbCNwcm9wZGVmLW1pbi13
aWR0aAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnbWl4LWJsZW5kLW1vZGUnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvY29tcG9zaXRpbmctMS8jcHJvcGRlZi1taXgt
YmxlbmQtbW9kZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlv
bnM6IFsgWyAnbXVsdGlwbHknLCAnc2NyZWVuJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ29iamVj
dC1maXQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1pbWFnZXMtMy8j
cHJvcGRlZi1vYmplY3QtZml0CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRl
Jywgb3B0aW9uczogWyBbICdmaWxsJywgJ2NvbnRhaW4nIF0gXSB9CisgICAgXQorICB9LAorICAn
b2JqZWN0LXBvc2l0aW9uJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
aW1hZ2VzLTMvI3Byb3BkZWYtb2JqZWN0LXBvc2l0aW9uCisgICAgdHlwZXM6IFsKKyAgICBdCisg
IH0sCisgICdvZmZzZXQtYmxvY2stZW5kJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1vZmZzZXQtYmxvY2stZW5kCisgICAgdHlw
ZXM6IFsKKyAgICBdCisgIH0sCisgICdvZmZzZXQtYmxvY2stc3RhcnQnOiB7CisgICAgLy8gaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNwcm9wZGVmLW9mZnNldC1i
bG9jay1zdGFydAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAnb2Zmc2V0LWlubGluZS1l
bmQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3Bz
LyNwcm9wZGVmLW9mZnNldC1pbmxpbmUtZW5kCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisg
ICdvZmZzZXQtaW5saW5lLXN0YXJ0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1vZmZzZXQtaW5saW5lLXN0YXJ0CisgICAgdHlw
ZXM6IFsKKyAgICBdCisgIH0sCisgICdvcGFjaXR5JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtY29sb3IvI3Byb3BkZWYtb3BhY2l0eQorICAgIHR5cGVzOiBbCisgICAg
XQorICB9LAorICAnb3JkZXInOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1mbGV4Ym94LyNwcm9wZGVmLW9yZGVyCisgICAgdHlwZXM6IFsgJ2ludGVnZXInIF0KKyAgfSwK
KyAgJ291dGxpbmUtY29sb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy11aS0zLyNwcm9wZGVmLW91dGxpbmUtY29sb3IKKyAgICB0eXBlczogWyAnY29sb3InIF0KKyAg
fSwKKyAgJ291dGxpbmUtb2Zmc2V0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtdWktMy8jcHJvcGRlZi1vdXRsaW5lLW9mZnNldAorICAgIHR5cGVzOiBbICdsZW5ndGgn
IF0KKyAgfSwKKyAgJ291dGxpbmUtc3R5bGUnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy11aS8jcHJvcGRlZi1vdXRsaW5lLXN0eWxlCisgICAgdHlwZXM6IFsKKyAgICAg
IHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdub25lJywgJ2RvdHRlZCcgXSBdIH0K
KyAgICBdCisgIH0sCisgICdvdXRsaW5lLXdpZHRoJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtdWktMy8jcHJvcGRlZi1vdXRsaW5lLXdpZHRoCisgICAgdHlwZXM6IFsg
J2xlbmd0aCcgXSwKKyAgICBzZXR1cDogdCA9PiB7CisgICAgICB2YXIgZWxlbWVudCA9IGNyZWF0
ZUVsZW1lbnQodCk7CisgICAgICBlbGVtZW50LnN0eWxlLm91dGxpbmVTdHlsZSA9ICdzb2xpZCc7
CisgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICB9CisgIH0sCisgICdvdmVyZmxvdyc6IHsKKyAg
ICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLW92ZXJmbG93LyNwcm9wZGVmLW92ZXJm
bG93CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdvdmVyZmxvdy1jbGlwLWJveCc6IHsK
KyAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9kb2NzL1dlYi9DU1Mvb3Zl
cmZsb3ctY2xpcC1ib3gKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBv
cHRpb25zOiBbIFsgJ3BhZGRpbmctYm94JywgJ2NvbnRlbnQtYm94JyBdIF0gfQorICAgIF0KKyAg
fSwKKyAgJ292ZXJmbG93LXdyYXAnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy10ZXh0LTMvI3Byb3BkZWYtb3ZlcmZsb3ctd3JhcAorICAgIHR5cGVzOiBbCisgICAgICB7
IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnbm9ybWFsJywgJ2JyZWFrLXdvcmQnIF0g
XSB9CisgICAgXQorICB9LAorICAnb3ZlcmZsb3cteCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLW92ZXJmbG93LTMvI3Byb3BkZWYtb3ZlcmZsb3cteAorICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAndmlzaWJsZScsICdo
aWRkZW4nIF0gXSB9CisgICAgXQorICB9LAorICAnb3ZlcmZsb3cteSc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLW92ZXJmbG93LTMvI3Byb3BkZWYtb3ZlcmZsb3cteQor
ICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAndmlz
aWJsZScsICdoaWRkZW4nIF0gXSB9CisgICAgXQorICB9LAorICAncGFkZGluZy1ibG9jay1lbmQn
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1sb2dpY2FsLXByb3BzLyNw
cm9wZGVmLXBhZGRpbmctYmxvY2stZW5kCisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdw
YWRkaW5nLWJsb2NrLXN0YXJ0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1wYWRkaW5nLWJsb2NrLXN0YXJ0CisgICAgdHlwZXM6
IFsKKyAgICBdCisgIH0sCisgICdwYWRkaW5nLWJvdHRvbSc6IHsKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLWJveC8jcHJvcGRlZi1wYWRkaW5nLWJvdHRvbQorICAgIHR5cGVz
OiBbCisgICAgXQorICB9LAorICAncGFkZGluZy1pbmxpbmUtZW5kJzogeworICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9wcy8jcHJvcGRlZi1wYWRkaW5nLWlu
bGluZS1lbmQKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ3BhZGRpbmctaW5saW5lLXN0
YXJ0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtbG9naWNhbC1wcm9w
cy8jcHJvcGRlZi1wYWRkaW5nLWlubGluZS1zdGFydAorICAgIHR5cGVzOiBbCisgICAgXQorICB9
LAorICAncGFkZGluZy1sZWZ0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtYm94LyNwcm9wZGVmLXBhZGRpbmctbGVmdAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAor
ICAncGFkZGluZy1yaWdodCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWJveC8jcHJvcGRlZi1wYWRkaW5nLXJpZ2h0CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisg
ICdwYWRkaW5nLXRvcCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJv
eC8jcHJvcGRlZi1wYWRkaW5nLXRvcAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAncGFn
ZS1icmVhay1hZnRlcic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWJy
ZWFrLTMvI3Byb3BkZWYtYnJlYWstYWZ0ZXIKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAn
ZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2Fsd2F5cycsICdhdXRvJyBdIF0gfQorICAgIF0KKyAg
fSwKKyAgJ3BhZ2UtYnJlYWstYmVmb3JlJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtYnJlYWstMy8jcHJvcGRlZi1icmVhay1iZWZvcmUKKyAgICB0eXBlczogWworICAg
ICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2Fsd2F5cycsICdhdXRvJyBdIF0g
fQorICAgIF0KKyAgfSwKKyAgJ3BhZ2UtYnJlYWstaW5zaWRlJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtYnJlYWstMy8jcHJvcGRlZi1icmVhay1pbnNpZGUKKyAgICB0
eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAn
YXZvaWQnIF0gXSB9CisgICAgXQorICB9LAorICAncGFpbnQtb3JkZXInOiB7CisgICAgLy8gaHR0
cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGluZy5odG1sI1BhaW50T3JkZXJQcm9wZXJ0
eQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAn
ZmlsbCcsICdzdHJva2UnIF0gXSB9CisgICAgXQorICB9LAorICAncGVyc3BlY3RpdmUnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10cmFuc2Zvcm1zLTEvI3Byb3BkZWYt
cGVyc3BlY3RpdmUKKyAgICB0eXBlczogWyAnbGVuZ3RoJyBdCisgIH0sCisgICdwZXJzcGVjdGl2
ZS1vcmlnaW4nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10cmFuc2Zv
cm1zLTEvI3Byb3BkZWYtcGVyc3BlY3RpdmUtb3JpZ2luCisgICAgdHlwZXM6IFsgJ3Bvc2l0aW9u
JyBdCisgIH0sCisgICdwb2ludGVyLWV2ZW50cyc6IHsKKyAgICAvLyBodHRwczovL3N2Z3dnLm9y
Zy9zdmcyLWRyYWZ0L2ludGVyYWN0Lmh0bWwjUG9pbnRlckV2ZW50c1Byb3BlcnR5CisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdmaWxsJywgJ25v
bmUnIF0gXSB9CisgICAgXQorICB9LAorICAncG9zaXRpb24nOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy1wb3NpdGlvbi8jcHJvcGRlZi1wb3NpdGlvbgorICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnYWJzb2x1dGUnLCAn
Zml4ZWQnIF0gXSB9CisgICAgXQorICB9LAorICAncXVvdGVzJzogeworICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGVudC0zLyNwcm9wZGVmLXF1b3RlcworICAgIHR5cGVz
OiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnIuKAnCIgIuKAnSIg
IuKAmCIgIuKAmSInLCAnIuKAmCIgIuKAmSIgIuKAnCIgIuKAnSInIF0gXSB9CisgICAgXQorICB9
LAorICAncmVzaXplJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdWkv
I3Byb3BkZWYtcmVzaXplCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywg
b3B0aW9uczogWyBbICdib3RoJywgJ2hvcml6b250YWwnIF0gXSB9CisgICAgXQorICB9LAorICAn
cmlnaHQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1wb3NpdGlvbi8j
cHJvcGRlZi1yaWdodAorICAgIHR5cGVzOiBbCisgICAgXQorICB9LAorICAncnVieS1hbGlnbic6
IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXJ1YnktMS8jcHJvcGRlZi1y
dWJ5LWFsaWduCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9u
czogWyBbICdzdGFydCcsICdjZW50ZXInIF0gXSB9CisgICAgXQorICB9LAorICAncnVieS1wb3Np
dGlvbic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXJ1YnktMS8jcHJv
cGRlZi1ydWJ5LXBvc2l0aW9uCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRl
Jywgb3B0aW9uczogWyBbICd1bmRlcicsICdvdmVyJyBdIF0gfQorICAgIF0sCisgICAgc2V0dXA6
IHQgPT4geworICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodCwgJ3J1YnknKTsKKyAgICB9Cisg
IH0sCisgICdzY3JvbGwtYmVoYXZpb3InOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzc29tLXZpZXcvI3Byb3BkZWYtc2Nyb2xsLWJlaGF2aW9yCisgICAgdHlwZXM6IFsKKyAg
ICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdhdXRvJywgJ3Ntb290aCcgXSBd
IH0KKyAgICBdCisgIH0sCisgICdzY3JvbGwtc25hcC10eXBlLXgnOiB7CisgICAgLy8gaHR0cHM6
Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9XZWIvQ1NTL3Njcm9sbC1zbmFwLXR5cGUt
eAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAn
bWFuZGF0b3J5JywgJ3Byb3hpbWl0eScgXSBdIH0KKyAgICBdCisgIH0sCisgICdzY3JvbGwtc25h
cC10eXBlLXknOiB7CisgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9j
cy9XZWIvQ1NTL3Njcm9sbC1zbmFwLXR5cGUteQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6
ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnbWFuZGF0b3J5JywgJ3Byb3hpbWl0eScgXSBdIH0K
KyAgICBdCisgIH0sCisgICdzaGFwZS1vdXRzaWRlJzogeworICAgIC8vIGh0dHA6Ly9kZXYudzMu
b3JnL2Nzc3dnL2Nzcy1zaGFwZXMvI3Byb3BkZWYtc2hhcGUtb3V0c2lkZQorICAgIHR5cGVzOiBb
CisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsCisgICAgICAgIG9wdGlvbnM6IFsgWyAndXJsKCJo
dHRwOi8vbG9jYWxob3N0L3Rlc3QtMSIpJywKKyAgICAgICAgICAgICAgICAgICAgICd1cmwoImh0
dHA6Ly9sb2NhbGhvc3QvdGVzdC0yIiknIF0gXSB9CisgICAgXQorICB9LAorICAnc2hhcGUtcmVu
ZGVyaW5nJzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcu
aHRtbCNTaGFwZVJlbmRlcmluZ1Byb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTog
J2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdvcHRpbWl6ZVNwZWVkJywgJ2NyaXNwRWRnZXMnIF0g
XSB9CisgICAgXQorICB9LAorICAnc3RvcC1jb2xvcic6IHsKKyAgICAvLyBodHRwczovL3N2Z3dn
Lm9yZy9zdmcyLWRyYWZ0L3BzZXJ2ZXJzLmh0bWwjU3RvcENvbG9yUHJvcGVydHkKKyAgICB0eXBl
czogWyAnY29sb3InIF0KKyAgfSwKKyAgJ3N0b3Atb3BhY2l0eSc6IHsKKyAgICAvLyBodHRwczov
L3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BzZXJ2ZXJzLmh0bWwjU3RvcE9wYWNpdHlQcm9wZXJ0eQor
ICAgIHR5cGVzOiBbICdvcGFjaXR5JyBdCisgIH0sCisgICdzdHJva2UnOiB7CisgICAgLy8gaHR0
cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGluZy5odG1sI1N0cm9rZVByb3BlcnR5Cisg
ICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdzdHJva2UtZGFzaGFycmF5JzogeworICAgIC8v
IGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcuaHRtbCNTdHJva2VEYXNoYXJy
YXlQcm9wZXJ0eQorICAgIHR5cGVzOiBbCisgICAgICAnZGFzaGFycmF5JywKKyAgICAgIHsgdHlw
ZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdub25lJywgJzEwLCAyMCcgXSBdIH0KKyAgICBd
CisgIH0sCisgICdzdHJva2UtZGFzaG9mZnNldCc6IHsKKyAgICAvLyBodHRwczovL3N2Z3dnLm9y
Zy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwjU3Ryb2tlRGFzaG9mZnNldFByb3BlcnR5CisgICAg
dHlwZXM6IFsKKyAgICBdCisgIH0sCisgICdzdHJva2UtbGluZWNhcCc6IHsKKyAgICAvLyBodHRw
czovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwjU3Ryb2tlTGluZWNhcFByb3Bl
cnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBb
ICdyb3VuZCcsICdzcXVhcmUnIF0gXSB9CisgICAgXQorICB9LAorICAnc3Ryb2tlLWxpbmVqb2lu
JzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvcGFpbnRpbmcuaHRtbCNT
dHJva2VMaW5lam9pblByb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2Ny
ZXRlJywgb3B0aW9uczogWyBbICdyb3VuZCcsICdtaXRlcicgXSBdIH0KKyAgICBdLAorICAgIHNl
dHVwOiB0ID0+IHsKKyAgICAgIHJldHVybiBjcmVhdGVFbGVtZW50KHQsICdyZWN0Jyk7CisgICAg
fQorICB9LAorICAnc3Ryb2tlLW1pdGVybGltaXQnOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5v
cmcvc3ZnMi1kcmFmdC9wYWludGluZy5odG1sI1N0cm9rZU1pdGVybGltaXRQcm9wZXJ0eQorICAg
IHR5cGVzOiBbICdwb3NpdGl2ZU51bWJlcicgXQorICB9LAorICAnc3Ryb2tlLW9wYWNpdHknOiB7
CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGluZy5odG1sI1N0cm9r
ZU9wYWNpdHlQcm9wZXJ0eQorICAgIHR5cGVzOiBbICdvcGFjaXR5JyBdCisgIH0sCisgICdzdHJv
a2Utd2lkdGgnOiB7CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9wYWludGlu
Zy5odG1sI1N0cm9rZVdpZHRoUHJvcGVydHkKKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAg
J3RhYmxlLWxheW91dCc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRh
Ymxlcy8jcHJvcGRlZi10YWJsZS1sYXlvdXQKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAn
ZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2F1dG8nLCAnZml4ZWQnIF0gXSB9CisgICAgXQorICB9
LAorICAndGV4dC1hbGlnbic6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LXRleHQtMy8jcHJvcGRlZi10ZXh0LWFsaWduCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTog
J2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdzdGFydCcsICdlbmQnIF0gXSB9CisgICAgXQorICB9
LAorICAndGV4dC1hbGlnbi1sYXN0JzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtdGV4dC0zLyNwcm9wZGVmLXRleHQtYWxpZ24tbGFzdAorICAgIHR5cGVzOiBbCisgICAg
ICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnc3RhcnQnLCAnZW5kJyBdIF0gfQor
ICAgIF0KKyAgfSwKKyAgJ3RleHQtYW5jaG9yJzogeworICAgIC8vIGh0dHBzOi8vc3Znd2cub3Jn
L3N2ZzItZHJhZnQvdGV4dC5odG1sI1RleHRBbmNob3JQcm9wZXJ0eQorICAgIHR5cGVzOiBbCisg
ICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAnbWlkZGxlJywgJ2VuZCcgXSBd
IH0KKyAgICBdCisgIH0sCisgICd0ZXh0LWNvbWJpbmUtdXByaWdodCc6IHsKKyAgICAvLyBodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXdyaXRpbmctbW9kZXMtMy8jcHJvcGRlZi10ZXh0LWNv
bWJpbmUtdXByaWdodAorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9w
dGlvbnM6IFsgWyAnYWxsJywgJ25vbmUnIF0gXSB9CisgICAgXQorICB9LAorICAndGV4dC1kZWNv
cmF0aW9uLWNvbG9yJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4
dC1kZWNvci0zLyNwcm9wZGVmLXRleHQtZGVjb3JhdGlvbi1jb2xvcgorICAgIHR5cGVzOiBbICdj
b2xvcicgXQorICB9LAorICAndGV4dC1kZWNvcmF0aW9uLWxpbmUnOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LWRlY29yLTMvI3Byb3BkZWYtdGV4dC1kZWNvcmF0
aW9uLWxpbmUKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25z
OiBbIFsgJ3VuZGVybGluZScsICdvdmVybGluZScgXSBdIH0KKyAgICBdCisgIH0sCisgICd0ZXh0
LWRlY29yYXRpb24tc3R5bGUnOiB7CisgICAgLy8gaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nz
LXRleHQtZGVjb3ItMy8jcHJvcGRlZi10ZXh0LWRlY29yYXRpb24tc3R5bGUKKyAgICB0eXBlczog
WworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3NvbGlkJywgJ2RvdHRl
ZCcgXSBdIH0KKyAgICBdCisgIH0sCisgICd0ZXh0LWVtcGhhc2lzLWNvbG9yJzogeworICAgIC8v
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4dC1kZWNvci0zLyNwcm9wZGVmLXRleHQt
ZW1waGFzaXMtY29sb3IKKyAgICB0eXBlczogWyAnY29sb3InIF0KKyAgfSwKKyAgJ3RleHQtZW1w
aGFzaXMtcG9zaXRpb24nOiB7CisgICAgLy8gaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLXRl
eHQtZGVjb3ItMy8jcHJvcGRlZi10ZXh0LWVtcGhhc2lzLXBvc2l0aW9uCisgICAgdHlwZXM6IFsK
KyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdvdmVyIHJpZ2h0JywgJ3Vu
ZGVyIGxlZnQnIF0gXSB9CisgICAgXQorICB9LAorICAndGV4dC1lbXBoYXNpcy1zdHlsZSc6IHsK
KyAgICAvLyBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MtdGV4dC1kZWNvci0zLyNwcm9wZGVm
LXRleHQtZW1waGFzaXMtc3R5bGUKKyAgICB0eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3Jl
dGUnLCBvcHRpb25zOiBbIFsgJ2ZpbGxlZCBjaXJjbGUnLCAnb3BlbiBkb3QnIF0gXSB9CisgICAg
XQorICB9LAorICAndGV4dC1pbmRlbnQnOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy10ZXh0LTMvI3Byb3BkZWYtdGV4dC1pbmRlbnQKKyAgICB0eXBlczogWworICAgIF0K
KyAgfSwKKyAgJ3RleHQtb3JpZW50YXRpb24nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy13cml0aW5nLW1vZGVzLTMvI3Byb3BkZWYtdGV4dC1vcmllbnRhdGlvbgorICAg
IHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsgWyAndXByaWdo
dCcsICdzaWRld2F5cycgXSBdIH0KKyAgICBdCisgIH0sCisgICd0ZXh0LW92ZXJmbG93Jzogewor
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdWkvI3Byb3BkZWYtdGV4dC1vdmVy
ZmxvdworICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9wdGlvbnM6IFsg
WyAnY2xpcCcsICdlbGxpcHNpcycgXSBdIH0KKyAgICBdCisgIH0sCisgICd0ZXh0LXJlbmRlcmlu
Zyc6IHsKKyAgICAvLyBodHRwczovL3N2Z3dnLm9yZy9zdmcyLWRyYWZ0L3BhaW50aW5nLmh0bWwj
VGV4dFJlbmRlcmluZ1Byb3BlcnR5CisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2Ny
ZXRlJywgb3B0aW9uczogWyBbICdvcHRpbWl6ZVNwZWVkJywgJ29wdGltaXplTGVnaWJpbGl0eScg
XSBdIH0KKyAgICBdCisgIH0sCisgICd0ZXh0LXNoYWRvdyc6IHsKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLXRleHQtZGVjb3ItMy8jcHJvcGRlZi10ZXh0LXNoYWRvdworICAg
IHR5cGVzOiBbICd0ZXh0U2hhZG93TGlzdCcgXSwKKyAgICBzZXR1cDogdCA9PiB7CisgICAgICB2
YXIgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQodCk7CisgICAgICBlbGVtZW50LnN0eWxlLmNvbG9y
ID0gJ2dyZWVuJzsKKyAgICAgIHJldHVybiBlbGVtZW50OworICAgIH0KKyAgfSwKKyAgJ3RleHQt
dHJhbnNmb3JtJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4dC0z
LyNwcm9wZGVmLXRleHQtdHJhbnNmb3JtCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rp
c2NyZXRlJywgb3B0aW9uczogWyBbICdjYXBpdGFsaXplJywgJ3VwcGVyY2FzZScgXSBdIH0KKyAg
ICBdCisgIH0sCisgICd0b3VjaC1hY3Rpb24nOiB7CisgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BvaW50ZXJldmVudHMvI3RoZS10b3VjaC1hY3Rpb24tY3NzLXByb3BlcnR5CisgICAgdHlw
ZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdhdXRvJywgJ25v
bmUnIF0gXSB9CisgICAgXQorICB9LAorICAndG9wJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtcG9zaXRpb24vI3Byb3BkZWYtdG9wCisgICAgdHlwZXM6IFsKKyAgICBd
CisgIH0sCisgICd0cmFuc2Zvcm0nOiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy10cmFuc2Zvcm1zLyNwcm9wZGVmLXRyYW5zZm9ybQorICAgIHR5cGVzOiBbICd0cmFuc2Zv
cm1MaXN0JyBdCisgIH0sCisgICd0cmFuc2Zvcm0tYm94JzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtdHJhbnNmb3Jtcy8jcHJvcGRlZi10cmFuc2Zvcm0tYm94CisgICAg
dHlwZXM6IFsKKyAgICAgIHsgdHlwZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdmaWxsLWJv
eCcsICdib3JkZXItYm94JyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3RyYW5zZm9ybS1vcmlnaW4n
OiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10cmFuc2Zvcm1zLyNwcm9w
ZGVmLXRyYW5zZm9ybS1vcmlnaW4KKyAgICB0eXBlczogWworICAgIF0KKyAgfSwKKyAgJ3RyYW5z
Zm9ybS1zdHlsZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5z
Zm9ybXMvI3Byb3BkZWYtdHJhbnNmb3JtLXN0eWxlCisgICAgdHlwZXM6IFsKKyAgICAgIHsgdHlw
ZTogJ2Rpc2NyZXRlJywgb3B0aW9uczogWyBbICdmbGF0JywgJ3ByZXNlcnZlLTNkJyBdIF0gfQor
ICAgIF0KKyAgfSwKKyAgJ3VuaWNvZGUtYmlkaSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXdyaXRpbmctbW9kZXMtMy8jcHJvcGRlZi11bmljb2RlLWJpZGkKKyAgICB0
eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2VtYmVkJywg
J2JpZGktb3ZlcnJpZGUnIF0gXSB9LAorICAgIF0KKyAgfSwKKyAgJ3ZlY3Rvci1lZmZlY3QnOiB7
CisgICAgLy8gaHR0cHM6Ly9zdmd3Zy5vcmcvc3ZnMi1kcmFmdC9jb29yZHMuaHRtbCNWZWN0b3JF
ZmZlY3RQcm9wZXJ0eQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNjcmV0ZScsIG9w
dGlvbnM6IFsgWyAnbm9uZScsICdub24tc2NhbGluZy1zdHJva2UnIF0gXSB9LAorICAgIF0KKyAg
fSwKKyAgJ3ZlcnRpY2FsLWFsaWduJzogeworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MyMS92aXN1ZGV0Lmh0bWwjcHJvcGRlZi12ZXJ0aWNhbC1hbGlnbgorICAgIHR5cGVzOiBb
CisgICAgXQorICB9LAorICAndmlzaWJpbGl0eSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzMi92aXN1ZnguaHRtbCNwcm9wZGVmLXZpc2liaWxpdHkKKyAgICB0eXBlczog
WyAndmlzaWJpbGl0eScgXQorICB9LAorICAnd2hpdGUtc3BhY2UnOiB7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTQvI3Byb3BkZWYtd2hpdGUtc3BhY2UKKyAgICB0
eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3ByZScsICdu
b3dyYXAnIF0gXSB9CisgICAgXQorICB9LAorICAnd2lkdGgnOiB7CisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2NzczIxL3Zpc3VkZXQuaHRtbCNwcm9wZGVmLXdpZHRoCisgICAgdHlw
ZXM6IFsKKyAgICBdCisgIH0sCisgICd3b3JkLWJyZWFrJzogeworICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtdGV4dC0zLyNwcm9wZGVmLXdvcmQtYnJlYWsKKyAgICB0eXBlczog
WworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ2tlZXAtYWxsJywgJ2Jy
ZWFrLWFsbCcgXSBdIH0KKyAgICBdCisgIH0sCisgICd3b3JkLXNwYWNpbmcnOiB7CisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI3Byb3BkZWYtd29yZC1zcGFjaW5n
CisgICAgdHlwZXM6IFsgJ2xlbmd0aFBlcmNlbnRhZ2VPckNhbGMnIF0KKyAgfSwKKyAgJ3dpbGwt
Y2hhbmdlJzogeworICAgIC8vIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzcy13aWxsLWNoYW5n
ZS8jcHJvcGRlZi13aWxsLWNoYW5nZQorICAgIHR5cGVzOiBbCisgICAgICB7IHR5cGU6ICdkaXNj
cmV0ZScsIG9wdGlvbnM6IFsgWyAnc2Nyb2xsLXBvc2l0aW9uJywgJ2NvbnRlbnRzJyBdIF0gfQor
ICAgIF0KKyAgfSwKKyAgJ3dyaXRpbmctbW9kZSc6IHsKKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXdyaXRpbmctbW9kZXMtMy8jcHJvcGRlZi13cml0aW5nLW1vZGUKKyAgICB0
eXBlczogWworICAgICAgeyB0eXBlOiAnZGlzY3JldGUnLCBvcHRpb25zOiBbIFsgJ3ZlcnRpY2Fs
LXJsJywgJ3NpZGV3YXlzLXJsJyBdIF0gfQorICAgIF0KKyAgfSwKKyAgJ3otaW5kZXgnOiB7Cisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1wb3NpdGlvbi8jcHJvcGRlZi16LWlu
ZGV4CisgICAgdHlwZXM6IFsKKyAgICBdCisgIH0sCit9OworCitmdW5jdGlvbiB0ZXN0QW5pbWF0
aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsIHRlc3RTYW1wbGVzKSB7CisgIGNvbnN0IHR5
cGUgPSBhbmltYXRpb24uZWZmZWN0LnRhcmdldC50eXBlOworICBjb25zdCB0YXJnZXQgPSBhbmlt
YXRpb24uZWZmZWN0LnRhcmdldC5jb25zdHJ1Y3Rvci5uYW1lID09PSAnQ1NTUHNldWRvRWxlbWVu
dCcKKyAgICAgICAgICAgICAgICAgPyBhbmltYXRpb24uZWZmZWN0LnRhcmdldC5wYXJlbnRFbGVt
ZW50CisgICAgICAgICAgICAgICAgIDogYW5pbWF0aW9uLmVmZmVjdC50YXJnZXQ7CisgIHRlc3RT
YW1wbGVzLmZvckVhY2godGVzdFNhbXBsZSA9PiB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1l
ID0gdGVzdFNhbXBsZS50aW1lOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0
YXJnZXQsIHR5cGUpW2lkbE5hbWVdLAorICAgICAgICAgICAgICAgICAgdGVzdFNhbXBsZS5leHBl
Y3RlZCwKKyAgICAgICAgICAgICAgICAgIGBUaGUgdmFsdWUgc2hvdWxkIGJlICR7dGVzdFNhbXBs
ZS5leHBlY3RlZH1gICsKKyAgICAgICAgICAgICAgICAgIGAgYXQgJHt0ZXN0U2FtcGxlLnRpbWV9
bXNgKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHRvT3JkZXJlZEFycmF5KHN0cmluZykgeworICBy
ZXR1cm4gc3RyaW5nLnNwbGl0KC9ccyosXHMvKS5zb3J0KCk7Cit9CisKKy8vIFRoaXMgdGVzdCBp
cyBmb3Igc29tZSBsaXN0LWJhc2VkIENTUyBwcm9wZXJ0aWVzIHN1Y2ggYXMgZm9udC12YXJpYW50
LXNldHRpbmdzCisvLyBkb24ndCBzcGVjaWZ5IGFuIG9yZGVyIGZvciBzZXJpYWxpemluZyBjb21w
dXRlZCB2YWx1ZXMuCisvLyBUaGlzIHRlc3QgaXMgZm9yIHN1Y2ggdGhlIHByb3BlcnR5LgorZnVu
Y3Rpb24gdGVzdEFuaW1hdGlvblNhbXBsZXNXaXRoQW55T3JkZXIoYW5pbWF0aW9uLCBpZGxOYW1l
LCB0ZXN0U2FtcGxlcykgeworICBjb25zdCB0eXBlID0gYW5pbWF0aW9uLmVmZmVjdC50YXJnZXQu
dHlwZTsKKyAgY29uc3QgdGFyZ2V0ID0gYW5pbWF0aW9uLmVmZmVjdC50YXJnZXQuY29uc3RydWN0
b3IubmFtZSA9PT0gJ0NTU1BzZXVkb0VsZW1lbnQnCisgICAgICAgICAgICAgICAgID8gYW5pbWF0
aW9uLmVmZmVjdC50YXJnZXQucGFyZW50RWxlbWVudAorICAgICAgICAgICAgICAgICA6IGFuaW1h
dGlvbi5lZmZlY3QudGFyZ2V0OworICB0ZXN0U2FtcGxlcy5mb3JFYWNoKHRlc3RTYW1wbGUgPT4g
eworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IHRlc3RTYW1wbGUudGltZTsKKworICAgIC8v
IENvbnZlcnQgdG8gYXJyYXkgYW5kIHNvcnQgdGhlIGV4cGVjdGVkIGFuZCBhY3R1YWwgdmFsdWUg
bGlzdHMgZmlyc3QKKyAgICAvLyBiZWZvcmUgY29tcGFyaW5nIHRoZW0uCisgICAgY29uc3QgY29t
cHV0ZWRWYWx1ZXMgPQorICAgICAgdG9PcmRlcmVkQXJyYXkoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJn
ZXQsIHR5cGUpW2lkbE5hbWVdKTsKKyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IHRvT3JkZXJl
ZEFycmF5KHRlc3RTYW1wbGUuZXhwZWN0ZWQpOworCisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhj
b21wdXRlZFZhbHVlcywgZXhwZWN0ZWRWYWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICBg
VGhlIGNvbXB1dGVkIHZhbHVlcyBzaG91bGQgYmUgJHtleHBlY3RlZFZhbHVlc31gICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGAgYXQgJHt0ZXN0U2FtcGxlLnRpbWV9bXNgKTsKKyAgfSk7Cit9
CisKK2Z1bmN0aW9uIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5h
bWUsIHRlc3RTYW1wbGVzKSB7CisgIHZhciB0YXJnZXQgPSBhbmltYXRpb24uZWZmZWN0LnRhcmdl
dDsKKyAgdGVzdFNhbXBsZXMuZm9yRWFjaChmdW5jdGlvbih0ZXN0U2FtcGxlKSB7CisgICAgYW5p
bWF0aW9uLmN1cnJlbnRUaW1lID0gdGVzdFNhbXBsZS50aW1lOworICAgIHZhciBhY3R1YWwgPSBn
ZXRDb21wdXRlZFN0eWxlKHRhcmdldClbaWRsTmFtZV07CisgICAgdmFyIGV4cGVjdGVkID0gY3Jl
YXRlTWF0cml4RnJvbUFycmF5KHRlc3RTYW1wbGUuZXhwZWN0ZWQpOworICAgIGFzc2VydF9tYXRy
aXhfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ1Ro
ZSB2YWx1ZSBzaG91bGQgYmUgJyArIGV4cGVjdGVkICsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAnIGF0ICcgKyB0ZXN0U2FtcGxlLnRpbWUgKyAnbXMgYnV0IGdvdCAnICsgYWN0dWFsKTsKKyAg
fSk7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKSB7CisgIHJldHVy
biBzZXR1cCA/IHNldHVwKHQpIDogY3JlYXRlRWxlbWVudCh0KTsKK30KKworZnVuY3Rpb24gaXNT
dXBwb3J0ZWQocHJvcGVydHkpIHsKKyAgdmFyIHRlc3RLZXlmcmFtZSA9IG5ldyBUZXN0S2V5ZnJh
bWUocHJvcGVydHlUb0lETChwcm9wZXJ0eSkpOworICB0cnkgeworICAgIC8vIFNpbmNlIFRlc3RL
ZXlmcmFtZSByZXR1cm5zICd1bmRlZmluZWQnIGZvciB8cHJvcGVydHl8LAorICAgIC8vIHRoZSBL
ZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB3aWxsIHRocm93CisgICAgLy8gaWYgdGhlIHN0cmlu
ZyAndW5kZWZpbmVkJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5LgorICAg
IG5ldyBLZXlmcmFtZUVmZmVjdChudWxsLCB0ZXN0S2V5ZnJhbWUpOworICB9IGNhdGNoKGUpIHt9
CisgIHJldHVybiB0ZXN0S2V5ZnJhbWUucHJvcEFjY2Vzc0NvdW50ICE9PSAwOworfQorCitmdW5j
dGlvbiBUZXN0S2V5ZnJhbWUodGVzdFByb3ApIHsKKyAgdmFyIF9wcm9wQWNjZXNzQ291bnQgPSAw
OworCisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCB0ZXN0UHJvcCwgeworICAgIGdldDog
ZnVuY3Rpb24oKSB7IF9wcm9wQWNjZXNzQ291bnQrKzsgfSwKKyAgICBlbnVtZXJhYmxlOiB0cnVl
CisgIH0pOworCisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAncHJvcEFjY2Vzc0NvdW50
JywgeworICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBfcHJvcEFjY2Vzc0NvdW50OyB9Cisg
IH0pOworfQorCitmdW5jdGlvbiBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KSB7CisgIC8vIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jYW5pbWF0aW9uLXByb3BlcnR5LW5hbWUt
dG8taWRsLWF0dHJpYnV0ZS1uYW1lCisgIGlmIChwcm9wZXJ0eSA9PT0gJ2Zsb2F0JykgeworICAg
IHJldHVybiAnY3NzRmxvYXQnOworICB9CisgIHJldHVybiBwcm9wZXJ0eS5yZXBsYWNlKC8tW2Et
el0vZ2ksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChzdHIpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RyLnN1YnN0cigxKS50b1VwcGVyQ2FzZSgp
OyB9KTsKK30KK2Z1bmN0aW9uIGNhbGNGcm9tUGVyY2VudGFnZShpZGxOYW1lLCBwZXJjZW50YWdl
VmFsdWUpIHsKKyAgdmFyIGV4YW1FbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXhhbUVsZW0pOworICBleGFtRWxlbS5zdHls
ZVtpZGxOYW1lXSA9IHBlcmNlbnRhZ2VWYWx1ZTsKKworICB2YXIgY2FsY1ZhbHVlID0gZ2V0Q29t
cHV0ZWRTdHlsZShleGFtRWxlbSlbaWRsTmFtZV07CisgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoZXhhbUVsZW0pOworCisgIHJldHVybiBjYWxjVmFsdWU7Cit9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvYW5pbWF0aW9u
LXR5cGVzL3Byb3BlcnR5LXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvYW5pbWF0aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9wcm9wZXJ0eS10eXBlcy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43NjQxYmJlYjkyMDM5NTVmZWJlOGU2OGNkNmNiNTJjYWYyZjE2MjhkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0
aW9uLW1vZGVsL2FuaW1hdGlvbi10eXBlcy9wcm9wZXJ0eS10eXBlcy5qcwpAQCAtMCwwICsxLDIx
NjMgQEAKK2NvbnN0IGRpc2NyZXRlVHlwZSA9IHsKKyAgdGVzdEludGVycG9sYXRpb246IGZ1bmN0
aW9uKHByb3BlcnR5LCBzZXR1cCwgb3B0aW9ucykgeworICAgIG9wdGlvbnMuZm9yRWFjaChmdW5j
dGlvbihrZXlmcmFtZXMpIHsKKyAgICAgIHZhciBbIGZyb20sIHRvIF0gPSBrZXlmcmFtZXM7Cisg
ICAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRv
SURMKHByb3BlcnR5KTsKKyAgICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQs
IHNldHVwKTsKKyAgICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5h
bWVdOiBbZnJvbSwgdG9dIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICAgIHRlc3RBbmltYXRp
b25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6IGZyb20udG9Mb3dlckNhc2UoKSB9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiA0OTksICBleHBlY3RlZDogZnJvbS50b0xv
d2VyQ2FzZSgpIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDUwMCwg
IGV4cGVjdGVkOiB0by50b0xvd2VyQ2FzZSgpIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiB0by50b0xvd2VyQ2FzZSgpIH1dKTsKKyAgICAg
IH0sIHByb3BlcnR5ICsgJyB1c2VzIGRpc2NyZXRlIGFuaW1hdGlvbiB3aGVuIGFuaW1hdGluZyBi
ZXR3ZWVuICInCisgICAgICAgICArIGZyb20gKyAnIiBhbmQgIicgKyB0byArICciIHdpdGggbGlu
ZWFyIGVhc2luZycpOworCisgICAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgLy8gRWFz
aW5nOiBodHRwOi8vY3ViaWMtYmV6aWVyLmNvbS8jLjY4LDAsMSwuMDEKKyAgICAgICAgLy8gV2l0
aCB0aGlzIGN1cnZlLCB3ZSBkb24ndCByZWFjaCB0aGUgNTAlIHBvaW50IHVudGlsIGFib3V0IDk1
JSBvZgorICAgICAgICAvLyB0aGUgdGltZSBoYXMgZXhwaXJlZC4KKyAgICAgICAgdmFyIGlkbE5h
bWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgICAgdmFyIGtleWZyYW1lcyA9IHt9
OworICAgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAg
ICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFtmcm9tLCB0
b10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMDAsIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAuNjgsMCwxLDAuMDEpJyB9KTsKKyAgICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogZnJvbS50b0xvd2VyQ2FzZSgp
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDk0MCwgIGV4cGVjdGVk
OiBmcm9tLnRvTG93ZXJDYXNlKCkgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsg
dGltZTogOTYwLCAgZXhwZWN0ZWQ6IHRvLnRvTG93ZXJDYXNlKCkgfV0pOworICAgICAgfSwgcHJv
cGVydHkgKyAnIHVzZXMgZGlzY3JldGUgYW5pbWF0aW9uIHdoZW4gYW5pbWF0aW5nIGJldHdlZW4g
IicKKyAgICAgICAgICsgZnJvbSArICciIGFuZCAiJyArIHRvICsgJyIgd2l0aCBlZmZlY3QgZWFz
aW5nJyk7CisKKyAgICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgICAvLyBFYXNpbmc6IGh0
dHA6Ly9jdWJpYy1iZXppZXIuY29tLyMuNjgsMCwxLC4wMQorICAgICAgICAvLyBXaXRoIHRoaXMg
Y3VydmUsIHdlIGRvbid0IHJlYWNoIHRoZSA1MCUgcG9pbnQgdW50aWwgYWJvdXQgOTUlIG9mCisg
ICAgICAgIC8vIHRoZSB0aW1lIGhhcyBleHBpcmVkLgorICAgICAgICB2YXIgaWRsTmFtZSA9IHBy
b3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVs
ZW1lbnQodCwgc2V0dXApOworICAgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFtmcm9tLCB0b10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVhc2luZzogJ2N1YmljLWJlemllcigwLjY4LDAsMSwwLjAxKScgfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6
ICdib3RoJyB9KTsKKyAgICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxO
YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3Rl
ZDogZnJvbS50b0xvd2VyQ2FzZSgpIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
IHRpbWU6IDk0MCwgIGV4cGVjdGVkOiBmcm9tLnRvTG93ZXJDYXNlKCkgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgdGltZTogOTYwLCAgZXhwZWN0ZWQ6IHRvLnRvTG93ZXJDYXNl
KCkgfV0pOworICAgICAgfSwgcHJvcGVydHkgKyAnIHVzZXMgZGlzY3JldGUgYW5pbWF0aW9uIHdo
ZW4gYW5pbWF0aW5nIGJldHdlZW4gIicKKyAgICAgICAgICsgZnJvbSArICciIGFuZCAiJyArIHRv
ICsgJyIgd2l0aCBrZXlmcmFtZSBlYXNpbmcnKTsKKyAgICB9KTsKKyAgfSwKKworICB0ZXN0QWRk
aXRpb25PckFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwLCBvcHRpb25zLCBj
b21wb3NpdGUpIHsKKyAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24oa2V5ZnJhbWVzKSB7Cisg
ICAgICB2YXIgWyBmcm9tLCB0byBdID0ga2V5ZnJhbWVzOworICAgICAgdGVzdChmdW5jdGlvbih0
KSB7CisgICAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAg
ICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICAgIHRh
cmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbZnJvbSwgZnJvbV0gfSwgMTAwMCk7CisgICAgICAg
IHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogW3RvLCB0b10gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAs
IGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhh
bmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6
IDAsIGV4cGVjdGVkOiB0by50b0xvd2VyQ2FzZSgpIH1dKTsKKyAgICAgIH0sIHByb3BlcnR5ICsg
JzogIicgKyB0byArICciIG9udG8gIicgKyBmcm9tICsgJyInKTsKKworICAgICAgdGVzdChmdW5j
dGlvbih0KSB7CisgICAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7
CisgICAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAg
ICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbdG8sIHRvXSB9LCAxMDAwKTsKKyAgICAg
ICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbZnJvbSwgZnJv
bV0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgICB0ZXN0QW5pbWF0aW9uU2Ft
cGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7
IHRpbWU6IDAsIGV4cGVjdGVkOiBmcm9tLnRvTG93ZXJDYXNlKCkgfV0pOworICAgICAgfSwgcHJv
cGVydHkgKyAnOiAiJyArIGZyb20gKyAnIiBvbnRvICInICsgdG8gKyAnIicpOworICAgIH0pOwor
ICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwLCBvcHRpb25z
KSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAs
IG9wdGlvbnMsICdhZGQnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5jdGlvbihw
cm9wZXJ0eSwgc2V0dXAsIG9wdGlvbnMpIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11
bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgb3B0aW9ucywgJ2FjY3VtdWxhdGUnKTsKKyAgfSwKK307
CisKK2NvbnN0IGxlbmd0aFR5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihw
cm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxO
YW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRl
VGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmlt
YXRlKHsgW2lkbE5hbWVdOiBbJzEwcHgnLCAnNTBweCddIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAg
ICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICczMHB4JyB9XSk7CisgICAg
fSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBhIGxlbmd0aCcpOworCisgICAg
dGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJv
cGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsK
KyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWycxcmVt
JywgJzVyZW0nXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVy
YXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVz
KGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6
IDUwMCwgIGV4cGVjdGVkOiAnMzBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0
cyBhbmltYXRpbmcgYXMgYSBsZW5ndGggb2YgcmVtJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9u
T3JBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7Cisg
ICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwo
cHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVw
KTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICcxMHB4JzsKKyAgICAgIHZhciBhbmlt
YXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWycxMHB4JywgJzUwcHgnXSB9LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNv
bXBvc2l0ZTogY29tcG9zaXRlfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRp
b24sIGlkbE5hbWUsIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAnMjBweCcgfV0pOworICAgIH0sIHBy
b3BlcnR5ICsgJzogbGVuZ3RoJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZh
ciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0g
Y3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVd
ID0gJzFyZW0nOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5h
bWVdOiBbJzFyZW0nLCAnNXJlbSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0
ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsIFt7IHRpbWU6IDAsIGV4cGVj
dGVkOiAnMjBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbGVuZ3RoIG9mIHJlbScpOwor
ICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAg
dGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhZGQnKTsK
KyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsK
KyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2Fj
Y3VtdWxhdGUnKTsKKyAgfSwKK307CisKK2NvbnN0IGxlbmd0aFBhaXJUeXBlID0geworICB0ZXN0
SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGVzdChmdW5j
dGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOwor
ICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZh
ciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWycxMHB4IDEwcHgnLCAn
NTBweCA1MHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1
cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxl
cyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1l
OiA1MDAsICBleHBlY3RlZDogJzMwcHggMzBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBz
dXBwb3J0cyBhbmltYXRpbmcgYXMgYSBsZW5ndGggcGFpcicpOworCisgICAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAg
ICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBh
bmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWycxcmVtIDFyZW0nLCAnNXJl
bSA1cmVtJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0
aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhh
bmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiA1
MDAsICBleHBlY3RlZDogJzMwcHggMzBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBw
b3J0cyBhbmltYXRpbmcgYXMgYSBsZW5ndGggcGFpciBvZiByZW0nKTsKKyAgfSwKKworICB0ZXN0
QWRkaXRpb25PckFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwLCBjb21wb3Np
dGUpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVy
dHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQo
dCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJzEwcHggMTBweCc7Cisg
ICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnMTBweCAx
MHB4JywgJzUwcHggNTBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0
QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsIFt7IHRpbWU6IDAsIGV4cGVjdGVk
OiAnMjBweCAyMHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBsZW5ndGggcGFpcicpOwor
CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9J
REwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNl
dHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICcxcmVtIDFyZW0nOworICAgICAg
dmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzFyZW0gMXJlbScs
ICc1cmVtIDVyZW0nXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsg
ZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLCBbeyB0aW1lOiAwLCBleHBlY3RlZDogJzIw
cHggMjBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbGVuZ3RoIHBhaXIgb2YgcmVtJyk7
CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAg
ICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FkZCcp
OworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkg
eworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAn
YWNjdW11bGF0ZScpOworICB9LAorfTsKKworY29uc3QgcGVyY2VudGFnZVR5cGUgPSB7CisgIHRl
c3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7
CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAg
dmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzEwJScsICc1MCUn
XSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlv
biwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4
cGVjdGVkOiAnMzAlJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGlu
ZyBhcyBhIHBlcmNlbnRhZ2UnKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlv
bjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUpIHsKKyAgICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7Cisg
ICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFy
Z2V0LnN0eWxlW2lkbE5hbWVdID0gJzYwJSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0
LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnNzAlJywgJzEwMCUnXSB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9z
aXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLCBb
eyB0aW1lOiAwLCBleHBlY3RlZDogJzEzMCUnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHBl
cmNlbnRhZ2UnKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBz
ZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNl
dHVwLCAnYWRkJyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVy
dHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0
eSwgc2V0dXAsICdhY2N1bXVsYXRlJyk7CisgIH0sCit9OworCitjb25zdCBpbnRlZ2VyVHlwZSA9
IHsKKyAgdGVzdEludGVycG9sYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAg
IHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHBy
b3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7
CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFstMiwg
Ml0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAx
MDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRp
b24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiA1MDAsICBl
eHBlY3RlZDogJzAnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5n
IGFzIGFuIGludGVnZXInKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbjog
ZnVuY3Rpb24ocHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUpIHsKKyAgICB0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAg
ICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0
LnN0eWxlW2lkbE5hbWVdID0gLTE7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1h
dGUoeyBbaWRsTmFtZV06IFstMiwgMl0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAg
IHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiAnLTMnIH1dKTsKKyAgICB9LCBw
cm9wZXJ0eSArICc6IGludGVnZXInKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9u
KHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24o
cHJvcGVydHksIHNldHVwLCAnYWRkJyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjogZnVu
Y3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxh
dGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhY2N1bXVsYXRlJyk7CisgIH0sCit9OworCitjb25zdCBw
b3NpdGl2ZUludGVnZXJUeXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJv
cGVydHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFt
ZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRl
c3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWzEsIDNdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWyB7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnMicgfSBdKTsKKyAgICB9LCBwcm9wZXJ0eSAr
ICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGEgcG9zaXRpdmUgaW50ZWdlcicpOworICB9LAorCisg
IHRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAsIGNv
bXBvc2l0ZSkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBw
cm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxl
bWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAxOworICAgICAg
dmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbMiwgNV0gfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21w
b3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlv
biwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4
cGVjdGVkOiAnMycgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogcG9zaXRpdmUgaW50ZWdlcicp
OworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7Cisg
ICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhZGQn
KTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXAp
IHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwg
J2FjY3VtdWxhdGUnKTsKKyAgfSwKK307CisKK2NvbnN0IGxlbmd0aFBlcmNlbnRhZ2VPckNhbGNU
eXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7
CisgICAgbGVuZ3RoVHlwZS50ZXN0SW50ZXJwb2xhdGlvbihwcm9wZXJ0eSwgc2V0dXApOworICAg
IHBlcmNlbnRhZ2VUeXBlLnRlc3RJbnRlcnBvbGF0aW9uKHByb3BlcnR5LCBzZXR1cCk7CisKKyAg
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChw
cm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXAp
OworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzEw
cHgnLCAnMjAlJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1
cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxl
cyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1l
OiA1MDAsICBleHBlY3RlZDogJ2NhbGMoNXB4ICsgMTAlKScgfV0pOworICAgIH0sIHByb3BlcnR5
ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgY29tYmluYXRpb24gdW5pdHMgInB4IiBhbmQgIiUi
Jyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVy
dHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQo
dCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5h
bWVdOiBbJzEwJScsICcyZW0nXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRp
b25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnY2FsYygxMHB4ICsgNSUpJyB9XSk7CisgICAgfSwg
cHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBjb21iaW5hdGlvbiB1bml0cyAiJSIg
YW5kICJlbSInKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUg
PSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0
RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsnMWVtJywgJzJyZW0nXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRl
c3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnMTVweCcgfV0pOworICAgIH0sIHBy
b3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgY29tYmluYXRpb24gdW5pdHMgImVtIiBh
bmQgInJlbSInKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUg
PSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0
RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsnMTBweCcsICdjYWxjKDFlbSArIDIwJSknXSB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9
KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnY2FsYygxMHB4
ICsgMTAlKScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMg
Y29tYmluYXRpb24gdW5pdHMgInB4IiBhbmQgImNhbGMiJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAg
ICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFu
aW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKAorICAgICAgICB7IFtpZGxOYW1lXTogWydjYWxjKDEw
cHggKyAxMCUpJywgJ2NhbGMoMWVtICsgMXJlbSArIDIwJSknXSB9LAorICAgICAgICB7IGR1cmF0
aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhh
bmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiA1
MDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogJ2NhbGMoMTVweCAr
IDE1JSknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGEg
Y2FsYycpOworICB9LAorCisgIHRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uOiBmdW5jdGlvbihw
cm9wZXJ0eSwgc2V0dXAsIGNvbXBvc2l0ZSkgeworICAgIGxlbmd0aFR5cGUudGVzdEFkZGl0aW9u
KHByb3BlcnR5LCBzZXR1cCk7CisgICAgcGVyY2VudGFnZVR5cGUudGVzdEFkZGl0aW9uKHByb3Bl
cnR5LCBzZXR1cCk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1l
ID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVz
dEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJzEwcHgn
OworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzEw
JScsICc1MCUnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVy
YXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlv
blNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
W3sgdGltZTogMCwgZXhwZWN0ZWQ6ICdjYWxjKDEwcHggKyAxMCUpJyB9XSk7CisgICAgfSwgcHJv
cGVydHkgKyAnOiB1bml0cyAiJSIgb250byAicHgiJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2
YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0
eWxlW2lkbE5hbWVdID0gJzEwJSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1h
dGUoeyBbaWRsTmFtZV06IFsnMTBweCcsICc1MHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9
KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAnY2FsYygxMHB4ICsg
MTAlKScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogdW5pdHMgInB4IiBvbnRvICIlIicpOwor
CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9J
REwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNl
dHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICcxMCUnOworICAgICAgdmFyIGFu
aW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzJyZW0nLCAnNXJlbSddIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwg
Y29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmlt
YXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCBl
eHBlY3RlZDogJ2NhbGMoMjBweCArIDEwJSknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHVu
aXRzICJyZW0iIG9udG8gIiUiJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZh
ciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0g
Y3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVd
ID0gJzJyZW0nOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5h
bWVdOiBbJzEwJScsICc1MCUnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVz
dEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0ZWQ6ICdjYWxjKDIwcHggKyAxMCUpJyB9XSk7Cisg
ICAgfSwgcHJvcGVydHkgKyAnOiB1bml0cyAiJSIgb250byAicmVtIicpOworCisgICAgdGVzdChm
dW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkp
OworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAg
IHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICcyZW0nOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRh
cmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJzJyZW0nLCAnNXJlbSddIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBj
b21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5h
bWUsIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAnNDBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsg
JzogdW5pdHMgInJlbSIgb250byAiZW0iJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
ICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFy
Z2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lk
bE5hbWVdID0gJzJyZW0nOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsg
W2lkbE5hbWVdOiBbJzJlbScsICc1ZW0nXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAg
ICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLCBbeyB0aW1lOiAwLCBl
eHBlY3RlZDogJzQwcHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHVuaXRzICJlbSIgb250
byAicmVtIicpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9
IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RF
bGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICcxMHB4JzsK
KyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydjYWxj
KDJlbSArIDIwJSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NhbGMoNXJlbSArIDUwJSknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOwor
ICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0ZWQ6ICdjYWxjKDMwcHggKyAyMCUp
JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiB1bml0cyAiY2FsYyIgb250byAicHgiJyk7CisK
KyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lE
TChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0
dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ2NhbGMoMTBweCArIDEwJSknOwor
ICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ2NhbGMo
MjBweCArIDIwJSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NhbGMoMmVtICsgM3JlbSArIDQwJSknXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRl
IH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0ZWQ6ICdjYWxjKDMwcHgg
KyAzMCUpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBjYWxjJyk7CisgIH0sCisKKyAgdGVz
dEFkZGl0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRp
dGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FkZCcpOworICB9LAorCisgIHRl
c3RBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVz
dEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAnYWNjdW11bGF0ZScpOwor
ICB9LAorfTsKKworY29uc3QgcG9zaXRpdmVOdW1iZXJUeXBlID0geworICB0ZXN0SW50ZXJwb2xh
dGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7
CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFy
IHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRp
b24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWzEuMSwgMS41XSB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3Ro
JyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnMS4zJyB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBhIHBvc2l0aXZl
IG51bWJlcicpOworICB9LAorCisgIHRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uOiBmdW5jdGlv
bihwcm9wZXJ0eSwgc2V0dXAsIGNvbXBvc2l0ZSkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgewor
ICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0
YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVb
aWRsTmFtZV0gPSAxLjE7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBb
aWRsTmFtZV06IFsxLjEsIDEuNV0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRl
c3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwgW3sgdGltZTogMCwgZXhwZWN0
ZWQ6ICcyLjInIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHBvc2l0aXZlIG51bWJlcicpOwor
ICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAg
dGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhZGQnKTsK
KyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsK
KyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2Fj
Y3VtdWxhdGUnKTsKKyAgfSwKK307CisKKy8vIFRlc3QgdXNpbmcgZmxvYXQgdmFsdWVzIGluIHRo
ZSByYW5nZSBbMCwgMV0KK2NvbnN0IG9wYWNpdHlUeXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlv
bjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRh
cmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24g
PSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWzAuMywgMC44XSB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9
KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnMC41NScgfV0p
OworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgYSBbMCwgMV0gbnVt
YmVyJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHBy
b3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAg
ICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdl
dCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxO
YW1lXSA9IDAuMzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWzAuMywgMC44XSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVzdEFu
aW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLCBbeyB0aW1lOiAwLCBleHBlY3RlZDog
JzAuNicgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogWzAsIDFdIG51bWJlcicpOworCisgICAg
dGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJv
cGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsK
KyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9IDAuODsKKyAgICAgIHZhciBhbmltYXRpb24g
PSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWzAuMywgMC44XSB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29t
cG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1l
LCBbeyB0aW1lOiAwLCBleHBlY3RlZDogJzEnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IFsw
LCAxXSBudW1iZXIgKGNsYW1wZWQpJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlv
bihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9u
KHByb3BlcnR5LCBzZXR1cCwgJ2FkZCcpOworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1
bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVs
YXRpb24ocHJvcGVydHksIHNldHVwLCAnYWNjdW11bGF0ZScpOworICB9LAorfTsKKworY29uc3Qg
dmlzaWJpbGl0eVR5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0
eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0g
cHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVs
ZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsg
W2lkbE5hbWVdOiBbJ3Zpc2libGUnLCAnaGlkZGVuJ10gfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAg
ICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogJ3Zpc2libGUnIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiA5OTksICBleHBlY3RlZDogJ3Zpc2libGUn
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDog
J2hpZGRlbicgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyB1c2VzIHZpc2liaWxpdHkgYW5pbWF0
aW9uIHdoZW4gYW5pbWF0aW5nICcKKyAgICAgICArICdmcm9tICJ2aXNpYmxlIiB0byAiaGlkZGVu
IicpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3Bl
cnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50
KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWydoaWRkZW4nLCAndmlzaWJsZSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVz
dEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6ICdoaWRkZW4nIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgeyB0aW1lOiAxLCAgICBleHBlY3RlZDogJ3Zpc2libGUnIH0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogJ3Zpc2li
bGUnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgdXNlcyB2aXNpYmlsaXR5IGFuaW1hdGlvbiB3
aGVuIGFuaW1hdGluZyAnCisgICAgICsgJ2Zyb20gImhpZGRlbiIgdG8gInZpc2libGUiJyk7CisK
KyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lE
TChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0
dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBb
J2hpZGRlbicsICdjb2xsYXBzZSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6ICdoaWRkZW4nIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyB0aW1lOiA0OTksICBleHBlY3RlZDogJ2hpZGRlbicgfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnY29sbGFwc2UnIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogJ2Nv
bGxhcHNlJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHVzZXMgdmlzaWJpbGl0eSBhbmltYXRp
b24gd2hlbiBhbmltYXRpbmcgJworICAgICArICdmcm9tICJoaWRkZW4iIHRvICJjb2xsYXBzZSIn
KTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgLy8gRWFzaW5nOiBodHRwOi8vY3Vi
aWMtYmV6aWVyLmNvbS8jLjY4LC0uNTUsLjI2LDEuNTUKKyAgICAgIC8vIFdpdGggdGhpcyBjdXJ2
ZSwgdGhlIHZhbHVlIGlzIGxlc3MgdGhhbiAwIHRpbGwgYWJvdXQgMzQlCisgICAgICAvLyBhbHNv
IG1vcmUgdGhhbiAxIHNpbmNlIGFib3V0IDYzJQorICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0
eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0
LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsndmlzaWJsZScsICdoaWRkZW4nXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2LCAxLjU1KScgfSk7
CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogJ3Zpc2libGUnIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiAxLCAgICBleHBlY3RlZDogJ3Zp
c2libGUnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiAzMzAsICBleHBl
Y3RlZDogJ3Zpc2libGUnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiAz
NDAsICBleHBlY3RlZDogJ3Zpc2libGUnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eyB0aW1lOiA2MjAsICBleHBlY3RlZDogJ3Zpc2libGUnIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgeyB0aW1lOiA2MzAsICBleHBlY3RlZDogJ2hpZGRlbicgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiAnaGlkZGVuJyB9XSk7Cisg
ICAgfSwgcHJvcGVydHkgKyAnIHVzZXMgdmlzaWJpbGl0eSBhbmltYXRpb24gd2hlbiBhbmltYXRp
bmcgJworICAgICArICdmcm9tICJ2aXNpYmxlIiB0byAiaGlkZGVuIiB3aXRoIGVhc2VJbk91dEJh
Y2sgZWFzaW5nJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0
aW9uKHByb3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7
CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFy
IHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHls
ZVtpZGxOYW1lXSA9ICd2aXNpYmxlJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWyd2aXNpYmxlJywgJ2hpZGRlbiddIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9zaXRlOiBjb21wb3Np
dGUgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogJ3Zpc2li
bGUnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3Rl
ZDogJ3Zpc2libGUnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IG9udG8gInZpc2libGUiJyk7
CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ2hpZGRlbic7CisgICAgICB2
YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnaGlkZGVuJywgJ3Zp
c2libGUnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IDEwMDAsIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBs
ZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGlt
ZTogMCwgICAgZXhwZWN0ZWQ6ICdoaWRkZW4nIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogJ3Zpc2libGUnIH1dKTsKKyAgICB9LCBwcm9wZXJ0
eSArICc6IG9udG8gImhpZGRlbiInKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9u
KHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24o
cHJvcGVydHksIHNldHVwLCAnYWRkJyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjogZnVu
Y3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxh
dGlvbihwcm9wZXJ0eSwgc2V0dXAsICdhY2N1bXVsYXRlJyk7CisgIH0sCit9OworCitjb25zdCBj
b2xvclR5cGUgPSB7CisgIHRlc3RJbnRlcnBvbGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0
dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVy
dHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQo
dCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5h
bWVdOiBbJ3JnYigyNTUsIDAsIDApJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdyZ2IoMCwgMCwgMjU1KSddIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTAwMCk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhh
bmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiA1
MDAsICBleHBlY3RlZDogJ3JnYigxMjgsIDAsIDEyOCknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSAr
ICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGNvbG9yIG9mIHJnYigpJyk7CisKKyAgICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7
CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAg
dmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJyNmZjAwMDAnLCAn
IzAwMDBmZiddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMCk7
CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3JnYigxMjgsIDAs
IDEyOCknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGNv
bG9yIG9mICNSR0InKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5h
bWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVU
ZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1h
dGUoeyBbaWRsTmFtZV06IFsnaHNsKDAsICAgMTAwJSwgNTAlKScsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHNsKDI0MCwgMTAwJSwgNTAlKSdd
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMCk7CisgICAgICB0
ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3JnYigxMjgsIDAsIDEyOCknIH1d
KTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGNvbG9yIG9mIGhz
bCgpJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJv
cGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1l
bnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lk
bE5hbWVdOiBbJyNmZjAwMDA2NicsICcjMDAwMGZmY2MnXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEwMDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gUjogMjU1ICogKDAuNCAqIDAuNSkgLyAwLjYgPSA4NQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRzogMjU1ICogKDAuOCAq
IDAuNSkgLyAwLjYgPSAxNzAKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVj
dGVkOiAncmdiYSg4NSwgMCwgMTcwLCAwLjYpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnIHN1
cHBvcnRzIGFuaW1hdGluZyBhcyBjb2xvciBvZiAjUkdCYScpOworCisgICAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAg
ICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBh
bmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydyZ2JhKDI1NSwgMCwgMCwg
MC40KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAncmdiYSgwLCAwLCAyNTUsIDAuOCknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEwMDApOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBp
ZGxOYW1lLCAgICAgIC8vIFNhbWUgYXMgYWJvdmUuCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3JnYmEoODUsIDAsIDE3MCwgMC42KScgfV0pOwor
ICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgY29sb3Igb2YgcmdiYSgp
Jyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVy
dHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQo
dCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5h
bWVdOiBbJ2hzbGEoMCwgICAxMDAlLCA1MCUsIDAuNCknLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hzbGEoMjQwLCAxMDAlLCA1MCUsIDAuOCkn
XSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDApOworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLCAgICAgIC8vIFNhbWUgYXMg
YWJvdmUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3Rl
ZDogJ3JnYmEoODUsIDAsIDE3MCwgMC42KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBw
b3J0cyBhbmltYXRpbmcgYXMgY29sb3Igb2YgaHNsYSgpJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0
aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7
CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9J
REwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNl
dHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdyZ2IoMTI4LCAxMjgsIDEyOCkn
OworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3Jn
YigyNTUsIDAsIDApJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdyZ2IoMCwgMCwgMjU1KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7Cisg
ICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCAgIGV4cGVjdGVkOiAncmdiKDI1NSwgMTI4LCAx
MjgpJyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSB2YWx1ZSBhdCA1MCUg
aXMgaW50ZXJwb2xhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZnJvbSAncmdi
KDEyOCsyNTUsIDEyOCwgMTI4KScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0byAg
ICdyZ2IoMTI4LCAgICAgMTI4LCAxMjgrMjU1KScuCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeyB0aW1lOiA1MDAsIGV4cGVjdGVkOiAncmdiKDI1NSwgMTI4LCAyNTUpJyB9XSk7CisgICAg
fSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBjb2xvciBvZiByZ2IoKSB3aXRo
IG92ZXJmbG93ZWQgJyArCisgICAgICAgJ2Zyb20gYW5kIHRvIHZhbHVlcycpOworCisgICAgdGVz
dChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVy
dHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAg
ICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdyZ2IoMTI4LCAxMjgsIDEyOCknOworICAgICAg
dmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJyNmZjAwMDAnLCAn
IzAwMDBmZiddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9u
U2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBb
eyB0aW1lOiAwLCAgZXhwZWN0ZWQ6ICdyZ2IoMjU1LCAxMjgsIDEyOCknIH1dKTsKKyAgICB9LCBw
cm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFzIGNvbG9yIG9mICNSR0InKTsKKworICAg
IHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHBy
b3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7
CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAncmdiKDEyOCwgMTI4LCAxMjgpJzsKKyAg
ICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydoc2woMCwg
ICAxMDAlLCA1MCUpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdoc2woMjQwLCAxMDAlLCA1MCUpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9
KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICBleHBlY3RlZDogJ3JnYigyNTUsIDEy
OCwgMTI4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMg
Y29sb3Igb2YgaHNsKCknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlk
bE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVh
dGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAn
cmdiKDEyOCwgMTI4LCAxMjgpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWycjZmYwMDAwNjYnLCAnIzAwMDBmZmNjJ10gfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNv
bXBvc2l0ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFt
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsICBleHBlY3RlZDogJ3Jn
YigyMzAsIDEyOCwgMTI4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmlt
YXRpbmcgYXMgY29sb3Igb2YgI1JHQmEnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAg
ICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJn
ZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRs
TmFtZV0gPSAncmdiKDEyOCwgMTI4LCAxMjgpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJn
ZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydyZ2JhKDI1NSwgMCwgMCwgMC40KScsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgwLCAwLCAy
NTUsIDAuOCknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVy
YXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1hdGlv
blNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLCAgICAgIC8vIFNhbWUgYXMgYWJvdmUuCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCAgZXhwZWN0ZWQ6ICdyZ2IoMjMwLCAx
MjgsIDEyOCknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5nIGFz
IGNvbG9yIG9mIHJnYmEoKScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIg
aWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNy
ZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9
ICdyZ2IoMTI4LCAxMjgsIDEyOCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmlt
YXRlKHsgW2lkbE5hbWVdOiBbJ2hzbGEoMCwgICAxMDAlLCA1MCUsIDAuNCknLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hzbGEoMjQwLCAxMDAl
LCA1MCUsIDAuOCknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsg
ZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLCAgICAgIC8vIFNhbWUgYXMgYWJvdmUuCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCAgZXhwZWN0ZWQ6ICdyZ2IoMjMw
LCAxMjgsIDEyOCknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5n
IGFzIGNvbG9yIG9mIGhzbGEoKScpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24o
cHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihw
cm9wZXJ0eSwgc2V0dXAsICdhZGQnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5j
dGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0
aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FjY3VtdWxhdGUnKTsKKyAgfSwKK307CisKK2NvbnN0IHRy
YW5zZm9ybUxpc3RUeXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVy
dHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9
IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RF
bGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7
IFtpZGxOYW1lXTogWyd0cmFuc2xhdGUoMjAwcHgsIC0yMDBweCknLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZSg0MDBweCwgNDAw
cHgpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwKTsKKyAg
ICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAg
ICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiBbIDEsIDAsIDAsIDEsIDMwMCwgMTAwIF0gfV0p
OworICAgIH0sIHByb3BlcnR5ICsgJzogdHJhbnNsYXRlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAg
ICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFu
aW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3JvdGF0ZSg0NWRlZyknLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JvdGF0
ZSgxMzVkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAw
KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFt
ZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6IFsgTWF0aC5jb3MoTWF0aC5QSSAv
IDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnNpbihNYXRoLlBJ
IC8gMiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLU1hdGguc2luKE1hdGgu
UEkgLyAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5jb3MoTWF0
aC5QSSAvIDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwXSB9XSk7
CisgICAgfSwgcHJvcGVydHkgKyAnOiByb3RhdGUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0
aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnc2NhbGUoMyknLCAnc2NhbGUoNSkn
XSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDApOworCisgICAg
ICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAg
ICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogWyA0LCAwLCAwLCA0LCAwLCAwIF0gfV0pOworICAg
IH0sIHByb3BlcnR5ICsgJzogc2NhbGUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAg
ICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJn
ZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0g
dGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnc2tldygzMGRlZywgNjBkZWcpJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdza2V3KDYwZGVn
LCAzMGRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDAp
OworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1l
LAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogWyAxLCBNYXRoLnRhbihNYXRoLlBJ
IC8gNCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGgudGFuKE1hdGgu
UEkgLyA0KSwgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMF0gfV0p
OworICAgIH0sIHByb3BlcnR5ICsgJzogc2tldycpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7
CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFy
IHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRp
b24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyd0cmFuc2xhdGVYKDEw
MHB4KSByb3RhdGUoNDVkZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAndHJhbnNsYXRlWCgyMDBweCkgcm90YXRlKDEzNWRlZyknXSB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAxMDAwKTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1h
dGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6IFsgTWF0aC5j
b3MoTWF0aC5QSSAvIDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRo
LnNpbihNYXRoLlBJIC8gMiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLU1h
dGguc2luKE1hdGguUEkgLyAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TWF0aC5jb3MoTWF0aC5QSSAvIDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxNTAsIDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiByb3RhdGUgYW5kIHRyYW5zbGF0
ZScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3Bl
cnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50
KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWydyb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVgoMTAwcHgpJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm90YXRlKDEzNWRlZykgdHJhbnNsYXRl
WCgyMDBweCknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAxMDAwKTsKKworICAgICAgdGVz
dEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sg
dGltZTogNTAwLCBleHBlY3RlZDogWyBNYXRoLmNvcyhNYXRoLlBJIC8gMiksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5zaW4oTWF0aC5QSSAvIDIpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLU1hdGguc2luKE1hdGguUEkgLyAyKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmNvcyhNYXRoLlBJIC8gMiksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwICogTWF0aC5jb3MoTWF0aC5QSSAvIDIpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MCAqIE1hdGguc2luKE1hdGguUEkg
LyAyKSBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHRyYW5zbGF0ZSBhbmQgcm90YXRlJyk7
CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgw
LCAxLCAtMSwgMCwgMCwgMTAwKQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTog
Wydyb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVgoMTAwcHgpJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZVgoMjAwcHgpIHJvdGF0ZSgx
ODBkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RB
bmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRp
bWU6IDUwMCwgZXhwZWN0ZWQ6IFsgTWF0aC5jb3MoTWF0aC5QSSAqIDMgLyA0KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnNpbihNYXRoLlBJICogMyAvIDQpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLU1hdGguc2luKE1hdGguUEkgKiAzIC8gNCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5jb3MoTWF0aC5QSSAqIDMg
LyA0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAsIDUwIF0gfV0pOwor
ICAgIH0sIHByb3BlcnR5ICsgJzogbWlzbWF0Y2ggb3JkZXIgb2YgdHJhbnNsYXRlIGFuZCByb3Rh
dGUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgIC8vIFNh
bWUgbWF0cmljZXMgYXMgYWJvdmUuCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVd
OiBbICdtYXRyaXgoMCwgMSwgLTEsIDAsIDAsIDEwMCknLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnbWF0cml4KC0xLCAwLCAwLCAtMSwgMjAwLCAwKScgXSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAxMDAwKTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1h
dHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCBleHBlY3Rl
ZDogWyBNYXRoLmNvcyhNYXRoLlBJICogMyAvIDQpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE1hdGguc2luKE1hdGguUEkgKiAzIC8gNCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAtTWF0aC5zaW4oTWF0aC5QSSAqIDMgLyA0KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBNYXRoLmNvcyhNYXRoLlBJICogMyAvIDQpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCwgNTAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkg
KyAnOiBtYXRyaXgnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5h
bWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVU
ZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFy
Z2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgJ3JvdGF0ZTNkKDEsIDEsIDAsIDBkZWcpJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JvdGF0ZTNkKDEsIDEsIDAsIDkw
ZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIDEwMDApOworCisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1l
OiA1MDAsIGV4cGVjdGVkOiByb3RhdGUzZFRvTWF0cml4KDEsIDEsIDAsIE1hdGguUEkgLyA0KSB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiByb3RhdGUzZCcpOworCisgICAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAg
ICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIC8vIFRv
IGNhbGN1bGF0ZSBleHBlY3RlZCBtYXRyaWNlcyBlYXNpbHksIGdlbmVyYXRlIGlucHV0IG1hdHJp
Y2VzIGZyb20KKyAgICAgIC8vIHJvdGF0ZTNkLgorICAgICAgdmFyIGZyb20gPSByb3RhdGUzZFRv
TWF0cml4M2QoMSwgMSwgMCwgTWF0aC5QSSAvIDQpOworICAgICAgdmFyIHRvID0gcm90YXRlM2RU
b01hdHJpeDNkKDEsIDEsIDAsIE1hdGguUEkgKiAzIC8gNCk7CisgICAgICB2YXIgYW5pbWF0aW9u
ID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgZnJvbSwgdG8gXSB9LCAx
MDAwKTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRs
TmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCBleHBlY3RlZDogcm90YXRlM2RUb01hdHJpeCgx
LCAxLCAwLCBNYXRoLlBJICogMiAvIDQpIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IG1hdHJp
eDNkJyk7CisKKyAgICAvLyBUaGlzIHRlc3QgYWltcyBmb3IgZm9yY2luZyB0aGUgdHdvIG1pc21h
dGNoZWQgdHJhbnNmb3JtcyB0byBiZQorICAgIC8vIGRlY29tcG9zZWQgaW50byBtYXRyaXgzZCBi
ZWZvcmUgaW50ZXJwb2xhdGlvbi4gVGhlcmVmb3JlLCB3ZSBub3Qgb25seQorICAgIC8vIHRlc3Qg
dGhlIGludGVycG9sYXRpb24sIGJ1dCBhbHNvIHRlc3QgdGhlIDNEIG1hdHJpeCBkZWNvbXBvc2l0
aW9uLgorICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0
eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0
LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsnc2NhbGUoMC4zKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gc2NhbGUoMC41KSB0cmFuc2xhdGVaKDFweCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnbWF0cml4M2QoMC41LCAwLCAwLCAwLCAwLCAwLjUsIDAsIDAs
IDAsIDAsIDEsIDAsIDAsIDAsIDEsIDEpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgMTAw
MCk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5h
bWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiBbIDAuNCwgMCwgICAwLCAgIDAs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICAgMC40LCAwLCAgIDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICAgMCwgICAxLCAgIDAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICAgMCwgICAwLjUsIDFdIH1dKTsKKyAg
ICB9LCBwcm9wZXJ0eSArICc6IG1pc21hdGNoZWQgM0QgdHJhbnNmb3JtcycpOworCisgICAgdGVz
dChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVy
dHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAg
ICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTog
Wydyb3RhdGVZKDYwZGVnKScsICdub25lJyBdIH0sIDEwMDApOworCisgICAgICB0ZXN0QW5pbWF0
aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAg
IC8vIHJvdGF0ZVkoMzBkZWcpID09IHJvdGF0ZTNEKDAsIDEsIDAsIDMwZGVnKQorICAgICAgICBb
eyB0aW1lOiA1MDAsIGV4cGVjdGVkOiByb3RhdGUzZFRvTWF0cml4KDAsIDEsIDAsIE1hdGguUEkg
LyA2KSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiByb3RhdGVZJyk7CisKKyAgICAvLyBGb2xs
b3dpbmcgdGVzdHMgYWltIGZvciB0ZXN0IHRoZSBmYWxsYmFjayBkaXNjcmV0ZSBpbnRlcnBvbGF0
aW9uIGJlaGF2aW9yCisgICAgLy8gZm9yIG5vbi1pbnZlcnRpYmxlIG1hdHJpY2VzLiBUaGUgbm9u
LWludmVydGlibGUgbWF0cml4IHRoYXQgd2UgdXNlIGlzIHRoZQorICAgIC8vIHNpbmd1bGVyIG1h
dHJpeCwgbWF0cml4KDEsIDEsIDAsIDAsIDAsIDEwMCkuCisgICAgdGVzdChmdW5jdGlvbih0KSB7
CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFy
IHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRp
b24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydtYXRyaXgoLTEsIDAs
IDAsIC0xLCAyMDAsIDApJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
bWF0cml4KCAxLCAxLCAwLCAgMCwgMCwgMTAwKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAg
IHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlv
blNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgWyB7IHRpbWU6IDAs
ICAgIGV4cGVjdGVkOiBbIC0xLCAwLCAwLCAtMSwgMjAwLCAgIDAgXSB9LAorICAgICAgICAgIHsg
dGltZTogNDk5LCAgZXhwZWN0ZWQ6IFsgLTEsIDAsIDAsIC0xLCAyMDAsICAgMCBdIH0sCisgICAg
ICAgICAgeyB0aW1lOiA1MDAsICBleHBlY3RlZDogWyAgMSwgMSwgMCwgIDAsICAgMCwgMTAwIF0g
fSwKKyAgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiBbICAxLCAxLCAwLCAgMCwgICAw
LCAxMDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBub24taW52ZXJ0aWJsZSBtYXRyaWNl
cycpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3Bl
cnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50
KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAvLyBtYXRy
aXgoMCwgLTEsIDEsIDAsIDI1MCwgMCkKKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFt
ZV06IFsndHJhbnNsYXRlKDUwcHgpICBtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApIHJvdGF0
ZSg5MGRlZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdHJp
eCgtMSwgLTEsIDAsIDAsIDEwMCwgMTAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICd0cmFuc2xhdGUoMTAwcHgpIG1hdHJpeCggMSwgMSwgMCwgIDAsIDAsIDEwMCkgcm90
YXRlKDE4MGRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAw
LCBmaWxsOiAnYm90aCcgfSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhh
bmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFsgeyB0aW1lOiAwLCAgICBleHBlY3RlZDogWyAg
MCwgLTEsIDEsIDAsIDI1MCwgICAwIF0gfSwKKyAgICAgICAgICB7IHRpbWU6IDQ5OSwgIGV4cGVj
dGVkOiBbICAwLCAtMSwgMSwgMCwgMjUwLCAgIDAgXSB9LAorICAgICAgICAgIHsgdGltZTogNTAw
LCAgZXhwZWN0ZWQ6IFsgLTEsIC0xLCAwLCAwLCAxMDAsIDEwMCBdIH0sCisgICAgICAgICAgeyB0
aW1lOiAxMDAwLCBleHBlY3RlZDogWyAtMSwgLTEsIDAsIDAsIDEwMCwgMTAwIF0gfV0pOworICAg
IH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUgbWF0cmljZXMgaW4gbWF0Y2hlZCB0cmFu
c2Zvcm0gbGlzdHMnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5h
bWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVU
ZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAg
ICAgLy8gbWF0cml4KC0yLCAwLCAwLCAtMiwgMjUwLCAwKQorICAgICAgICB0YXJnZXQuYW5pbWF0
ZSh7IFtpZGxOYW1lXTogWyd0cmFuc2xhdGUoNTBweCkgIG1hdHJpeCgtMSwgMCwgMCwgLTEsIDIw
MCwgMCkgc2NhbGUoMiknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IG1hdHJpeCgxLCAxLCAxLCAxLCAxMDAsIDEwMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAndHJhbnNsYXRlKDEwMHB4KSBtYXRyaXgoIDEsIDEsIDAsICAwLCAwLCAxMDAp
IHNrZXcoNDVkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAw
MCwgZmlsbDogJ2JvdGgnIH0pOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMo
YW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGltZTogMCwgICAgZXhwZWN0ZWQ6IFsg
LTIsIDAsIDAsIC0yLCAyNTAsICAgMCBdIH0sCisgICAgICAgICAgeyB0aW1lOiA0OTksICBleHBl
Y3RlZDogWyAtMiwgMCwgMCwgLTIsIDI1MCwgICAwIF0gfSwKKyAgICAgICAgICB7IHRpbWU6IDUw
MCwgIGV4cGVjdGVkOiBbICAxLCAxLCAxLCAgMSwgMTAwLCAxMDAgXSB9LAorICAgICAgICAgIHsg
dGltZTogMTAwMCwgZXhwZWN0ZWQ6IFsgIDEsIDEsIDEsICAxLCAxMDAsIDEwMCBdIH1dKTsKKyAg
ICB9LCBwcm9wZXJ0eSArICc6IG5vbi1pbnZlcnRpYmxlIG1hdHJpY2VzIGluIG1pc21hdGNoZWQg
dHJhbnNmb3JtIGxpc3RzJyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihwcm9w
ZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1l
ID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVz
dEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3RyYW5z
bGF0ZVgoMTAwcHgpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtp
ZGxOYW1lXTogWyd0cmFuc2xhdGVYKC0yMDBweCknLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZVgoNTAwcHgpJ10gfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAn
Ym90aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGU6
ICdhZGQnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgWyB7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBbIDEsIDAsIDAsIDEs
IC0xMDAsIDAgXSB9LAorICAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6IFsgMSwgMCwg
MCwgMSwgIDYwMCwgMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHRyYW5zbGF0ZScpOwor
CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9J
REwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNl
dHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdyb3RhdGUoNDVkZWcpJzsKKyAg
ICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydyb3RhdGUo
LTkwZGVnKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAncm90YXRlKDkwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29tcG9zaXRlOiAnYWRkJyB9KTsKKworICAgICAgdGVzdEFu
aW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGlt
ZTogMCwgICAgZXhwZWN0ZWQ6IFsgTWF0aC5jb3MoLU1hdGguUEkgLyA0KSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5zaW4oLU1hdGguUEkgLyA0KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtTWF0aC5zaW4oLU1hdGguUEkgLyA0KSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5jb3MoLU1hdGguUEkgLyA0KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMF0gfSwKKyAgICAgICAgIHsgdGlt
ZTogMTAwMCwgZXhwZWN0ZWQ6IFsgTWF0aC5jb3MoTWF0aC5QSSAqIDMgLyA0KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5zaW4oTWF0aC5QSSAqIDMgLyA0KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtTWF0aC5zaW4oTWF0aC5QSSAqIDMgLyA0
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5jb3MoTWF0aC5QSSAq
IDMgLyA0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMF0gfV0pOwor
ICAgIH0sIHByb3BlcnR5ICsgJzogcm90YXRlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIg
dGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxl
W2lkbE5hbWVdID0gJ3NjYWxlKDIpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWydzY2FsZSgtMyknLCAnc2NhbGUoNSknXSB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3Ro
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvc2l0ZTogJ2Fk
ZCcgfSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlk
bE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBbIC02LCAwLCAwLCAtNiwg
MCwgMCBdIH0sIC8vIHNjYWxlKC0zKSBzY2FsZSgyKQorICAgICAgICAgeyB0aW1lOiAxMDAwLCBl
eHBlY3RlZDogWyAxMCwgMCwgMCwgMTAsIDAsIDAgXSB9XSk7IC8vIHNjYWxlKDUpIHNjYWxlKDIp
CisgICAgfSwgcHJvcGVydHkgKyAnOiBzY2FsZScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7
CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFy
IHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIG1hdHJpeCgxLCB0YW4oMTBkZWcpLCB0YW4oMTBkZWcpLCAxKQorICAg
ICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3NrZXcoMTBkZWcsIDEwZGVnKSc7CisgICAgICB2
YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgLy8gbWF0cml4KDEsIHRhbigyMGRlZyksIHRh
bigtMzBkZWcpLCAxKQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydza2V3
KC0zMGRlZywgMjBkZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyBtYXRyaXgoMSwgdGFuKC0zMGRlZyksIHRhbigyMGRlZyksIDEpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3NrZXcoMjBkZWcsIC0zMGRlZyknXSB9LAorICAgICAgICAg
ICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcsIGNvbXBvc2l0ZTog
J2FkZCcgfSk7CisKKyAgICAgIC8vIG1hdHJpeCBhdCAwJS4KKyAgICAgIC8vIFsgMSAgICAgICAg
ICB0YW4oMTBkZWcpIF0gWyAxICAgICAgICAgIHRhbigtMzBkZWcpIF0KKyAgICAgIC8vIFsgdGFu
KDEwZGVnKSAgICAgICAgICAxIF0gWyB0YW4oMjBkZWcpICAgICAgICAgICAxIF0gPQorICAgICAg
Ly8KKyAgICAgIC8vIFsgMSArIHRhbigxMGRlZykgKiB0YW4oMjBkZWcpIHRhbigtMzBkZWcpICsg
dGFuKDEwZGVnKSAgICAgXQorICAgICAgLy8gWyAgICAgdGFuKDEwZGVnKSArIHRhbigyMGRlZykg
dGFuKDEwZGVnKSAqIHRhbigtMzBkZWcpICsgMSBdCisKKyAgICAgIC8vIG1hdHJpeCBhdCAxMDAl
LgorICAgICAgLy8gWyAxICAgICAgICAgIHRhbigxMGRlZykgXSBbIDEgICAgICAgICAgIHRhbigy
MGRlZykgXQorICAgICAgLy8gWyB0YW4oMTBkZWcpICAgICAgICAgIDEgXSBbIHRhbigtMzBkZWcp
ICAgICAgICAgIDEgXSA9CisgICAgICAvLworICAgICAgLy8gWyAxICsgdGFuKDEwZGVnKSAqIHRh
bigtMzBkZWcpIHRhbigyMGRlZykgKyB0YW4oMTBkZWcpICAgICBdCisgICAgICAvLyBbICAgICB0
YW4oMTBkZWcpICsgdGFuKC0zMGRlZykgdGFuKDEwZGVnKSAqIHRhbigyMGRlZykgKyAxIF0KKwor
ICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAg
ICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6IFsgMSArIE1hdGgudGFuKE1hdGguUEkvMTgp
ICogTWF0aC50YW4oTWF0aC5QSS85KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTWF0aC50YW4oTWF0aC5QSS8xOCkgKyBNYXRoLnRhbihNYXRoLlBJLzkpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnRhbigtTWF0aC5QSS82KSArIE1hdGgudGFu
KE1hdGguUEkvMTgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICsgTWF0
aC50YW4oTWF0aC5QSS8xOCkgKiBNYXRoLnRhbigtTWF0aC5QSS82KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMCwgMF0gfSwKKyAgICAgICAgIHsgdGltZTogMTAwMCwgZXhw
ZWN0ZWQ6IFsgMSArIE1hdGgudGFuKE1hdGguUEkvMTgpICogTWF0aC50YW4oLU1hdGguUEkvNiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGgudGFuKE1hdGguUEkvMTgp
ICsgTWF0aC50YW4oLU1hdGguUEkvNiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE1hdGgudGFuKE1hdGguUEkvOSkgKyBNYXRoLnRhbihNYXRoLlBJLzE4KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMSArIE1hdGgudGFuKE1hdGguUEkvMTgpICogTWF0
aC50YW4oTWF0aC5QSS85KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwg
MF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogc2tldycpOworCisgICAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAg
ICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBtYXRyaXgoMSwgMCwgMCwgMSwgMTAwLCAwKQorICAgICAg
dGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3RyYW5zbGF0ZVgoMTAwcHgpJzsKKyAgICAgIHZhciBh
bmltYXRpb24gPSAgICAgICAgICAgICAgICAvLyBtYXRyaXgoMCwgMSwgLTEsIDAsIDAsIDApCisg
ICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3JvdGF0ZSg5MGRlZyknLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgtMSwgMCwgMCwgLTEs
IDAsIDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JvdGF0ZSgxODBk
ZWcpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDog
J2JvdGgnLCBjb21wb3NpdGU6ICdhZGQnIH0pOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxl
TWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBl
Y3RlZDogWyAgMCwgMSwgLTEsICAwLCAxMDAsIDAgXSB9LAorICAgICAgICAgeyB0aW1lOiAxMDAw
LCBleHBlY3RlZDogWyAtMSwgMCwgIDAsIC0xLCAxMDAsIDAgXSB9XSk7CisgICAgfSwgcHJvcGVy
dHkgKyAnOiByb3RhdGUgb24gdHJhbnNsYXRlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIg
dGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIG1hdHJpeCgwLCAxLCAtMSwgMCwgMCwgMCkKKyAgICAgIHRhcmdldC5z
dHlsZVtpZGxOYW1lXSA9ICdyb3RhdGUoOTBkZWcpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSAg
ICAgICAgICAgICAgICAvLyBtYXRyaXgoMSwgMCwgMCwgMSwgMTAwLCAwKQorICAgICAgICB0YXJn
ZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyd0cmFuc2xhdGVYKDEwMHB4KScsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0cml4KDEsIDAsIDAsIDEsIDIwMCwgMCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRlWCgyMDBweCkn
XSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90
aCcsIGNvbXBvc2l0ZTogJ2FkZCcgfSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRy
aWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVk
OiBbIDAsIDEsIC0xLCAwLCAwLCAxMDAgXSB9LAorICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBl
Y3RlZDogWyAwLCAxLCAtMSwgMCwgMCwgMjAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzog
dHJhbnNsYXRlIG9uIHJvdGF0ZScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2
YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9
IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1l
XSA9ICdtYXRyaXgoMCwgMSwgLTEsIDAsIDAsIDApJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSAg
ICAgICAgICAgICAgICAgLy8gU2FtZSBtYXRyaWNlcyBhcyBhYm92ZS4KKyAgICAgICAgdGFyZ2V0
LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgJ21hdHJpeCgxLCAwLCAwLCAxLCAxMDAsIDApJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hdHJpeCgxLCAwLCAwLCAxLCAy
MDAsIDApJyBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZp
bGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWRkJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNh
bXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAg
ZXhwZWN0ZWQ6IFsgMCwgMSwgLTEsIDAsIDAsIDEwMCBdIH0sCisgICAgICAgICB7IHRpbWU6IDEw
MDAsIGV4cGVjdGVkOiBbIDAsIDEsIC0xLCAwLCAwLCAyMDAgXSB9XSk7CisgICAgfSwgcHJvcGVy
dHkgKyAnOiBtYXRyaXgnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlk
bE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVh
dGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAn
cm90YXRlM2QoMSwgMSwgMCwgNDVkZWcpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAg
ICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncm90YXRlM2QoMSwgMSwgMCwgLTkwZGVn
KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyb3RhdGUzZCgxLCAx
LCAwLCA5MGRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAw
LCBmaWxsOiAnYm90aCcsIGNvbXBvc2l0ZTogJ2FkZCcgfSk7CisKKyAgICAgIHRlc3RBbmltYXRp
b25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDAs
ICAgIGV4cGVjdGVkOiByb3RhdGUzZFRvTWF0cml4KDEsIDEsIDAsICAgIC1NYXRoLlBJIC8gNCkg
fSwKKyAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6IHJvdGF0ZTNkVG9NYXRyaXgoMSwg
MSwgMCwgMyAqIE1hdGguUEkgLyA0KSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiByb3RhdGUz
ZCcpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3Bl
cnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50
KHQsIHNldHVwKTsKKyAgICAgIC8vIFRvIGNhbGN1bGF0ZSBleHBlY3RlZCBtYXRyaWNlcyBlYXNp
bHksIGdlbmVyYXRlIGlucHV0IG1hdHJpY2VzIGZyb20KKyAgICAgIC8vIHJvdGF0ZTNkLgorICAg
ICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gcm90YXRlM2RUb01hdHJpeDNkKDEsIDEsIDAsIE1h
dGguUEkgLyA0KTsKKyAgICAgIHZhciBmcm9tID0gcm90YXRlM2RUb01hdHJpeDNkKDEsIDEsIDAs
IC1NYXRoLlBJIC8gMik7CisgICAgICB2YXIgdG8gPSByb3RhdGUzZFRvTWF0cml4M2QoMSwgMSwg
MCwgTWF0aC5QSSAvIDIpOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5h
bmltYXRlKHsgW2lkbE5hbWVdOiBbIGZyb20sIHRvIF0gfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLCBjb21wb3NpdGU6ICdhZGQnIH0pOwor
CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAor
ICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogcm90YXRlM2RUb01hdHJpeCgxLCAxLCAw
LCAgICAtTWF0aC5QSSAvIDQpIH0sCisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiBy
b3RhdGUzZFRvTWF0cml4KDEsIDEsIDAsIDMgKiBNYXRoLlBJIC8gNCkgfV0pOworICAgIH0sIHBy
b3BlcnR5ICsgJzogbWF0cml4M2QnKTsKKworICAgIC8vIEZvbGxvd2luZyB0ZXN0cyBhaW0gZm9y
IHRlc3QgdGhlIGFkZGl0aW9uIGJlaGF2aW9yIGZvciBub24taW52ZXJ0aWJsZQorICAgIC8vIG1h
dHJpY2VzLiBOb3RlIHRoYXQgdGhlIGFkZGl0aW9uIGZvciBub24taW52ZXJ0aWJsZSBtYXRyaWNl
cyBzaG91bGQgYmUKKyAgICAvLyB0aGUgc2FtZSwganVzdCBsaWtlIGFkZGl0aW9uIGZvciBpbnZl
cnRpYmxlIG1hdHJpY2VzLiBXaXRoIHRoZXNlIHRlc3RzLAorICAgIC8vIHdlIGNhbiBhc3N1cmUg
dGhhdCBhZGRpdGlvbiBuZXZlciBiZWhhdmVzIGFzIGRpc2NyZXRlLiBUaGUgbm9uLWludmVydGli
bGUKKyAgICAvLyBtYXRyaXggdGhhdCB3ZSB1c2UgaXMgdGhlIHNpbmd1bGVyIG1hdHJpeCwgbWF0
cml4KDEsIDEsIDAsIDAsIDAsIDEwMCkuCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2
YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9
IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1l
XSA9ICd0cmFuc2xhdGVYKDUwcHgpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0
YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDAp
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF0cml4KCAxLCAxLCAw
LCAgMCwgMCwgMTAwKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MDAsIGZpbGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWRkJyB9KTsKKworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgWyB7IHRpbWU6
IDAsICAgIGV4cGVjdGVkOiBbIC0xLCAwLCAwLCAtMSwgMjUwLCAgIDAgXSB9LAorICAgICAgICAg
IHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6IFsgIDEsIDEsIDAsICAwLCAgNTAsIDEwMCBdIH1dKTsK
KyAgICB9LCBwcm9wZXJ0eSArICc6IG5vbi1pbnZlcnRpYmxlIG1hdHJpY2VzJyk7CisKKyAgICB0
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9w
ZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOwor
ICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3RyYW5zbGF0ZVgoNTBweCknOworICAgICAg
dmFyIGFuaW1hdGlvbiA9ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgwLCAtMSwgMSwgMCwgMjAw
LCAwKQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydtYXRyaXgoLTEsIDAs
IDAsIC0xLCAyMDAsIDApIHJvdGF0ZSg5MGRlZyknLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIG1hdHJpeCgtMSwgLTEsIDAsIDAsIDAsIDEwMCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF0cml4KCAxLCAxLCAwLCAgMCwgMCwgMTAwKSBy
b3RhdGUoMTgwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MDAsIGZpbGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWRkJyB9KTsKKworICAgICAgdGVzdEFuaW1h
dGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgWyB7IHRpbWU6
IDAsICAgIGV4cGVjdGVkOiBbICAwLCAtMSwgMSwgMCwgMjUwLCAgIDAgXSB9LAorICAgICAgICAg
IHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6IFsgLTEsIC0xLCAwLCAwLCAgNTAsIDEwMCBdIH1dKTsK
KyAgICB9LCBwcm9wZXJ0eSArICc6IG5vbi1pbnZlcnRpYmxlIG1hdHJpY2VzIGluIG1hdGNoZWQg
dHJhbnNmb3JtIGxpc3RzJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBp
ZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3Jl
YXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0g
J3RyYW5zbGF0ZVgoNTBweCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9ICAgICAgICAgICAgICAg
IC8vIG1hdHJpeCgtMiwgMCwgMCwgLTIsIDIwMCwgMCkKKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsnbWF0cml4KC0xLCAwLCAwLCAtMSwgMjAwLCAwKSBzY2FsZSgyKScsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0cml4KDEsIDEsIDEsIDEs
IDAsIDEwMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF0cml4KCAx
LCAxLCAwLCAgMCwgMCwgMTAwKSBza2V3KDQ1ZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWRkJyB9KTsK
KworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwK
KyAgICAgICAgWyB7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBbIC0yLCAwLCAwLCAtMiwgMjUwLCAg
IDAgXSB9LAorICAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6IFsgIDEsIDEsIDEsICAx
LCAgNTAsIDEwMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IG5vbi1pbnZlcnRpYmxlIG1h
dHJpY2VzIGluIG1pc21hdGNoZWQgdHJhbnNmb3JtIGxpc3RzJyk7CisgIH0sCisKKyAgdGVzdEFj
Y3VtdWxhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAg
ICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdl
dC5zdHlsZVtpZGxOYW1lXSA9ICd0cmFuc2xhdGVYKDEwMHB4KSc7CisgICAgICB2YXIgYW5pbWF0
aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsndHJhbnNsYXRlWCgtMjAwcHgpJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFu
c2xhdGVYKDUwMHB4KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGlt
ZTogMCwgICAgZXhwZWN0ZWQ6IFsgMSwgMCwgMCwgMSwgLTEwMCwgMCBdIH0sCisgICAgICAgICAg
eyB0aW1lOiAxMDAwLCBleHBlY3RlZDogWyAxLCAwLCAwLCAxLCAgNjAwLCAwIF0gfV0pOworICAg
IH0sIHByb3BlcnR5ICsgJzogdHJhbnNsYXRlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIg
dGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxl
W2lkbE5hbWVdID0gJ3JvdGF0ZSg0NWRlZyknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdl
dC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3JvdGF0ZSgtOTBkZWcpJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyb3RhdGUoOTBkZWcpJ10gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBm
aWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21w
b3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJp
Y2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAgZXhwZWN0ZWQ6
IFsgTWF0aC5jb3MoLU1hdGguUEkgLyA0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTWF0aC5zaW4oLU1hdGguUEkgLyA0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtTWF0aC5zaW4oLU1hdGguUEkgLyA0KSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWF0aC5jb3MoLU1hdGguUEkgLyA0KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMCwgMF0gfSwKKyAgICAgICAgIHsgdGltZTogMTAwMCwgZXhwZWN0ZWQ6
IFsgTWF0aC5jb3MoTWF0aC5QSSAqIDMgLyA0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTWF0aC5zaW4oTWF0aC5QSSAqIDMgLyA0KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAtTWF0aC5zaW4oTWF0aC5QSSAqIDMgLyA0KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTWF0aC5jb3MoTWF0aC5QSSAqIDMgLyA0KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsg
Jzogcm90YXRlJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1l
ID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVz
dEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3NjYWxl
KDIpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTog
WydzY2FsZSgtMyknLCAnc2NhbGUoNSknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworCisg
ICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNjYWxlKCgyIC0gMSkgKyAoLTMgLSAx
KSArIDEpCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBbIC0yLCAwLCAwLCAtMiwg
MCwgMCBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2NhbGUoKDIg
LSAxKSArICg1IC0gMSkgKyAxKQorICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogWyAg
NiwgMCwgMCwgIDYsIDAsIDAgXSB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBzY2FsZScpOwor
CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9J
REwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNl
dHVwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgxLCB0YW4oMTBk
ZWcpLCB0YW4oMTBkZWcpLCAxKQorICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3NrZXco
MTBkZWcsIDEwZGVnKSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgLy8g
bWF0cml4KDEsIHRhbigyMGRlZyksIHRhbigtMzBkZWcpLCAxKQorICAgICAgICB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWydza2V3KC0zMGRlZywgMjBkZWcpJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXRyaXgoMSwgdGFuKC0zMGRlZyksIHRhbigyMGRl
ZyksIDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NrZXcoMjBkZWcs
IC0zMGRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBm
aWxsOiAnYm90aCcsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworCisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1l
OiAwLCAgICBleHBlY3RlZDogWyAxLCBNYXRoLnRhbihNYXRoLlBJLzYpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnRhbigtTWF0aC5QSS85KSwgMSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMF0gfSwKKyAgICAgICAgIHsgdGltZTogMTAw
MCwgZXhwZWN0ZWQ6IFsgMSwgTWF0aC50YW4oLU1hdGguUEkvOSksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE1hdGgudGFuKE1hdGguUEkvNiksIDEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDAsIDBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHNr
ZXcnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0cml4KDEs
IDAsIDAsIDEsIDEwMCwgMCkKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICd0cmFuc2xh
dGVYKDEwMHB4KSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgLy8gbWF0
cml4KDAsIDEsIC0xLCAwLCAwLCAwKQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1l
XTogWydyb3RhdGUoOTBkZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBtYXRyaXgoLTEsIDAsIDAsIC0xLCAwLCAwKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdyb3RhdGUoMTgwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAg
IHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScg
fSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5h
bWUsCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBbICAwLCAxLCAtMSwgIDAsIDEw
MCwgMCBdIH0sCisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVkOiBbIC0xLCAwLCAgMCwg
LTEsIDEwMCwgMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHJvdGF0ZSBvbiB0cmFuc2xh
dGUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0cml4KDAs
IDEsIC0xLCAwLCAwLCAwKQorICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3JvdGF0ZSg5
MGRlZyknOworICAgICAgdmFyIGFuaW1hdGlvbiA9ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgx
LCAwLCAwLCAxLCAxMDAsIDApCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBb
J3RyYW5zbGF0ZVgoMTAwcHgpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBtYXRyaXgoMSwgMCwgMCwgMSwgMjAwLCAwKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICd0cmFuc2xhdGVYKDIwMHB4KSddIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywgY29tcG9zaXRlOiAnYWNjdW11bGF0
ZScgfSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlk
bE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBbIDAsIDEsIC0xLCAwLCAx
MDAsIDAgXSB9LAorICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogWyAwLCAxLCAtMSwg
MCwgMjAwLCAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogdHJhbnNsYXRlIG9uIHJvdGF0
ZScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3Bl
cnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50
KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdtYXRyaXgoMCwgMSwg
LTEsIDAsIDAsIDApJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAgLy8g
U2FtZSBtYXRyaWNlcyBhcyBhYm92ZS4KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFt
ZV06IFsgJ21hdHJpeCgxLCAwLCAwLCAxLCAxMDAsIDApJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ21hdHJpeCgxLCAwLCAwLCAxLCAyMDAsIDApJyBdIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywgY29tcG9z
aXRlOiAnYWNjdW11bGF0ZScgfSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNl
cyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiBb
IDAsIDEsIC0xLCAwLCAxMDAsIDAgXSB9LAorICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3Rl
ZDogWyAwLCAxLCAtMSwgMCwgMjAwLCAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbWF0
cml4Jyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJv
cGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1l
bnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3JvdGF0ZTNkKDEs
IDEsIDAsIDQ1ZGVnKSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFu
aW1hdGUoeyBbaWRsTmFtZV06IFsgJ3JvdGF0ZTNkKDEsIDEsIDAsIC05MGRlZyknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm90YXRlM2QoMSwgMSwgMCwgOTBkZWcp
J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2Jv
dGgnLCBjb21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKworICAgICAgdGVzdEFuaW1hdGlvblNh
bXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMCwgICAg
ZXhwZWN0ZWQ6IHJvdGF0ZTNkVG9NYXRyaXgoMSwgMSwgMCwgICAgLU1hdGguUEkgLyA0KSB9LAor
ICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogcm90YXRlM2RUb01hdHJpeCgxLCAxLCAw
LCAzICogTWF0aC5QSSAvIDQpIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHJvdGF0ZTNkJyk7
CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlU
b0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgLy8gVG8gY2FsY3VsYXRlIGV4cGVjdGVkIG1hdHJpY2VzIGVhc2lseSwg
Z2VuZXJhdGUgaW5wdXQgbWF0cmljZXMgZnJvbQorICAgICAgLy8gcm90YXRlM2QuCisgICAgICB0
YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSByb3RhdGUzZFRvTWF0cml4M2QoMSwgMSwgMCwgTWF0aC5Q
SSAvIDQpOworICAgICAgdmFyIGZyb20gPSByb3RhdGUzZFRvTWF0cml4M2QoMSwgMSwgMCwgLU1h
dGguUEkgLyAyKTsKKyAgICAgIHZhciB0byA9IHJvdGF0ZTNkVG9NYXRyaXgzZCgxLCAxLCAwLCBN
YXRoLlBJIC8gMik7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1h
dGUoeyBbaWRsTmFtZV06IFsgZnJvbSwgdG8gXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7
IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0p
OworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1l
LAorICAgICAgICBbeyB0aW1lOiAwLCAgICBleHBlY3RlZDogcm90YXRlM2RUb01hdHJpeCgxLCAx
LCAwLCAgICAtTWF0aC5QSSAvIDQpIH0sCisgICAgICAgICB7IHRpbWU6IDEwMDAsIGV4cGVjdGVk
OiByb3RhdGUzZFRvTWF0cml4KDEsIDEsIDAsIDMgKiBNYXRoLlBJIC8gNCkgfV0pOworICAgIH0s
IHByb3BlcnR5ICsgJzogbWF0cml4M2QnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAg
ICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJn
ZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgbWF0cml4QXJyYXkg
PSBbIDEsIDAsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDEsIDAsIDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDEsIDAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIDAsIDAsIDEsIDEgXTsKKworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gY3Jl
YXRlTWF0cml4RnJvbUFycmF5KG1hdHJpeEFycmF5KTsKKyAgICAgIHZhciBhbmltYXRpb24gPQor
ICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAnbm9uZScsICdub25lJyBdIH0s
CisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJywg
Y29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVN
YXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDAsICAgIGV4cGVj
dGVkOiBtYXRyaXhBcnJheSB9LAorICAgICAgICAgeyB0aW1lOiAxMDAwLCBleHBlY3RlZDogbWF0
cml4QXJyYXkgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbm9uZScpOworCisgICAgLy8gRm9s
bG93aW5nIHRlc3RzIGFpbSBmb3IgdGVzdCB0aGUgZmFsbGJhY2sgZGlzY3JldGUgYWNjdW11bGF0
aW9uIGJlaGF2aW9yCisgICAgLy8gZm9yIG5vbi1pbnZlcnRpYmxlIG1hdHJpY2VzLiBUaGUgbm9u
LWludmVydGlibGUgbWF0cml4IHRoYXQgd2UgdXNlIGlzIHRoZQorICAgIC8vIHNpbmd1bGVyIG1h
dHJpeCwgbWF0cml4KDEsIDEsIDAsIDAsIDAsIDEwMCkuCisgICAgdGVzdChmdW5jdGlvbih0KSB7
CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFy
IHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5hbmlt
YXRlKHsgW2lkbE5hbWVdOiBbJ21hdHJpeCgtMSwgMCwgMCwgLTEsIDIwMCwgMCknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF0cml4KC0xLCAwLCAwLCAtMSwgMjAwLCAw
KSddIH0sIDEwMDApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsgW2lk
bE5hbWVdOiBbJ21hdHJpeCggMSwgMSwgMCwgMCwgMCwgMTAwKScsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF0cml4KCAxLCAxLCAwLCAwLCAw
LCAxMDApJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0
aW9uOiAxMDAwLCBjb21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgICAgIHRlc3RBbmltYXRp
b25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0ZWQ6IFsgMSwgMSwgMCwgMCwgMCwgMTAw
IF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUgbWF0cmljZXMgKG5v
bi1pbnZlcnRpYmxlIG9udG8gaW52ZXJ0aWJsZSknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWydtYXRyaXgoIDEsIDEsIDAsIDAsIDAsIDEwMCknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF0cml4KCAxLCAxLCAwLCAwLCAwLCAxMDAp
J10gfSwgMTAwMCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRs
TmFtZV06IFsnbWF0cml4KC0xLCAwLCAwLCAtMSwgMjAwLCAwKScsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWF0cml4KC0xLCAwLCAwLCAtMSwg
MjAwLCAwKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMTAwMCwgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgICAgICB0ZXN0QW5pbWF0
aW9uU2FtcGxlTWF0cmljZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiBbIC0xLCAwLCAwLCAtMSwgMjAw
LCAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUgbWF0cmljZXMg
KGludmVydGlibGUgb250byBub24taW52ZXJ0aWJsZSknKTsKKworICAgIHRlc3QoZnVuY3Rpb24o
dCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAg
IHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdHJpeCgwLCAtMSwgMSwgMCwgMjUwLCAwKQorICAg
ICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsndHJhbnNsYXRlKDUwcHgpICBtYXRyaXgo
LTEsIDAsIDAsIC0xLCAyMDAsIDApIHJvdGF0ZSg5MGRlZyknLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAndHJhbnNsYXRlKDUwcHgpICBtYXRyaXgoLTEsIDAsIDAsIC0xLCAy
MDAsIDApIHJvdGF0ZSg5MGRlZyknXSB9LCAxMDAwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSAg
ICAgICAgICAgICAgICAvLyBtYXRyaXgoLTEsIC0xLCAwLCAwLCAxMDAsIDEwMCkKKyAgICAgICAg
dGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsndHJhbnNsYXRlKDEwMHB4KSBtYXRyaXgoIDEs
IDEsIDAsIDAsIDAsIDEwMCkgcm90YXRlKDE4MGRlZyknLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICd0cmFuc2xhdGUoMTAwcHgpIG1hdHJpeCggMSwgMSwgMCwgMCwgMCwg
MTAwKSByb3RhdGUoMTgwZGVnKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IDEwMDAsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICAgICAgdGVzdEFuaW1hdGlv
blNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbeyB0aW1lOiAwLCBleHBlY3RlZDogWyAtMSwgLTEsIDAsIDAsIDEwMCwg
MTAwIF0gfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbm9uLWludmVydGlibGUgbWF0cmljZXMg
aW4gbWF0Y2hlZCB0cmFuc2Zvcm0gbGlzdHMgKG5vbi1pbnZlcnRpYmxlIG9udG8gaW52ZXJ0aWJs
ZSknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9w
ZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVu
dCh0LCBzZXR1cCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdHJp
eCgtMSwgLTEsIDAsIDAsIDEwMCwgMTAwKQorICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFt
ZV06IFsndHJhbnNsYXRlKDEwMHB4KSBtYXRyaXgoMSwgMSwgMCwgMCwgMCwgMTAwKSByb3RhdGUo
MTgwZGVnKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGUo
MTAwcHgpIG1hdHJpeCgxLCAxLCAwLCAwLCAwLCAxMDApIHJvdGF0ZSgxODBkZWcpJ10gfSwgMTAw
MCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgLy8gbWF0cml4KDAsIC0x
LCAxLCAwLCAyNTAsIDApCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3Ry
YW5zbGF0ZSg1MHB4KSAgbWF0cml4KC0xLCAwLCAwLCAtMSwgMjAwLCAwKSByb3RhdGUoOTBkZWcp
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRlKDUwcHgp
ICBtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApIHJvdGF0ZSg5MGRlZyknXSB9LAorICAgICAg
ICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6ICdhY2N1bXVsYXRl
JyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVNYXRyaWNlcyhhbmltYXRpb24sIGlkbE5h
bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogMCwgZXhwZWN0
ZWQ6IFsgMCwgLTEsIDEsIDAsIDI1MCwgMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IG5v
bi1pbnZlcnRpYmxlIG1hdHJpY2VzIGluIG1hdGNoZWQgdHJhbnNmb3JtIGxpc3RzIChpbnZlcnRp
YmxlIG9udG8gbm9uLWludmVydGlibGUpJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
ICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFy
Z2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBtYXRyaXgoLTIsIDAsIDAsIC0yLCAyNTAsIDApCisgICAgICB0YXJn
ZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyd0cmFuc2xhdGUoNTBweCkgIG1hdHJpeCgtMSwgMCwg
MCwgLTEsIDIwMCwgMCkgc2NhbGUoMiknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAndHJhbnNsYXRlKDUwcHgpICBtYXRyaXgoLTEsIDAsIDAsIC0xLCAyMDAsIDApIHNjYWxl
KDIpJ10gfSwgMTAwMCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gICAgICAgICAgICAgICAgLy8g
bWF0cml4KDEsIDEsIDEsIDEsIDEwMCwgMTAwKQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtp
ZGxOYW1lXTogWyd0cmFuc2xhdGUoMTAwcHgpIG1hdHJpeCgxLCAxLCAwLCAwLCAwLCAxMDApIHNr
ZXcoNDVkZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNs
YXRlKDEwMHB4KSBtYXRyaXgoMSwgMSwgMCwgMCwgMCwgMTAwKSBza2V3KDQ1ZGVnKSddIH0sCisg
ICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogJ2FjY3Vt
dWxhdGUnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCBl
eHBlY3RlZDogWyAxLCAxLCAxLCAxLCAxMDAsIDEwMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSAr
ICc6IG5vbi1pbnZlcnRpYmxlIG1hdHJpY2VzIGluIG1pc21hdGNoZWQgdHJhbnNmb3JtIGxpc3Rz
JyArCisgICAgICAgICAgICAgICAgICAnIChub24taW52ZXJ0aWJsZSBvbnRvIGludmVydGlibGUp
Jyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVy
dHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQo
dCwgc2V0dXApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXRyaXgo
MSwgMSwgMSwgMSwgMTAwLCAxMDApCisgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTog
Wyd0cmFuc2xhdGUoMTAwcHgpIG1hdHJpeCgxLCAxLCAwLCAwLCAwLCAxMDApIHNrZXcoNDVkZWcp
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZSgxMDBweCkg
bWF0cml4KDEsIDEsIDAsIDAsIDAsIDEwMCkgc2tldyg0NWRlZyknXSB9LCAxMDAwKTsKKyAgICAg
IHZhciBhbmltYXRpb24gPSAgICAgICAgICAgICAgICAvLyBtYXRyaXgoLTIsIDAsIDAsIC0yLCAy
NTAsIDApCisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ3RyYW5zbGF0ZSg1
MHB4KSAgbWF0cml4KC0xLCAwLCAwLCAtMSwgMjAwLCAwKSBzY2FsZSgyKScsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZSg1MHB4KSAgbWF0cml4KC0xLCAw
LCAwLCAtMSwgMjAwLCAwKSBzY2FsZSgyKSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsg
ZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICAgICAgdGVzdEFu
aW1hdGlvblNhbXBsZU1hdHJpY2VzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAwLCBleHBlY3RlZDogWyAtMiwgMCwgMCwgLTIs
IDI1MCwgMCBdIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IG5vbi1pbnZlcnRpYmxlIG1hdHJp
Y2VzIGluIG1pc21hdGNoZWQgdHJhbnNmb3JtIGxpc3RzJyArCisgICAgICAgICAgICAgICAgICAn
IChpbnZlcnRpYmxlIG9udG8gbm9uLWludmVydGlibGUpJyk7CisgIH0sCit9OworCitjb25zdCBm
aWx0ZXJMaXN0VHlwZSA9IHsKKyAgdGVzdEludGVycG9sYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5
LCBzZXR1cCkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBw
cm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxl
bWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBb
aWRsTmFtZV06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2JsdXIo
MTBweCknLCAnYmx1cig1MHB4KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDEwMDApOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlk
bE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgICAgZXhwZWN0ZWQ6ICdibHVyKDMwcHgpJyB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBibHVyIGZ1bmN0aW9uJyApOworCisgICAgdGVzdChm
dW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkp
OworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAg
IHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydodWUtcm90YXRl
KDBkZWcpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdodWUtcm90YXRlKDEwMGRlZyknXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEwMDApOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24s
IGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgICAgZXhwZWN0ZWQ6ICdodWUtcm90YXRl
KDUwZGVnKScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogaHVlLXJvdGF0ZSBmdW5jdGlvbiB3
aXRoIHNhbWUgdW5pdChkZWcpJyApOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2
YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9
IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJn
ZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWydodWUtcm90YXRlKDEwZGVnKScsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHVlLXJvdGF0ZSgxMDBy
YWQpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwKTsKKwor
ICAgICAgLy8gMTBkZWcgPSAwLjE3NDVyYWQuCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhh
bmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgICAgZXhwZWN0ZWQ6ICdo
dWUtcm90YXRlKDUwLjA4NzNyYWQpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBodWUtcm90
YXRlIGZ1bmN0aW9uIHdpdGggZGlmZmVyZW50IHVuaXQoZGVnIC0+IHJhZCknKTsKKworICAgIHRl
c3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3Bl
cnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7Cisg
ICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoCisgICAgICAgIHsgW2lkbE5hbWVd
OgorICAgICAgICAgIFsnZHJvcC1zaGFkb3coMTBweCAxMHB4IDEwcHggcmdiYSgyNTUsIDAsIDAs
IDAuNCkpJywKKyAgICAgICAgICAgJ2Ryb3Atc2hhZG93KDUwcHggNTBweCA1MHB4IHJnYmEoMCwg
MCwgMjU1LCAwLjgpKSddIH0sCisgICAgICAgIDEwMDApOworCisgICAgICB0ZXN0QW5pbWF0aW9u
U2FtcGxlcygKKyAgICAgICAgYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1
MDAsCisgICAgICAgICAgICBleHBlY3RlZDogJ2Ryb3Atc2hhZG93KHJnYmEoODUsIDAsIDE3MCwg
MC42KSAzMHB4IDMwcHggMzBweCknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGRyb3Atc2hh
ZG93IGZ1bmN0aW9uJyApOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRs
TmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0
ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5p
bWF0ZSgKKyAgICAgICAgeyBbaWRsTmFtZV06CisgICAgICAgICAgWydicmlnaHRuZXNzKDAuMSkg
Y29udHJhc3QoMC4xKSBncmF5c2NhbGUoMC4xKSBpbnZlcnQoMC4xKSAnICsKKyAgICAgICAgICAg
J29wYWNpdHkoMC4xKSBzYXR1cmF0ZSgwLjEpIHNlcGlhKDAuMSknLAorICAgICAgICAgICAnYnJp
Z2h0bmVzcygwLjUpIGNvbnRyYXN0KDAuNSkgZ3JheXNjYWxlKDAuNSkgaW52ZXJ0KDAuNSkgJyAr
CisgICAgICAgICAgICdvcGFjaXR5KDAuNSkgc2F0dXJhdGUoMC41KSBzZXBpYSgwLjUpJ10gfSwK
KyAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLAorICAgICAgICAgICBleHBlY3RlZDogJ2Jy
aWdodG5lc3MoMC4zKSBjb250cmFzdCgwLjMpIGdyYXlzY2FsZSgwLjMpICcgKworICAgICAgICAg
ICAnaW52ZXJ0KDAuMykgb3BhY2l0eSgwLjMpIHNhdHVyYXRlKDAuMykgc2VwaWEoMC4zKScgfV0p
OworICAgIH0sIHByb3BlcnR5ICsgJzogcGVyY2VudGFnZSBvciBudW1lcmljLXNwZWNpZmlhYmxl
IGZ1bmN0aW9ucycgKworICAgICAgICcobnVtYmVyIHZhbHVlKScpOworCisgICAgdGVzdChmdW5j
dGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOwor
ICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZh
ciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSgKKyAgICAgICAgeyBbaWRsTmFtZV06CisgICAg
ICAgICAgWydicmlnaHRuZXNzKDEwJSkgY29udHJhc3QoMTAlKSBncmF5c2NhbGUoMTAlKSBpbnZl
cnQoMTAlKSAnICsKKyAgICAgICAgICAgJ29wYWNpdHkoMTAlKSBzYXR1cmF0ZSgxMCUpIHNlcGlh
KDEwJSknLAorICAgICAgICAgICAnYnJpZ2h0bmVzcyg1MCUpIGNvbnRyYXN0KDUwJSkgZ3JheXNj
YWxlKDUwJSkgaW52ZXJ0KDUwJSkgJyArCisgICAgICAgICAgICdvcGFjaXR5KDUwJSkgc2F0dXJh
dGUoNTAlKSBzZXBpYSg1MCUpJ10gfSwKKyAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RBbmlt
YXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAwLAor
ICAgICAgICAgICBleHBlY3RlZDogJ2JyaWdodG5lc3MoMC4zKSBjb250cmFzdCgwLjMpIGdyYXlz
Y2FsZSgwLjMpICcgKworICAgICAgICAgICAnaW52ZXJ0KDAuMykgb3BhY2l0eSgwLjMpIHNhdHVy
YXRlKDAuMykgc2VwaWEoMC4zKScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogcGVyY2VudGFn
ZSBvciBudW1lcmljLXNwZWNpZmlhYmxlIGZ1bmN0aW9ucycgKworICAgICAgICcocGVyY2VudGFn
ZSB2YWx1ZSknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUg
PSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0
RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUo
CisgICAgICAgIHsgW2lkbE5hbWVdOgorICAgICAgICAgIC8vIFRvIG1ha2UgbWlzc2luZyBmaWx0
ZXItZnVuY3Rpb24tbGlzdHMsIHNwZWNpZmllZCB0aGUgZ3JheXNjYWxlLgorICAgICAgICAgIFsn
Z3JheXNjYWxlKDApJywKKyAgICAgICAgICAgJ2dyYXlzY2FsZSgxKSBicmlnaHRuZXNzKDApIGNv
bnRyYXN0KDApIG9wYWNpdHkoMCkgc2F0dXJhdGUoMCknIF19LAorICAgICAgICAxMDAwKTsKKwor
ICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBb
eyB0aW1lOiA1MDAsCisgICAgICAgICAgIGV4cGVjdGVkOiAnZ3JheXNjYWxlKDAuNSkgYnJpZ2h0
bmVzcygwLjUpIGNvbnRyYXN0KDAuNSkgJyArCisgICAgICAgICAgICAgICAgICAgICAnb3BhY2l0
eSgwLjUpIHNhdHVyYXRlKDAuNSknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGludGVycG9s
YXRlIGRpZmZlcmVudCBsZW5ndGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3QgJyArCisgICAgICAg
JyB3aXRoIGZ1bmN0aW9uIHdoaWNoIGxhY3VuYSB2YWx1ZSBpcyAxJyk7CisKKyAgICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7
CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAg
dmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKAorICAgICAgICB7IFtpZGxOYW1lXToKKyAg
ICAgICAgICAvLyBUbyBtYWtlIG1pc3NpbmcgZmlsdGVyLWZ1bmN0aW9uLWxpc3RzLCBzcGVjaWZp
ZWQgdGhlIG9wYWNpdHkuCisgICAgICAgICAgWydvcG9hY2l0eSgxKScsCisgICAgICAgICAgICdv
cGFjaXR5KDApIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSkgc2VwaWEoMSkgYmx1cigxMHB4KSddIH0s
CisgICAgICAgIDEwMDApOworCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24s
IGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwKKyAgICAgICAgICAgZXhwZWN0ZWQ6Cisg
ICAgICAgICAgICdvcGFjaXR5KDAuNSkgZ3JheXNjYWxlKDAuNSkgaW52ZXJ0KDAuNSkgc2VwaWEo
MC41KSBibHVyKDVweCknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGludGVycG9sYXRlIGRp
ZmZlcmVudCBsZW5ndGggb2YgZmlsdGVyLWZ1bmN0aW9uLWxpc3QgJyArCisgICAgICAgJyB3aXRo
IGZ1bmN0aW9uIHdoaWNoIGxhY3VuYSB2YWx1ZSBpcyAwJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAg
ICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0
LnN0eWxlLmNvbG9yID0gInJnYmEoMjU1LCAwLCAwLCAwLjQpIjsKKyAgICAgIHZhciBhbmltYXRp
b24gPSB0YXJnZXQuYW5pbWF0ZSgKKyAgICAgICAgeyBbaWRsTmFtZV06CisgICAgICAgICAgWydi
bHVyKDBweCknLAorICAgICAgICAgICAnYmx1cigxMHB4KSBkcm9wLXNoYWRvdygxMHB4IDEwcHgg
MTBweCByZ2JhKDAsIDAsIDI1NSwgMC44KSknXSB9LAorICAgICAgICAxMDAwKTsKKworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1l
OiA1MDAsCisgICAgICAgICAgIC8vIFRoZSBsYWN1bmEgdmFsdWUgb2YgZHJvcC1zaGFkb3cncyBj
b2xvciBpcyB0YWtlbiBmcm9tCisgICAgICAgICAgIC8vIHRoZSBjb2xvciBwcm9wZXJ0eS4KKyAg
ICAgICAgICAgZXhwZWN0ZWQ6ICdibHVyKDVweCkgZHJvcC1zaGFkb3cocmdiYSg4NSwgMCwgMTcw
LCAwLjYpIDVweCA1cHggNXB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBpbnRlcnBvbGF0
ZSBkaWZmZXJlbnQgbGVuZ3RoIG9mIGZpbHRlci1mdW5jdGlvbi1saXN0ICcgKworICAgICAgICd3
aXRoIGRyb3Atc2hhZG93IGZ1bmN0aW9uJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
ICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFy
Z2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9
IHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbJ25vbmUnLCAnYmx1cigxMHB4KSddIH0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMCk7CisKKyAgICAgIHRlc3RB
bmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogNTAw
LCBleHBlY3RlZDogJ2JsdXIoNXB4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogaW50ZXJw
b2xhdGUgZnJvbSBub25lJyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBp
ZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3Jl
YXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5h
bmltYXRlKAorICAgICAgICB7IFtpZGxOYW1lXToKKyAgICAgICAgICBbJ2JsdXIoMHB4KSB1cmwo
XCIjZjFcIiknLAorICAgICAgICAgICAnYmx1cigxMHB4KSB1cmwoXCIjZjJcIiknXX0sCisgICAg
ICAgIDEwMDApOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1l
LAorICAgICAgICBbeyB0aW1lOiA0OTksIGV4cGVjdGVkOiAnYmx1cigwcHgpIHVybChcIiNmMVwi
KScgfSwKKyAgICAgICAgIHsgdGltZTogNTAwLCBleHBlY3RlZDogJ2JsdXIoMTBweCkgdXJsKFwi
I2YyXCIpJyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiB1cmwgZnVuY3Rpb24gKGludGVycG9h
bHRlIGFzIGRpc2NyZXRlKScpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJv
cGVydHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFt
ZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRl
c3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdibHVy
KDEwcHgpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1l
XTogWydibHVyKDIwcHgpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdibHVyKDUwcHgpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6ICdhZGQnIH0pOworICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGlt
ZTogMCwgICAgZXhwZWN0ZWQ6ICdibHVyKDEwcHgpIGJsdXIoMjBweCknIH1dKTsKKyAgICB9LCBw
cm9wZXJ0eSArICc6IGJsdXIgb24gYmx1cicpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRh
cmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtp
ZGxOYW1lXSA9ICdibHVyKDEwcHgpJzsKKyAgICAgIHZhciBhbmltYXRpb24gPSB0YXJnZXQuYW5p
bWF0ZSh7IFtpZGxOYW1lXTogWydicmlnaHRuZXNzKDgwJSknLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyaWdodG5lc3MoNDAlKSddIH0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29t
cG9zaXRlOiAnYWRkJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwg
aWRsTmFtZSwKKyAgICAgICAgWyB7IHRpbWU6IDAsICAgIGV4cGVjdGVkOiAnYmx1cigxMHB4KSBi
cmlnaHRuZXNzKDAuOCknIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGRpZmZlcmVudCBmaWx0
ZXIgZnVuY3Rpb25zJyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjogZnVuY3Rpb24ocHJv
cGVydHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFt
ZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRl
c3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtpZGxOYW1lXSA9ICdibHVy
KDEwcHgpIGJyaWdodG5lc3MoMC4zKSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFu
aW1hdGUoeyBbaWRsTmFtZV06IFsnYmx1cigyMHB4KSBicmlnaHRuZXNzKDAuMSknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JsdXIoMjBweCkg
YnJpZ2h0bmVzcygwLjEpJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgICAgIC8v
IGJyaWdodG5lc3MoMC4xKSBvbnRvIGJyaWdodG5lc3MoMC4zKSBtZWFucworICAgICAgLy8gYnJp
Z2h0bmVzcygoMC4xIC0gMS4wKSArICgwLjMgLSAxLjApICsgMS4wKS4gVGhlIHJlc3VsdCBvZiB0
aGlzIGZvcm11bGEKKyAgICAgIC8vIGlzIGJyaWdodG5lc3MoLTAuNikgdGhhdCBtZWFucyBicmln
aHRuZXNzKDAuMCkuCisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5h
bWUsCisgICAgICAgIFsgeyB0aW1lOiAwLCAgICBleHBlY3RlZDogJ2JsdXIoMzBweCkgYnJpZ2h0
bmVzcygwKScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogc2FtZSBvcmRlcmVkIGZpbHRlciBm
dW5jdGlvbnMnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUg
PSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0
RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAnYmx1cigx
MHB4KSBicmlnaHRuZXNzKDEuMyknOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmlt
YXRlKHsgW2lkbE5hbWVdOiBbJ2JyaWdodG5lc3MoMS4yKSBibHVyKDIwcHgpJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdicmlnaHRuZXNzKDEu
MikgYmx1cigyMHB4KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgICAgICAvLyBN
aXNtYXRjaGVkIG9yZGVyZWQgZnVuY3Rpb25zIGNhbid0IGJlIGFjY3VtdWxhdGVkLgorICAgICAg
dGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGlt
ZTogMCwgICAgZXhwZWN0ZWQ6ICdicmlnaHRuZXNzKDEuMikgYmx1cigyMHB4KScgfV0pOworICAg
IH0sIHByb3BlcnR5ICsgJzogbWlzbWF0Y2hlZCBvcmRlcmVkIGZpbHRlciBmdW5jdGlvbnMnKTsK
KyAgfSwKK307CisKK2NvbnN0IHRleHRTaGFkb3dMaXN0VHlwZSA9IHsKKyAgdGVzdEludGVycG9s
YXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0
aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgJ25vbmUnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiKDEwMCwgMTAwLCAxMDApIDEw
cHggMTBweCAxMHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAw
MCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9u
LCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByZW11bHRp
cGxpZWQKKyAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdyZ2JhKDEwMCwgMTAwLCAx
MDAsIDAuNSkgNXB4IDVweCA1cHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGZyb20gbm9u
ZSB0byBvdGhlcicpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFt
ZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRl
c3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJn
ZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncmdiKDEwMCwgMTAwLCAxMDApIDEwcHggMTBweCAx
MHB4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vbmUnIF0gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0p
OworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByZW11bHRpcGxpZWQKKyAgICAgICAgW3sg
dGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNSkgNXB4IDVweCA1
cHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IGZyb20gb3RoZXIgdG8gbm9uZScpOworCisg
ICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwo
cHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVw
KTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWyAncmdiKDAsIDAsIDApIDBweCAwcHggMHB4JywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEwcHggMTBweCddIH0s
CisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9
KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAg
ICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdyZ2IoNTAsIDUwLCA1MCkgNXB4IDVweCA1cHgn
IH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHNpbmdsZSBzaGFkb3cnKTsKKworICAgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5
KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAg
ICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsg
J3JnYigwLCAwLCAwKSAwcHggMHB4IDBweCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKyAncmdiKDIwMCwgMjAwLCAyMDApIDIwcHggMjBweCAyMHB4JywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEw
cHggMTBweCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAncmdiKDEw
MCwgMTAwLCAxMDApIDEwcHggMTBweCAxMHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNh
bXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3Rl
ZDogJ3JnYig1MCwgNTAsIDUwKSA1cHggNXB4IDVweCwgJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICsgJ3JnYigxNTAsIDE1MCwgMTUwKSAxNXB4IDE1cHggMTVweCcgfV0pOworICAg
IH0sIHByb3BlcnR5ICsgJzogc2hhZG93IGxpc3QnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0
aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgJ3JnYigyMDAsIDIw
MCwgMjAwKSAyMHB4IDIwcHggMjBweCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdyZ2IoMTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHgsICcKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICsgJ3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEwcHgg
MTBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6
ICdib3RoJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFt
ZSwKKyAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdyZ2IoMTUwLCAxNTAsIDE1MCkg
MTVweCAxNXB4IDE1cHgsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICdyZ2Jh
KDEwMCwgMTAwLCAxMDAsIDAuNSkgNXB4IDVweCA1cHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSAr
ICc6IG1pc21hdGNoZWQgbGlzdCBsZW5ndGggKGZyb20gbG9uZ2VyIHRvIHNob3J0ZXIpJyk7CisK
KyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lE
TChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0
dXApOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lk
bE5hbWVdOiBbICdyZ2IoMTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHgsICcKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJ3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEw
cHggMTBweCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2IoMjAw
LCAyMDAsIDIwMCkgMjBweCAyMHB4IDIwcHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7
IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2Ft
cGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVk
OiAncmdiKDE1MCwgMTUwLCAxNTApIDE1cHggMTVweCAxNXB4LCAnCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKyAncmdiYSgxMDAsIDEwMCwgMTAwLCAwLjUpIDVweCA1cHggNXB4JyB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBtaXNtYXRjaGVkIGxpc3QgbGVuZ3RoIChmcm9tIHNo
b3J0ZXIgdG8gbG9uZ2VyKScpOworCisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIg
aWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNy
ZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZS5jb2xvciA9ICdy
Z2IoMCwgMjU1LCAwKSc7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFu
aW1hdGUoeyBbaWRsTmFtZV06IFsgJ2N1cnJlbnRjb2xvciAwcHggMHB4IDBweCcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjdXJyZW50Y29sb3IgMTBweCAxMHB4IDEw
cHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAn
Ym90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUs
CisgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAncmdiKDAsIDI1NSwgMCkgNXB4IDVw
eCA1cHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHdpdGggY3VycmVudGNvbG9yJyk7Cisg
IH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9w
ZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOwor
ICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5hbWVdID0gJ3JnYigwLCAwLCAwKSAwcHggMHB4IDBweCc7
CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFt
ZV06IFsgJ3JnYigxMjAsIDEyMCwgMTIwKSAxMHB4IDEwcHggMTBweCcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2IoMTIwLCAxMjAsIDEyMCkgMTBweCAxMHB4IDEw
cHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3Np
dGU6ICdhZGQnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxO
YW1lLAorICAgICAgICBbIHsgdGltZTogMCwgZXhwZWN0ZWQ6ICdyZ2IoMCwgMCwgMCkgMHB4IDBw
eCAwcHgsICcgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2IoMTIwLCAxMjAs
IDEyMCkgMTBweCAxMHB4IDEwcHgnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHNoYWRvdycp
OworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkg
eworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRv
SURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBz
ZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAncmdiKDEyMCwgMTIwLCAxMjAp
IDEwcHggMTBweCAxMHB4JzsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQu
YW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncmdiKDEyMCwgMTIwLCAxMjApIDEwcHggMTBweCAxMHB4
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYigxMjAsIDEyMCwg
MTIwKSAxMHB4IDEwcHggMTBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IDEwMDAsIGNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICAgICAgdGVzdEFuaW1hdGlv
blNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbIHsgdGltZTogMCwgZXhwZWN0
ZWQ6ICdyZ2IoMjQwLCAyNDAsIDI0MCkgMjBweCAyMHB4IDIwcHgnIH1dKTsKKyAgICB9LCBwcm9w
ZXJ0eSArICc6IHNoYWRvdycpOworICB9LAorfTsKKworCitjb25zdCBib3hTaGFkb3dMaXN0VHlw
ZSA9IHsKKyAgdGVzdEludGVycG9sYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgewor
ICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURM
KHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1
cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRs
TmFtZV06IFsgJ25vbmUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
cmdiKDEwMCwgMTAwLCAxMDApIDEwcHggMTBweCAxMHB4IDBweCddIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRlc3RB
bmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBQcmVtdWx0aXBsaWVkCisgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4
cGVjdGVkOiAncmdiYSgxMDAsIDEwMCwgMTAwLCAwLjUpIDVweCA1cHggNXB4IDBweCcgfV0pOwor
ICAgIH0sIHByb3BlcnR5ICsgJzogZnJvbSBub25lIHRvIG90aGVyJyk7CisKKyAgICB0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7
CisgICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAg
dmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbICdy
Z2IoMTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHggMHB4JywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ25vbmUnIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNh
bXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIFByZW11bHRpcGxpZWQKKyAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICdy
Z2JhKDEwMCwgMTAwLCAxMDAsIDAuNSkgNXB4IDVweCA1cHggMHB4JyB9XSk7CisgICAgfSwgcHJv
cGVydHkgKyAnOiBmcm9tIG90aGVyIHRvIG5vbmUnKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0
aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgJ3JnYigwLCAwLCAw
KSAwcHggMHB4IDBweCAwcHgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAncmdiKDEwMCwgMTAwLCAxMDApIDEwcHggMTBweCAxMHB4IDBweCddIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRl
c3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTog
NTAwLCAgZXhwZWN0ZWQ6ICdyZ2IoNTAsIDUwLCA1MCkgNXB4IDVweCA1cHggMHB4JyB9XSk7Cisg
ICAgfSwgcHJvcGVydHkgKyAnOiBzaW5nbGUgc2hhZG93Jyk7CisKKyAgICB0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAg
ICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdmFyIGFu
aW1hdGlvbiA9CisgICAgICAgIHRhcmdldC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbICdyZ2IoMCwg
MCwgMCkgMHB4IDBweCAwcHggMHB4LCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICArICdyZ2IoMjAwLCAyMDAsIDIwMCkgMjBweCAyMHB4IDIwcHggMjBweCcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2IoMTAwLCAxMDAsIDEwMCkgMTBweCAx
MHB4IDEwcHggMHB4LCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICdy
Z2IoMTAwLCAxMDAsIDEwMCkgMTBweCAxMHB4IDEwcHggMHB4J10gfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFu
aW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAs
ICBleHBlY3RlZDogJ3JnYig1MCwgNTAsIDUwKSA1cHggNXB4IDVweCAwcHgsICcKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICArICdyZ2IoMTUwLCAxNTAsIDE1MCkgMTVweCAxNXB4IDE1
cHggMTBweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogc2hhZG93IGxpc3QnKTsKKworICAg
IHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHBy
b3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7
CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFt
ZV06IFsgJ3JnYigyMDAsIDIwMCwgMjAwKSAyMHB4IDIwcHggMjBweCAyMHB4JywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYigxMDAsIDEwMCwgMTAwKSAxMHB4IDEw
cHggMTBweCAwcHgsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJ3Jn
YigxMDAsIDEwMCwgMTAwKSAxMHB4IDEwcHggMTBweCAwcHgnXSB9LAorICAgICAgICAgICAgICAg
ICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDUwMCwg
IGV4cGVjdGVkOiAncmdiKDE1MCwgMTUwLCAxNTApIDE1cHggMTVweCAxNXB4IDEwcHgsICcKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNSkg
NXB4IDVweCA1cHggMHB4JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBtaXNtYXRjaGVkIGxp
c3QgbGVuZ3RoIChmcm9tIHNob3J0ZXIgdG8gbG9uZ2VyKScpOworCisgICAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAg
ICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBh
bmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxOYW1lXTogWyAncmdiKDEw
MCwgMTAwLCAxMDApIDEwcHggMTBweCAxMHB4IDBweCwgJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKyAncmdiKDEwMCwgMTAwLCAxMDApIDEwcHggMTBweCAxMHB4IDBweCcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2IoMjAwLCAyMDAsIDIw
MCkgMjBweCAyMHB4IDIwcHggMjBweCddfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMo
YW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3Jn
YigxNTAsIDE1MCwgMTUwKSAxNXB4IDE1cHggMTVweCAxMHB4LCAnCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKyAncmdiYSgxMDAsIDEwMCwgMTAwLCAwLjUpIDVweCA1cHggNXB4IDBw
eCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogbWlzbWF0Y2hlZCBsaXN0IGxlbmd0aCAoZnJv
bSBsb25nZXIgdG8gc2hvcnRlciknKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAg
dmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQg
PSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGUuY29sb3Ig
PSAncmdiKDAsIDI1NSwgMCknOworICAgICAgdmFyIGFuaW1hdGlvbiA9CisgICAgICAgIHRhcmdl
dC5hbmltYXRlKHsgW2lkbE5hbWVdOiBbICdjdXJyZW50Y29sb3IgMHB4IDBweCAwcHggMHB4JywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2N1cnJlbnRjb2xvciAxMHB4
IDEwcHggMTBweCAxMHB4J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjog
MTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0
aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAsICBleHBlY3RlZDogJ3JnYigwLCAy
NTUsIDApIDVweCA1cHggNXB4IDVweCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJzogd2l0aCBj
dXJyZW50Y29sb3InKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9uKHByb3BlcnR5
LCBzZXR1cCkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBw
cm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxl
bWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0gPSAncmdiKDAsIDAs
IDApIDBweCAwcHggMHB4IDBweCc7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFy
Z2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsgJ3JnYigxMjAsIDEyMCwgMTIwKSAxMHB4IDEwcHgg
MTBweCAwcHgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiKDEy
MCwgMTIwLCAxMjApIDEwcHggMTBweCAxMHB4IDBweCddIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMDAsIGNvbXBvc2l0ZTogJ2FkZCcgfSk7CisgICAgICB0ZXN0QW5p
bWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgIFsgeyB0aW1lOiAwLCBl
eHBlY3RlZDogJ3JnYigwLCAwLCAwKSAwcHggMHB4IDBweCAwcHgsICcgKworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdyZ2IoMTIwLCAxMjAsIDEyMCkgMTBweCAxMHB4IDEwcHggMHB4
JyB9XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiBzaGFkb3cnKTsKKyAgfSwKKworICB0ZXN0QWNj
dW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAg
ICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0
LnN0eWxlW2lkbE5hbWVdID0gJ3JnYigxMjAsIDEyMCwgMTIwKSAxMHB4IDEwcHggMTBweCAxMHB4
JzsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQuYW5pbWF0ZSh7IFtpZGxO
YW1lXTogWyAncmdiKDEyMCwgMTIwLCAxMjApIDEwcHggMTBweCAxMHB4IDEwcHgnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiKDEyMCwgMTIwLCAxMjApIDEwcHgg
MTBweCAxMHB4IDEwcHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAx
MDAwLCBjb21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1w
bGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgWyB7IHRpbWU6IDAsIGV4cGVjdGVkOiAn
cmdiKDI0MCwgMjQwLCAyNDApIDIwcHggMjBweCAyMHB4IDIwcHgnIH1dKTsKKyAgICB9LCBwcm9w
ZXJ0eSArICc6IHNoYWRvdycpOworICB9LAorfTsKKworY29uc3QgcG9zaXRpb25UeXBlID0gewor
ICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgbGVu
Z3RoUGFpclR5cGUudGVzdEludGVycG9sYXRpb24ocHJvcGVydHksIHNldHVwKTsKKworICAgIHRl
c3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3Bl
cnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7Cisg
ICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnMTAlIDEw
JScsICc1MCUgNTAlJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
IGR1cmF0aW9uOiAxMDAwLCBmaWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2Ft
cGxlcygKKyAgICAgICAgYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBbeyB0aW1lOiA1MDAs
ICBleHBlY3RlZDogY2FsY0Zyb21QZXJjZW50YWdlKGlkbE5hbWUsICczMCUgMzAlJykgfV0pOwor
ICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMgYSBwb3NpdGlvbiBvZiBw
ZXJjZW50Jyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0aW9u
KHByb3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7CisgICAgbGVuZ3RoUGFpclR5cGUudGVzdEFk
ZGl0aW9uKHByb3BlcnR5LCBzZXR1cCk7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAg
IHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICB2YXIgdGFyZ2V0
ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFyZ2V0LnN0eWxlW2lkbE5h
bWVdID0gJzYwJSA2MCUnOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKHsg
W2lkbE5hbWVdOiBbJzcwJSA3MCUnLCAnMTAwJSAxMDAlJ10gfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0
ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKAorICAgICAgICBhbmltYXRpb24sIGlk
bE5hbWUsCisgICAgICAgIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiBjYWxjRnJvbVBlcmNlbnRhZ2Uo
aWRsTmFtZSwgJzEzMCUgMTMwJScpIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICc6IHBvc2l0aW9u
IG9mIHBlcmNlbnRhZ2UnKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb246IGZ1bmN0aW9uKHByb3Bl
cnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb24ocHJvcGVy
dHksIHNldHVwLCAnYWRkJyk7CisgIH0sCisKKyAgdGVzdEFjY3VtdWxhdGlvbjogZnVuY3Rpb24o
cHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihw
cm9wZXJ0eSwgc2V0dXAsICdhY2N1bXVsYXRlJyk7CisgIH0sCit9OworCitjb25zdCByZWN0VHlw
ZSA9IHsKKyAgdGVzdEludGVycG9sYXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgewor
ICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURM
KHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1
cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsncmVjdCgxMHB4LCAxMHB4
LCAxMHB4LCAxMHB4KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAncmVjdCg1MHB4LCA1MHB4LCA1MHB4LCA1MHB4KSddIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAg
ICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoCisgICAgICAgICAgYW5pbWF0aW9uLCBpZGxOYW1lLAor
ICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAncmVjdCgzMHB4LCAzMHB4LCAzMHB4
LCAzMHB4KScgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBzdXBwb3J0cyBhbmltYXRpbmcgYXMg
YSByZWN0Jyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IGZ1bmN0aW9u
KHByb3BlcnR5LCBzZXR1cCwgY29tcG9zaXRlKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgICB2YXIgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRh
cmdldCA9IGNyZWF0ZVRlc3RFbGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHRhcmdldC5zdHlsZVtp
ZGxOYW1lXSA9ICdyZWN0KDEwMHB4LCAxMDBweCwgMTAwcHgsIDEwMHB4KSc7CisgICAgICB2YXIg
YW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFsncmVjdCgxMHB4LCAxMHB4LCAxMHB4LCAxMHB4KScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVjdCgxMHB4LCAx
MHB4LCAxMHB4LCAxMHB4KSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUgfSk7CisgICAgICB0ZXN0
QW5pbWF0aW9uU2FtcGxlcygKKyAgICAgICAgYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICBb
eyB0aW1lOiAwLCBleHBlY3RlZDogJ3JlY3QoMTEwcHgsIDExMHB4LCAxMTBweCwgMTEwcHgpJyB9
XSk7CisgICAgfSwgcHJvcGVydHkgKyAnOiByZWN0Jyk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9u
OiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNj
dW11bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FkZCcpOworICB9LAorCisgIHRlc3RBY2N1bXVs
YXRpb246IGZ1bmN0aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9u
T3JBY2N1bXVsYXRpb24ocHJvcGVydHksIHNldHVwLCAnYWNjdW11bGF0ZScpOworICB9LAorfQor
CisvLyBzdHJva2UtZGFzaGFycmF5OiBub25lIHwgWyA8bGVuZ3RoPiB8IDxwZXJjZW50YWdlPiB8
IDxudW1iZXI+IF0qCitjb25zdCBkYXNoYXJyYXlUeXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlv
bjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7CisgICAgcGVyY2VudGFnZVR5cGUudGVzdElu
dGVycG9sYXRpb24ocHJvcGVydHksIHNldHVwKTsKKyAgICBwb3NpdGl2ZU51bWJlclR5cGUudGVz
dEludGVycG9sYXRpb24ocHJvcGVydHksIHNldHVwKTsKKworICAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZh
ciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB2YXIgYW5pbWF0
aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFsnOCwgMTYsIDQnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJzQsIDgsIDEyLCAxNiddIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAg
ICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoCisgICAgICAgICAgYW5pbWF0aW9uLCBpZGxOYW1lLAor
ICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnNiwgMTIsIDgsIDEyLCAxMCwgNiwg
MTAsIDE2LCA0LCA4LCAxNCwgMTAnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMg
YW5pbWF0aW5nIGFzIGEgZGFzaGFycmF5IChtaXNtYXRjaGVkIGxlbmd0aCknKTsKKworICAgIHRl
c3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3Bl
cnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7Cisg
ICAgICB2YXIgYW5pbWF0aW9uID0gdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnMiwgNTAlLCA2LCAxMCcsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnNiwgMzAlLCAyLCAyJ10gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBm
aWxsOiAnYm90aCcgfSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcygKKyAgICAgICAgICBh
bmltYXRpb24sIGlkbE5hbWUsCisgICAgICAgICAgW3sgdGltZTogNTAwLCAgZXhwZWN0ZWQ6ICc0
LCA0MCUsIDQsIDYnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcgc3VwcG9ydHMgYW5pbWF0aW5n
IGFzIGEgZGFzaGFycmF5IChtaXhlZCBudW1iZXIgYW5kIHBlcmNlbnRhZ2UpJyk7CisKKyAgfSwK
KworICAvLyBOb3RlIHRoYXQgc3Ryb2tlLWRhc2hhcnJheSBpcyBuZWl0aGVyIGFkZGl0aXZlIG5v
ciBjdW11bGF0aXZlLCBzbyB3ZSBzaG91bGQKKyAgLy8gd3JpdGUgdGhpcyBhZGRpdGl2ZSB0ZXN0
IGNhc2UgdGhhdCBhbmltYXRpbmcgdmFsdWUgcmVwbGFjZXMgdW5kZXJseWluZworICAvLyB2YWx1
ZXMuCisgIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvU1ZHMi9wYWludGluZy5odG1sI1N0
cm9rZURhc2hpbmcuCisgIHRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9w
ZXJ0eSwgc2V0dXAsIGNvbXBvc2l0ZSkgeworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAg
dmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRvSURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQg
PSBjcmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFt
ZV0gPSAnNiwgMzAlLCAycHgnOworICAgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRl
KHsgW2lkbE5hbWVdOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
JzEsIDIsIDMsIDQsIDUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJzYsIDcsIDgsIDksIDEwJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IGR1cmF0aW9uOiAxMDAwLCBjb21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRl
c3RBbmltYXRpb25TYW1wbGVzKAorICAgICAgICAgIGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAg
ICAgICBbeyB0aW1lOiAwLCBleHBlY3RlZDogJzEsIDIsIDMsIDQsIDUnIH1dKTsKKyAgICB9LCBw
cm9wZXJ0eSArICc6IGRhc2hhcnJheScpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rp
b24ocHJvcGVydHksIHNldHVwKSB7CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlv
bihwcm9wZXJ0eSwgc2V0dXAsICdhZGQnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBm
dW5jdGlvbihwcm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11
bGF0aW9uKHByb3BlcnR5LCBzZXR1cCwgJ2FjY3VtdWxhdGUnKTsKKyAgfSwKK30KKworY29uc3Qg
Zm9udFN0cmV0Y2hUeXBlID0geworICB0ZXN0SW50ZXJwb2xhdGlvbjogZnVuY3Rpb24ocHJvcGVy
dHksIHNldHVwKSB7CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICB2YXIgaWRsTmFtZSA9
IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgdmFyIHRhcmdldCA9IGNyZWF0ZVRlc3RF
bGVtZW50KHQsIHNldHVwKTsKKyAgICAgIHZhciBhbmltYXRpb24gPQorICAgICAgICB0YXJnZXQu
YW5pbWF0ZSh7IFtpZGxOYW1lXTogWyd1bHRyYS1jb25kZW5zZWQnLCAnZXh0cmEtY29uZGVuc2Vk
J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2Jv
dGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW3sgdGltZTogNDk5LCAgZXhwZWN0ZWQ6ICd1bHRy
YS1jb25kZW5zZWQnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiA1MDAs
ICBleHBlY3RlZDogJ2V4dHJhLWNvbmRlbnNlZCcgfV0pOworICAgIH0sIHByb3BlcnR5ICsgJyBz
dXBwb3J0cyBhbmltYXRpbmcgYXMgYSBmb250LXN0cmV0Y2ggKGFkamFjZW50IHZhbHVlcyknKTsK
KworICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgdmFyIGlkbE5hbWUgPSBwcm9wZXJ0eVRv
SURMKHByb3BlcnR5KTsKKyAgICAgIHZhciB0YXJnZXQgPSBjcmVhdGVUZXN0RWxlbWVudCh0LCBz
ZXR1cCk7CisgICAgICB2YXIgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBb
aWRsTmFtZV06IFsndWx0cmEtY29uZGVuc2VkJywgJ2NvbmRlbnNlZCddIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRl
c3RBbmltYXRpb25TYW1wbGVzKGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFt7IHRpbWU6IDUwMCwgIGV4cGVjdGVkOiAnZXh0cmEtY29uZGVuc2VkJyB9XSk7
CisgICAgfSwgcHJvcGVydHkgKyAnIHN1cHBvcnRzIGFuaW1hdGluZyBhcyBhIGZvbnQtc3RyZXRj
aCAoYmV0d2VlbiB2YWx1ZSknKTsKKyAgfSwKKworICB0ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlv
bjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwLCBjb21wb3NpdGUpIHsKKyAgICB0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgIHZhciBpZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7Cisg
ICAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgdGFy
Z2V0LnN0eWxlW2lkbE5hbWVdID0gJ2NvbmRlbnNlZCc7CisgICAgICB2YXIgYW5pbWF0aW9uID0K
KyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnZXhwYW5kZWQnLCAndWx0cmEt
ZXhwYW5kZWQnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwLCBj
b21wb3NpdGU6IGNvbXBvc2l0ZSB9KTsKKyAgICAgIHRlc3RBbmltYXRpb25TYW1wbGVzKGFuaW1h
dGlvbiwgaWRsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFt7IHRpbWU6IDAsIGV4
cGVjdGVkOiAnbm9ybWFsJyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgdGltZTog
MjUwLCBleHBlY3RlZDogJ3NlbWktZXhwYW5kZWQnIH1dKTsKKyAgICB9LCBwcm9wZXJ0eSArICcg
dXNlcyBmb250LXN0cmV0Y2ggYmVoYXZpb3IgZm9yIGNvbXBvc2l0ZSB0eXBlICcgKyBjb21wb3Np
dGUpOworICB9LAorCisgIHRlc3RBZGRpdGlvbjogZnVuY3Rpb24ocHJvcGVydHksIHNldHVwKSB7
CisgICAgdGhpcy50ZXN0QWRkaXRpb25PckFjY3VtdWxhdGlvbihwcm9wZXJ0eSwgc2V0dXAsICdh
ZGQnKTsKKyAgfSwKKworICB0ZXN0QWNjdW11bGF0aW9uOiBmdW5jdGlvbihwcm9wZXJ0eSwgc2V0
dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHByb3BlcnR5LCBzZXR1
cCwgJ2FjY3VtdWxhdGUnKTsKKyAgfSwKK30KKworY29uc3QgZm9udFZhcmlhdGlvblNldHRpbmdz
VHlwZSA9IHsKKyAgdGVzdEludGVycG9sYXRpb246IChwcm9wZXJ0eSwgc2V0dXApID0+IHsKKyAg
ICB0ZXN0KHQgPT4geworICAgICAgY29uc3QgaWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVy
dHkpOworICAgICAgY29uc3QgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOwor
ICAgICAgY29uc3QgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFt
ZV06IFsnIndnaHQiIDEuMScsICcid2dodCIgMS41J10gfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlv
blNhbXBsZXMoYW5pbWF0aW9uLCBpZGxOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
W3sgdGltZTogMCwgIGV4cGVjdGVkOiAnIndnaHQiIDEuMScgfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7IHRpbWU6IDI1MCwgIGV4cGVjdGVkOiAnIndnaHQiIDEuMicgfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7IHRpbWU6IDc1MCwgIGV4cGVjdGVkOiAnIndnaHQiIDEu
NCcgfSBdKTsKKyAgICB9LCBgJHtwcm9wZXJ0eX0gc3VwcG9ydHMgYW5pbWF0aW9uIGFzIGZsb2F0
YCk7CisKKyAgICB0ZXN0KHQgPT4geworICAgICAgY29uc3QgaWRsTmFtZSA9IHByb3BlcnR5VG9J
REwocHJvcGVydHkpOworICAgICAgY29uc3QgdGFyZ2V0ID0gY3JlYXRlVGVzdEVsZW1lbnQodCwg
c2V0dXApOworICAgICAgY29uc3QgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFuaW1hdGUo
eyBbaWRsTmFtZV06IFsnIndkdGgiIDEsICJ3Z2h0IiAxLjEnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICcid2dodCIgMS41LCAid2R0aCIgNSddIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAsIGZpbGw6ICdib3RoJyB9KTsKKyAgICAgIHRl
c3RBbmltYXRpb25TYW1wbGVzV2l0aEFueU9yZGVyKAorICAgICAgICBhbmltYXRpb24sIGlkbE5h
bWUsCisgICAgICAgIFt7IHRpbWU6IDAsIGV4cGVjdGVkOiAnIndkdGgiIDEsICJ3Z2h0IiAxLjEn
IH0sCisgICAgICAgICB7IHRpbWU6IDI1MCwgZXhwZWN0ZWQ6ICcid2R0aCIgMiwgIndnaHQiIDEu
MicgfSwKKyAgICAgICAgIHsgdGltZTogNzUwLCBleHBlY3RlZDogJyJ3ZHRoIiA0LCAid2dodCIg
MS40JyB9IF0pOworICAgIH0sIGAke3Byb3BlcnR5fSBzdXBwb3J0cyBhbmltYXRpb24gYXMgZmxv
YXQgd2l0aCBtdWx0aXBsZSB0YWdzYCk7CisKKyAgICB0ZXN0KHQgPT4geworICAgICAgY29uc3Qg
aWRsTmFtZSA9IHByb3BlcnR5VG9JREwocHJvcGVydHkpOworICAgICAgY29uc3QgdGFyZ2V0ID0g
Y3JlYXRlVGVzdEVsZW1lbnQodCwgc2V0dXApOworICAgICAgY29uc3QgYW5pbWF0aW9uID0KKyAg
ICAgICAgdGFyZ2V0LmFuaW1hdGUoeyBbaWRsTmFtZV06IFsnIndkdGgiIDEsICJ3Z2h0IiAxLjEn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcid2dodCIgMTAsICJ3ZHRo
IiA1LCAid2dodCIgMS41J10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjog
MTAwMCwgZmlsbDogJ2JvdGgnIH0pOworICAgICAgdGVzdEFuaW1hdGlvblNhbXBsZXNXaXRoQW55
T3JkZXIoCisgICAgICAgIGFuaW1hdGlvbiwgaWRsTmFtZSwKKyAgICAgICAgW3sgdGltZTogMjUw
LCBleHBlY3RlZDogJyJ3ZHRoIiAyLCAid2dodCIgMS4yJyB9LAorICAgICAgICAgeyB0aW1lOiA3
NTAsIGV4cGVjdGVkOiAnIndkdGgiIDQsICJ3Z2h0IiAxLjQnIH0gXSk7CisgICAgfSwgYCR7cHJv
cGVydHl9IHN1cHBvcnRzIGFuaW1hdGlvbiBhcyBmbG9hdCB3aXRoIG11bHRpcGxlIGR1cGxpY2F0
ZSB0YWdzYCk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRpb246IChwcm9wZXJ0
eSwgc2V0dXAsIGNvbXBvc2l0ZSkgPT4geworICAgIHRlc3QodCA9PiB7CisgICAgICBjb25zdCBp
ZGxOYW1lID0gcHJvcGVydHlUb0lETChwcm9wZXJ0eSk7CisgICAgICBjb25zdCB0YXJnZXQgPSBj
cmVhdGVUZXN0RWxlbWVudCh0LCBzZXR1cCk7CisgICAgICB0YXJnZXQuc3R5bGVbaWRsTmFtZV0g
PSAnIndnaHQiIDEnOworICAgICAgY29uc3QgYW5pbWF0aW9uID0KKyAgICAgICAgdGFyZ2V0LmFu
aW1hdGUoeyBbaWRsTmFtZV06IFsnIndnaHQiIDEuMScsICcid2dodCIgMS41J10gfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgY29tcG9zaXRlOiBjb21wb3NpdGUg
fSk7CisgICAgICB0ZXN0QW5pbWF0aW9uU2FtcGxlcyhhbmltYXRpb24sIGlkbE5hbWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbeyB0aW1lOiAyNTAsICBleHBlY3RlZDogJyJ3Z2h0IiAy
LjInIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0aW1lOiA3NTAsICBleHBlY3Rl
ZDogJyJ3Z2h0IiAyLjQnIH0gXSk7CisgICAgfSwgYCR7cHJvcGVydHl9IHdpdGggY29tcG9zaXRl
IHR5cGUgJHtjb21wb3NpdGV9YCk7CisgIH0sCisKKyAgdGVzdEFkZGl0aW9uOiBmdW5jdGlvbihw
cm9wZXJ0eSwgc2V0dXApIHsKKyAgICB0aGlzLnRlc3RBZGRpdGlvbk9yQWNjdW11bGF0aW9uKHBy
b3BlcnR5LCBzZXR1cCwgJ2FkZCcpOworICB9LAorCisgIHRlc3RBY2N1bXVsYXRpb246IGZ1bmN0
aW9uKHByb3BlcnR5LCBzZXR1cCkgeworICAgIHRoaXMudGVzdEFkZGl0aW9uT3JBY2N1bXVsYXRp
b24ocHJvcGVydHksIHNldHVwLCAnYWNjdW11bGF0ZScpOworICB9LAorfQorCitjb25zdCB0eXBl
cyA9IHsKKyAgY29sb3I6IGNvbG9yVHlwZSwKKyAgZGlzY3JldGU6IGRpc2NyZXRlVHlwZSwKKyAg
ZmlsdGVyTGlzdDogZmlsdGVyTGlzdFR5cGUsCisgIGludGVnZXI6IGludGVnZXJUeXBlLAorICBw
b3NpdGl2ZUludGVnZXI6IHBvc2l0aXZlSW50ZWdlclR5cGUsCisgIGxlbmd0aDogbGVuZ3RoVHlw
ZSwKKyAgcGVyY2VudGFnZTogcGVyY2VudGFnZVR5cGUsCisgIGxlbmd0aFBlcmNlbnRhZ2VPckNh
bGM6IGxlbmd0aFBlcmNlbnRhZ2VPckNhbGNUeXBlLAorICBsZW5ndGhQYWlyOiBsZW5ndGhQYWly
VHlwZSwKKyAgcG9zaXRpdmVOdW1iZXI6IHBvc2l0aXZlTnVtYmVyVHlwZSwKKyAgb3BhY2l0eTog
b3BhY2l0eVR5cGUsCisgIHRyYW5zZm9ybUxpc3Q6IHRyYW5zZm9ybUxpc3RUeXBlLAorICB2aXNp
YmlsaXR5OiB2aXNpYmlsaXR5VHlwZSwKKyAgYm94U2hhZG93TGlzdDogYm94U2hhZG93TGlzdFR5
cGUsCisgIHRleHRTaGFkb3dMaXN0OiB0ZXh0U2hhZG93TGlzdFR5cGUsCisgIHJlY3Q6IHJlY3RU
eXBlLAorICBwb3NpdGlvbjogcG9zaXRpb25UeXBlLAorICBkYXNoYXJyYXk6IGRhc2hhcnJheVR5
cGUsCisgIGZvbnRTdHJldGNoOiBmb250U3RyZXRjaFR5cGUsCisgIGZvbnRWYXJpYXRpb25TZXR0
aW5nczogZm9udFZhcmlhdGlvblNldHRpbmdzVHlwZSwKK307CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvY29tYmluaW5nLWVm
ZmVjdHMvZWZmZWN0LWNvbXBvc2l0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9jb21iaW5pbmctZWZmZWN0cy9lZmZl
Y3QtY29tcG9zaXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4YzA5NmU1YjhmZDM0MjFj
NjFhMmQzMmQ3MTYzZGE5MTUyMjFjNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwvY29tYmluaW5nLWVmZmVjdHMv
ZWZmZWN0LWNvbXBvc2l0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACisKK0ZBSUwg
YWNjdW11bGF0ZSBvbnRvIHRoZSBiYXNlIHZhbHVlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgbWFyZ2luTGVmdDogWycwcHgnLCAnMTBweCddLCBjb21w
b3NpdGUgfSwgMTAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBhY2N1bXVs
YXRlIG9udG8gYW4gdW5kZXJseWluZyBhbmltYXRpb24gdmFsdWUgZGl2LmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbJzEwcHgnLCAnMjBw
eCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGU6ICdyZXBsYWNlJyB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBDb21wb3NpdGUgd2hlbiBtaXhpbmcgYWNjdW11bGF0ZSBhbmQgcmVwbGFj
ZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShbeyBtYXJn
aW5MZWZ0OiAnMTBweCcsIGNvbXBvc2l0ZSB9LAorICAgICAgICAgICAgICAgICAgIHsgbWFyZ2lu
TGVmdDogJzMwcHgnLCBjb21wb3NpdGU6ICdyZXBsYWNlJyB9XSwKKyAgICAgICAgICAgICAgICAg
IDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgYWNjdW11bGF0ZSBzcGVj
aWZpZWQgb24gYSBrZXlmcmFtZSBvdmVycmlkZXMgdGhlIGNvbXBvc2l0ZSBtb2RlIG9mIHRoZSBl
ZmZlY3QgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4u
LicpCitGQUlMIHVuc3BlY2lmaWVkIGNvbXBvc2l0ZSBtb2RlIG9uIGEga2V5ZnJhbWUgaXMgb3Zl
cnJpZGVuIGJ5IHNldHRpbmcgYWNjdW11bGF0ZSBvZiB0aGUgZWZmZWN0IGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKFt7IG1hcmdpbkxlZnQ6ICcxMHB4Jywg
Y29tcG9zaXRlOiAncmVwbGFjZScgfSwKKyAgICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6
ICcyMHB4JyB9XSwKKyAgICAgICAgICAgICAgICAgIDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgYWRkIG9udG8gdGhlIGJhc2UgdmFsdWUgZGl2LmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbJzBweCcsICcxMHB4
J10sIGNvbXBvc2l0ZSB9LCAxMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IGFkZCBvbnRvIGFuIHVuZGVybHlpbmcgYW5pbWF0aW9uIHZhbHVlIGRpdi5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgbWFyZ2luTGVmdDogWycxMHB4JywgJzIw
cHgnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9zaXRlOiAncmVwbGFjZScg
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgQ29tcG9zaXRlIHdoZW4gbWl4aW5nIGFkZCBhbmQgcmVwbGFjZSBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShbeyBtYXJnaW5MZWZ0
OiAnMTBweCcsIGNvbXBvc2l0ZSB9LAorICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDog
JzMwcHgnLCBjb21wb3NpdGU6ICdyZXBsYWNlJyB9XSwKKyAgICAgICAgICAgICAgICAgIDEwMCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgYWRkIHNwZWNpZmllZCBvbiBhIGtl
eWZyYW1lIG92ZXJyaWRlcyB0aGUgY29tcG9zaXRlIG1vZGUgb2YgdGhlIGVmZmVjdCB1bmRlZmlu
ZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgdW5z
cGVjaWZpZWQgY29tcG9zaXRlIG1vZGUgb24gYSBrZXlmcmFtZSBpcyBvdmVycmlkZW4gYnkgc2V0
dGluZyBhZGQgb2YgdGhlIGVmZmVjdCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZShbeyBtYXJnaW5MZWZ0OiAnMTBweCcsIGNvbXBvc2l0ZTogJ3JlcGxhY2Un
IH0sCisgICAgICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBweCcgfV0sCisgICAgICAg
ICAgICAgICAgICAxMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9j
b21iaW5pbmctZWZmZWN0cy9lZmZlY3QtY29tcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9jb21iaW5pbmctZWZmZWN0cy9l
ZmZlY3QtY29tcG9zaXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjA0YmQyMWU5ZWI3Y2ZhNzI5OGIw
OGEzNWI5NWQ4OWRiYzdhYWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2NvbWJpbmluZy1lZmZlY3RzL2VmZmVj
dC1jb21wb3NpdGlvbi5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0IGZvciBlZmZlY3QgY29tcG9zaXRpb248L3Rp
dGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFu
aW1hdGlvbnMvI2VmZmVjdC1jb21wb3NpdGlvbiI+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOwor
CitbICdhY2N1bXVsYXRlJywgJ2FkZCcgXS5mb3JFYWNoKGZ1bmN0aW9uKGNvbXBvc2l0ZSkgewor
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICAgIGRp
di5zdHlsZS5tYXJnaW5MZWZ0ID0gJzEwcHgnOworICAgIHZhciBhbmltID0KKyAgICAgIGRpdi5h
bmltYXRlKHsgbWFyZ2luTGVmdDogWycwcHgnLCAnMTBweCddLCBjb21wb3NpdGUgfSwgMTAwKTsK
KworICAgIGFuaW0uY3VycmVudFRpbWUgPSA1MDsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMTVweCcsCisgICAgICAnQW5pbWF0ZWQgbWFyZ2lu
LWxlZnQgc3R5bGUgYXQgNTAlJyk7CisgIH0sIGNvbXBvc2l0ZSArICcgb250byB0aGUgYmFzZSB2
YWx1ZScpOworCisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBkaXYgPSBjcmVhdGVEaXYo
dCk7CisgICAgdmFyIGFuaW1zID0gW107CisgICAgYW5pbXMucHVzaChkaXYuYW5pbWF0ZSh7IG1h
cmdpbkxlZnQ6IFsnMTBweCcsICcyMHB4J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbXBvc2l0ZTogJ3JlcGxhY2UnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAp
KTsKKyAgICBhbmltcy5wdXNoKGRpdi5hbmltYXRlKHsgbWFyZ2luTGVmdDogWycwcHgnLCAnMTBw
eCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGUgfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEwMCkpOworCisgICAgYW5pbXMuZm9yRWFjaChmdW5jdGlvbihh
bmltKSB7CisgICAgICBhbmltLmN1cnJlbnRUaW1lID0gNTA7CisgICAgfSk7CisKKyAgICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMjBweCcsCisgICAg
ICAnQW5pbWF0ZWQgc3R5bGUgYXQgNTAlJyk7CisgIH0sIGNvbXBvc2l0ZSArICcgb250byBhbiB1
bmRlcmx5aW5nIGFuaW1hdGlvbiB2YWx1ZScpOworCisgIHRlc3QoZnVuY3Rpb24odCkgeworICAg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgICAgZGl2LnN0eWxlLm1hcmdpbkxlZnQgPSAnMTBw
eCc7CisgICAgdmFyIGFuaW0gPQorICAgICAgZGl2LmFuaW1hdGUoW3sgbWFyZ2luTGVmdDogJzEw
cHgnLCBjb21wb3NpdGUgfSwKKyAgICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6ICczMHB4
JywgY29tcG9zaXRlOiAncmVwbGFjZScgfV0sCisgICAgICAgICAgICAgICAgICAxMDApOworCisg
ICAgYW5pbS5jdXJyZW50VGltZSA9IDUwOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLm1hcmdpbkxlZnQsICcyNXB4JywKKyAgICAgICdBbmltYXRlZCBzdHlsZSBhdCA1
MCUnKTsKKyAgfSwgJ0NvbXBvc2l0ZSB3aGVuIG1peGluZyAnICsgY29tcG9zaXRlICsgJyBhbmQg
cmVwbGFjZScpOworCisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBkaXYgPSBjcmVhdGVE
aXYodCk7CisgICAgZGl2LnN0eWxlLm1hcmdpbkxlZnQgPSAnMTBweCc7CisgICAgdmFyIGFuaW0g
PQorICAgICAgZGl2LmFuaW1hdGUoW3sgbWFyZ2luTGVmdDogJzEwcHgnLCBjb21wb3NpdGU6ICdy
ZXBsYWNlJyB9LAorICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDogJzIwcHgnIH1dLAor
ICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICwgY29tcG9zaXRlIH0pOworCisgICAg
YW5pbS5jdXJyZW50VGltZSA9IDUwOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShkaXYpLm1hcmdpbkxlZnQsICcyMHB4JywKKyAgICAgICdBbmltYXRlZCBzdHlsZSBhdCA1MCUn
KTsKKyAgfSwgY29tcG9zaXRlICsgJyBzcGVjaWZpZWQgb24gYSBrZXlmcmFtZSBvdmVycmlkZXMg
dGhlIGNvbXBvc2l0ZSBtb2RlIG9mICcgKworICAgICAndGhlIGVmZmVjdCcpOworCisgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgICAgZGl2LnN0eWxl
Lm1hcmdpbkxlZnQgPSAnMTBweCc7CisgICAgdmFyIGFuaW0gPQorICAgICAgZGl2LmFuaW1hdGUo
W3sgbWFyZ2luTGVmdDogJzEwcHgnLCBjb21wb3NpdGU6ICdyZXBsYWNlJyB9LAorICAgICAgICAg
ICAgICAgICAgIHsgbWFyZ2luTGVmdDogJzIwcHgnIH1dLAorICAgICAgICAgICAgICAgICAgMTAw
KTsKKworICAgIGFuaW0uZWZmZWN0LmNvbXBvc2l0ZSA9IGNvbXBvc2l0ZTsKKyAgICBhbmltLmN1
cnJlbnRUaW1lID0gNTA7ICAgICAgICAgICAgICAgICAgICAgICAvLyAoMTAgKyAoMTAgKyAyMCkp
ICogMC41CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVm
dCwgJzIwcHgnLAorICAgICAgJ0FuaW1hdGVkIHN0eWxlIGF0IDUwJScpOworICB9LCAndW5zcGVj
aWZpZWQgY29tcG9zaXRlIG1vZGUgb24gYSBrZXlmcmFtZSBpcyBvdmVycmlkZW4gYnkgc2V0dGlu
ZyAnICsKKyAgICAgY29tcG9zaXRlICsgJyBvZiB0aGUgZWZmZWN0Jyk7Cit9KTsKKworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmlt
YXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtY29udGV4dC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9k
ZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtY29udGV4dC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOGE0YTQ2MDZhNjQxZjIwMGNlMzcyOTBjNDEwMDQ5YjJkMTRiODA0ZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlv
bi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1jb250ZXh0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEyIEBACisKK0ZBSUwgRWZmZWN0IHZhbHVlcyByZWZsZWN0IGNoYW5nZXMg
dG8gZm9udC1zaXplIG9uIGVsZW1lbnQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoWyB7IG1hcmdpbkxlZnQ6ICcxMGVtJyB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6ICcyMGVtJyB9IF0sIDEwMDApJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVmZmVjdCB2YWx1ZXMgcmVmbGVjdCBjaGFuZ2Vz
IHRvIGZvbnQtc2l6ZSBvbiBwYXJlbnQgZWxlbWVudCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZShbIHsgbWFyZ2luTGVmdDogJzEwZW0nIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDogJzIwZW0nIH0gXSwgMTAwMCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWZmZWN0IHZhbHVlcyByZWZsZWN0
IGNoYW5nZXMgdG8gZm9udC1zaXplIHdoZW4gY29tcHV0ZWQgc3R5bGUgaXMgbm90IGltbWVkaWF0
ZWx5IGZsdXNoZWQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoWyB7IG1hcmdpbkxlZnQ6ICcxMGVtJyB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IG1hcmdpbkxlZnQ6ICcyMGVtJyB9IF0sIDEwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIEVmZmVjdCB2YWx1ZXMgcmVmbGVjdCBjaGFuZ2VzIHRvIGZvbnQtc2l6
ZSBmcm9tIHJlcGFyZW50aW5nIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKFsgeyBtYXJnaW5MZWZ0OiAnMTBlbScgfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBlbScgfSBdLCAxMDAwKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFZmZlY3QgdmFsdWVzIHJlZmxlY3QgY2hhbmdlcyB0byB0
YXJnZXQgZWxlbWVudCBkaXZBLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2QS5h
bmltYXRlKFsgeyBtYXJnaW5MZWZ0OiAnMTBlbScgfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsgbWFyZ2luTGVmdDogJzIwZW0nIH0gXSwgMTAwMCknLCAnZGl2QS5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1j
b250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRp
b24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtY29udGV4dC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA3ZmI2MDk3YzlmZWQ0NjliNmQ3YTBmYzExYmMwOWM3MTBhMDc1MGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24t
bW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtY29udGV4dC5odG1sCkBAIC0wLDAg
KzEsMTAzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+
VGVzdHMgdGhhdCBwcm9wZXJ0eSB2YWx1ZXMgcmVzcG9uZCB0byBjaGFuZ2VzIHRvIHRoZWlyIGNv
bnRleHQ8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vd2ViLWFuaW1hdGlvbnMvI2tleWZyYW1lcy1zZWN0aW9uIj4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0
Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBk
aXYuc3R5bGUuZm9udFNpemUgPSAnMTBweCc7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0
ZShbIHsgbWFyZ2luTGVmdDogJzEwZW0nIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHsgbWFyZ2luTGVmdDogJzIwZW0nIH0gXSwgMTAwMCk7CisgIGFuaW1hdGlvbi5jdXJyZW50
VGltZSA9IDUwMDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2lu
TGVmdCwgJzE1MHB4JywKKyAgICAgICAgICAgICAgICAnRWZmZWN0IHZhbHVlIGJlZm9yZSB1cGRh
dGluZyBmb250LXNpemUnKTsKKyAgZGl2LnN0eWxlLmZvbnRTaXplID0gJzIwcHgnOworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMzAwcHgnLAorICAg
ICAgICAgICAgICAgICdFZmZlY3QgdmFsdWUgYWZ0ZXIgdXBkYXRpbmcgZm9udC1zaXplJyk7Cit9
LCAnRWZmZWN0IHZhbHVlcyByZWZsZWN0IGNoYW5nZXMgdG8gZm9udC1zaXplIG9uIGVsZW1lbnQn
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBwYXJlbnREaXYgPSBjcmVhdGVEaXYodCk7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHBhcmVudERpdi5hcHBlbmRDaGlsZChkaXYp
OworICBwYXJlbnREaXYuc3R5bGUuZm9udFNpemUgPSAnMTBweCc7CisKKyAgdmFyIGFuaW1hdGlv
biA9IGRpdi5hbmltYXRlKFsgeyBtYXJnaW5MZWZ0OiAnMTBlbScgfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBlbScgfSBdLCAxMDAwKTsKKyAgYW5p
bWF0aW9uLmN1cnJlbnRUaW1lID0gNTAwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMTUwcHgnLAorICAgICAgICAgICAgICAgICdFZmZlY3QgdmFs
dWUgYmVmb3JlIHVwZGF0aW5nIGZvbnQtc2l6ZSBvbiBwYXJlbnQgZWxlbWVudCcpOworICBwYXJl
bnREaXYuc3R5bGUuZm9udFNpemUgPSAnMjBweCc7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICczMDBweCcsCisgICAgICAgICAgICAgICAgJ0VmZmVj
dCB2YWx1ZSBhZnRlciB1cGRhdGluZyBmb250LXNpemUgb24gcGFyZW50IGVsZW1lbnQnKTsKK30s
ICdFZmZlY3QgdmFsdWVzIHJlZmxlY3QgY2hhbmdlcyB0byBmb250LXNpemUgb24gcGFyZW50IGVs
ZW1lbnQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHBhcmVudERpdiA9
IGNyZWF0ZURpdih0KTsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgcGFyZW50RGl2LmFw
cGVuZENoaWxkKGRpdik7CisgIHBhcmVudERpdi5zdHlsZS5mb250U2l6ZSA9ICcxMHB4JzsKKyAg
dmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKFsgeyBtYXJnaW5MZWZ0OiAnMTBlbScgfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBlbScgfSBdLCAx
MDAwKTsKKworICBhbmltYXRpb24ucGF1c2UoKTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0g
NTAwOworICBwYXJlbnREaXYuc3R5bGUuZm9udFNpemUgPSAnMjBweCc7CisKKyAgcmV0dXJuIGFu
aW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICczMDBweCcsCisgICAgICAgICAgICAgICAgICAn
RWZmZWN0IHZhbHVlIGFmdGVyIHVwZGF0aW5nIGZvbnQtc2l6ZSBvbiBwYXJlbnQgZWxlbWVudCcp
OworICB9KTsKK30sICdFZmZlY3QgdmFsdWVzIHJlZmxlY3QgY2hhbmdlcyB0byBmb250LXNpemUg
d2hlbiBjb21wdXRlZCBzdHlsZSBpcyBub3QnCisgICArICcgaW1tZWRpYXRlbHkgZmx1c2hlZCcp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2V2l0aDEwcHhGb250U2l6
ZSA9IGNyZWF0ZURpdih0KTsKKyAgZGl2V2l0aDEwcHhGb250U2l6ZS5zdHlsZS5mb250U2l6ZSA9
ICcxMHB4JzsKKyAgdmFyIGRpdldpdGgyMHB4Rm9udFNpemUgPSBjcmVhdGVEaXYodCk7CisgIGRp
dldpdGgyMHB4Rm9udFNpemUuc3R5bGUuZm9udFNpemUgPSAnMjBweCc7CisKKyAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgZGl2LnJlbW92ZSgpOyAvLyBEZXRhY2gKKyAgdmFyIGFuaW1hdGlv
biA9IGRpdi5hbmltYXRlKFsgeyBtYXJnaW5MZWZ0OiAnMTBlbScgfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBlbScgfSBdLCAxMDAwKTsKKyAgYW5p
bWF0aW9uLnBhdXNlKCk7CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9u
KCkgeworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDUwMDsKKworICAgIGRpdldpdGgxMHB4
Rm9udFNpemUuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMTUwcHgnLAorICAgICAgICAgICAgICAgICAgJ0VmZmVj
dCB2YWx1ZSBhZnRlciBhdHRhY2hpbmcgdG8gZm9udC1zaXplOjEwcHggcGFyZW50Jyk7CisgICAg
ZGl2V2l0aDIwcHhGb250U2l6ZS5hcHBlbmRDaGlsZChkaXYpOworICAgIGFzc2VydF9lcXVhbHMo
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICczMDBweCcsCisgICAgICAgICAgICAg
ICAgICAnRWZmZWN0IHZhbHVlIGFmdGVyIGF0dGFjaGluZyB0byBmb250LXNpemU6MjBweCBwYXJl
bnQnKTsKKyAgfSk7Cit9LCAnRWZmZWN0IHZhbHVlcyByZWZsZWN0IGNoYW5nZXMgdG8gZm9udC1z
aXplIGZyb20gcmVwYXJlbnRpbmcnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXZB
ID0gY3JlYXRlRGl2KHQpOworICBkaXZBLnN0eWxlLmZvbnRTaXplID0gJzEwcHgnOworCisgIHZh
ciBkaXZCID0gY3JlYXRlRGl2KHQpOworICBkaXZCLnN0eWxlLmZvbnRTaXplID0gJzIwcHgnOwor
CisgIHZhciBhbmltYXRpb24gPSBkaXZBLmFuaW1hdGUoWyB7IG1hcmdpbkxlZnQ6ICcxMGVtJyB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBtYXJnaW5MZWZ0OiAnMjBlbScg
fSBdLCAxMDAwKTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gNTAwOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2QSkubWFyZ2luTGVmdCwgJzE1MHB4JywKKyAgICAgICAg
ICAgICAgICAnRWZmZWN0IHZhbHVlIGJlZm9yZSB1cGRhdGluZyB0YXJnZXQgZWxlbWVudCcpOwor
CisgIGFuaW1hdGlvbi5lZmZlY3QudGFyZ2V0ID0gZGl2QjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdkIpLm1hcmdpbkxlZnQsICczMDBweCcsCisgICAgICAgICAgICAgICAg
J0VmZmVjdCB2YWx1ZSBhZnRlciB1cGRhdGluZyB0YXJnZXQgZWxlbWVudCcpOworfSwgJ0VmZmVj
dCB2YWx1ZXMgcmVmbGVjdCBjaGFuZ2VzIHRvIHRhcmdldCBlbGVtZW50Jyk7CisKKzwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLW92ZXJsYXBw
aW5nLWtleWZyYW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtb3Zl
cmxhcHBpbmcta2V5ZnJhbWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGIzYjcwMzRjY2Iy
YzI4OWQ1Y2M4MDdjMmYyMDU1NWI5ZWNlMzM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVj
dHMvZWZmZWN0LXZhbHVlLW92ZXJsYXBwaW5nLWtleWZyYW1lcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACisKK0ZBSUwgT3ZlcmxhcHBpbmcga2V5ZnJhbWVzIGF0IDAgYW5kIDEgdXNlIHRo
ZSBhcHByb3ByaWF0ZSB2YWx1ZSB3aGVuIHRoZSBwcm9ncmVzcyBpcyBvdXRzaWRlIHRoZSByYW5n
ZSBbMCwgMV0gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0
ZS4uLicpCitGQUlMIE92ZXJsYXBwaW5nIGtleWZyYW1lcyBiZXR3ZWVuIDAgYW5kIDEgdXNlIHRo
ZSBhcHByb3ByaWF0ZSB2YWx1ZSBvbiBlYWNoIHNpZGUgb2YgdGhlIG92ZXJsYXAgcG9pbnQgdW5k
ZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1t
b2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1vdmVybGFwcGluZy1rZXlmcmFtZXMu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2Rl
bC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS1vdmVybGFwcGluZy1rZXlmcmFtZXMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45OWI0ZjNkZjZmZTBjNmVkYTZlMzZhOTA4MjIwOGUyYjliYTIxNDJjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0LXZhbHVlLW92ZXJsYXBwaW5nLWtl
eWZyYW1lcy5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOD4KKzx0aXRsZT5FZmZlY3QgdmFsdWUgY29tcHV0YXRpb24gdGVzdHMgd2hlbiBr
ZXlmcmFtZXMgb3ZlcmxhcDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
dzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jdGhlLWVmZmVjdC12YWx1ZS1vZi1hLWtleWZy
YW1lLWFuaW1hdGlvbi1lZmZlY3QiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2Ny
aXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0Ij48L2Rp
dj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
ZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKFsgeyBvZmZzZXQ6
IDAsIG9wYWNpdHk6IDAgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAw
LCBvcGFjaXR5OiAwLjEgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAw
LCBvcGFjaXR5OiAwLjIgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAx
LCBvcGFjaXR5OiAwLjggfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAx
LCBvcGFjaXR5OiAwLjkgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAx
LCBvcGFjaXR5OiAxIH0gXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAx
MDAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAu
NSwgLTAuNSwgMC41LCAxLjUpJyB9KTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGRpdikub3BhY2l0eSwgJzAuMicsCisgICAgICAgICAgICAgICAgJ1doZW4gcHJvZ3Jlc3MgaXMg
emVybyB0aGUgbGFzdCBrZXlmcmFtZSB3aXRoIG9mZnNldCAwIHNob3VsZCcKKyAgICAgICAgICAg
ICAgICArICcgYmUgdXNlZCcpOworICAvLyBodHRwOi8vY3ViaWMtYmV6aWVyLmNvbS8jLjUsLTAu
NSwuNSwxLjUKKyAgLy8gQXQgdD0wLjE1LCB0aGUgcHJvZ3Jlc3Mgc2hvdWxkIGJlIG5lZ2F0aXZl
CisgIGFuaW0uY3VycmVudFRpbWUgPSAxNTA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLm9wYWNpdHksICcwJywKKyAgICAgICAgICAgICAgICAnV2hlbiBwcm9ncmVzcyBp
cyBuZWdhdGl2ZSwgdGhlIGZpcnN0IGtleWZyYW1lIHdpdGggYSAwIG9mZnNldCcKKyAgICAgICAg
ICAgICAgICArICcgc2hvdWxkIGJlIHVzZWQnKTsKKyAgLy8gQXQgdD0wLjcxLCB0aGUgcHJvZ3Jl
c3Mgc2hvdWxkIGJlIGp1c3QgbGVzcyB0aGFuIDEKKyAgYW5pbS5jdXJyZW50VGltZSA9IDcxMDsK
KyAgYXNzZXJ0X2FwcHJveF9lcXVhbHMocGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKGRpdiku
b3BhY2l0eSksIDAuOCwgMC4wMSwKKyAgICAgICAgICAgICAgICAnV2hlbiBwcm9ncmVzcyBpcyBq
dXN0IGxlc3MgdGhhbiAxLCB0aGUgZmlyc3Qga2V5ZnJhbWUgd2l0aCBhbicKKyAgICAgICAgICAg
ICAgICArICcgb2Zmc2V0IG9mIDEgc2hvdWxkIGJlIHVzZWQgYXMgdGhlIGludGVydmFsIGVuZHBv
aW50Jyk7CisgIC8vIEF0IHQ9MC44NSwgdGhlIHByb2dyZXNzIHNob3VsZCBiZSA+IDEKKyAgYW5p
bS5jdXJyZW50VGltZSA9IDg1MDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRp
dikub3BhY2l0eSwgJzEnLAorICAgICAgICAgICAgICAgICdXaGVuIHByb2dyZXNzIGlzIGdyZWF0
ZXIgdGhhbiAxLjAsIHRoZSBsYXN0IGtleWZyYW1lIHdpdGggYSAxJworICAgICAgICAgICAgICAg
ICsgJyBvZmZzZXQgc2hvdWxkIGJlIHVzZWQnKTsKKyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzEnLAorICAgICAgICAgICAg
ICAgICdXaGVuIHByb2dyZXNzIGlzIGVxdWFsIHRvIDEuMCwgdGhlIGxhc3Qga2V5ZnJhbWUgd2l0
aCBhIDEnCisgICAgICAgICAgICAgICAgKyAnIG9mZnNldCBzaG91bGQgYmUgdXNlZCcpOworfSwg
J092ZXJsYXBwaW5nIGtleWZyYW1lcyBhdCAwIGFuZCAxIHVzZSB0aGUgYXBwcm9wcmlhdGUgdmFs
dWUgd2hlbiB0aGUnCisgICArICcgcHJvZ3Jlc3MgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzAsIDFd
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2
YXIgYW5pbSA9IGRpdi5hbmltYXRlKFsgeyBvZmZzZXQ6IDAsIG9wYWNpdHk6IDAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjUsIG9wYWNpdHk6IDAuMyB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuNSwgb3BhY2l0eTogMC41IH0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBvcGFjaXR5OiAwLjcgfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBvcGFjaXR5OiAxIH0gXSwg
MTAwMCk7CisgIGFuaW0uY3VycmVudFRpbWUgPSAyNTA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcwLjE1JywKKyAgICAgICAgICAgICAgICAnQmVmb3Jl
IHRoZSBvdmVybGFwIHBvaW50LCB0aGUgZmlyc3Qga2V5ZnJhbWUgZnJvbSB0aGUnCisgICAgICAg
ICAgICAgICAgKyAnIG92ZXJsYXAgcG9pbnQgc2hvdWxkIGJlIHVzZWQgYXMgaW50ZXJ2YWwgZW5k
cG9pbnQnKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDUwMDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuNycsCisgICAgICAgICAgICAgICAgJ0F0IHRo
ZSBvdmVybGFwIHBvaW50LCB0aGUgbGFzdCBrZXlmcmFtZSBmcm9tIHRoZScKKyAgICAgICAgICAg
ICAgICArICcgb3ZlcmxhcCBwb2ludCBzaG91bGQgYmUgdXNlZCBhcyBpbnRlcnZhbCBzdGFydHBv
aW50Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSA3NTA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcwLjg1JywKKyAgICAgICAgICAgICAgICAnQWZ0ZXIg
dGhlIG92ZXJsYXAgcG9pbnQsIHRoZSBsYXN0IGtleWZyYW1lIGZyb20gdGhlJworICAgICAgICAg
ICAgICAgICsgJyBvdmVybGFwIHBvaW50IHNob3VsZCBiZSB1c2VkIGFzIGludGVydmFsIHN0YXJ0
cG9pbnQnKTsKK30sICdPdmVybGFwcGluZyBrZXlmcmFtZXMgYmV0d2VlbiAwIGFuZCAxIHVzZSB0
aGUgYXBwcm9wcmlhdGUgdmFsdWUgb24gZWFjaCcKKyAgICsgJyBzaWRlIG9mIHRoZSBvdmVybGFw
IHBvaW50Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMv
ZWZmZWN0LXZhbHVlLXRyYW5zZm9ybWVkLWRpc3RhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZl
Y3RzL2VmZmVjdC12YWx1ZS10cmFuc2Zvcm1lZC1kaXN0YW5jZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWIxYWRiMjZmMTUwZGYxZDFiNWNjNDY0YjJmN2VmNmJmOWZhMGRhZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1t
b2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS10cmFuc2Zvcm1lZC1kaXN0YW5jZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMiBAQAorCitGQUlMIEEgc3RlcC1zdGFydCBmdW5jdGlv
biBvbiBhIGtleWZyYW1lIGFmZmVjdHMgdGhlIHJlc3VsdGluZyBzdHlsZSB1bmRlZmluZWQgaXMg
bm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgQSBzdGVw
cygxLCBzdGFydCkgZnVuY3Rpb24gb24gYSBrZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1bHRpbmcg
c3R5bGUgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0
ZS4uLicpCitGQUlMIEEgc3RlcHMoMiwgc3RhcnQpIGZ1bmN0aW9uIG9uIGEga2V5ZnJhbWUgYWZm
ZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVh
ciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBBIHN0ZXAtZW5kIGZ1bmN0aW9uIG9uIGEg
a2V5ZnJhbWUgYWZmZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5lZCBpcyBub3QgYSBm
dW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBBIHN0ZXBzKDEpIGZ1
bmN0aW9uIG9uIGEga2V5ZnJhbWUgYWZmZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5l
ZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBB
IHN0ZXBzKDEsIGVuZCkgZnVuY3Rpb24gb24gYSBrZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1bHRp
bmcgc3R5bGUgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5p
bWF0ZS4uLicpCitGQUlMIEEgc3RlcHMoMiwgZW5kKSBmdW5jdGlvbiBvbiBhIGtleWZyYW1lIGFm
ZmVjdHMgdGhlIHJlc3VsdGluZyBzdHlsZSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5l
YXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgQSBmcmFtZXMgZnVuY3Rpb24gb24gYSBr
ZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1bHRpbmcgc3R5bGUgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1
bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIEEgbGluZWFyIGZ1bmN0
aW9uIG9uIGEga2V5ZnJhbWUgYWZmZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5lZCBp
cyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBBIGVh
c2UgZnVuY3Rpb24gb24gYSBrZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1bHRpbmcgc3R5bGUgdW5k
ZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitG
QUlMIEEgZWFzZS1pbiBmdW5jdGlvbiBvbiBhIGtleWZyYW1lIGFmZmVjdHMgdGhlIHJlc3VsdGlu
ZyBzdHlsZSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmlt
YXRlLi4uJykKK0ZBSUwgQSBlYXNlLWluLW91dCBmdW5jdGlvbiBvbiBhIGtleWZyYW1lIGFmZmVj
dHMgdGhlIHJlc3VsdGluZyBzdHlsZSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIg
Jy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgQSBlYXNlLW91dCBmdW5jdGlvbiBvbiBhIGtl
eWZyYW1lIGFmZmVjdHMgdGhlIHJlc3VsdGluZyBzdHlsZSB1bmRlZmluZWQgaXMgbm90IGEgZnVu
Y3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgQSBlYXNpbmcgZnVuY3Rp
b24gd2hpY2ggcHJvZHVjZXMgdmFsdWVzIGdyZWF0ZXIgdGhhbiAxIG9uIGEga2V5ZnJhbWUgYWZm
ZWN0cyB0aGUgcmVzdWx0aW5nIHN0eWxlIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVh
ciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBBIGVhc2luZyBmdW5jdGlvbiB3aGljaCBw
cm9kdWNlcyB2YWx1ZXMgbGVzcyB0aGFuIDEgb24gYSBrZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1
bHRpbmcgc3R5bGUgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQu
YW5pbWF0ZS4uLicpCitGQUlMIExpbmVhci1lcXVpdmFsZW50IGN1YmljLWJlemllciBrZXlmcmFt
ZSBlYXNpbmcgYXBwbGllZCB0byBhbiBlZmZlY3Qgd2l0aCBhIHN0ZXAtc3RhcnQgZnVuY3Rpb24g
ZG9lcyBub3QgYWx0ZXIgdGhlIHJlc3VsdCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5l
YXIgJy4uLmxpbmVhclRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgTGluZWFyLWVxdWl2YWxlbnQg
Y3ViaWMtYmV6aWVyIGtleWZyYW1lIGVhc2luZyBhcHBsaWVkIHRvIGFuIGVmZmVjdCB3aXRoIGEg
c3RlcHMoMSwgc3RhcnQpIGZ1bmN0aW9uIGRvZXMgbm90IGFsdGVyIHRoZSByZXN1bHQgdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5saW5lYXJUYXJnZXQuYW5pbWF0ZS4uLicp
CitGQUlMIExpbmVhci1lcXVpdmFsZW50IGN1YmljLWJlemllciBrZXlmcmFtZSBlYXNpbmcgYXBw
bGllZCB0byBhbiBlZmZlY3Qgd2l0aCBhIHN0ZXBzKDIsIHN0YXJ0KSBmdW5jdGlvbiBkb2VzIG5v
dCBhbHRlciB0aGUgcmVzdWx0IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4u
bGluZWFyVGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBMaW5lYXItZXF1aXZhbGVudCBjdWJpYy1i
ZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYW4gZWZmZWN0IHdpdGggYSBzdGVwLWVu
ZCBmdW5jdGlvbiBkb2VzIG5vdCBhbHRlciB0aGUgcmVzdWx0IHVuZGVmaW5lZCBpcyBub3QgYSBm
dW5jdGlvbiAobmVhciAnLi4ubGluZWFyVGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBMaW5lYXIt
ZXF1aXZhbGVudCBjdWJpYy1iZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYW4gZWZm
ZWN0IHdpdGggYSBzdGVwcygxKSBmdW5jdGlvbiBkb2VzIG5vdCBhbHRlciB0aGUgcmVzdWx0IHVu
ZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4ubGluZWFyVGFyZ2V0LmFuaW1hdGUu
Li4nKQorRkFJTCBMaW5lYXItZXF1aXZhbGVudCBjdWJpYy1iZXppZXIga2V5ZnJhbWUgZWFzaW5n
IGFwcGxpZWQgdG8gYW4gZWZmZWN0IHdpdGggYSBzdGVwcygxLCBlbmQpIGZ1bmN0aW9uIGRvZXMg
bm90IGFsdGVyIHRoZSByZXN1bHQgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcu
Li5saW5lYXJUYXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIExpbmVhci1lcXVpdmFsZW50IGN1Ymlj
LWJlemllciBrZXlmcmFtZSBlYXNpbmcgYXBwbGllZCB0byBhbiBlZmZlY3Qgd2l0aCBhIHN0ZXBz
KDIsIGVuZCkgZnVuY3Rpb24gZG9lcyBub3QgYWx0ZXIgdGhlIHJlc3VsdCB1bmRlZmluZWQgaXMg
bm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmxpbmVhclRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwg
TGluZWFyLWVxdWl2YWxlbnQgY3ViaWMtYmV6aWVyIGtleWZyYW1lIGVhc2luZyBhcHBsaWVkIHRv
IGFuIGVmZmVjdCB3aXRoIGEgZnJhbWVzIGZ1bmN0aW9uIGRvZXMgbm90IGFsdGVyIHRoZSByZXN1
bHQgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5saW5lYXJUYXJnZXQuYW5p
bWF0ZS4uLicpCitGQUlMIExpbmVhci1lcXVpdmFsZW50IGN1YmljLWJlemllciBrZXlmcmFtZSBl
YXNpbmcgYXBwbGllZCB0byBhbiBlZmZlY3Qgd2l0aCBhIGxpbmVhciBmdW5jdGlvbiBkb2VzIG5v
dCBhbHRlciB0aGUgcmVzdWx0IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4u
bGluZWFyVGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBMaW5lYXItZXF1aXZhbGVudCBjdWJpYy1i
ZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYW4gZWZmZWN0IHdpdGggYSBlYXNlIGZ1
bmN0aW9uIGRvZXMgbm90IGFsdGVyIHRoZSByZXN1bHQgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0
aW9uIChuZWFyICcuLi5saW5lYXJUYXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIExpbmVhci1lcXVp
dmFsZW50IGN1YmljLWJlemllciBrZXlmcmFtZSBlYXNpbmcgYXBwbGllZCB0byBhbiBlZmZlY3Qg
d2l0aCBhIGVhc2UtaW4gZnVuY3Rpb24gZG9lcyBub3QgYWx0ZXIgdGhlIHJlc3VsdCB1bmRlZmlu
ZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmxpbmVhclRhcmdldC5hbmltYXRlLi4uJykK
K0ZBSUwgTGluZWFyLWVxdWl2YWxlbnQgY3ViaWMtYmV6aWVyIGtleWZyYW1lIGVhc2luZyBhcHBs
aWVkIHRvIGFuIGVmZmVjdCB3aXRoIGEgZWFzZS1pbi1vdXQgZnVuY3Rpb24gZG9lcyBub3QgYWx0
ZXIgdGhlIHJlc3VsdCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmxpbmVh
clRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgTGluZWFyLWVxdWl2YWxlbnQgY3ViaWMtYmV6aWVy
IGtleWZyYW1lIGVhc2luZyBhcHBsaWVkIHRvIGFuIGVmZmVjdCB3aXRoIGEgZWFzZS1vdXQgZnVu
Y3Rpb24gZG9lcyBub3QgYWx0ZXIgdGhlIHJlc3VsdCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rp
b24gKG5lYXIgJy4uLmxpbmVhclRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgTGluZWFyLWVxdWl2
YWxlbnQgY3ViaWMtYmV6aWVyIGtleWZyYW1lIGVhc2luZyBhcHBsaWVkIHRvIGFuIGVmZmVjdCB3
aXRoIGEgZWFzaW5nIGZ1bmN0aW9uIHdoaWNoIHByb2R1Y2VzIHZhbHVlcyBncmVhdGVyIHRoYW4g
MSBkb2VzIG5vdCBhbHRlciB0aGUgcmVzdWx0IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAo
bmVhciAnLi4ubGluZWFyVGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBMaW5lYXItZXF1aXZhbGVu
dCBjdWJpYy1iZXppZXIga2V5ZnJhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYW4gZWZmZWN0IHdpdGgg
YSBlYXNpbmcgZnVuY3Rpb24gd2hpY2ggcHJvZHVjZXMgdmFsdWVzIGxlc3MgdGhhbiAxIGRvZXMg
bm90IGFsdGVyIHRoZSByZXN1bHQgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcu
Li5saW5lYXJUYXJnZXQuYW5pbWF0ZS4uLicpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2Vm
ZmVjdC12YWx1ZS10cmFuc2Zvcm1lZC1kaXN0YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMvZWZmZWN0
LXZhbHVlLXRyYW5zZm9ybWVkLWRpc3RhbmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODdlZmQ0MmI1Nzdl
ODczY2ViMmYyNzQ3ODQ1ZTgwNWNkODdkZTRiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZl
Y3RzL2VmZmVjdC12YWx1ZS10cmFuc2Zvcm1lZC1kaXN0YW5jZS5odG1sCkBAIC0wLDAgKzEsODMg
QEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0cyBm
b3IgY2FsY3VsYXRpb24gb2YgdGhlIHRyYW5zZm9ybWVkIGRpc3RhbmNlIHdoZW4gY29tcHV0aW5n
IGFuIGVmZmVjdCB2YWx1ZTwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
dzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jdGhlLWVmZmVjdC12YWx1ZS1vZi1hLWtleWZy
YW1lLWFuaW1hdGlvbi1lZmZlY3QiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9lYXNpbmctdGVzdHMuanMiPjwvc2Ny
aXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0
JzsKKworLy8gVGVzdCB0aGF0IGFwcGx5aW5nIGVhc2luZyB0byBrZXlmcmFtZXMgaXMgYXBwbGll
ZCBhcyBleHBlY3RlZAorCitnRWFzaW5nVGVzdHMuZm9yRWFjaChwYXJhbXMgPT4geworICB0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgICBjb25zdCB0YXJnZXQgPSBjcmVhdGVEaXYodCk7CisgICAgY29u
c3QgYW5pbSAgID0gdGFyZ2V0LmFuaW1hdGUoWyB7IHdpZHRoOiAnMHB4JyB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgcHV0IHRoZSBlYXNpbmcgb24gdGhlIHNl
Y29uZCBrZXlmcmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28g
d2UgY2FuIHRlc3QgdGhhdCBpdCBpcyBvbmx5IGFwcGxpZWQKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBzcGVjaWZpZWQga2V5ZnJhbWUuCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7IHdpZHRoOiAnMTAwcHgnLCBlYXNpbmc6IHBhcmFt
cy5lYXNpbmcgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgd2lkdGg6
ICcyMDBweCcgfSBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IDIwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAnZm9y
d2FyZHMnIH0pOworCisgICAgWyAwLCA5OTksIDEwMDAsIDExMDAsIDE1MDAsIDIwMDAgXS5mb3JF
YWNoKHNhbXBsZVRpbWUgPT4geworICAgICAgYW5pbS5jdXJyZW50VGltZSA9IHNhbXBsZVRpbWU7
CisKKyAgICAgIGNvbnN0IHBvcnRpb24gPSAoc2FtcGxlVGltZSAtIDEwMDApIC8gMTAwMDsKKyAg
ICAgIGNvbnN0IGV4cGVjdGVkV2lkdGggPSBzYW1wbGVUaW1lIDwgMTAwMAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID8gc2FtcGxlVGltZSAvIDEwIC8vIGZpcnN0IHNlZ21lbnQgaXMgbGlu
ZWFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMDAgKyBwYXJhbXMuZWFzaW5nRnVu
Y3Rpb24ocG9ydGlvbikgKiAxMDA7CisgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhwYXJzZUZs
b2F0KGdldENvbXB1dGVkU3R5bGUodGFyZ2V0KS53aWR0aCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBleHBlY3RlZFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wMSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgd2lkdGggc2hvdWxkIGJlIGFwcHJveGlt
YXRlbHkgJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtleHBlY3RlZFdpZHRofSBh
dCAke3NhbXBsZVRpbWV9bXNgKTsKKyAgICB9KTsKKyAgfSwgYEEgJHtwYXJhbXMuZGVzY30gb24g
YSBrZXlmcmFtZSBhZmZlY3RzIHRoZSByZXN1bHRpbmcgc3R5bGVgKTsKK30pOworCisvLyBUZXN0
IHRoYXQgYSBsaW5lYXItZXF1aXZhbGVudCBjdWJpYy1iZXppZXIgZWFzaW5nIGFwcGxpZWQgdG8g
YSBrZXlmcmFtZSBkb2VzCisvLyBub3QgYWx0ZXIgKGluY2x1ZGluZyBjbGFtcGluZykgdGhlIHJl
c3VsdC4KKworZ0Vhc2luZ1Rlc3RzLmZvckVhY2gocGFyYW1zID0+IHsKKyAgY29uc3QgbGluZWFy
RXF1aXZhbGVudEVhc2luZ3MgPSBbICdjdWJpYy1iZXppZXIoMCwgMCwgMCwgMCknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2N1YmljLWJlemllcigxLCAxLCAxLCAxKScg
XTsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgbGluZWFyRXF1aXZhbGVudEVhc2luZ3MuZm9y
RWFjaChsaW5lYXJFcXVpdmFsZW50RWFzaW5nID0+IHsKKyAgICAgIGNvbnN0IHRpbWluZyA9IHsg
ZHVyYXRpb246IDEwMDAsCisgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICdmb3J3YXJkcycs
CisgICAgICAgICAgICAgICAgICAgICAgIGVhc2luZzogcGFyYW1zLmVhc2luZyB9OworCisgICAg
ICBjb25zdCBsaW5lYXJUYXJnZXQgPSBjcmVhdGVEaXYodCk7CisgICAgICBjb25zdCBsaW5lYXJB
bmltID0gbGluZWFyVGFyZ2V0LmFuaW1hdGUoWyB7IHdpZHRoOiAnMHB4JyB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB3aWR0aDogJzEwMHB4JyB9
IF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltaW5n
KTsKKworICAgICAgY29uc3QgZXF1aXZhbGVudFRhcmdldCA9IGNyZWF0ZURpdih0KTsKKyAgICAg
IGNvbnN0IGVxdWl2YWxlbnRBbmltID0KKyAgICAgICAgZXF1aXZhbGVudFRhcmdldC5hbmltYXRl
KFsgeyB3aWR0aDogJzBweCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZWFzaW5nOiBsaW5lYXJFcXVpdmFsZW50RWFzaW5nIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgd2lkdGg6ICcxMDBweCcgfSBdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGltaW5nKTsKKworICAgICAgWyAwLCAyNTAsIDUwMCwgNzUwLCAxMDAwIF0u
Zm9yRWFjaChzYW1wbGVUaW1lID0+IHsKKyAgICAgICAgbGluZWFyQW5pbS5jdXJyZW50VGltZSA9
IHNhbXBsZVRpbWU7CisgICAgICAgIGVxdWl2YWxlbnRBbmltLmN1cnJlbnRUaW1lID0gc2FtcGxl
VGltZTsKKworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUobGluZWFyVGFy
Z2V0KS53aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICBnZXRDb21wdXRlZFN0eWxlKGVxdWl2
YWxlbnRUYXJnZXQpLndpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIGBUaGUgJ3dpZHRoJyBv
ZiB0aGUgYW5pbWF0ZWQgZWxlbWVudHMgc2hvdWxkIGJlIGVxdWFsIGAgKworICAgICAgICAgICAg
ICAgICAgICAgIGBhdCAke3NhbXBsZVRpbWV9bXNgKTsKKyAgICAgIH0pOworICAgIH0pOworICB9
LCAnTGluZWFyLWVxdWl2YWxlbnQgY3ViaWMtYmV6aWVyIGtleWZyYW1lIGVhc2luZyBhcHBsaWVk
IHRvIGFuIGVmZmVjdCAnICsKKyAgICAgYHdpdGggYSAke3BhcmFtcy5kZXNjfSBkb2VzIG5vdCBh
bHRlciB0aGUgcmVzdWx0YCk7Cit9KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5
ZnJhbWUtZWZmZWN0cy9lZmZlY3QtdmFsdWUtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9hbmltYXRpb24tbW9kZWwva2V5ZnJhbWUt
ZWZmZWN0cy9lZmZlY3QtdmFsdWUtdmlzaWJpbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODRhZTdmNmYzYmUzMTBlNjZiNjk4M2Q0MTIyZjg2OGMyMDNlZDgwZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9r
ZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKKworRkFJTCBWaXNpYmlsaXR5IGNsYW1waW5nIGJlaGF2aW9yIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgdmlzaWJpbGl0eTogWydo
aWRkZW4nLCd2aXNpYmxlJ10gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9u
OiAxMDAgKiBNU19QRVJfU0VDLCBmaWxsOiAnYm90aCcgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVmlzaWJpbGl0eSBjbGFtcGluZyBiZWhhdmlvciB3aXRoIGFuIGVhc2lu
ZyB0aGF0IGhhcyBhIG5lZ2F0aXZlIGNvbXBvbmVudCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rp
b24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW1vZGVsL2tleWZyYW1lLWVmZmVjdHMv
ZWZmZWN0LXZhbHVlLXZpc2liaWxpdHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS12
aXNpYmlsaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Y5NTFiMDEyMzNlMDI3MDI2MmYwMDU5YTE5Nzk4
ZTZiY2ZmYjdlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2FuaW1hdGlvbi1tb2RlbC9rZXlmcmFtZS1lZmZlY3RzL2VmZmVjdC12YWx1ZS12
aXNpYmlsaXR5Lmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PXV0Zi04PgorPHRpdGxlPkVmZmVjdCB2YWx1ZSBjb21wdXRhdGlvbiB0ZXN0cyBmb3Ig
J3Zpc2liaWxpdHknIHByb3BlcnR5PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyN0aGUtZWZmZWN0LXZhbHVlLW9mLWEt
a2V5ZnJhbWUtYW5pbWF0aW9uLWVmZmVjdCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQi
PjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyB2aXNp
YmlsaXR5OiBbJ2hpZGRlbicsJ3Zpc2libGUnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAg
IHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsIGZpbGw6ICdib3RoJyB9KTsKKworICBhbmlt
LmN1cnJlbnRUaW1lID0gMDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdiku
dmlzaWJpbGl0eSwgJ2hpZGRlbicsCisgICAgICAgICAgICAgICAgJ1Zpc2liaWxpdHkgd2hlbiBw
cm9ncmVzcyA9IDAnKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gMTAgKiBNU19QRVJfU0VDICsg
MTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudmlzaWJpbGl0eSwgJ3Zp
c2libGUnLAorICAgICAgICAgICAgICAgICdWaXNpYmlsaXR5IHdoZW4gcHJvZ3Jlc3MgPiAwIGR1
ZSB0byBsaW5lYXIgZWFzaW5nJyk7CisKKyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGRpdikudmlzaWJpbGl0eSwgJ3Zpc2libGUnLAorICAgICAgICAg
ICAgICAgICdWaXNpYmlsaXR5IHdoZW4gcHJvZ3Jlc3MgPSAxJyk7CisKK30sICdWaXNpYmlsaXR5
IGNsYW1waW5nIGJlaGF2aW9yJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0g
Y3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgdmlzaWJpbGl0eTogWydo
aWRkZW4nLCAndmlzaWJsZSddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlv
bjogMTAwICogTVNfUEVSX1NFQywgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAuMjUsIC0wLjYsIDAsIDAuNSknIH0pOworCisg
IGFuaW0uY3VycmVudFRpbWUgPSAwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS52aXNpYmlsaXR5LCAnaGlkZGVuJywKKyAgICAgICAgICAgICAgICAnVmlzaWJpbGl0eSB3
aGVuIHByb2dyZXNzID0gMCcpOworCisgIC8vIFRpbWluZyBmdW5jdGlvbiBpcyBiZWxvdyB6ZXJv
LiBTbyB3ZSBleHBlY3RlZCB2aXNpYmlsaXR5IGlzIGhpZGRlbi4KKyAgYW5pbS5jdXJyZW50VGlt
ZSA9IDEwICogTVNfUEVSX1NFQyArIDE7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShkaXYpLnZpc2liaWxpdHksICdoaWRkZW4nLAorICAgICAgICAgICAgICAgICdWaXNpYmlsaXR5
IHdoZW4gcHJvZ3Jlc3MgPCAwIGR1ZSB0byBjdWJpYy1iZXppZXIgZWFzaW5nJyk7CisKKyAgYW5p
bS5jdXJyZW50VGltZSA9IDYwICogTVNfUEVSX1NFQzsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRpdikudmlzaWJpbGl0eSwgJ3Zpc2libGUnLAorICAgICAgICAgICAgICAgICdW
aXNpYmlsaXR5IHdoZW4gcHJvZ3Jlc3MgPiAwIGR1ZSB0byBjdWJpYy1iZXppZXIgZWFzaW5nJyk7
CisKK30sICdWaXNpYmlsaXR5IGNsYW1waW5nIGJlaGF2aW9yIHdpdGggYW4gZWFzaW5nIHRoYXQg
aGFzIGEgbmVnYXRpdmUgY29tcG9uZW50Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRhYmxlL2FuaW1hdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY0N2U3ODQwNDA0M2YwNjljMmY3MDNlN2RkZjhhMzg3ZjJjZWI0ZjYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0FuaW1hdGFibGUvYW5pbWF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5NiBAQAorCitGQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4gQW5pbWF0aW9uIG9iamVjdCBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShudWxsKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1h
dGlvbiBvYmplY3QgaW4gdGhlIHJlbGV2YW50IHJlYWxtIG9mIHRoZSB0YXJnZXQgZWxlbWVudCB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnRWxlbWVudC5wcm90b3R5cGUu
YW5pbWF0ZS5jYWxsJykKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgY3JlYXRlcyBhbiBBbmltYXRp
b24gb2JqZWN0IHdpdGggYSBLZXlmcmFtZUVmZmVjdCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZS5jYWxsJykKK0ZBSUwgRWxl
bWVudC5hbmltYXRlKCkgY3JlYXRlcyBhbiBBbmltYXRpb24gb2JqZWN0IHdpdGggYSBLZXlmcmFt
ZUVmZmVjdCB0aGF0IGlzIGNyZWF0ZWQgaW4gdGhlIHJlbGV2YW50IHJlYWxtIG9mIHRoZSB0YXJn
ZXQgZWxlbWVudCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnRWxlbWVu
dC5wcm90b3R5cGUuYW5pbWF0ZS5jYWxsJykKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgY3JlYXRl
cyBhbiBBbmltYXRpb24gb2JqZWN0IHdpdGggYSBLZXlmcmFtZUVmZmVjdCB3aG9zZSBBbmltYXRp
b25FZmZlY3RUaW1pbmcgb2JqZWN0IGlzIGNyZWF0ZWQgaW4gdGhlIHJlbGV2YW50IHJlYWxtIG9m
IHRoZSB0YXJnZXQgZWxlbWVudCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZShudWxsKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVt
ZW50LmFuaW1hdGUoKSBhY2NlcHRzIGVtcHR5IGtleWZyYW1lIGxpc3RzIChpbnB1dDogW10pIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YlRlc3QsIDIw
MDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgZW1wdHkga2V5ZnJhbWUgbGlzdHMgKGlucHV0OiBudWxsKSBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJUZXN0LCAyMDAwKScsICdkaXYu
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGVt
cHR5IGtleWZyYW1lIGxpc3RzIChpbnB1dDogdW5kZWZpbmVkKSBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJUZXN0LCAyMDAwKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHBy
b3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9u
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3Qu
aW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQu
YW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0
d28gcHJvcGVydHkgKG9uZSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgbG9uZ2hhbmQgY29tcG9u
ZW50cykgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24g
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5p
bnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5h
bmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBkaWZmZXJlbnQg
bnVtYmVycyBvZiB2YWx1ZXMgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2
LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHByb3BlcnR5LWluZGV4ZWQga2V5
ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywg
J2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2Vw
dHMgYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNw
ZWNpZmljYXRpb24gdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAw
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBh
Y2NlcHRzIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEg
Q1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBp
biBhIHNob3J0aGFuZCBwcm9wZXJ0eSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IG9u
ZSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIw
MDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVy
dHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hl
cmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFsaWQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9w
ZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3
aGVyZSB0aGUgc2Vjb25kIHZhbHVlIGlzIGludmFsaWQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBw
cm9wZXJ0eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2UgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9w
ZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0
eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBzaG9ydGhhbmQg
cHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJv
cGVydHkgKGEgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGNvbXBvbmVudCBsb25naGFuZHMpIHR3
byBrZXlmcmFtZSBzZXF1ZW5jZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ug
d2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBhIGdpdmVuIGludGVyaW9yIG9mZnNldCBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAy
MDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBv
ZmZzZXRzIDAgYW5kIDEgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSBmb3VyIGtleWZy
YW1lIHNlcXVlbmNlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ug
d2l0aCBvbWl0dGVkIG9mZnNldCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgc2luZ2xlIGtleWZyYW1lIHNl
cXVlbmNlIHdpdGggbnVsbCBvZmZzZXQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHNpbmdsZSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBvZmZzZXQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9w
ZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIw
MDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwg
b2Zmc2V0cyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShz
dWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0
eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFsbCBvbWl0dGVkIG9mZnNldHMgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNj
ZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1
dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywg
J2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2Vw
dHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBjb21wb3NpdGUgdmFsdWVzLCBi
dXQgdGhlIHNhbWUgY29tcG9zaXRlIHZhbHVlIGZvciBhIGdpdmVuIG9mZnNldCBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAw
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBh
Y2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSB0aGF0IG5lZWRzIHRv
IHN0cmluZ2lmeSBpdHMgdmFsdWVzIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQg
cHJvcGVydHkgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUo
c3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
RWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIHNob3J0
aGFuZCBwcmVjZWRlcyBsb25naGFuZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5kIGRpdi5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdyZWF0ZXIg
c2hvcnRoYW5kIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBncmVh
dGVyIHNob3J0aGFuZCBwcmVjZWRlcyBsZXNzZXIgc2hvcnRoYW5kIGRpdi5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMg
YSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1p
c3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9w
ZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9t
IHRoZSBsYXN0IGtleWZyYW1lIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKHN1YnRlc3QuaW5wdXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aXRoIHJlcGVhdGVkIHZhbHVlcyBhdCBvZmZzZXQgMSB3aXRoIGRpZmZlcmVudCBlYXNpbmdzIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHN1YnRlc3QuaW5w
dXQsIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitQQVNTIEVsZW1lbnQuYW5p
bWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRlZCBw
b3NpdGl2ZSBvZmZzZXQgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBr
ZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRlZCBuZWdhdGl2ZSBvZmZzZXQgCitQQVNTIEVs
ZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBrZXlmcmFtZXMgbm90IGxvb3NlbHkgc29y
dGVkIGJ5IG9mZnNldCAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IHBy
b3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUgCitQ
QVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBhIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGNvbXBvc2l0ZSB2YWx1ZSAK
K1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAn
JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5n
OiAnNycgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVh
c2luZzogJ3Rlc3QnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52
YWxpZCBlYXNpbmc6ICdpbml0aWFsJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3Qg
YWNjZXB0IGludmFsaWQgZWFzaW5nOiAnaW5oZXJpdCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgp
IGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3Vuc2V0JyAKK1BBU1MgRWxlbWVudC5h
bmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAndW5yZWNvZ25pemVkJyAK
K1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAn
dmFyKC0teCknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxp
ZCBlYXNpbmc6ICdlYXNlLWluLW91dCwgZWFzZS1vdXQnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUo
KSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMS4xLCAwLCAx
LCAxKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVh
c2luZzogJ2N1YmljLWJlemllcigwLCAwLCAxLjEsIDEpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRl
KCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKC0wLjEsIDAs
IDEsIDEpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAsIDAsIC0wLjEsIDEpJyAKK1BBU1MgRWxlbWVudC5hbmlt
YXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAuMSwg
MCwgNCwgMC40KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZh
bGlkIGVhc2luZzogJ3N0ZXBzKC0xLCBzdGFydCknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBk
b2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdzdGVwcygwLjEsIHN0YXJ0KScgCitQQVNT
IEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3N0ZXBz
KDMsIG5vd2hlcmUpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGlu
dmFsaWQgZWFzaW5nOiAnc3RlcHMoLTMsIGVuZCknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBk
b2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmdW5jdGlvbiAoYSl7cmV0dXJuIGF9JyAK
K1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAn
ZnVuY3Rpb24gKHgpe3JldHVybiB4fScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90
IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2Z1bmN0aW9uKHgsIHkpe3JldHVybiAwLjN9JyAKK1BB
U1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJh
bWVzKDEpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAnZnJhbWVzJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0
IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKCknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2Vz
IG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoLCknIAorUEFTUyBFbGVtZW50LmFu
aW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoYSknIAorUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFt
ZXMoMi4wKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlk
IGVhc2luZzogJ2ZyYW1lcygyLjUpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3Qg
YWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKDIgMyknIAorRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBhY2NlcHRzIGEgZG91YmxlIGFzIGFuIG9wdGlvbnMgYXJndW1lbnQgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBhY2NlcHRzIGEgS2V5ZnJhbWVBbmltYXRpb25PcHRpb25zIGFyZ3VtZW50IGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAx
IF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiBJbmZpbml0eSwgZmls
bDogJ2ZvcndhcmRzJyB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFbGVt
ZW50LmFuaW1hdGUoKSBhY2NlcHRzIGFuIGFic2VudCBvcHRpb25zIGFyZ3VtZW50IGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAx
IF0gfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRWxlbWVudC5hbmltYXRl
KCkgY29ycmVjdGx5IHNldHMgdGhlIGlkIGF0dHJpYnV0ZSB3aGVuIG5vIGlkIGlzIHNwZWNpZmll
ZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNp
dHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGNvcnJlY3RseSBzZXRzIHRoZSBpZCBhdHRyaWJ1dGUgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9LCB7IGlkOiAndGVzdCcgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgRWxlbWVudC5hbmltYXRlKCkgY29ycmVjdGx5IHNldHMgdGhlIEFuaW1hdGlvbidzIHRpbWVs
aW5lIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3Bh
Y2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgRWxlbWVudC5hbmltYXRlKCkgY29ycmVjdGx5IHNldHMgdGhlIEFuaW1hdGlvbidzIHRpbWVs
aW5lIHdoZW4gdHJpZ2dlcmVkIG9uIGFuIGVsZW1lbnQgaW4gYSBkaWZmZXJlbnQgZG9jdW1lbnQg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5
OiBbIDAsIDEgXSB9LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBjYWxscyBwbGF5IG9uIHRoZSBBbmltYXRpb24gZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBDU1NQc2V1ZG9FbGVt
ZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBvYmplY3QgZG9jdW1lbnQuZ2V0QW5p
bWF0aW9ucyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkb2N1bWVudC5nZXRBbmltYXRpb25zKCkn
LCAnZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucycgaXMgdW5kZWZpbmVkKQorRkFJTCBDU1NQc2V1ZG9F
bGVtZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBvYmplY3QgdGFyZ2V0aW5nIHRv
IHRoZSBjb3JyZWN0IENTU1BzZXVkb0VsZW1lbnQgb2JqZWN0IGRvY3VtZW50LmdldEFuaW1hdGlv
bnMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpJywgJ2Rv
Y3VtZW50LmdldEFuaW1hdGlvbnMnIGlzIHVuZGVmaW5lZCkKKyAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9hbmlt
YXRlLW5vLWJyb3dzaW5nLWNvbnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUtbm8tYnJvd3Np
bmctY29udGV4dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ViZDRlNzYyZDhlNTUxNTc3ZGQz
N2UwMWVmZmMxZDljYjViMzQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9hbmltYXRlLW5vLWJyb3dz
aW5nLWNvbnRleHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIEVsZW1lbnQu
YW5pbWF0ZSgpIGNyZWF0ZXMgYW4gYW5pbWF0aW9uIHdpdGggdGhlIGNvcnJlY3QgdGltZWxpbmUg
d2hlbiBjYWxsZWQgb24gYW4gZWxlbWVudCBpbiBhIGRvY3VtZW50IHdpdGhvdXQgYSBicm93c2lu
ZyBjb250ZXh0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2
LmFuaW1hdGUobnVsbCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIFRoZSB0
aW1lbGluZSBhc3NvY2lhdGVkIHdpdGggYW4gYW5pbWF0aW9uIHRyaWdnZXIgb24gYW4gZWxlbWVu
dCBpbiBhIGRvY3VtZW50IHdpdGhvdXQgYSBicm93c2luZyBjb250ZXh0IGlzIGluYWN0aXZlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUobnVs
bCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIFJlcGxhY2luZyB0aGUgdGlt
ZWxpbmUgb2YgYW4gYW5pbWF0aW9uIHRhcmdldHRpbmcgYW4gZWxlbWVudCBpbiBhIGRvY3VtZW50
IHdpdGhvdXQgYSBicm93c2luZyBjb250ZXh0IGxlYXZlcyBpdCBpbiB0aGUgcGVuZGluZyBzdGF0
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KG51bGwpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBSZXBsYWNpbmcgdGhl
IHRpbWVsaW5lIG9mIGFuIGFuaW1hdGlvbiB0YXJnZXR0aW5nIGFuIGVsZW1lbnQgaW4gYSBkb2N1
bWVudCB3aXRob3V0IGEgYnJvd3NpbmcgY29udGV4dCBhbmQgdGhlbiBhZG9wdGluZyB0aGF0IGVs
ZW1lbnQgY2F1c2VzIGl0IHRvIHN0YXJ0IHVwZGF0aW5nIHN0eWxlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCAxMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKSIKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxl
L2FuaW1hdGUtbm8tYnJvd3NpbmctY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUtbm8tYnJvd3Npbmct
Y29udGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwMzcxOTU5ZDMzNTlmMmNlMWQ2YTcyMmI4MTIyZDI4
MjU5MWI2ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS1uby1icm93c2luZy1jb250ZXh0
Lmh0bWwKQEAgLTAsMCArMSwxMDggQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOD4KKzx0aXRsZT5BbmltYXRhYmxlLmFuaW1hdGUgdGVzdHMgaW4gY29tYmluYXRpb24gd2l0
aCBlbGVtZW50cyBpbiBkb2N1bWVudHMKKyAgICAgICB3aXRob3V0IGEgYnJvd3NpbmcgY29udGV4
dDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93
ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGFibGUtYW5pbWF0ZSI+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVz
dGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1
c2Ugc3RyaWN0JzsKKworLy8KKy8vIFRoZSBmb2xsb3dpbmcgdGVzdHMgcmVsYXRlIHRvIGFuaW1h
dGlvbnMgb24gZWxlbWVudHMgaW4gZG9jdW1lbnRzIHdpdGhvdXQKKy8vIGEgYnJvd3NpbmcgY29u
dGV4dC4gVGhpcyBpcyBOT1QgdGhlIHNhbWUgYXMgZG9jdW1lbnRzIHRoYXQgYXJlIG5vdCBib3Vu
ZCB0bworLy8gYSBkb2N1bWVudCB0cmVlLgorLy8KKworZnVuY3Rpb24gZ2V0WEhSRG9jKHQpIHsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHhociA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworICAgIHhoci5vcGVuKCdHRVQnLCAnLi4vLi4vcmVzb3VyY2VzL3ho
ci1kb2MucHknKTsKKyAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2RvY3VtZW50JzsKKyAgICB4aHIu
b25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyh4aHIucmVh
ZHlTdGF0ZSwgeGhyLkRPTkUsCisgICAgICAgICAgICAgICAgICAgICdSZXF1ZXN0IHNob3VsZCBj
b21wbGV0ZSBzdWNjZXNzZnVsbHknKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywg
MjAwLAorICAgICAgICAgICAgICAgICAgICAnUmVzcG9uc2Ugc2hvdWxkIGJlIE9LJyk7CisgICAg
ICByZXNvbHZlKHhoci5yZXNwb25zZVhNTCk7CisgICAgfSk7CisgICAgeGhyLnNlbmQoKTsKKyAg
fSk7Cit9CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIGdldFhIUkRvYyh0KS50aGVu
KHhocmRvYyA9PiB7CisgICAgY29uc3QgZGl2ID0geGhyZG9jLmdldEVsZW1lbnRCeUlkKCd0ZXN0
Jyk7CisgICAgY29uc3QgYW5pbSA9IGRpdi5hbmltYXRlKG51bGwpOworICAgIGFzc2VydF9jbGFz
c19zdHJpbmcoYW5pbS50aW1lbGluZSwgJ0RvY3VtZW50VGltZWxpbmUnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgJ0FuaW1hdGlvbiBzaG91bGQgaGF2ZSBhIHRpbWVsaW5lJyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhhbmltLnRpbWVsaW5lLCB4aHJkb2MudGltZWxpbmUsCisgICAgICAgICAgICAg
ICAgICAnQW5pbWF0aW9uIHRpbWVsaW5lIHNob3VsZCBiZSB0aGUgZGVmYXVsdCBkb2N1bWVudCB0
aW1lbGluZScKKyAgICAgICAgICAgICAgICAgICsgJyBvZiB0aGUgWEhSIGRvYycpOworICAgIGFz
c2VydF9ub3RfZXF1YWxzKGFuaW0udGltZWxpbmUsIGRvY3VtZW50LnRpbWVsaW5lLAorICAgICAg
ICAgICAgICAgICAgICAgICdBbmltYXRpb24gdGltZWxpbmUgc2hvdWxkIE5PVCBiZSB0aGUgc2Ft
ZSB0aW1lbGluZSBhcycKKyAgICAgICAgICAgICAgICAgICAgICArICcgdGhlIGRlZmF1bHQgZG9j
dW1lbnQgdGltZWxpbmUgZm9yIHRoZSBjdXJyZW50JworICAgICAgICAgICAgICAgICAgICAgICsg
JyBkb2N1bWVudCcpOworCisgIH0pOworfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4g
YW5pbWF0aW9uIHdpdGggdGhlIGNvcnJlY3QgdGltZWxpbmUnCisgICArICcgd2hlbiBjYWxsZWQg
b24gYW4gZWxlbWVudCBpbiBhIGRvY3VtZW50IHdpdGhvdXQgYSBicm93c2luZyBjb250ZXh0Jyk7
CisKKy8vCisvLyBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBjcm9zcy1jdXR0aW5nIHRlc3RzIHRo
YXQgYXJlIG5vdCBzcGVjaWZpYyB0byB0aGUKKy8vIEFuaW1hdGFibGUuYW5pbWF0ZSgpIGludGVy
ZmFjZS4gSW5zdGVhZCwgdGhleSBkcmF3IG9uIGFzc2VydGlvbnMgZnJvbQorLy8gdmFyaW91cyBw
YXJ0cyBvZiB0aGUgc3BlYy4gVGhlc2UgYXNzZXJ0aW9ucyBhcmUgdGVzdGVkIGluIG90aGVyIHRl
c3RzCisvLyBidXQgYXJlIHJlcGVhdGVkIGhlcmUgdG8gY29uZmlybSB0aGF0IHVzZXIgYWdlbnRz
IGFyZSBub3QgZG9pbmcgYW55dGhpbmcKKy8vIGRpZmZlcmVudCBpbiB0aGUgcGFydGljdWxhciBj
YXNlIG9mIGRvY3VtZW50IHdpdGhvdXQgYSBicm93c2luZyBjb250ZXh0LgorLy8KKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gZ2V0WEhSRG9jKHQpLnRoZW4oeGhyZG9jID0+IHsKKyAg
ICBjb25zdCBkaXYgPSB4aHJkb2MuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKKyAgICBjb25zdCBh
bmltID0gZGl2LmFuaW1hdGUobnVsbCk7CisgICAgLy8gU2luY2UgYSBkb2N1bWVudCBmcm9tIFhI
UiB3aWxsIG5vdCBiZSBhY3RpdmUgYnkgaXRzZWxmLCBpdHMgZG9jdW1lbnQKKyAgICAvLyB0aW1l
bGluZSB3aWxsIGFsc28gYmUgaW5hY3RpdmUuCisgICAgYXNzZXJ0X2VxdWFscyhhbmltLnRpbWVs
aW5lLmN1cnJlbnRUaW1lLCBudWxsLAorICAgICAgICAgICAgICAgICAgJ0RvY3VtZW50IHRpbWVs
aW5lIHRpbWUgc2hvdWxkIGJlIG51bGwnKTsKKyAgfSk7Cit9LCAnVGhlIHRpbWVsaW5lIGFzc29j
aWF0ZWQgd2l0aCBhbiBhbmltYXRpb24gdHJpZ2dlciBvbiBhbiBlbGVtZW50IGluJworICAgKyAn
IGEgZG9jdW1lbnQgd2l0aG91dCBhIGJyb3dzaW5nIGNvbnRleHQgaXMgaW5hY3RpdmUnKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgYW5pbTsKKyAgcmV0dXJuIGdldFhIUkRvYyh0KS50
aGVuKHhocmRvYyA9PiB7CisgICAgY29uc3QgZGl2ID0geGhyZG9jLmdldEVsZW1lbnRCeUlkKCd0
ZXN0Jyk7CisgICAgYW5pbSA9IGRpdi5hbmltYXRlKG51bGwpOworICAgIGFuaW0udGltZWxpbmUg
PSBkb2N1bWVudC50aW1lbGluZTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0ucGxheVN0YXRlLCAn
cGVuZGluZycsCisgICAgICAgICAgICAgICAgICAnVGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgaW5p
dGlhbGx5IHBlbmRpbmcnKTsKKyAgICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygyKTsK
KyAgfSkudGhlbigoKSA9PiB7CisgICAgLy8gQmVjYXVzZSB0aGUgZWxlbWVudCBpcyBpbiBhIGRv
Y3VtZW50IHdpdGhvdXQgYSBicm93c2luZyBjb250ZXh0LCBpdCB3aWxsCisgICAgLy8gbm90IGJl
IHJlbmRlcmVkIGFuZCBoZW5jZSB0aGUgdXNlciBhZ2VudCB3aWxsIG5ldmVyIGRlZW0gaXQgcmVh
ZHkgdG8KKyAgICAvLyBhbmltYXRlLgorICAgIGFzc2VydF9lcXVhbHMoYW5pbS5wbGF5U3RhdGUs
ICdwZW5kaW5nJywKKyAgICAgICAgICAgICAgICAgICdUaGUgYW5pbWF0aW9uIHNob3VsZCBzdGls
bCBiZSBwZW5kaW5nIGFmdGVyIHJlcGxhY2luZycKKyAgICAgICAgICAgICAgICAgICsgJyB0aGUg
ZG9jdW1lbnQgdGltZWxpbmUnKTsKKyAgfSk7Cit9LCAnUmVwbGFjaW5nIHRoZSB0aW1lbGluZSBv
ZiBhbiBhbmltYXRpb24gdGFyZ2V0dGluZyBhbiBlbGVtZW50IGluIGEnCisgICArICcgZG9jdW1l
bnQgd2l0aG91dCBhIGJyb3dzaW5nIGNvbnRleHQgbGVhdmVzIGl0IGluIHRoZSBwZW5kaW5nIHN0
YXRlJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgbGV0IGFuaW07CisgIHJldHVybiBnZXRY
SFJEb2ModCkudGhlbih4aHJkb2MgPT4geworICAgIGNvbnN0IGRpdiA9IHhocmRvYy5nZXRFbGVt
ZW50QnlJZCgndGVzdCcpOworICAgIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwg
MSBdIH0sIDEwMDApOworICAgIGFuaW0udGltZWxpbmUgPSBkb2N1bWVudC50aW1lbGluZTsKKyAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAnLAorICAgICAgICAgICAgICAgICAgJ1N0eWxl
IHNob3VsZCBiZSB1cGRhdGVkJyk7CisgIH0pOworfSwgJ1JlcGxhY2luZyB0aGUgdGltZWxpbmUg
b2YgYW4gYW5pbWF0aW9uIHRhcmdldHRpbmcgYW4gZWxlbWVudCBpbiBhJworICAgKyAnIGRvY3Vt
ZW50IHdpdGhvdXQgYSBicm93c2luZyBjb250ZXh0IGFuZCB0aGVuIGFkb3B0aW5nIHRoYXQgZWxl
bWVudCcKKyAgICsgJyBjYXVzZXMgaXQgdG8gc3RhcnQgdXBkYXRpbmcgc3R5bGUnKTsKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40MjU3MDMzMzc1MzRmOTkyYWU1ZTczY2NjMjc5OTU5ODkxMzNjMTlmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUuaHRtbApAQCAtMCwwICsxLDE5OSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFuaW1hdGFibGUuYW5pbWF0
ZSB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGFibGUtYW5pbWF0ZSI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2Vhc2luZy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2tleWZyYW1lLXV0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rp
dj4KKzxpZnJhbWUgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBpZD0iaWZyYW1lIj48L2lmcmFtZT4K
KzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKKy8vIFRlc3RzIG9uIEVsZW1lbnQKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2
LmFuaW1hdGUobnVsbCk7CisgIGFzc2VydF9jbGFzc19zdHJpbmcoYW5pbSwgJ0FuaW1hdGlvbics
ICdSZXR1cm5lZCBvYmplY3QgaXMgYW4gQW5pbWF0aW9uJyk7Cit9LCAnRWxlbWVudC5hbmltYXRl
KCkgY3JlYXRlcyBhbiBBbmltYXRpb24gb2JqZWN0Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgaWZyYW1lID0gd2luZG93LmZyYW1lc1swXTsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0
LCBpZnJhbWUuZG9jdW1lbnQpOworICB2YXIgYW5pbSA9IEVsZW1lbnQucHJvdG90eXBlLmFuaW1h
dGUuY2FsbChkaXYsIG51bGwpOworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihhbmltKSwgaWZyYW1lLkFuaW1hdGlvbi5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAgJ1Ro
ZSBwcm90b3R5cGUgb2YgdGhlIGNyZWF0ZWQgQW5pbWF0aW9uIGlzIHRoYXQgZGVmaW5lZCBvbicK
KyAgICAgICAgICAgICAgICArICcgdGhlIHJlbGV2YW50IGdsb2JhbCBmb3IgdGhlIHRhcmdldCBl
bGVtZW50Jyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihhbmlt
KSwgQW5pbWF0aW9uLnByb3RvdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSBwcm90b3R5
cGUgb2YgdGhlIGNyZWF0ZWQgQW5pbWF0aW9uIGlzIE5PVCB0aGF0IG9mJworICAgICAgICAgICAg
ICAgICAgICArICcgdGhlIGN1cnJlbnQgZ2xvYmFsJyk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkg
Y3JlYXRlcyBhbiBBbmltYXRpb24gb2JqZWN0IGluIHRoZSByZWxldmFudCByZWFsbSBvZicKKyAg
ICsgJyB0aGUgdGFyZ2V0IGVsZW1lbnQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBk
aXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0
ZS5jYWxsKGRpdiwgbnVsbCk7CisgIGFzc2VydF9jbGFzc19zdHJpbmcoYW5pbS5lZmZlY3QsICdL
ZXlmcmFtZUVmZmVjdCcsCisgICAgICAgICAgICAgICAgICAgICAgJ1JldHVybmVkIEFuaW1hdGlv
biBoYXMgYSBLZXlmcmFtZUVmZmVjdCcpOworfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMg
YW4gQW5pbWF0aW9uIG9iamVjdCB3aXRoIGEgS2V5ZnJhbWVFZmZlY3QnKTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBpZnJhbWUgPSB3aW5kb3cuZnJhbWVzWzBdOworICB2YXIgZGl2ID0g
Y3JlYXRlRGl2KHQsIGlmcmFtZS5kb2N1bWVudCk7CisgIHZhciBhbmltID0gRWxlbWVudC5wcm90
b3R5cGUuYW5pbWF0ZS5jYWxsKGRpdiwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKGFuaW0uZWZmZWN0KSwKKyAgICAgICAgICAgICAgICBpZnJhbWUuS2V5ZnJh
bWVFZmZlY3QucHJvdG90eXBlLAorICAgICAgICAgICAgICAgICdUaGUgcHJvdG90eXBlIG9mIHRo
ZSBjcmVhdGVkIEtleWZyYW1lRWZmZWN0IGlzIHRoYXQgZGVmaW5lZCBvbicKKyAgICAgICAgICAg
ICAgICArICcgdGhlIHJlbGV2YW50IGdsb2JhbCBmb3IgdGhlIHRhcmdldCBlbGVtZW50Jyk7Cisg
IGFzc2VydF9ub3RfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihhbmltLmVmZmVjdCksCisg
ICAgICAgICAgICAgICAgICAgIEtleWZyYW1lRWZmZWN0LnByb3RvdHlwZSwKKyAgICAgICAgICAg
ICAgICAgICAgJ1RoZSBwcm90b3R5cGUgb2YgdGhlIGNyZWF0ZWQgS2V5ZnJhbWVFZmZlY3QgaXMg
Tk9UIHRoYXQgb2YnCisgICAgICAgICAgICAgICAgICAgICsgJyB0aGUgY3VycmVudCBnbG9iYWwn
KTsKK30sICdFbGVtZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBvYmplY3Qgd2l0
aCBhIEtleWZyYW1lRWZmZWN0JworICAgKyAnIHRoYXQgaXMgY3JlYXRlZCBpbiB0aGUgcmVsZXZh
bnQgcmVhbG0gb2YgdGhlIHRhcmdldCBlbGVtZW50Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgaWZyYW1lID0gd2luZG93LmZyYW1lc1swXTsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0
LCBpZnJhbWUuZG9jdW1lbnQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKG51bGwpOworICBh
c3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihhbmltLmVmZmVjdC50aW1pbmcpLAor
ICAgICAgICAgICAgICAgIGlmcmFtZS5BbmltYXRpb25FZmZlY3RUaW1pbmcucHJvdG90eXBlLAor
ICAgICAgICAgICAgICAgICdUaGUgcHJvdG90eXBlIG9mIHRoZSBjcmVhdGVkIEFuaW1hdGlvbkVm
ZmVjdFRpbWluZyBpcyB0aGF0JworICAgICAgICAgICAgICAgICsgJyBkZWZpbmVkIG9uIHRoZSBy
ZWxldmFudCBnbG9iYWwgZm9yIHRoZSB0YXJnZXQgZWxlbWVudCcpOworICBhc3NlcnRfbm90X2Vx
dWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoYW5pbS5lZmZlY3QudGltaW5nKSwKKyAgICAgICAg
ICAgICAgICAgICAgQW5pbWF0aW9uRWZmZWN0VGltaW5nLnByb3RvdHlwZSwKKyAgICAgICAgICAg
ICAgICAgICAgJ1RoZSBwcm90b3R5cGUgb2YgdGhlIGNyZWF0ZWQgQW5pbWF0aW9uRWZmZWN0VGlt
aW5nIGlzIE5PVCcKKyAgICAgICAgICAgICAgICAgICAgKyAnIHRoYXQgb2YgdGhlIGN1cnJlbnQg
Z2xvYmFsJyk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkgY3JlYXRlcyBhbiBBbmltYXRpb24gb2Jq
ZWN0IHdpdGggYSBLZXlmcmFtZUVmZmVjdCcKKyAgICsgJyB3aG9zZSBBbmltYXRpb25FZmZlY3RU
aW1pbmcgb2JqZWN0IGlzIGNyZWF0ZWQgaW4gdGhlIHJlbGV2YW50IHJlYWxtJworICAgKyAnIG9m
IHRoZSB0YXJnZXQgZWxlbWVudCcpOworCitnRW1wdHlLZXlmcmFtZUxpc3RUZXN0cy5mb3JFYWNo
KGZ1bmN0aW9uKHN1YlRlc3QpIHsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHN1YlRlc3QsIDIwMDAp
OworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFuaW0sIG51bGwpOworICB9LCAnRWxlbWVudC5hbmlt
YXRlKCkgYWNjZXB0cyBlbXB0eSBrZXlmcmFtZSBsaXN0cyAnICsKKyAgICAgYChpbnB1dDogJHtK
U09OLnN0cmluZ2lmeShzdWJUZXN0KX0pYCk7Cit9KTsKKworZ1Byb3BlcnR5SW5kZXhlZEtleWZy
YW1lc1Rlc3RzLmZvckVhY2goZnVuY3Rpb24oc3VidGVzdCkgeworICB0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICAgIHZhciBhbmltID0gZGl2LmFuaW1h
dGUoc3VidGVzdC5pbnB1dCwgMjAwMCk7CisgICAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGFu
aW0uZWZmZWN0LmdldEtleWZyYW1lcygpLCBzdWJ0ZXN0Lm91dHB1dCk7CisgIH0sICdFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzICcgKyBzdWJ0ZXN0LmRlc2MpOworfSk7CisKK2dLZXlmcmFtZVNl
cXVlbmNlVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdWJ0ZXN0KSB7CisgIHRlc3QoZnVuY3Rpb24o
dCkgeworICAgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgICAgdmFyIGFuaW0gPSBkaXYuYW5p
bWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKTsKKyAgICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwo
YW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIHN1YnRlc3Qub3V0cHV0KTsKKyAgfSwgJ0VsZW1l
bnQuYW5pbWF0ZSgpIGFjY2VwdHMgJyArIHN1YnRlc3QuZGVzYyk7Cit9KTsKKworZ0ludmFsaWRL
ZXlmcmFtZXNUZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKHN1YnRlc3QpIHsKKyAgdGVzdChmdW5jdGlv
bih0KSB7CisgICAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgICBhc3NlcnRfdGhyb3dzKHN1
YnRlc3QuZXhwZWN0ZWQsIGZ1bmN0aW9uKCkgeworICAgICAgZGl2LmFuaW1hdGUoc3VidGVzdC5p
bnB1dCwgMjAwMCk7CisgICAgfSk7CisgIH0sICdFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBh
Y2NlcHQgJyArIHN1YnRlc3QuZGVzYyk7Cit9KTsKKworZ0ludmFsaWRFYXNpbmdzLmZvckVhY2go
aW52YWxpZEVhc2luZyA9PiB7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiB7Cisg
ICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKKyAgICB9
KTsKKyAgfSwgYEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2lu
ZzogJyR7aW52YWxpZEVhc2luZ30nYCk7Cit9KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5
OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcu
ZHVyYXRpb24sIDIwMDApOworICAvLyBBbHNvIGNoZWNrIHRoYXQgdW5zcGVjaWZpZWQgcGFyYW1l
dGVycyByZWNlaXZlIHRoZWlyIGRlZmF1bHQgdmFsdWVzCisgIGFzc2VydF9lcXVhbHMoYW5pbS5l
ZmZlY3QudGltaW5nLmZpbGwsICdhdXRvJyk7Cit9LCAnRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0
cyBhIGRvdWJsZSBhcyBhbiBvcHRpb25zIGFyZ3VtZW50Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9u
OiBJbmZpbml0eSwgZmlsbDogJ2ZvcndhcmRzJyB9KTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVm
ZmVjdC50aW1pbmcuZHVyYXRpb24sIEluZmluaXR5KTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVm
ZmVjdC50aW1pbmcuZmlsbCwgJ2ZvcndhcmRzJyk7CisgIC8vIEFsc28gY2hlY2sgdGhhdCB1bnNw
ZWNpZmllZCBwYXJhbWV0ZXJzIHJlY2VpdmUgdGhlaXIgZGVmYXVsdCB2YWx1ZXMKKyAgYXNzZXJ0
X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZGlyZWN0aW9uLCAnbm9ybWFsJyk7Cit9LCAnRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIEtleWZyYW1lQW5pbWF0aW9uT3B0aW9ucyBhcmd1bWVu
dCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
dmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0pOworICBhc3NlcnRf
ZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiwgJ2F1dG8nKTsKK30sICdFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGFuIGFic2VudCBvcHRpb25zIGFyZ3VtZW50Jyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRp
di5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFzc2VydF9lcXVhbHMo
YW5pbS5pZCwgJycpOworfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNvcnJlY3RseSBzZXRzIHRoZSBp
ZCBhdHRyaWJ1dGUgd2hlbiBubyBpZCBpcyBzcGVjaWZpZWQnKTsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUo
eyBvcGFjaXR5OiBbIDAsIDEgXSB9LCB7IGlkOiAndGVzdCcgfSk7CisgIGFzc2VydF9lcXVhbHMo
YW5pbS5pZCwgJ3Rlc3QnKTsKK30sICdFbGVtZW50LmFuaW1hdGUoKSBjb3JyZWN0bHkgc2V0cyB0
aGUgaWQgYXR0cmlidXRlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3Jl
YXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0g
fSwgMjAwMCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS50aW1lbGluZSwgZG9jdW1lbnQudGltZWxp
bmUpOworfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNvcnJlY3RseSBzZXRzIHRoZSBBbmltYXRpb25c
J3MgdGltZWxpbmUnKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBpZnJhbWUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgaWZyYW1lLndpZHRoID0gMTA7
CisgIGlmcmFtZS5oZWlnaHQgPSAxMDsKKworICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgIHZhciBkaXYgPSBjcmVhdGVEaXYodCwg
aWZyYW1lLmNvbnRlbnREb2N1bWVudCk7CisgICAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9w
YWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICAgIGFzc2VydF9lcXVhbHMoYW5pbS50aW1lbGlu
ZSwgaWZyYW1lLmNvbnRlbnREb2N1bWVudC50aW1lbGluZSk7CisgICAgaWZyYW1lLnJlbW92ZSgp
OworICAgIHQuZG9uZSgpOworICB9KSk7CisKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChp
ZnJhbWUpOworfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNvcnJlY3RseSBzZXRzIHRoZSBBbmltYXRp
b25cJ3MgdGltZWxpbmUgd2hlbiAnICsKKyAgICd0cmlnZ2VyZWQgb24gYW4gZWxlbWVudCBpbiBh
IGRpZmZlcmVudCBkb2N1bWVudCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwg
MSBdIH0sIDIwMDApOworICBhc3NlcnRfZXF1YWxzKGFuaW0ucGxheVN0YXRlLCAncGVuZGluZycp
OworfSwgJ0VsZW1lbnQuYW5pbWF0ZSgpIGNhbGxzIHBsYXkgb24gdGhlIEFuaW1hdGlvbicpOwor
CisvLyBUZXN0cyBvbiBDU1NQc2V1ZG9FbGVtZW50CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgcHNldWRvVGFyZ2V0ID0gY3JlYXRlUHNldWRvKHQsICdiZWZvcmUnKTsKKyAgdmFyIGFuaW0g
PSBwc2V1ZG9UYXJnZXQuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2NsYXNzX3N0cmluZyhhbmlt
LCAnQW5pbWF0aW9uJywgJ1RoZSByZXR1cm5lZCBvYmplY3QgaXMgYW4gQW5pbWF0aW9uJyk7Cit9
LCAnQ1NTUHNldWRvRWxlbWVudC5hbmltYXRlKCkgY3JlYXRlcyBhbiBBbmltYXRpb24gb2JqZWN0
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgcHNldWRvVGFyZ2V0ID0gY3JlYXRlUHNl
dWRvKHQsICdiZWZvcmUnKTsKKyAgdmFyIGFuaW0gPSBwc2V1ZG9UYXJnZXQuYW5pbWF0ZShudWxs
KTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50YXJnZXQsIHBzZXVkb1RhcmdldCwKKyAg
ICAgICAgICAgICAgICAnVGhlIHJldHVybmVkIEFuaW1hdGlvbiB0YXJnZXRzIHRvIHRoZSBjb3Jy
ZWN0IG9iamVjdCcpOworfSwgJ0NTU1BzZXVkb0VsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4g
QW5pbWF0aW9uIG9iamVjdCB0YXJnZXRpbmcgJyArCisgICAndG8gdGhlIGNvcnJlY3QgQ1NTUHNl
dWRvRWxlbWVudCBvYmplY3QnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2dl
dEFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2dldEFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI5MWMzOTZlYzMzNWM5N2ZkM2I5Njc5NzJlZTQ4ZmM5YjNlN2NjMjYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0FuaW1hdGFibGUvZ2V0QW5pbWF0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBA
QAorCitGQUlMIFRlc3QgZ2V0QW5pbWF0aW9ucyBvbiBlbGVtZW50IHdpdGggbm8gYW5pbWF0aW9u
cyBkaXYuZ2V0QW5pbWF0aW9ucyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuZ2V0QW5pbWF0
aW9ucygpJywgJ2Rpdi5nZXRBbmltYXRpb25zJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZ2V0
QW5pbWF0aW9ucyBvbiBlbGVtZW50IHdpdGggdHdvIGFuaW1hdGlvbnMgZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQykn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBnZXRBbmltYXRpb25zIG9u
IHNlcGFyYXRlIGVsZW1lbnRzIHdpdGggc2VwYXJhdGUgYW5pbWF0aW9ucyBkaXZBLmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2QS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9T
RUMpJywgJ2RpdkEuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGdldEFuaW1hdGlv
bnMgb24gcGFyZW50IGFuZCBjaGlsZCBlbGVtZW50cyB3aXRoIHNlcGFyYXRlIGFuaW1hdGlvbnMg
ZGl2UGFyZW50LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2UGFyZW50LmFuaW1h
dGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2UGFyZW50LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgVGVzdCBnZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCBmaW5pc2hlZCBm
aWxsIG5vbmUgYW5pbWF0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIFRlc3QgZ2V0QW5pbWF0aW9ucyBvbiBlbGVtZW50IHdpdGggZmluaXNoZWQg
ZmlsbCBmb3J3YXJkcyBhbmltYXRpb24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUobnVsbCwgeworICAgIGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAor
ICAgIGZpbGw6ICdmb3J3YXJkcycsCisgIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFRlc3QgZ2V0QW5pbWF0aW9ucyBvbiBlbGVtZW50IHdpdGggZGVsYXllZCBhbmltYXRp
b24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUobnVsbCwg
eworICAgIGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgIGRlbGF5OiAxMDAgKiBNU19Q
RVJfU0VDLAorICB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFi
bGUvZ2V0QW5pbWF0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2dldEFuaW1hdGlvbnMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
OTU1MWE4ZWYyYjNjZDRjMDBhNTE0MjMxZDIyZTg0Mjc1MDdlNzhkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRh
YmxlL2dldEFuaW1hdGlvbnMuaHRtbApAQCAtMCwwICsxLDcwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QW5pbWF0YWJsZS5nZXRBbmltYXRpb25zIHRl
c3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3dlYi1hbmltYXRpb25zLyNkb20tYW5pbWF0YWJsZS1nZXRhbmltYXRpb25zIj4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKyd1c2Ugc3Ry
aWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IGFzc2VydF9hcnJheV9lcXVhbHMoZGl2LmdldEFuaW1hdGlvbnMoKSwgW10pOworfSwgJ1Rlc3Qg
Z2V0QW5pbWF0aW9ucyBvbiBlbGVtZW50IHdpdGggbm8gYW5pbWF0aW9ucycpOworCit0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbkEg
PSBkaXYuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIGFuaW1hdGlvbkIg
PSBkaXYuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLCBbYW5pbWF0aW9uQSwgYW5pbWF0aW9uQl0pOworfSwg
J1Rlc3QgZ2V0QW5pbWF0aW9ucyBvbiBlbGVtZW50IHdpdGggdHdvIGFuaW1hdGlvbnMnKTsKKwor
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXZBID0gY3JlYXRlRGl2KHQpOworICB2YXIgZGl2
QiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbkEgPSBkaXZBLmFuaW1hdGUobnVsbCwg
MTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBhbmltYXRpb25CID0gZGl2Qi5hbmltYXRlKG51bGws
IDEwMCAqIE1TX1BFUl9TRUMpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRpdkEuZ2V0QW5pbWF0
aW9ucygpLCBbYW5pbWF0aW9uQV0sICdkaXZBJyk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoZGl2
Qi5nZXRBbmltYXRpb25zKCksIFthbmltYXRpb25CXSwgJ2RpdkInKTsKK30sICdUZXN0IGdldEFu
aW1hdGlvbnMgb24gc2VwYXJhdGUgZWxlbWVudHMgd2l0aCBzZXBhcmF0ZSBhbmltYXRpb25zJyk7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2UGFyZW50ID0gY3JlYXRlRGl2KHQpOwor
ICB2YXIgZGl2Q2hpbGQgPSBjcmVhdGVEaXYodCk7CisgIGRpdlBhcmVudC5hcHBlbmRDaGlsZChk
aXZDaGlsZCk7CisgIHZhciBhbmltYXRpb25QYXJlbnQgPSBkaXZQYXJlbnQuYW5pbWF0ZShudWxs
LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIGFuaW1hdGlvbkNoaWxkID0gZGl2Q2hpbGQuYW5p
bWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhkaXZQ
YXJlbnQuZ2V0QW5pbWF0aW9ucygpLCBbYW5pbWF0aW9uUGFyZW50XSwgJ2RpdlBhcmVudCcpOwor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRpdkNoaWxkLmdldEFuaW1hdGlvbnMoKSwgW2FuaW1hdGlv
bkNoaWxkXSwgJ2RpdkNoaWxkJyk7Cit9LCAnVGVzdCBnZXRBbmltYXRpb25zIG9uIHBhcmVudCBh
bmQgY2hpbGQgZWxlbWVudHMgd2l0aCBzZXBhcmF0ZSBhbmltYXRpb25zJyk7CisKK3Rlc3QoZnVu
Y3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0g
ZGl2LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5maW5pc2go
KTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLCBbXSk7Cit9LCAn
VGVzdCBnZXRBbmltYXRpb25zIG9uIGVsZW1lbnQgd2l0aCBmaW5pc2hlZCBmaWxsIG5vbmUgYW5p
bWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUobnVsbCwgeworICAgIGR1cmF0aW9uOiAx
MDAgKiBNU19QRVJfU0VDLAorICAgIGZpbGw6ICdmb3J3YXJkcycsCisgIH0pOworICBhbmltYXRp
b24uZmluaXNoKCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoZGl2LmdldEFuaW1hdGlvbnMoKSwg
W2FuaW1hdGlvbl0pOworfSwgJ1Rlc3QgZ2V0QW5pbWF0aW9ucyBvbiBlbGVtZW50IHdpdGggZmlu
aXNoZWQgZmlsbCBmb3J3YXJkcyBhbmltYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShu
dWxsLCB7CisgICAgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgZGVsYXk6IDEwMCAq
IE1TX1BFUl9TRUMsCisgIH0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRpdi5nZXRBbmltYXRp
b25zKCksIFthbmltYXRpb25dKTsKK30sICdUZXN0IGdldEFuaW1hdGlvbnMgb24gZWxlbWVudCB3
aXRoIGRlbGF5ZWQgYW5pbWF0aW9uJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRp
b24vY2FuY2VsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2NhbmNlbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjQ4Njk0NDU4MTZlYTc0NTljYzBlYzRkZjEwNjExODcwNTg5ZTY4NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0
aW9uL2NhbmNlbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKK0ZBSUwgQW5pbWF0ZWQg
c3R5bGUgaXMgY2xlYXJlZCBhZnRlciBjYWxsaW5nIEFuaW1hdGlvbi5jYW5jZWwoKSBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7dHJhbnNmb3JtOiBbJ3Ry
YW5zbGF0ZSgxMDBweCknLCAndHJhbnNsYXRlKDEwMHB4KSddfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIEFmdGVyIGNhbmNlbGxpbmcgYW4gYW5pbWF0aW9uLCBpdCBjYW4gc3RpbGwgYmUg
c2Vla2VkIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHtt
YXJnaW5MZWZ0OiBbJzEwMHB4JywgJzIwMHB4J119LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgQWZ0ZXIgY2FuY2VsbGluZyBhbiBhbmltYXRpb24sIGl0IGNhbiBzdGlsbCBiZSByZS11c2Vk
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHttYXJnaW5M
ZWZ0OlsnMTAwcHgnLCAnMjAwcHgnXX0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
MDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbi9jYW5jZWwuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvQW5pbWF0aW9uL2NhbmNlbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4ZjE3NGFiZDkxYmMy
MjAzYWU2MTgyMWIwZDc0ZGI4MTVjNmMyNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9jYW5jZWwuaHRt
bApAQCAtMCwwICsxLDYwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+
Cis8dGl0bGU+QW5pbWF0aW9uLmNhbmNlbCgpPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20tYW5pbWF0aW9uLWNh
bmNlbCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitwcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0
aW9uID0gZGl2LmFuaW1hdGUoe3RyYW5zZm9ybTogWyd0cmFuc2xhdGUoMTAwcHgpJywgJ3RyYW5z
bGF0ZSgxMDBweCknXX0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAgKiBNU19Q
RVJfU0VDKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAg
IGFzc2VydF9ub3RfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sICdub25l
JywKKyAgICAgICAgICAgICAgICAgICAgICAndHJhbnNmb3JtIHN0eWxlIGlzIGFuaW1hdGVkIGJl
Zm9yZSBjYW5jZWxsaW5nJyk7CisgICAgYW5pbWF0aW9uLmNhbmNlbCgpOworICAgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwgJ25vbmUnLAorICAgICAgICAg
ICAgICAgICAgJ3RyYW5zZm9ybSBzdHlsZSBpcyBubyBsb25nZXIgYW5pbWF0ZWQgYWZ0ZXIgY2Fu
Y2VsbGluZycpOworICB9KTsKK30sICdBbmltYXRlZCBzdHlsZSBpcyBjbGVhcmVkIGFmdGVyIGNh
bGxpbmcgQW5pbWF0aW9uLmNhbmNlbCgpJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
ZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe21hcmdp
bkxlZnQ6IFsnMTAwcHgnLCAnMjAwcHgnXX0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLmVmZmVjdC50aW1pbmcuZWFzaW5nID0g
J2xpbmVhcic7CisgIGFuaW1hdGlvbi5jYW5jZWwoKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzBweCcsCisgICAgICAgICAgICAgICAgJ21hcmdp
bi1sZWZ0IHN0eWxlIGlzIG5vdCBhbmltYXRlZCBhZnRlciBjYW5jZWxsaW5nJyk7CisKKyAgYW5p
bWF0aW9uLmN1cnJlbnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOworICBhc3NlcnRfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMTUwcHgnLAorICAgICAgICAgICAgICAg
ICdtYXJnaW4tbGVmdCBzdHlsZSBpcyB1cGRhdGVkIHdoZW4gY2FuY2VsbGVkIGFuaW1hdGlvbiBp
cycKKyAgICAgICAgICAgICAgICArICcgc2Vla2VkJyk7Cit9LCAnQWZ0ZXIgY2FuY2VsbGluZyBh
biBhbmltYXRpb24sIGl0IGNhbiBzdGlsbCBiZSBzZWVrZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9
IGRpdi5hbmltYXRlKHttYXJnaW5MZWZ0OlsnMTAwcHgnLCAnMjAwcHgnXX0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxMDAgKiBNU19QRVJfU0VDKTsKKyAgcmV0dXJuIGFuaW1hdGlv
bi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jYW5jZWwoKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMHB4JywKKyAg
ICAgICAgICAgICAgICAgICdtYXJnaW4tbGVmdCBzdHlsZSBpcyBub3QgYW5pbWF0ZWQgYWZ0ZXIg
Y2FuY2VsbGluZycpOworICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgICAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzEwMHB4JywKKyAgICAgICAgICAgICAg
ICAgICdtYXJnaW4tbGVmdCBzdHlsZSBpcyBhbmltYXRlZCBhZnRlciByZS1zdGFydGluZyBhbmlt
YXRpb24nKTsKKyAgICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5OworICB9KS50aGVuKGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3J1bm5pbmcnLAor
ICAgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBzdWNjZWVkcyBpbiBydW5uaW5nIGFmdGVyIGJl
aW5nIHJlLXN0YXJ0ZWQnKTsKKyAgfSk7Cit9LCAnQWZ0ZXIgY2FuY2VsbGluZyBhbiBhbmltYXRp
b24sIGl0IGNhbiBzdGlsbCBiZSByZS11c2VkJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb24vY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vY29uc3RydWN0b3ItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2ZGI4MGY1NTY2MmU2NGEzYzgyMTYwZTUwOGZhNjAxMmUzOTRjYmEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0FuaW1hdGlvbi9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MCBAQAorCitGQUlMIEFuaW1hdGlvbiBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBudWxsIGVmZmVj
dCBhbmQgbnVsbCB0aW1lbGluZSBhc3NlcnRfZXF1YWxzOiBBbmltYXRpb24ucGxheVN0YXRlIHNo
b3VsZCBiZSBpbml0aWFsbHkgJ2lkbGUnIGV4cGVjdGVkIChzdHJpbmcpICJpZGxlIiBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBBbmltYXRpb24gY2FuIGJlIGNvbnN0cnVjdGVk
IHdpdGggbnVsbCBlZmZlY3QgYW5kIG5vbi1udWxsIHRpbWVsaW5lIGFzc2VydF9lcXVhbHM6IEFu
aW1hdGlvbiB0aW1lbGluZSBzaG91bGQgYmUgZG9jdW1lbnQudGltZWxpbmUgZXhwZWN0ZWQgb2Jq
ZWN0ICJbb2JqZWN0IERvY3VtZW50VGltZWxpbmVdIiBidXQgZ290IG51bGwKK0ZBSUwgQW5pbWF0
aW9uIGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIG51bGwgZWZmZWN0IGFuZCBubyB0aW1lbGluZSBw
YXJhbWV0ZXIgYXNzZXJ0X2VxdWFsczogQW5pbWF0aW9uIHRpbWVsaW5lIHNob3VsZCBiZSBkb2N1
bWVudC50aW1lbGluZSBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgRG9jdW1lbnRUaW1lbGluZV0i
IGJ1dCBnb3QgbnVsbAorRkFJTCBBbmltYXRpb24gY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggbm9u
LW51bGwgZWZmZWN0IGFuZCBudWxsIHRpbWVsaW5lIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgQW5pbWF0aW9uIGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRo
IG5vbi1udWxsIGVmZmVjdCBhbmQgbm9uLW51bGwgdGltZWxpbmUgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBBbmltYXRpb24gY2FuIGJlIGNvbnN0cnVj
dGVkIHdpdGggbm9uLW51bGwgZWZmZWN0IGFuZCBubyB0aW1lbGluZSBwYXJhbWV0ZXIgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBBbmltYXRpb24gY29u
c3RydWN0ZWQgYnkgYW4gZWZmZWN0IHdpdGggbnVsbCB0YXJnZXQgcnVucyBub3JtYWxseSBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIEFuaW1hdGlvbiBj
b25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgdGhhdCB0YXJnZXQgZWxlbWVudCBpcyBpbiBpZnJh
bWUgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbi9jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb24vY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Zjc2
MTk0YjZmMDU1NzdmYjVjZThhNmM1NjRmNDRiZWVjYmIyYTgxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
Y29uc3RydWN0b3IuaHRtbApAQCAtMCwwICsxLDExNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFuaW1hdGlvbiBjb25zdHJ1Y3RvciB0ZXN0czwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmlt
YXRpb25zLyNkb20tYW5pbWF0aW9uLWFuaW1hdGlvbiI+Cis8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9Ikhpcm95dWtpIElrZXpvZSIgaHJlZj0ibWFpbHRvOmhpaWtlem9lQG1vemlsbGEtamFwYW4u
b3JnIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRp
diBpZD0ibG9nIj48L2Rpdj4KKzxkaXYgaWQ9InRhcmdldCI+PC9kaXY+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworCit2YXIgZ1RhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQiKTsKKworZnVuY3Rpb24gY3JlYXRlRWZmZWN0KCkgeworICByZXR1cm4gbmV3IEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkoZ1RhcmdldCwgeyBvcGFjaXR5OiBbMCwgMV0gfSk7Cit9CisKK2Z1bmN0
aW9uIGNyZWF0ZU51bGwoKSB7CisgIHJldHVybiBudWxsOworfQorCit2YXIgZ1Rlc3RBcmd1bWVu
dHMgPSBbCisgIHsKKyAgICBjcmVhdGVFZmZlY3Q6IGNyZWF0ZU51bGwsCisgICAgdGltZWxpbmU6
IG51bGwsCisgICAgZXhwZWN0ZWRUaW1lbGluZTogbnVsbCwKKyAgICBleHBlY3RlZFRpbWVsaW5l
RGVzY3JpcHRpb246ICJudWxsIiwKKyAgICBkZXNjcmlwdGlvbjogIndpdGggbnVsbCBlZmZlY3Qg
YW5kIG51bGwgdGltZWxpbmUiCisgIH0sCisgIHsKKyAgICBjcmVhdGVFZmZlY3Q6IGNyZWF0ZU51
bGwsCisgICAgdGltZWxpbmU6IGRvY3VtZW50LnRpbWVsaW5lLAorICAgIGV4cGVjdGVkVGltZWxp
bmU6IGRvY3VtZW50LnRpbWVsaW5lLAorICAgIGV4cGVjdGVkVGltZWxpbmVEZXNjcmlwdGlvbjog
ImRvY3VtZW50LnRpbWVsaW5lIiwKKyAgICBkZXNjcmlwdGlvbjogIndpdGggbnVsbCBlZmZlY3Qg
YW5kIG5vbi1udWxsIHRpbWVsaW5lIgorICB9LAorICB7CisgICAgY3JlYXRlRWZmZWN0OiBjcmVh
dGVOdWxsLAorICAgIGV4cGVjdGVkVGltZWxpbmU6IGRvY3VtZW50LnRpbWVsaW5lLAorICAgIGV4
cGVjdGVkVGltZWxpbmVEZXNjcmlwdGlvbjogImRvY3VtZW50LnRpbWVsaW5lIiwKKyAgICBkZXNj
cmlwdGlvbjogIndpdGggbnVsbCBlZmZlY3QgYW5kIG5vIHRpbWVsaW5lIHBhcmFtZXRlciIKKyAg
fSwKKyAgeworICAgIGNyZWF0ZUVmZmVjdDogY3JlYXRlRWZmZWN0LAorICAgIHRpbWVsaW5lOiBu
dWxsLAorICAgIGV4cGVjdGVkVGltZWxpbmU6IG51bGwsCisgICAgZXhwZWN0ZWRUaW1lbGluZURl
c2NyaXB0aW9uOiAibnVsbCIsCisgICAgZGVzY3JpcHRpb246ICJ3aXRoIG5vbi1udWxsIGVmZmVj
dCBhbmQgbnVsbCB0aW1lbGluZSIKKyAgfSwKKyAgeworICAgIGNyZWF0ZUVmZmVjdDogY3JlYXRl
RWZmZWN0LAorICAgIHRpbWVsaW5lOiBkb2N1bWVudC50aW1lbGluZSwKKyAgICBleHBlY3RlZFRp
bWVsaW5lOiBkb2N1bWVudC50aW1lbGluZSwKKyAgICBleHBlY3RlZFRpbWVsaW5lRGVzY3JpcHRp
b246ICJkb2N1bWVudC50aW1lbGluZSIsCisgICAgZGVzY3JpcHRpb246ICJ3aXRoIG5vbi1udWxs
IGVmZmVjdCBhbmQgbm9uLW51bGwgdGltZWxpbmUiCisgIH0sCisgIHsKKyAgICBjcmVhdGVFZmZl
Y3Q6IGNyZWF0ZUVmZmVjdCwKKyAgICBleHBlY3RlZFRpbWVsaW5lOiBkb2N1bWVudC50aW1lbGlu
ZSwKKyAgICBleHBlY3RlZFRpbWVsaW5lRGVzY3JpcHRpb246ICJkb2N1bWVudC50aW1lbGluZSIs
CisgICAgZGVzY3JpcHRpb246ICJ3aXRoIG5vbi1udWxsIGVmZmVjdCBhbmQgbm8gdGltZWxpbmUg
cGFyYW1ldGVyIgorICB9LAorXTsKKworZ1Rlc3RBcmd1bWVudHMuZm9yRWFjaChmdW5jdGlvbihh
cmdzKSB7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBlZmZlY3QgPSBhcmdzLmNyZWF0
ZUVmZmVjdCgpOworICAgIHZhciBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uKGVmZmVjdCwgYXJn
cy50aW1lbGluZSk7CisKKyAgICBhc3NlcnRfbm90X2VxdWFscyhhbmltYXRpb24sIG51bGwsCisg
ICAgICAgICAgICAgICAgICAgICAgIkFuIGFuaW1hdGlvbiBzb2h1bGQgYmUgY3JlYXRlZCIpOwor
ICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0LAorICAgICAgICAgICAg
ICAgICAgIkFuaW1hdGlvbiByZXR1cm5zIHRoZSBzYW1lIGVmZmVjdCBwYXNzZWQgdG8gIiArCisg
ICAgICAgICAgICAgICAgICAidGhlIENvbnN0cnVjdG9yIik7CisgICAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb24udGltZWxpbmUsIGFyZ3MuZXhwZWN0ZWRUaW1lbGluZSwKKyAgICAgICAgICAgICAg
ICAgICJBbmltYXRpb24gdGltZWxpbmUgc2hvdWxkIGJlICIgKyBhcmdzLmV4cGVjdGVkVGltZWxp
bmVEZXNjcmlwdGlvbik7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAi
aWRsZSIsCisgICAgICAgICAgICAgICAgICAiQW5pbWF0aW9uLnBsYXlTdGF0ZSBzaG91bGQgYmUg
aW5pdGlhbGx5ICdpZGxlJyIpOworICB9LCAiQW5pbWF0aW9uIGNhbiBiZSBjb25zdHJ1Y3RlZCAi
ICsgYXJncy5kZXNjcmlwdGlvbik7Cit9KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBl
ZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seShudWxsLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAw
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogImZv
cndhcmRzIiB9KTsKKyAgdmFyIGFuaW0gPSBuZXcgQW5pbWF0aW9uKGVmZmVjdCwgZG9jdW1lbnQu
dGltZWxpbmUpOworICBhbmltLnBhdXNlKCk7CisgIGFzc2VydF9lcXVhbHMoZWZmZWN0LmdldENv
bXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDAuMCk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gNTAw
MDsKKyAgYXNzZXJ0X2VxdWFscyhlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywg
MC41KTsKKyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFscyhlZmZlY3QuZ2V0Q29tcHV0
ZWRUaW1pbmcoKS5wcm9ncmVzcywgMS4wKTsKK30sICJBbmltYXRpb24gY29uc3RydWN0ZWQgYnkg
YW4gZWZmZWN0IHdpdGggbnVsbCB0YXJnZXQgcnVucyBub3JtYWxseSIpOworCithc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lm
cmFtZScpOworCisgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24oKSB7CisgICAgdmFyIGRpdiA9IGNyZWF0ZURpdih0LCBpZnJhbWUuY29udGVudERv
Y3VtZW50KTsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkoZGl2
LCBudWxsLCAxMDAwMCk7CisgICAgdmFyIGFuaW0gPSBuZXcgQW5pbWF0aW9uKGVmZmVjdCk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhbmltLnRpbWVsaW5lLCBkb2N1bWVudC50aW1lbGluZSk7CisgICAg
aWZyYW1lLnJlbW92ZSgpOworICAgIHQuZG9uZSgpOworICB9KSk7CisKKyAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChpZnJhbWUpOworfSwgIkFuaW1hdGlvbiBjb25zdHJ1Y3RlZCB3aXRoIGEg
a2V5ZnJhbWUgdGhhdCB0YXJnZXQgZWxlbWVudCBpcyBpbiBpZnJhbWUiKTsKKworPC9zY3JpcHQ+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9lZmZlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZWZmZWN0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wYWE1YjllYjE5MmVhYjNlM2MyMDBiMThjNjFjYmU4MGQ2Mzg4
NTdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZWZmZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKKworRkFJTCBlZmZlY3QgaXMgc2V0IGNvcnJlY3RseS4gQ2FuJ3QgZmluZCB2YXJpYWJsZTog
S2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBDbGVhcmluZyBhbmQgc2V0dGluZyBBbmltYXRp
b24uZWZmZWN0IHNob3VsZCB1cGRhdGUgdGhlIGNvbXB1dGVkIHN0eWxlIG9mIHRoZSB0YXJnZXQg
ZWxlbWVudCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
IGxlZnQ6IFsnMTAwcHgnLCAnMTAwcHgnXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeyBmaWxsOiAnZm9yd2FyZHMnIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uL2VmZmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZWZmZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2M5YzRm
MDc5YzA0MzM0ZDBjYmYxNGJlZDlhOTg1MTZlNjc4MDk4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2Vm
ZmVjdC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD11dGYtOD4KKzx0aXRsZT5BbmltYXRpb24uZWZmZWN0IHRlc3RzPC90aXRsZT4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20t
YW5pbWF0aW9uLWVmZmVjdCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+
Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBuZXcgQW5pbWF0aW9uKCk7CisgIGFz
c2VydF9lcXVhbHMoYW5pbS5lZmZlY3QsIG51bGwsICJpbml0aWFsIGVmZmVjdCBpcyBudWxsIik7
CisKKyAgdmFyIG5ld0VmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KGNyZWF0ZURp
dih0KSwgbnVsbCk7CisgIGFuaW0uZWZmZWN0ID0gbmV3RWZmZWN0OworICBhc3NlcnRfZXF1YWxz
KGFuaW0uZWZmZWN0LCBuZXdFZmZlY3QsICJuZXcgZWZmZWN0IGlzIHNldCIpOworfSwgImVmZmVj
dCBpcyBzZXQgY29ycmVjdGx5LiIpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHsgbGVmdDogWycx
MDBweCcsICcxMDBweCddIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGZpbGw6
ICdmb3J3YXJkcycgfSk7CisgIHZhciBlZmZlY3QgPSBhbmltYXRpb24uZWZmZWN0OworCisgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmxlZnQsICcxMDBweCcsCisgICAgICAg
ICAgICAgICAgJ2FuaW1hdGlvbiBpcyBpbml0aWFsbHkgaGF2aW5nIGFuIGVmZmVjdCcpOworCisg
IGFuaW1hdGlvbi5lZmZlY3QgPSBudWxsOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS5sZWZ0LCAnYXV0bycsCisgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbiBubyBsb25n
ZXIgaGFzIGFuIGVmZmVjdCcpOworCisgIGFuaW1hdGlvbi5lZmZlY3QgPSBlZmZlY3Q7CisgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmxlZnQsICcxMDBweCcsCisgICAgICAg
ICAgICAgICAgJ2FuaW1hdGlvbiBoYXMgYW4gZWZmZWN0IGFnYWluJyk7Cit9LCAnQ2xlYXJpbmcg
YW5kIHNldHRpbmcgQW5pbWF0aW9uLmVmZmVjdCBzaG91bGQgdXBkYXRlIHRoZSBjb21wdXRlZCBz
dHlsZScKKyAgICsgJyBvZiB0aGUgdGFyZ2V0IGVsZW1lbnQnKTsKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbi9maW5pc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmluaXNoLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNDVmMDY3ZTQwZmM0NGY0ZTg1OTlkYmUzOTY2ZjlmNGJjNDI1YTBmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9BbmltYXRpb24vZmluaXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACisK
K0ZBSUwgVGVzdCBleGNlcHRpb25zIHdoZW4gZmluaXNoaW5nIG5vbi1ydW5uaW5nIGFuaW1hdGlv
biBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5RnJh
bWVzLCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBUZXN0IGV4Y2VwdGlvbnMgd2hlbiBmaW5pc2hpbmcgaW5maW5pdGUgYW5pbWF0aW9uIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKGdLZXlGcmFtZXMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZHVyYXRpb24gOiAxMDAgKiBNU19QRVJfU0VD
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnMgOiBJbmZpbml0eX0p
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoaW5nIG9mIGFu
aW1hdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShn
S2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBUZXN0IGZpbmlzaGluZyBvZiBhbmltYXRpb24gd2l0aCBhIGN1cnJlbnQgdGltZSBw
YXN0IHRoZSBlZmZlY3QgZW5kIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoaW5nIG9mIHJldmVyc2VkIGFuaW1hdGlvbiBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5RnJhbWVz
LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBU
ZXN0IGZpbmlzaGluZyBvZiByZXZlcnNlZCBhbmltYXRpb24gd2l0aCBhIGN1cnJlbnQgdGltZSBs
ZXNzIHRoYW4gemVybyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaCgpIHdoaWxlIHBhdXNlZCBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJf
U0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaCgpIHdo
aWxlIHBhdXNlLXBlbmRpbmcgd2l0aCBwb3NpdGl2ZSBwbGF5YmFja1JhdGUgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNf
UEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2go
KSB3aGlsZSBwYXVzZS1wZW5kaW5nIHdpdGggbmVnYXRpdmUgcGxheWJhY2tSYXRlIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAq
IE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZmlu
aXNoKCkgd2hpbGUgcGxheS1wZW5kaW5nIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoKCkgZHVyaW5nIGFib3J0ZWQgcGF1
c2UgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoZ0tleUZy
YW1lcywgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgVGVzdCByZXNldHRpbmcgb2YgY29tcHV0ZWQgc3R5bGUgZGl2LmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQykn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2goKSByZXNvbHZl
cyBmaW5pc2hlZCBwcm9taXNlIHN5bmNocm9ub3VzbHkgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2goKSByZXNvbHZlcyBm
aW5pc2hlZCBwcm9taXNlIHN5bmNocm9ub3VzbHkgd2l0aCBhbiBhbmltYXRpb24gd2l0aG91dCBh
IHRhcmdldCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlM
IFRlc3Qgbm9ybWFsbHkgZmluaXNoZWQgYW5pbWF0aW9uIHJlc29sdmVzIGZpbmlzaGVkIHByb21p
c2Ugc3luY2hyb25vdXNseSB3aXRoIGFuIGFuaW1hdGlvbiB3aXRob3V0IGEgdGFyZ2V0IENhbid0
IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmlu
aXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0FuaW1hdGlvbi9maW5pc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YjljNGM3MTBlM2QzOGM4YzFhNTMz
Y2VhZmY5OTdhNzE1OTU5ZGRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmluaXNoLmh0bWwKQEAgLTAs
MCArMSwyNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRs
ZT5BbmltYXRpb24uZmluaXNoKCk8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb24tZmluaXNoIj4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0i
bG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3ZhciBnS2V5RnJhbWVzID0g
eyAnbWFyZ2luTGVmdCc6IFsnMTAwcHgnLCAnMjAwcHgnXSB9OworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmlt
YXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24ucGxheWJhY2tS
YXRlID0gMDsKKworICBhc3NlcnRfdGhyb3dzKHtuYW1lOiAnSW52YWxpZFN0YXRlRXJyb3InfSwg
ZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmZpbmlzaCgpOworICB9KTsKK30sICdUZXN0IGV4
Y2VwdGlvbnMgd2hlbiBmaW5pc2hpbmcgbm9uLXJ1bm5pbmcgYW5pbWF0aW9uJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9u
ID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHtkdXJhdGlvbiA6IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaXRlcmF0aW9ucyA6IEluZmluaXR5fSk7CisKKyAgYXNzZXJ0X3Rocm93cyh7bmFtZTog
J0ludmFsaWRTdGF0ZUVycm9yJ30sIGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5maW5pc2go
KTsKKyAgfSk7Cit9LCAnVGVzdCBleGNlcHRpb25zIHdoZW4gZmluaXNoaW5nIGluZmluaXRlIGFu
aW1hdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0
KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BF
Ul9TRUMpOworICBhbmltYXRpb24uZmluaXNoKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRp
b24uY3VycmVudFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgJ0FmdGVy
IGZpbmlzaGluZywgdGhlIGN1cnJlbnRUaW1lIHNob3VsZCBiZSBzZXQgdG8gdGhlIGVuZCAnICsK
KyAgICAgICAgICAgICAgICAnb2YgdGhlIGFjdGl2ZSBkdXJhdGlvbicpOworfSwgJ1Rlc3QgZmlu
aXNoaW5nIG9mIGFuaW1hdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMs
IDEwMCAqIE1TX1BFUl9TRUMpOworICAgLy8gMXMgcGFzdCBlZmZlY3QgZW5kCisgIGFuaW1hdGlv
bi5jdXJyZW50VGltZSA9CisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygp
LmVuZFRpbWUgKyAxICogTVNfUEVSX1NFQzsKKyAgYW5pbWF0aW9uLmZpbmlzaCgpOworCisgIGFz
c2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAxMDAgKiBNU19QRVJfU0VDLAorICAg
ICAgICAgICAgICAgICdBZnRlciBmaW5pc2hpbmcsIHRoZSBjdXJyZW50VGltZSBzaG91bGQgYmUg
c2V0IGJhY2sgdG8gdGhlICcgKworICAgICAgICAgICAgICAgICdlbmQgb2YgdGhlIGFjdGl2ZSBk
dXJhdGlvbicpOworfSwgJ1Rlc3QgZmluaXNoaW5nIG9mIGFuaW1hdGlvbiB3aXRoIGEgY3VycmVu
dCB0aW1lIHBhc3QgdGhlIGVmZmVjdCBlbmQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmlt
YXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24uY3VycmVudFRp
bWUgPSAxMDAgKiBNU19QRVJfU0VDOworICByZXR1cm4gYW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4o
ZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IC0xOworICAgIGFuaW1h
dGlvbi5maW5pc2goKTsKKworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1l
LCAwLAorICAgICAgICAgICAgICAgICAgJ0FmdGVyIGZpbmlzaGluZyBhIHJldmVyc2VkIGFuaW1h
dGlvbiB0aGUgY3VycmVudFRpbWUgJyArCisgICAgICAgICAgICAgICAgICAnc2hvdWxkIGJlIHNl
dCB0byB6ZXJvJyk7CisgIH0pOworfSwgJ1Rlc3QgZmluaXNoaW5nIG9mIHJldmVyc2VkIGFuaW1h
dGlvbicpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRl
RGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICog
TVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7
CisgIHJldHVybiBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmlt
YXRpb24ucGxheWJhY2tSYXRlID0gLTE7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gLTEw
MDA7CisgICAgYW5pbWF0aW9uLmZpbmlzaCgpOworCisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRp
b24uY3VycmVudFRpbWUsIDAsCisgICAgICAgICAgICAgICAgICAnQWZ0ZXIgZmluaXNoaW5nIGEg
cmV2ZXJzZWQgYW5pbWF0aW9uIHRoZSBjdXJyZW50VGltZSAnICsKKyAgICAgICAgICAgICAgICAg
ICdzaG91bGQgYmUgc2V0IGJhY2sgdG8gemVybycpOworICB9KTsKK30sICdUZXN0IGZpbmlzaGlu
ZyBvZiByZXZlcnNlZCBhbmltYXRpb24gd2l0aCBhIGN1cnJlbnQgdGltZSBsZXNzIHRoYW4gemVy
bycpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2
KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNf
UEVSX1NFQyk7CisgIGFuaW1hdGlvbi5wYXVzZSgpOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5
LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmZpbmlzaCgpOworCisgICAgYXNzZXJ0
X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAnZmluaXNoZWQnLAorICAgICAgICAgICAgICAg
ICAgJ1RoZSBwbGF5IHN0YXRlIG9mIGEgcGF1c2VkIGFuaW1hdGlvbiBzaG91bGQgYmVjb21lICcg
KworICAgICAgICAgICAgICAgICAgJyJmaW5pc2hlZCIgYWZ0ZXIgZmluaXNoKCkgaXMgY2FsbGVk
Jyk7CisgICAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW1hdGlvbi5zdGFydFRpbWUsCisgICAgICAg
ICAgICAgICAgICAgICAgIGFuaW1hdGlvbi50aW1lbGluZS5jdXJyZW50VGltZSAtIDEwMCAqIE1T
X1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICdUaGUgc3RhcnQgdGltZSBvZiBhIHBh
dXNlZCBhbmltYXRpb24gc2hvdWxkIGJlIHNldCAnICsKKyAgICAgICAgICAgICAgICAgICAgICAg
J2FmdGVyIGNhbGxpbmcgZmluaXNoKCknKTsKKyAgfSk7Cit9LCAnVGVzdCBmaW5pc2goKSB3aGls
ZSBwYXVzZWQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYo
dCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19Q
RVJfU0VDKTsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisgIC8vIFVwZGF0ZSBwbGF5YmFja1JhdGUg
c28gd2UgY2FuIHRlc3QgdGhhdCB0aGUgY2FsY3VsYXRlZCBzdGFydFRpbWUKKyAgLy8gcmVzcGVj
dHMgaXQKKyAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IDI7CisgIC8vIFdoaWxlIGFuaW1hdGlv
biBpcyBzdGlsbCBwYXVzZS1wZW5kaW5nIGNhbGwgZmluaXNoKCkKKyAgYW5pbWF0aW9uLmZpbmlz
aCgpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ2ZpbmlzaGVkJywK
KyAgICAgICAgICAgICAgICAnVGhlIHBsYXkgc3RhdGUgb2YgYSBwYXVzZS1wZW5kaW5nIGFuaW1h
dGlvbiBzaG91bGQgYmVjb21lICcgKworICAgICAgICAgICAgICAgICciZmluaXNoZWQiIGFmdGVy
IGZpbmlzaCgpIGlzIGNhbGxlZCcpOworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbWF0aW9uLnN0
YXJ0VGltZSwKKyAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi50aW1lbGluZS5jdXJyZW50
VGltZSAtIDEwMCAqIE1TX1BFUl9TRUMgLyAyLAorICAgICAgICAgICAgICAgICAgICAgJ1RoZSBz
dGFydCB0aW1lIG9mIGEgcGF1c2UtcGVuZGluZyBhbmltYXRpb24gc2hvdWxkICcgKworICAgICAg
ICAgICAgICAgICAgICAgJ2JlIHNldCBhZnRlciBjYWxsaW5nIGZpbmlzaCgpJyk7Cit9LCAnVGVz
dCBmaW5pc2goKSB3aGlsZSBwYXVzZS1wZW5kaW5nIHdpdGggcG9zaXRpdmUgcGxheWJhY2tSYXRl
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2
YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyk7
CisgIGFuaW1hdGlvbi5wYXVzZSgpOworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gLTI7Cisg
IGFuaW1hdGlvbi5maW5pc2goKTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3Rh
dGUsICdmaW5pc2hlZCcsCisgICAgICAgICAgICAgICAgJ1RoZSBwbGF5IHN0YXRlIG9mIGEgcGF1
c2UtcGVuZGluZyBhbmltYXRpb24gc2hvdWxkIGJlY29tZSAnICsKKyAgICAgICAgICAgICAgICAn
ImZpbmlzaGVkIiBhZnRlciBmaW5pc2goKSBpcyBjYWxsZWQnKTsKKyAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb24uc3RhcnRUaW1lLCBhbmltYXRpb24udGltZWxpbmUuY3VycmVudFRpbWUsCisgICAg
ICAgICAgICAgICAgJ1RoZSBzdGFydCB0aW1lIG9mIGEgcGF1c2UtcGVuZGluZyBhbmltYXRpb24g
c2hvdWxkIGJlICcgKworICAgICAgICAgICAgICAgICdzZXQgYWZ0ZXIgY2FsbGluZyBmaW5pc2go
KScpOworfSwgJ1Rlc3QgZmluaXNoKCkgd2hpbGUgcGF1c2UtcGVuZGluZyB3aXRoIG5lZ2F0aXZl
IHBsYXliYWNrUmF0ZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAq
IE1TX1BFUl9TRUMpOworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gMC41OworICBhbmltYXRp
b24uZmluaXNoKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAnZmlu
aXNoZWQnLAorICAgICAgICAgICAgICAgICdUaGUgcGxheSBzdGF0ZSBvZiBhIHBsYXktcGVuZGlu
ZyBhbmltYXRpb24gc2hvdWxkIGJlY29tZSAnICsKKyAgICAgICAgICAgICAgICAnImZpbmlzaGVk
IiBhZnRlciBmaW5pc2goKSBpcyBjYWxsZWQnKTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW1h
dGlvbi5zdGFydFRpbWUsCisgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24udGltZWxpbmUu
Y3VycmVudFRpbWUgLSAxMDAgKiBNU19QRVJfU0VDIC8gMC41LAorICAgICAgICAgICAgICAgICAg
ICAgJ1RoZSBzdGFydCB0aW1lIG9mIGEgcGxheS1wZW5kaW5nIGFuaW1hdGlvbiBzaG91bGQgJyAr
CisgICAgICAgICAgICAgICAgICAgICAnYmUgc2V0IGFmdGVyIGNhbGxpbmcgZmluaXNoKCknKTsK
K30sICdUZXN0IGZpbmlzaCgpIHdoaWxlIHBsYXktcGVuZGluZycpOworCisvLyBGSVhNRTogQWRk
IGEgdGVzdCBmb3Igd2hlbiB3ZSBhcmUgcGxheS1wZW5kaW5nIHdpdGhvdXQgYW4gYWN0aXZlIHRp
bWVsaW5lLgorLy8gLSBJbiB0aGF0IGNhc2UgZXZlbiBhZnRlciBjYWxsaW5nIGZpbmlzaCgpIHdl
IHNob3VsZCBzdGlsbCBiZSBwZW5kaW5nIGJ1dAorLy8gICB0aGUgY3VycmVudCB0aW1lIHNob3Vs
ZCBiZSB1cGRhdGVkCisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAx
MDAgKiBNU19QRVJfU0VDKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9u
KCkgeworICAgIGFuaW1hdGlvbi5wYXVzZSgpOworICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgICAg
Ly8gV2UgYXJlIG5vdyBpbiB0aGUgdW51c3VhbCBzaXR1YXRpb24gb2YgYmVpbmcgcGxheS1wZW5k
aW5nIHdoaWxzdCBoYXZpbmcKKyAgICAvLyBhIHJlc29sdmVkIHN0YXJ0IHRpbWUuIENoZWNrIHRo
YXQgZmluaXNoKCkgc3RpbGwgdHJpZ2dlcnMgYSB0cmFuc2l0aW9uCisgICAgLy8gdG8gdGhlIGZp
bmlzaGVkIHN0YXRlIGltbWVkaWF0ZWx5LgorICAgIGFuaW1hdGlvbi5maW5pc2goKTsKKworICAg
IGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ2ZpbmlzaGVkJywKKyAgICAgICAg
ICAgICAgICAgICdBZnRlciBhYm9ydGluZyBhIHBhdXNlIHRoZW4gY2FsbGluZyBmaW5pc2goKSB0
aGUgcGxheSAnICsKKyAgICAgICAgICAgICAgICAgICdzdGF0ZSBvZiBhbiBhbmltYXRpb24gc2hv
dWxkIGJlY29tZSAiZmluaXNoZWQiIGltbWVkaWF0ZWx5Jyk7CisgIH0pOworfSwgJ1Rlc3QgZmlu
aXNoKCkgZHVyaW5nIGFib3J0ZWQgcGF1c2UnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgZGl2LnN0eWxlLm1hcmdpbkxlZnQgPSAn
MTBweCc7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBN
U19QRVJfU0VDKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgIGFuaW1hdGlvbi5maW5pc2goKTsKKyAgICB2YXIgbWFyZ2luTGVmdCA9IHBhcnNlRmxvYXQo
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQpOworCisgICAgYXNzZXJ0X2VxdWFscyht
YXJnaW5MZWZ0LCAxMCwKKyAgICAgICAgICAgICAgICAgICdUaGUgY29tcHV0ZWQgc3R5bGUgc2hv
dWxkIGJlIHJlc2V0IHdoZW4gZmluaXNoKCkgaXMgJyArCisgICAgICAgICAgICAgICAgICAnY2Fs
bGVkJyk7CisgIH0pOworfSwgJ1Rlc3QgcmVzZXR0aW5nIG9mIGNvbXB1dGVkIHN0eWxlJyk7CisK
K3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VD
KTsKKyAgdmFyIHJlc29sdmVkRmluaXNoZWQgPSBmYWxzZTsKKyAgYW5pbWF0aW9uLmZpbmlzaGVk
LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcmVzb2x2ZWRGaW5pc2hlZCA9IHRydWU7CisgIH0pOwor
CisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRp
b24uZmluaXNoKCk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3RydWUocmVz
b2x2ZWRGaW5pc2hlZCwKKyAgICAgICdBbmltYXRpb24uZmluaXNoZWQgc2hvdWxkIGJlIHJlc29s
dmVkIHNvb24gYWZ0ZXIgJyArCisgICAgICAnQW5pbWF0aW9uLmZpbmlzaCgpJyk7CisgIH0pOwor
fSwgJ1Rlc3QgZmluaXNoKCkgcmVzb2x2ZXMgZmluaXNoZWQgcHJvbWlzZSBzeW5jaHJvbm91c2x5
Jyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3QgPSBuZXcgS2V5
ZnJhbWVFZmZlY3RSZWFkT25seShudWxsLCBnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKTsK
KyAgdmFyIGFuaW1hdGlvbiA9IG5ldyBBbmltYXRpb24oZWZmZWN0LCBkb2N1bWVudC50aW1lbGlu
ZSk7CisgIHZhciByZXNvbHZlZEZpbmlzaGVkID0gZmFsc2U7CisgIGFuaW1hdGlvbi5maW5pc2hl
ZC50aGVuKGZ1bmN0aW9uKCkgeworICAgIHJlc29sdmVkRmluaXNoZWQgPSB0cnVlOworICB9KTsK
KworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0
aW9uLmZpbmlzaCgpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF90cnVlKHJl
c29sdmVkRmluaXNoZWQsCisgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbi5maW5pc2hlZCBzaG91
bGQgYmUgcmVzb2x2ZWQgc29vbiBhZnRlciAnICsKKyAgICAgICAgICAgICAgICAnQW5pbWF0aW9u
LmZpbmlzaCgpJyk7CisgIH0pOworfSwgJ1Rlc3QgZmluaXNoKCkgcmVzb2x2ZXMgZmluaXNoZWQg
cHJvbWlzZSBzeW5jaHJvbm91c2x5IHdpdGggYW4gYW5pbWF0aW9uICcgKworICAgJ3dpdGhvdXQg
YSB0YXJnZXQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGVmZmVjdCA9
IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KG51bGwsIGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BF
Ul9TRUMpOworICB2YXIgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbihlZmZlY3QsIGRvY3VtZW50
LnRpbWVsaW5lKTsKKyAgYW5pbWF0aW9uLnBsYXkoKTsKKworICB2YXIgcmVzb2x2ZWRGaW5pc2hl
ZCA9IGZhbHNlOworICBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICBy
ZXNvbHZlZEZpbmlzaGVkID0gdHJ1ZTsKKyAgfSk7CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFk
eS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IGFuaW1hdGlv
bi5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRUaW1lIC0gMTsKKyAgICByZXR1cm4gd2Fp
dEZvckFuaW1hdGlvbkZyYW1lcygyKTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3Nl
cnRfdHJ1ZShyZXNvbHZlZEZpbmlzaGVkLAorICAgICAgICAgICAgICAgICdBbmltYXRpb24uZmlu
aXNoZWQgc2hvdWxkIGJlIHJlc29sdmVkIHNvb24gYWZ0ZXIgJyArCisgICAgICAgICAgICAgICAg
J0FuaW1hdGlvbiBmaW5pc2hlcyBub3JtYWxseScpOworICB9KTsKK30sICdUZXN0IG5vcm1hbGx5
IGZpbmlzaGVkIGFuaW1hdGlvbiByZXNvbHZlcyBmaW5pc2hlZCBwcm9taXNlIHN5bmNocm9ub3Vz
bHkgJyArCisgICAnd2l0aCBhbiBhbmltYXRpb24gd2l0aG91dCBhIHRhcmdldCcpOworCis8L3Nj
cmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2ZpbmlzaGVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2Zpbmlz
aGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYmU1Yjg0MWQzNDQ5MzhmODM5OTc3MTAxYTBl
YmMyNzAyYmFkNjAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vZmluaXNoZWQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjQgQEAKKworRkFJTCBUZXN0IHBhdXNpbmcgdGhlbiBwbGF5aW5nIGRvZXMgbm90
IGNoYW5nZSB0aGUgZmluaXNoZWQgcHJvbWlzZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCByZXN0YXJ0aW5nIGEgZmluaXNoZWQgYW5pbWF0aW9u
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAg
KiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IHJl
c3RhcnRpbmcgYSByZXZlcnNlZCBmaW5pc2hlZCBhbmltYXRpb24gZGl2LmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgcmVkdW5kYW50IGZpbmlzaGluZyBv
ZiBhbmltYXRpb24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIEZpbmlzaGVkIHByb21pc2UgZG9lcyBub3QgcmVzb2x2ZSB3aGVuIHBhdXNlZCBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVS
X1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmluaXNoZWQgcHJvbWlz
ZSBkb2VzIG5vdCByZXNvbHZlIHdoZW4gcGF1c2UtcGVuZGluZyBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGhlIGZpbmlzaGVkIHByb21pc2UgaXMgZnVs
ZmlsbGVkIHdpdGggaXRzIEFuaW1hdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgZmluaXNoZWQgcHJvbWlzZSBpcyByZWplY3RlZCB3aGVuIGFuIGFu
aW1hdGlvbiBpcyBjYW5jZWxsZWQgYnkgY2FsbGluZyBjYW5jZWwoKSBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgY2FuY2VsbGluZyBhbiBhbHJlYWR5LWZp
bmlzaGVkIGFuaW1hdGlvbiByZXBsYWNlcyB0aGUgZmluaXNoZWQgcHJvbWlzZSBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NF
QyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgY2FuY2VsbGluZyBhbiBpZGxl
IGFuaW1hdGlvbiBzdGlsbCByZXBsYWNlcyB0aGUgZmluaXNoZWQgcHJvbWlzZSBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NF
QyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2hlZCBwcm9t
aXNlIGNoYW5nZXMgZm9yIGFuaW1hdGlvbiBkdXJhdGlvbiBjaGFuZ2VzIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaGVkIHByb21pc2Ug
Y2hhbmdlcyB3aGVuIHBsYXliYWNrUmF0ZSA9PSAwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaGVkIHByb21pc2UgcmVzb2x2ZXMgd2hl
biByZWFjaGluZyB0byB0aGUgbmF0dXJhbCBib3VuZGFyeS4gZGl2LmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZmluaXNoZWQgcHJvbWlzZSBjaGFuZ2Vz
IHdoZW4gYSBwcmlvciBmaW5pc2hlZCBwcm9taXNlIHJlc29sdmVkIGFuZCB0aGUgYW5pbWF0aW9u
IGZhbGxzIG91dCBmaW5pc2hlZCBzdGF0ZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBubyBuZXcgZmluaXNoZWQgcHJvbWlzZSBnZW5lcmF0ZWQg
d2hlbiBmaW5pc2hlZCBzdGF0ZSBpcyBjaGVja2VkIGFzeW5jaHJvbm91c2x5IGRpdi5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VD
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IG5ldyBmaW5pc2hlZCBw
cm9taXNlIGdlbmVyYXRlZCB3aGVuIGZpbmlzaGVkIHN0YXRlIGlzIGNoZWNrZWQgc3luY2hyb25v
dXNseSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwg
MTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVz
dCBzeW5jaHJvbm91cyBmaW5pc2hlZCBwcm9taXNlIHJlc29sdmVkIGV2ZW4gaWYgZmluaXNoZWQg
c3RhdGUgaXMgY2hhbmdlZCBzb29uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IHN5bmNocm9ub3VzIGZpbmlzaGVkIHByb21pc2UgcmVzb2x2ZWQg
ZXZlbiBpZiBhc3luY2hyb25vdXMgZmluaXNoZWQgcHJvbWlzZSBoYXBwZW5zIGp1c3QgYmVmb3Jl
IHN5bmNocm9ub3VzIHByb21pc2UgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIFRlc3QgZmluaXNoZWQgcHJvbWlzZSBpcyBub3QgcmVzb2x2ZWQgd2hlbiB0
aGUgYW5pbWF0aW9uIGZhbGxzIG91dCBmaW5pc2hlZCBzdGF0ZSBpbW1lZGlhdGVseSBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVS
X1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmaW5pc2hlZCBw
cm9taXNlIGlzIG5vdCByZXNvbHZlZCBvbmNlIHRoZSBhbmltYXRpb24gZmFsbHMgb3V0IGZpbmlz
aGVkIHN0YXRlIGV2ZW4gdGhvdWdoIHRoZSBjdXJyZW50IGZpbmlzaGVkIHByb21pc2UgaXMgZ2Vu
ZXJhdGVkIHNvb24gYWZ0ZXIgYW5pbWF0aW9uIHN0YXRlIGJlY2FtZSBmaW5pc2hlZCBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVS
X1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmluaXNoZWQgcHJvbWlz
ZSBzaG91bGQgYmUgcmVzb2x2ZWQgYWZ0ZXIgdGhlIHJlYWR5IHByb21pc2UgaXMgcmVzb2x2ZWQg
Y3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQp
LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmluaXNoZWQgcHJvbWlzZSBzaG91bGQgYmUgcmVqZWN0ZWQg
YWZ0ZXIgdGhlIHJlYWR5IHByb21pc2UgaXMgcmVqZWN0ZWQgY3JlYXRlRGl2KHQpLmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICog
TVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb24vZmluaXNoZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2ZpbmlzaGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2YjU0
YTBhZjM1Mjg0MTA4OThkY2RkZDYyYzk1N2IwNWIwYjNiZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2Zp
bmlzaGVkLmh0bWwKQEAgLTAsMCArMSw0MjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOD4KKzx0aXRsZT5BbmltYXRpb24uZmluaXNoZWQ8L3RpdGxlPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1h
bmltYXRpb24tZmluaXNoZWQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0
PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
KworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsK
KyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAg
dmFyIHByZXZpb3VzRmluaXNoZWRQcm9taXNlID0gYW5pbWF0aW9uLmZpbmlzaGVkOworICByZXR1
cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAgICAg
ICAgICAgJ0ZpbmlzaGVkIHByb21pc2UgaXMgdGhlIHNhbWUgb2JqZWN0IHdoZW4gcGxheWluZyBz
dGFydHMnKTsKKyAgICBhbmltYXRpb24ucGF1c2UoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1h
dGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAgICAgICAgICAg
ICAnRmluaXNoZWQgcHJvbWlzZSBkb2VzIG5vdCBjaGFuZ2Ugd2hlbiBwYXVzaW5nJyk7CisgICAg
YW5pbWF0aW9uLnBsYXkoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5maW5pc2hlZCwg
cHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAgICAgICAgICAgICAnRmluaXNoZWQgcHJv
bWlzZSBkb2VzIG5vdCBjaGFuZ2Ugd2hlbiBwbGF5KCkgdW5wYXVzZXMnKTsKKworICAgIGFuaW1h
dGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7CisKKyAgICByZXR1cm4gYW5pbWF0
aW9uLmZpbmlzaGVkOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMo
YW5pbWF0aW9uLmZpbmlzaGVkLCBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAgICAgICAg
ICAgICAgICdGaW5pc2hlZCBwcm9taXNlIGlzIHRoZSBzYW1lIG9iamVjdCB3aGVuIHBsYXlpbmcg
Y29tcGxldGVzJyk7CisgIH0pOworfSwgJ1Rlc3QgcGF1c2luZyB0aGVuIHBsYXlpbmcgZG9lcyBu
b3QgY2hhbmdlIHRoZSBmaW5pc2hlZCBwcm9taXNlJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYu
YW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBwcmV2aW91c0ZpbmlzaGVkUHJv
bWlzZSA9IGFuaW1hdGlvbi5maW5pc2hlZDsKKyAgYW5pbWF0aW9uLmZpbmlzaCgpOworICByZXR1
cm4gYW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFs
cyhhbmltYXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAg
ICAgICAgICAgJ0ZpbmlzaGVkIHByb21pc2UgaXMgdGhlIHNhbWUgb2JqZWN0IHdoZW4gcGxheWlu
ZyBjb21wbGV0ZXMnKTsKKyAgICBhbmltYXRpb24ucGxheSgpOworICAgIGFzc2VydF9ub3RfZXF1
YWxzKGFuaW1hdGlvbi5maW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAg
ICAgICAgICAgICAnRmluaXNoZWQgcHJvbWlzZSBjaGFuZ2VzIHdoZW4gcmVwbGF5aW5nIGFuaW1h
dGlvbicpOworCisgICAgcHJldmlvdXNGaW5pc2hlZFByb21pc2UgPSBhbmltYXRpb24uZmluaXNo
ZWQ7CisgICAgYW5pbWF0aW9uLnBsYXkoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5m
aW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAgICAgICAgICAgICAnRmlu
aXNoZWQgcHJvbWlzZSBpcyB0aGUgc2FtZSBhZnRlciByZWR1bmRhbnQgcGxheSgpIGNhbGwnKTsK
KworICB9KTsKK30sICdUZXN0IHJlc3RhcnRpbmcgYSBmaW5pc2hlZCBhbmltYXRpb24nKTsKKwor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
dmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFy
IHByZXZpb3VzRmluaXNoZWRQcm9taXNlOworICBhbmltYXRpb24uZmluaXNoKCk7CisgIHJldHVy
biBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICBwcmV2aW91c0Zpbmlz
aGVkUHJvbWlzZSA9IGFuaW1hdGlvbi5maW5pc2hlZDsKKyAgICBhbmltYXRpb24ucGxheWJhY2tS
YXRlID0gLTE7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9uLmZpbmlzaGVkLCBwcmV2
aW91c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICAgICAnRmluaXNoZWQgcHJv
bWlzZSBzaG91bGQgYmUgcmVwbGFjZWQgd2hlbiByZXZlcnNpbmcgYSAnICsKKyAgICAgICAgICAg
ICAgICAgICAgICAnZmluaXNoZWQgcHJvbWlzZScpOworICAgIGFuaW1hdGlvbi5jdXJyZW50VGlt
ZSA9IDA7CisgICAgcmV0dXJuIGFuaW1hdGlvbi5maW5pc2hlZDsKKyAgfSkudGhlbihmdW5jdGlv
bigpIHsKKyAgICBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSA9IGFuaW1hdGlvbi5maW5pc2hlZDsK
KyAgICBhbmltYXRpb24ucGxheSgpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFuaW1hdGlvbi5m
aW5pc2hlZCwgcHJldmlvdXNGaW5pc2hlZFByb21pc2UsCisgICAgICAgICAgICAgICAgICAgICAg
J0ZpbmlzaGVkIHByb21pc2UgaXMgcmVwbGFjZWQgYWZ0ZXIgcGxheSgpIGNhbGwgb24gJyArCisg
ICAgICAgICAgICAgICAgICAgICAgJ2ZpbmlzaGVkLCByZXZlcnNlZCBhbmltYXRpb24nKTsKKyAg
fSk7Cit9LCAnVGVzdCByZXN0YXJ0aW5nIGEgcmV2ZXJzZWQgZmluaXNoZWQgYW5pbWF0aW9uJyk7
CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7
CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7Cisg
IHZhciBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSA9IGFuaW1hdGlvbi5maW5pc2hlZDsKKyAgYW5p
bWF0aW9uLmZpbmlzaCgpOworICByZXR1cm4gYW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4oZnVuY3Rp
b24oKSB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMTAwICogTVNfUEVSX1NFQyArIDEw
MDA7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNo
ZWRQcm9taXNlLAorICAgICAgICAgICAgICAgICAgJ0ZpbmlzaGVkIHByb21pc2UgaXMgdW5jaGFu
Z2VkIGp1bXBpbmcgcGFzdCBlbmQgb2YgJyArCisgICAgICAgICAgICAgICAgICAnZmluaXNoZWQg
YW5pbWF0aW9uJyk7CisgIH0pOworfSwgJ1Rlc3QgcmVkdW5kYW50IGZpbmlzaGluZyBvZiBhbmlt
YXRpb24nKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJf
U0VDKTsKKyAgLy8gU2V0dXAgY2FsbGJhY2sgdG8gcnVuIGlmIGZpbmlzaGVkIHByb21pc2UgaXMg
cmVzb2x2ZWQKKyAgdmFyIGZpbmlzaFByb21pc2VSZXNvbHZlZCA9IGZhbHNlOworICBhbmltYXRp
b24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICBmaW5pc2hQcm9taXNlUmVzb2x2ZWQg
PSB0cnVlOworICB9KTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkg
eworICAgIC8vIEp1bXAgdG8gbWlkLXdheSBpbiBpbnRlcnZhbCBhbmQgcGF1c2UKKyAgICBhbmlt
YXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDIC8gMjsKKyAgICBhbmltYXRpb24u
cGF1c2UoKTsKKyAgICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5OworICB9KS50aGVuKGZ1bmN0aW9u
KCkgeworICAgIC8vIEp1bXAgdG8gdGhlIGVuZAorICAgIC8vIChCdXQgZG9uJ3QgdXNlIGZpbmlz
aCgpIHNpbmNlIHRoYXQgc2hvdWxkIHVucGF1c2UgYXMgd2VsbCkKKyAgICBhbmltYXRpb24uY3Vy
cmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9u
RnJhbWVzKDIpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9mYWxzZShmaW5p
c2hQcm9taXNlUmVzb2x2ZWQsCisgICAgICAgICAgICAgICAgICdGaW5pc2hlZCBwcm9taXNlIHNo
b3VsZCBub3QgcmVzb2x2ZSB3aGVuIHBhdXNlZCcpOworICB9KTsKK30sICdGaW5pc2hlZCBwcm9t
aXNlIGRvZXMgbm90IHJlc29sdmUgd2hlbiBwYXVzZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRp
di5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgLy8gU2V0dXAgY2FsbGJhY2sgdG8g
cnVuIGlmIGZpbmlzaGVkIHByb21pc2UgaXMgcmVzb2x2ZWQKKyAgdmFyIGZpbmlzaFByb21pc2VS
ZXNvbHZlZCA9IGZhbHNlOworICBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsK
KyAgICBmaW5pc2hQcm9taXNlUmVzb2x2ZWQgPSB0cnVlOworICB9KTsKKyAgcmV0dXJuIGFuaW1h
dGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIC8vIEp1bXAgdG8gbWlkLXdheSBpbiBp
bnRlcnZhbCBhbmQgcGF1c2UKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19Q
RVJfU0VDIC8gMjsKKyAgICBhbmltYXRpb24ucGF1c2UoKTsKKyAgICAvLyBKdW1wIHRvIHRoZSBl
bmQKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDOworICAgIHJl
dHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDIpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgIGFzc2VydF9mYWxzZShmaW5pc2hQcm9taXNlUmVzb2x2ZWQsCisgICAgICAgICAgICAgICAg
ICdGaW5pc2hlZCBwcm9taXNlIHNob3VsZCBub3QgcmVzb2x2ZSB3aGVuIHBhdXNlLXBlbmRpbmcn
KTsKKyAgfSk7Cit9LCAnRmluaXNoZWQgcHJvbWlzZSBkb2VzIG5vdCByZXNvbHZlIHdoZW4gcGF1
c2UtcGVuZGluZycpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0g
Y3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1T
X1BFUl9TRUMpOworICBhbmltYXRpb24uZmluaXNoKCk7CisgIHJldHVybiBhbmltYXRpb24uZmlu
aXNoZWQudGhlbihmdW5jdGlvbihyZXNvbHZlZEFuaW1hdGlvbikgeworICAgIGFzc2VydF9lcXVh
bHMocmVzb2x2ZWRBbmltYXRpb24sIGFuaW1hdGlvbiwKKyAgICAgICAgICAgICAgICAgICdPYmpl
Y3QgaWRlbnRpdHkgb2YgYW5pbWF0aW9uIHBhc3NlZCB0byBQcm9taXNlIGNhbGxiYWNrJworICAg
ICAgICAgICAgICAgICAgKyAnIG1hdGNoZXMgdGhlIGFuaW1hdGlvbiBvYmplY3Qgb3duaW5nIHRo
ZSBQcm9taXNlJyk7CisgIH0pOworfSwgJ1RoZSBmaW5pc2hlZCBwcm9taXNlIGlzIGZ1bGZpbGxl
ZCB3aXRoIGl0cyBBbmltYXRpb24nKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
dmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9
LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIHByZXZpb3VzRmluaXNoZWRQcm9taXNlID0gYW5p
bWF0aW9uLmZpbmlzaGVkOworCisgIC8vIFNldCB1cCBsaXN0ZW5lcnMgb24gZmluaXNoZWQgcHJv
bWlzZQorICB2YXIgcmV0UHJvbWlzZSA9IGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF91bnJlYWNoZWQoJ2ZpbmlzaGVkIHByb21pc2Ugd2FzIGZ1bGZpbGxl
ZCcpOworICB9KS5jYXRjaChmdW5jdGlvbihlcnIpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGVyci5u
YW1lLCAnQWJvcnRFcnJvcicsCisgICAgICAgICAgICAgICAgICAnZmluaXNoZWQgcHJvbWlzZSBp
cyByZWplY3RlZCB3aXRoIEFib3J0RXJyb3InKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhhbmlt
YXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAgICAgICAg
ICAgICAgICdGaW5pc2hlZCBwcm9taXNlIHNob3VsZCBjaGFuZ2UgYWZ0ZXIgdGhlIG9yaWdpbmFs
IGlzICcgKworICAgICAgICAgICAgICAgICAgICAgICdyZWplY3RlZCcpOworICB9KTsKKworICBh
bmltYXRpb24uY2FuY2VsKCk7CisKKyAgcmV0dXJuIHJldFByb21pc2U7Cit9LCAnZmluaXNoZWQg
cHJvbWlzZSBpcyByZWplY3RlZCB3aGVuIGFuIGFuaW1hdGlvbiBpcyBjYW5jZWxsZWQgYnkgY2Fs
bGluZyAnICsKKyAgICdjYW5jZWwoKScpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUo
e30sIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgcHJldmlvdXNGaW5pc2hlZFByb21pc2UgPSBh
bmltYXRpb24uZmluaXNoZWQ7CisgIGFuaW1hdGlvbi5maW5pc2goKTsKKyAgcmV0dXJuIGFuaW1h
dGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jYW5jZWwoKTsK
KyAgICBhc3NlcnRfbm90X2VxdWFscyhhbmltYXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNo
ZWRQcm9taXNlLAorICAgICAgICAgICAgICAgICAgICAgICdBIG5ldyBmaW5pc2hlZCBwcm9taXNl
IHNob3VsZCBiZSBjcmVhdGVkIHdoZW4nCisgICAgICAgICAgICAgICAgICAgICAgKyAnIGNhbmNl
bGxpbmcgYSBmaW5pc2hlZCBhbmltYXRpb24nKTsKKyAgfSk7Cit9LCAnY2FuY2VsbGluZyBhbiBh
bHJlYWR5LWZpbmlzaGVkIGFuaW1hdGlvbiByZXBsYWNlcyB0aGUgZmluaXNoZWQgcHJvbWlzZScp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOwor
ICBhbmltYXRpb24uY2FuY2VsKCk7CisgIC8vIFRoZSBzcGVjIHNheXMgd2Ugc3RpbGwgY3JlYXRl
IGEgbmV3IGZpbmlzaGVkIHByb21pc2UgYW5kIHJlamVjdCB0aGUgb2xkCisgIC8vIG9uZSBldmVu
IGlmIHdlJ3JlIGFscmVhZHkgaWRsZS4gVGhhdCBiZWhhdmlvciBtaWdodCBjaGFuZ2UsIGJ1dCBm
b3Igbm93CisgIC8vIHRlc3QgdGhhdCB3ZSBkbyB0aGF0LgorICB2YXIgcmV0UHJvbWlzZSA9IGFu
aW1hdGlvbi5maW5pc2hlZC5jYXRjaChmdW5jdGlvbihlcnIpIHsKKyAgICBhc3NlcnRfZXF1YWxz
KGVyci5uYW1lLCAnQWJvcnRFcnJvcicsCisgICAgICAgICAgICAgICAgICAnZmluaXNoZWQgcHJv
bWlzZSBpcyByZWplY3RlZCB3aXRoIEFib3J0RXJyb3InKTsKKyAgfSk7CisKKyAgLy8gUmVkdW5k
YW50IGNhbGwgdG8gY2FuY2VsKCk7CisgIHZhciBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSA9IGFu
aW1hdGlvbi5maW5pc2hlZDsKKyAgYW5pbWF0aW9uLmNhbmNlbCgpOworICBhc3NlcnRfbm90X2Vx
dWFscyhhbmltYXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAg
ICAgICAgICAgICAgICAnQSByZWR1bmRhbnQgY2FsbCB0byBjYW5jZWwoKSBzaG91bGQgc3RpbGwg
Z2VuZXJhdGUgYSBuZXcnCisgICAgICAgICAgICAgICAgICAgICsgJyBmaW5pc2hlZCBwcm9taXNl
Jyk7CisgIHJldHVybiByZXRQcm9taXNlOworfSwgJ2NhbmNlbGxpbmcgYW4gaWRsZSBhbmltYXRp
b24gc3RpbGwgcmVwbGFjZXMgdGhlIGZpbmlzaGVkIHByb21pc2UnKTsKKworcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlv
biA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgY29uc3QgSEFMRl9EVVIg
PSAxMDAgKiBNU19QRVJfU0VDIC8gMjsKKyAgY29uc3QgUVVBUlRFUl9EVVIgPSAxMDAgKiBNU19Q
RVJfU0VDIC8gNDsKKyAgdmFyIGdvdE5leHRGcmFtZSA9IGZhbHNlOworICB2YXIgY3VycmVudFRp
bWVCZWZvcmVTaG9ydGVuaW5nOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSBIQUxGX0RVUjsK
KyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGN1cnJlbnRU
aW1lQmVmb3JlU2hvcnRlbmluZyA9IGFuaW1hdGlvbi5jdXJyZW50VGltZTsKKyAgICBhbmltYXRp
b24uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IFFVQVJURVJfRFVSOworICAgIC8vIEJlbG93IHdl
IHVzZSBnb3ROZXh0RnJhbWUgdG8gY2hlY2sgdGhhdCBzaG9ydGVuaW5nIG9mIHRoZSBhbmltYXRp
b24KKyAgICAvLyBkdXJhdGlvbiBjYXVzZXMgdGhlIGZpbmlzaGVkIHByb21pc2UgdG8gcmVzb2x2
ZSwgcmF0aGVyIHRoYW4gaXQganVzdAorICAgIC8vIGdldHRpbmcgcmVzb2x2ZWQgb24gdGhlIG5l
eHQgYW5pbWF0aW9uIGZyYW1lLiBUaGlzIHJlbGllcyBvbiB0aGUgZmFjdAorICAgIC8vIHRoYXQg
dGhlIHByb21pc2VzIGFyZSByZXNvbHZlZCBhcyBhIG1pY3JvLXRhc2sgYmVmb3JlIHRoZSBuZXh0
IGZyYW1lCisgICAgLy8gaGFwcGVucy4KKyAgICB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpLnRo
ZW4oZnVuY3Rpb24oKSB7CisgICAgICBnb3ROZXh0RnJhbWUgPSB0cnVlOworICAgIH0pOworCisg
ICAgcmV0dXJuIGFuaW1hdGlvbi5maW5pc2hlZDsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAg
ICBhc3NlcnRfZmFsc2UoZ290TmV4dEZyYW1lLCAnc2hvcnRlbmluZyBvZiB0aGUgYW5pbWF0aW9u
IGR1cmF0aW9uIHNob3VsZCAnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVz
b2x2ZSB0aGUgZmluaXNoZWQgcHJvbWlzZScpOworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9u
LmN1cnJlbnRUaW1lLCBjdXJyZW50VGltZUJlZm9yZVNob3J0ZW5pbmcsCisgICAgICAgICAgICAg
ICAgICAnY3VycmVudFRpbWUgc2hvdWxkIGJlIHVuY2hhbmdlZCB3aGVuIGR1cmF0aW9uIHNob3J0
ZW5lZCcpOworICAgIHZhciBwcmV2aW91c0ZpbmlzaGVkUHJvbWlzZSA9IGFuaW1hdGlvbi5maW5p
c2hlZDsKKyAgICBhbmltYXRpb24uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IDEwMCAqIE1TX1BF
Ul9TRUM7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9uLmZpbmlzaGVkLCBwcmV2aW91
c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICAgICAnRmluaXNoZWQgcHJvbWlz
ZSBzaG91bGQgY2hhbmdlIGFmdGVyIGxlbmd0aGVuaW5nIHRoZSAnICsKKyAgICAgICAgICAgICAg
ICAgICAgICAnZHVyYXRpb24gY2F1c2VzIHRoZSBhbmltYXRpb24gdG8gYmVjb21lIGFjdGl2ZScp
OworICB9KTsKK30sICdUZXN0IGZpbmlzaGVkIHByb21pc2UgY2hhbmdlcyBmb3IgYW5pbWF0aW9u
IGR1cmF0aW9uIGNoYW5nZXMnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAx
MDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIHJldFByb21pc2UgPSBhbmltYXRpb24ucmVhZHkudGhl
bihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gMDsKKyAgICBhbmlt
YXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDICsgMTAwMDsKKyAgICByZXR1cm4g
d2FpdEZvckFuaW1hdGlvbkZyYW1lcygyKTsKKyAgfSk7CisKKyAgYW5pbWF0aW9uLmZpbmlzaGVk
LnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgnZmlu
aXNoZWQgcHJvbWlzZSBzaG91bGQgbm90IHJlc29sdmUgd2hlbiBwbGF5YmFja1JhdGUgJyArCisg
ICAgICAgICAgICAgICAgICAgICAnaXMgemVybycpOworICB9KSk7CisKKyAgcmV0dXJuIHJldFBy
b21pc2U7Cit9LCAnVGVzdCBmaW5pc2hlZCBwcm9taXNlIGNoYW5nZXMgd2hlbiBwbGF5YmFja1Jh
dGUgPT0gMCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3Jl
YXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BF
Ul9TRUMpOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAg
YW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IC0xOworICAgIHJldHVybiBhbmltYXRpb24uZmluaXNo
ZWQ7CisgIH0pOworfSwgJ1Rlc3QgZmluaXNoZWQgcHJvbWlzZSByZXNvbHZlcyB3aGVuIHJlYWNo
aW5nIHRvIHRoZSBuYXR1cmFsIGJvdW5kYXJ5LicpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFu
aW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgcHJldmlvdXNGaW5pc2hlZFByb21p
c2UgPSBhbmltYXRpb24uZmluaXNoZWQ7CisgIGFuaW1hdGlvbi5maW5pc2goKTsKKyAgcmV0dXJu
IGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jdXJy
ZW50VGltZSA9IDA7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9uLmZpbmlzaGVkLCBw
cmV2aW91c0ZpbmlzaGVkUHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICAgICAnRmluaXNoZWQg
cHJvbWlzZSBzaG91bGQgY2hhbmdlIG9uY2UgYSBwcmlvciAnICsKKyAgICAgICAgICAgICAgICAg
ICAgICAnZmluaXNoZWQgcHJvbWlzZSByZXNvbHZlZCBhbmQgdGhlIGFuaW1hdGlvbiAnICsKKyAg
ICAgICAgICAgICAgICAgICAgICAnZmFsbHMgb3V0IGZpbmlzaGVkIHN0YXRlJyk7CisgIH0pOwor
fSwgJ1Rlc3QgZmluaXNoZWQgcHJvbWlzZSBjaGFuZ2VzIHdoZW4gYSBwcmlvciBmaW5pc2hlZCBw
cm9taXNlIHJlc29sdmVkICcgKworICAgJ2FuZCB0aGUgYW5pbWF0aW9uIGZhbGxzIG91dCBmaW5p
c2hlZCBzdGF0ZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURp
dih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VD
KTsKKyAgdmFyIHByZXZpb3VzRmluaXNoZWRQcm9taXNlID0gYW5pbWF0aW9uLmZpbmlzaGVkOwor
ICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDOworICBhbmltYXRpb24u
Y3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
YXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAgICAgICAg
ICdObyBuZXcgZmluaXNoZWQgcHJvbWlzZSBnZW5lcmF0ZWQgd2hlbiBmaW5pc2hlZCBzdGF0ZSAn
ICsKKyAgICAgICAgICAgICAgICAnaXMgY2hlY2tlZCBhc3luY2hyb25vdXNseScpOworfSwgJ1Rl
c3Qgbm8gbmV3IGZpbmlzaGVkIHByb21pc2UgZ2VuZXJhdGVkIHdoZW4gZmluaXNoZWQgc3RhdGUg
JyArCisgICAnaXMgY2hlY2tlZCBhc3luY2hyb25vdXNseScpOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmlt
YXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIHByZXZpb3VzRmluaXNoZWRQcm9taXNl
ID0gYW5pbWF0aW9uLmZpbmlzaGVkOworICBhbmltYXRpb24uZmluaXNoKCk7CisgIGFuaW1hdGlv
bi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUMgLyAyOworICBhc3NlcnRfbm90X2VxdWFs
cyhhbmltYXRpb24uZmluaXNoZWQsIHByZXZpb3VzRmluaXNoZWRQcm9taXNlLAorICAgICAgICAg
ICAgICAgICAgICAnTmV3IGZpbmlzaGVkIHByb21pc2UgZ2VuZXJhdGVkIHdoZW4gZmluaXNoZWQg
c3RhdGUgJyArCisgICAgICAgICAgICAgICAgICAgICdpcyBjaGVja2VkIHN5bmNocm9ub3VzbHkn
KTsKK30sICdUZXN0IG5ldyBmaW5pc2hlZCBwcm9taXNlIGdlbmVyYXRlZCB3aGVuIGZpbmlzaGVk
IHN0YXRlICcgKworICAgJ2lzIGNoZWNrZWQgc3luY2hyb25vdXNseScpOworCitwcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0
aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgcmVzb2x2ZWRG
aW5pc2hlZCA9IGZhbHNlOworICBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsK
KyAgICByZXNvbHZlZEZpbmlzaGVkID0gdHJ1ZTsKKyAgfSk7CisgIHJldHVybiBhbmltYXRpb24u
cmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24uZmluaXNoKCk7CisgICAgYW5p
bWF0aW9uLmN1cnJlbnRUaW1lID0gMTAwICogTVNfUEVSX1NFQyAvIDI7CisgIH0pLnRoZW4oZnVu
Y3Rpb24oKSB7CisgICAgYXNzZXJ0X3RydWUocmVzb2x2ZWRGaW5pc2hlZCwKKyAgICAgICdBbmlt
YXRpb24uZmluaXNoZWQgc2hvdWxkIGJlIHJlc29sdmVkIGV2ZW4gaWYgJyArCisgICAgICAndGhl
IGZpbmlzaGVkIHN0YXRlIGlzIGNoYW5nZWQgc29vbicpOworICB9KTsKKworfSwgJ1Rlc3Qgc3lu
Y2hyb25vdXMgZmluaXNoZWQgcHJvbWlzZSByZXNvbHZlZCBldmVuIGlmIGZpbmlzaGVkIHN0YXRl
ICcgKworICAgJ2lzIGNoYW5nZWQgc29vbicpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1h
dGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgcmVzb2x2ZWRGaW5pc2hlZCA9IGZhbHNl
OworICBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICByZXNvbHZlZEZp
bmlzaGVkID0gdHJ1ZTsKKyAgfSk7CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1
bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7
CisgICAgYW5pbWF0aW9uLmZpbmlzaCgpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFz
c2VydF90cnVlKHJlc29sdmVkRmluaXNoZWQsCisgICAgICAnQW5pbWF0aW9uLmZpbmlzaGVkIHNo
b3VsZCBiZSByZXNvbHZlZCBzb29uIGFmdGVyIGZpbmlzaCgpIGlzICcgKworICAgICAgJ2NhbGxl
ZCBldmVuIGlmIHRoZXJlIGFyZSBvdGhlciBhc3luY2hyb25vdXMgcHJvbWlzZXMganVzdCBiZWZv
cmUgaXQnKTsKKyAgfSk7Cit9LCAnVGVzdCBzeW5jaHJvbm91cyBmaW5pc2hlZCBwcm9taXNlIHJl
c29sdmVkIGV2ZW4gaWYgYXN5bmNocm9ub3VzICcgKworICAgJ2ZpbmlzaGVkIHByb21pc2UgaGFw
cGVucyBqdXN0IGJlZm9yZSBzeW5jaHJvbm91cyBwcm9taXNlJyk7CisKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24g
PSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5maW5pc2hl
ZC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF91bnJlYWNoZWQoJ0Fu
aW1hdGlvbi5maW5pc2hlZCBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7CisgIH0pKTsKKworICBy
ZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9uLmN1
cnJlbnRUaW1lID0gMTAwICogTVNfUEVSX1NFQzsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUg
PSAxMDAgKiBNU19QRVJfU0VDIC8gMjsKKyAgfSk7Cit9LCAnVGVzdCBmaW5pc2hlZCBwcm9taXNl
IGlzIG5vdCByZXNvbHZlZCB3aGVuIHRoZSBhbmltYXRpb24gJyArCisgICAnZmFsbHMgb3V0IGZp
bmlzaGVkIHN0YXRlIGltbWVkaWF0ZWx5Jyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0
ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihm
dW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VD
OworICAgIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewor
ICAgICAgYXNzZXJ0X3VucmVhY2hlZCgnQW5pbWF0aW9uLmZpbmlzaGVkIHNob3VsZCBub3QgYmUg
cmVzb2x2ZWQnKTsKKyAgICB9KSk7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMDsKKyAg
fSk7CisKK30sICdUZXN0IGZpbmlzaGVkIHByb21pc2UgaXMgbm90IHJlc29sdmVkIG9uY2UgdGhl
IGFuaW1hdGlvbiAnICsKKyAgICdmYWxscyBvdXQgZmluaXNoZWQgc3RhdGUgZXZlbiB0aG91Z2gg
dGhlIGN1cnJlbnQgZmluaXNoZWQgJyArCisgICAncHJvbWlzZSBpcyBnZW5lcmF0ZWQgc29vbiBh
ZnRlciBhbmltYXRpb24gc3RhdGUgYmVjYW1lIGZpbmlzaGVkJyk7CisKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxs
LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgdmFyIHJlYWR5ID0gZmFsc2U7CisgIGFuaW1hdGlvbi5y
ZWFkeS50aGVuKAorICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgcmVhZHkgPSB0
cnVlOworICAgIH0pLAorICAgIHQudW5yZWFjaGVkX2Z1bmMoJ1JlYWR5IHByb21pc2UgbXVzdCBu
b3QgYmUgcmVqZWN0ZWQnKQorICApOworCisgIHZhciB0ZXN0U3VjY2VzcyA9IGFuaW1hdGlvbi5m
aW5pc2hlZC50aGVuKAorICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0
X3RydWUocmVhZHksICdSZWFkeSBwcm9taXNlIGhhcyByZXNvbHZlZCcpOworICAgIH0pLAorICAg
IHQudW5yZWFjaGVkX2Z1bmMoJ0ZpbmlzaGVkIHByb21pc2UgbXVzdCBub3QgYmUgcmVqZWN0ZWQn
KQorICApOworCisgIHZhciB0aW1lb3V0ID0gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygzKS50aGVu
KGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnRmluaXNoZWQgcHJvbWlz
ZSBkaWQgbm90IGFycml2ZSBpbiB0aW1lJyk7CisgIH0pOworCisgIGFuaW1hdGlvbi5maW5pc2go
KTsKKyAgcmV0dXJuIFByb21pc2UucmFjZShbdGltZW91dCwgdGVzdFN1Y2Nlc3NdKTsKK30sICdG
aW5pc2hlZCBwcm9taXNlIHNob3VsZCBiZSByZXNvbHZlZCBhZnRlciB0aGUgcmVhZHkgcHJvbWlz
ZSBpcyByZXNvbHZlZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5p
bWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7Cisg
IHZhciBjYXVnaHQgPSBmYWxzZTsKKyAgYW5pbWF0aW9uLnJlYWR5LnRoZW4oCisgICAgdC51bnJl
YWNoZWRfZnVuYygnUmVhZHkgcHJvbWlzZSBtdXN0IG5vdCBiZSByZXNvbHZlZCcpLAorICAgIHQu
c3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgY2F1Z2h0ID0gdHJ1ZTsKKyAgICB9KQorICAp
OworCisgIHZhciB0ZXN0U3VjY2VzcyA9IGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKAorICAgIHQu
dW5yZWFjaGVkX2Z1bmMoJ0ZpbmlzaGVkIHByb21pc2UgbXVzdCBub3QgYmUgcmVzb2x2ZWQnKSwK
KyAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF90cnVlKGNhdWdodCwg
J1JlYWR5IHByb21pc2UgaGFzIGJlZW4gcmVqZWN0ZWQnKTsKKyAgICB9KQorICApOworCisgIHZh
ciB0aW1lb3V0ID0gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygzKS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnRmluaXNoZWQgcHJvbWlzZSB3YXMgbm90IHJlamVj
dGVkIGluIHRpbWUnKTsKKyAgfSk7CisKKyAgYW5pbWF0aW9uLmNhbmNlbCgpOworICByZXR1cm4g
UHJvbWlzZS5yYWNlKFt0aW1lb3V0LCB0ZXN0U3VjY2Vzc10pOworfSwgJ0ZpbmlzaGVkIHByb21p
c2Ugc2hvdWxkIGJlIHJlamVjdGVkIGFmdGVyIHRoZSByZWFkeSBwcm9taXNlIGlzIHJlamVjdGVk
Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vaWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
aWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjODFhMTE4NzAyYjk4ZDRlNDU4YzE4MTViZmYz
NTBiMDA5Y2U2NzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACisKK0ZBSUwgQW5pbWF0aW9uLmlkIGluaXRpYWwgdmFsdWUgZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywg
J2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEFuaW1hdGlvbi5pZCBzZXR0ZXIgZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1T
X1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2lk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbi9pZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmYWRkNTYyMzY5OTUxZTkzMDVlNTYzODQ2ZDE4
OThlMTRmOWFmMmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZC5odG1sCkBAIC0wLDAgKzEsMjggQEAK
KzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5BbmltYXRpb24u
aWQ8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8v
d2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb24taWQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21t
b24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVE
aXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NF
Qyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmlkLCAnJywgJ2lkIGZvciBBbmltYXRpb24g
aXMgaW5pdGlhbGx5IGVtcHR5Jyk7Cit9LCAnQW5pbWF0aW9uLmlkIGluaXRpYWwgdmFsdWUnKTsK
KwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBh
bmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlv
bi5pZCA9ICdhbmltJzsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5pZCwgJ2FuaW0nLCAn
YW5pbWF0aW9uLmlkIHJlZmxlY3RzIHRoZSB2YWx1ZSBzZXQnKTsKK30sICdBbmltYXRpb24uaWQg
c2V0dGVyJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vaWRsaGFybmVzcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0FuaW1hdGlvbi9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzcyYjhk
MGY4ZmE3NWVmNDhmMTE2NDQ0MjYwNjY3MDkxNDI1NWE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vaWRs
aGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NiBAQAorCitQQVNTIEFuaW1hdGlvbiBp
bnRlcmZhY2UgYXV0b21hdGVkIElETCB0ZXN0cyAKK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X2VxdWFs
czogcHJvdG90eXBlIG9mIEFuaW1hdGlvbiBpcyBub3QgRXZlbnRUYXJnZXQgZXhwZWN0ZWQgZnVu
Y3Rpb24gImZ1bmN0aW9uIEV2ZW50VGFyZ2V0KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1
dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgorUEFT
UyBBbmltYXRpb24gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIEFuaW1hdGlvbiBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfZXF1YWxz
OiBwcm90b3R5cGUgb2YgQW5pbWF0aW9uLnByb3RvdHlwZSBpcyBub3QgRXZlbnRUYXJnZXQucHJv
dG90eXBlIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBFdmVudFRhcmdldFByb3RvdHlwZV0iIGJ1
dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iCitQQVNTIEFuaW1hdGlvbiBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBpZCBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJv
cGVydHkgImlkIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBBbmltYXRpb24gaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgZWZmZWN0IAorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgdGltZWxpbmUgYXNzZXJ0X2VxdWFsczogc2V0dGVyIG11c3QgYmUgZnVuY3Rpb24gZm9yIFB1
dEZvcndhcmRzLCBSZXBsYWNlYWJsZSwgb3Igbm9uLXJlYWRvbmx5IGF0dHJpYnV0ZXMgZXhwZWN0
ZWQgImZ1bmN0aW9uIiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIEFuaW1hdGlvbiBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBzdGFydFRpbWUgCitQQVNTIEFuaW1hdGlvbiBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBjdXJyZW50VGltZSAKK1BBU1MgQW5pbWF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHBs
YXliYWNrUmF0ZSAKK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHBsYXlTdGF0
ZSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkg
InBsYXlTdGF0ZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgQW5pbWF0aW9uIGludGVy
ZmFjZTogYXR0cmlidXRlIHJlYWR5IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBt
dXN0IGhhdmUgYSBwcm9wZXJ0eSAicmVhZHkiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlM
IEFuaW1hdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmaW5pc2hlZCBhc3NlcnRfdHJ1ZTogVGhl
IHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgImZpbmlzaGVkIiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25m
aW5pc2ggYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3Bl
cnR5ICJvbmZpbmlzaCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgQW5pbWF0aW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uY2FuY2VsIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9i
amVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25jYW5jZWwiIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjYW5jZWwoKSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0
aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJjYW5jZWwiIG1pc3NpbmcKK0ZBSUwgQW5p
bWF0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGZpbmlzaCgpIGFzc2VydF9vd25fcHJvcGVydHk6
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24g
ZXhwZWN0ZWQgcHJvcGVydHkgImZpbmlzaCIgbWlzc2luZworRkFJTCBBbmltYXRpb24gaW50ZXJm
YWNlOiBvcGVyYXRpb24gcGxheSgpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVy
dHkgInBsYXkiIG1pc3NpbmcKK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIHBh
dXNlKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlz
c2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAicGF1c2UiIG1pc3Np
bmcKK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIHJldmVyc2UoKSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0
aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJyZXZlcnNlIiBtaXNzaW5nCitQQVNTIEFu
aW1hdGlvbiBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBBbmltYXRpb24oKSAKK1BB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBBbmltYXRpb24oKSAKK0ZBSUwgQW5pbWF0aW9uIGlu
dGVyZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaWQiIHdpdGgg
dGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImlkIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCitQQVNTIEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRp
b24oKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVmZmVjdCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CitQQVNTIEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInRpbWVsaW5lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgQW5pbWF0aW9u
IGludGVyZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhcnRU
aW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgQW5pbWF0aW9uIGludGVyZmFjZTogbmV3
IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY3VycmVudFRpbWUiIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJwbGF5YmFja1JhdGUiIHdpdGggdGhlIHByb3BlciB0eXBl
IAorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJwbGF5U3RhdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0
czogcHJvcGVydHkgInBsYXlTdGF0ZSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJ
TCBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJyZWFkeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0
eSAicmVhZHkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgQW5pbWF0aW9uIGlu
dGVyZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZmluaXNoZWQi
IHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImZpbmlzaGVk
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIEFuaW1hdGlvbiBpbnRlcmZhY2U6
IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uZmluaXNoIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJvbmZpbmlzaCIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5p
bWF0aW9uKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNhbmNlbCIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAib25jYW5jZWwiIG5vdCBmb3VuZCBpbiBw
cm90b3R5cGUgY2hhaW4KK0ZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTogbmV3IEFuaW1hdGlvbigp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY2FuY2VsKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFz
c2VydF9pbmhlcml0czogcHJvcGVydHkgImNhbmNlbCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBj
aGFpbgorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJmaW5pc2goKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVy
aXRzOiBwcm9wZXJ0eSAiZmluaXNoIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlM
IEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInBsYXkoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0
eSAicGxheSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBBbmltYXRpb24gaW50
ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwYXVzZSgpIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJwYXVzZSIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcg
QW5pbWF0aW9uKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZXZlcnNlKCkiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJldmVyc2UiIG5vdCBmb3VuZCBp
biBwcm90b3R5cGUgY2hhaW4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vaWRsaGFybmVzcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vaWRsaGFy
bmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxMzk1OGYxYzYzMDZmYjcwYWZkNTQwZTZkOTM4ZTZiYzU0
ODgxMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZGxoYXJuZXNzLmh0bWwKQEAgLTAsMCArMSw1MSBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFuaW1hdGlv
biBpbnRlcmZhY2UgYXV0b21hdGVkIElETCB0ZXN0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9XZWJJRExQYXJzZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L3BsYWlu
IiBpZD0iQW5pbWF0aW9uLUlETCI+CitlbnVtIEFuaW1hdGlvblBsYXlTdGF0ZSB7ICJpZGxlIiwg
InBlbmRpbmciLCAicnVubmluZyIsICJwYXVzZWQiLCAiZmluaXNoZWQiIH07CisKK1tDb25zdHJ1
Y3RvciAob3B0aW9uYWwgQW5pbWF0aW9uRWZmZWN0UmVhZE9ubHk/IGVmZmVjdCA9IG51bGwsCisg
ICAgICAgICAgICAgIG9wdGlvbmFsIEFuaW1hdGlvblRpbWVsaW5lPyB0aW1lbGluZSldCitpbnRl
cmZhY2UgQW5pbWF0aW9uIDogRXZlbnRUYXJnZXQgeworICAgICAgICAgICAgIGF0dHJpYnV0ZSBE
T01TdHJpbmcgICAgICAgICAgICAgICAgaWQ7CisgICAgICAgICAgICAgYXR0cmlidXRlIEFuaW1h
dGlvbkVmZmVjdFJlYWRPbmx5PyBlZmZlY3Q7CisgICAgICAgICAgICAgYXR0cmlidXRlIEFuaW1h
dGlvblRpbWVsaW5lPyAgICAgICB0aW1lbGluZTsKKyAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91
YmxlPyAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTsKKyAgICAgICAgICAgICBhdHRyaWJ1dGUg
ZG91YmxlPyAgICAgICAgICAgICAgICAgIGN1cnJlbnRUaW1lOworICAgICAgICAgICAgIGF0dHJp
YnV0ZSBkb3VibGUgICAgICAgICAgICAgICAgICAgcGxheWJhY2tSYXRlOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBBbmltYXRpb25QbGF5U3RhdGUgICAgICAgcGxheVN0YXRlOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBQcm9taXNlPEFuaW1hdGlvbj4gICAgICAgcmVhZHk7CisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFByb21pc2U8QW5pbWF0aW9uPiAgICAgICBmaW5pc2hlZDsKKyAgICAgICAg
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICAgICAgIG9uZmluaXNoOworICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgICAgICAgb25jYW5jZWw7CisgICAg
dm9pZCBjYW5jZWwgKCk7CisgICAgdm9pZCBmaW5pc2ggKCk7CisgICAgdm9pZCBwbGF5ICgpOwor
ICAgIHZvaWQgcGF1c2UgKCk7CisgICAgdm9pZCByZXZlcnNlICgpOworfTsKKzwvc2NyaXB0Pgor
PHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIGNvbnN0IGlk
bEFycmF5ID0gbmV3IElkbEFycmF5KCk7CisKKyAgaWRsQXJyYXkuYWRkX3VudGVzdGVkX2lkbHMo
J2ludGVyZmFjZSBBbmltYXRpb25UaW1lbGluZSB7fTsnKTsKKyAgaWRsQXJyYXkuYWRkX3VudGVz
dGVkX2lkbHMoJ2ludGVyZmFjZSBFdmVudEhhbmRsZXIge307Jyk7CisgIGlkbEFycmF5LmFkZF91
bnRlc3RlZF9pZGxzKCdpbnRlcmZhY2UgRXZlbnRUYXJnZXQge307Jyk7CisgIGlkbEFycmF5LmFk
ZF9pZGxzKAorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdBbmltYXRpb24tSURMJykudGV4
dENvbnRlbnQpOworCisgIC8vIGNvbnN0IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRl
KG51bGwpOworICBpZGxBcnJheS5hZGRfb2JqZWN0cyggeyBBbmltYXRpb246IFsnbmV3IEFuaW1h
dGlvbigpJ10gfSApOworICBpZGxBcnJheS50ZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbi9vbmNhbmNlbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9vbmNhbmNlbC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWIzMGZmODcyY2ExOTAxMGVkM2NiMjlkZmFjMjBhYmI2N2MxMDNkOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uL29uY2FuY2VsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJ
TCBvbmNhbmNlbCBldmVudCBpcyBmaXJlZCB3aGVuIGFuaW1hdGlvbi5jYW5jZWwoKSBpcyBjYWxs
ZWQuIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAx
MDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvbi9vbmNhbmNlbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb24vb25jYW5jZWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGQ5Y2VkNjFl
Y2ZiY2U0MGU0Njc0YzdiM2QwMTM5YjE4MWQ0MDViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vb25jYW5j
ZWwuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9
dXRmLTg+Cis8dGl0bGU+QW5pbWF0aW9uLm9uY2FuY2VsPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20tYW5pbWF0
aW9uLW9uY2FuY2VsIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxi
b2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK2Fz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIg
YW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgZmlu
aXNoZWRUaW1lbGluZVRpbWU7CisgIGFuaW1hdGlvbi5maW5pc2hlZC50aGVuKCkuY2F0Y2goZnVu
Y3Rpb24oKSB7CisgICAgZmluaXNoZWRUaW1lbGluZVRpbWUgPSBhbmltYXRpb24udGltZWxpbmUu
Y3VycmVudFRpbWU7CisgIH0pOworCisgIGFuaW1hdGlvbi5vbmNhbmNlbCA9IHQuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmN1cnJlbnRU
aW1lLCBudWxsLAorICAgICAgJ2V2ZW50LmN1cnJlbnRUaW1lIHNob3VsZCBiZSBudWxsJyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhldmVudC50aW1lbGluZVRpbWUsIGZpbmlzaGVkVGltZWxpbmVUaW1l
LAorICAgICAgJ2V2ZW50LnRpbWVsaW5lVGltZSBzaG91bGQgZXF1YWwgdG8gdGhlIGFuaW1hdGlv
biB0aW1lbGluZSAnICsKKyAgICAgICd3aGVuIGZpbmlzaGVkIHByb21pc2UgaXMgcmVqZWN0ZWQn
KTsKKyAgfSk7CisKKyAgYW5pbWF0aW9uLmNhbmNlbCgpOworfSwgJ29uY2FuY2VsIGV2ZW50IGlz
IGZpcmVkIHdoZW4gYW5pbWF0aW9uLmNhbmNlbCgpIGlzIGNhbGxlZC4nKTsKKworPC9zY3JpcHQ+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9vbmZpbmlzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9vbmZpbmlzaC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDAxOGIzNjFhMWUxNTI5MjNkZTYzN2Y0ZTI0YmYwYjZi
OWNlNmE4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL29uZmluaXNoLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDggQEAKKworRkFJTCBvbmZpbmlzaCBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBjdXJyZW50
VGltZSA8IDAgYW5kIHRoZSBwbGF5YmFja1JhdGUgPCAwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBvbmZpbmlzaCBldmVudCBpcyBmaXJlZCB3aGVuIHRo
ZSBjdXJyZW50VGltZSA+IDAgYW5kIHRoZSBwbGF5YmFja1JhdGUgPiAwIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBvbmZpbmlzaCBldmVudCBpcyBmaXJl
ZCB3aGVuIGFuaW1hdGlvbi5maW5pc2goKSBpcyBjYWxsZWQgZGl2LmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIG9uZmluaXNoIGV2ZW50IGlzIG5vdCBmaXJlZCB3
aGVuIHBhdXNlZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0
ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgb25maW5pc2ggZXZlbnQgaXMgbm90IGZpcmVkIHdoZW4gdGhlIHBsYXliYWNrUmF0ZSBpcyB6
ZXJvIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAx
MDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBvbmZp
bmlzaCBldmVudCBpcyBub3QgZmlyZWQgd2hlbiB0aGUgYW5pbWF0aW9uIGZhbGxzIG91dCBmaW5p
c2hlZCBzdGF0ZSBpbW1lZGlhdGVseSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb24vb25maW5pc2guaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL29uZmluaXNoLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTBlNWJlZDZiMTNjNTVjOWFlMDUwNWVjZjJlZDM0ZjJjOTY1ZGFlNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uL29uZmluaXNoLmh0bWwKQEAgLTAsMCArMSwxMjEgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5BbmltYXRpb24ub25maW5pc2g8L3Rp
dGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFu
aW1hdGlvbnMvI2RvbS1hbmltYXRpb24tb25maW5pc2giPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21t
b24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNf
UEVSX1NFQyk7CisgIHZhciBmaW5pc2hlZFRpbWVsaW5lVGltZTsKKyAgYW5pbWF0aW9uLmZpbmlz
aGVkLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgZmluaXNoZWRUaW1lbGluZVRpbWUgPSBhbmltYXRp
b24udGltZWxpbmUuY3VycmVudFRpbWU7CisgIH0pOworCisgIGFuaW1hdGlvbi5vbmZpbmlzaCA9
IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGV2
ZW50LmN1cnJlbnRUaW1lLCAwLAorICAgICAgJ2V2ZW50LmN1cnJlbnRUaW1lIHNob3VsZCBiZSB6
ZXJvJyk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC50aW1lbGluZVRpbWUsIGZpbmlzaGVkVGlt
ZWxpbmVUaW1lLAorICAgICAgJ2V2ZW50LnRpbWVsaW5lVGltZSBzaG91bGQgZXF1YWwgdG8gdGhl
IGFuaW1hdGlvbiB0aW1lbGluZSAnICsKKyAgICAgICd3aGVuIGZpbmlzaGVkIHByb21pc2UgaXMg
cmVzb2x2ZWQnKTsKKyAgfSk7CisKKyAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IC0xOworfSwg
J29uZmluaXNoIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIGN1cnJlbnRUaW1lIDwgMCBhbmQgJyAr
CisgICAndGhlIHBsYXliYWNrUmF0ZSA8IDAnKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0
ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisKKyAgdmFyIGZpbmlzaGVkVGltZWxpbmVUaW1lOwor
ICBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbigpIHsKKyAgICBmaW5pc2hlZFRpbWVs
aW5lVGltZSA9IGFuaW1hdGlvbi50aW1lbGluZS5jdXJyZW50VGltZTsKKyAgfSk7CisKKyAgYW5p
bWF0aW9uLm9uZmluaXNoID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihldmVudCkgeworICAg
IGFzc2VydF9lcXVhbHMoZXZlbnQuY3VycmVudFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMsCisgICAg
ICAnZXZlbnQuY3VycmVudFRpbWUgc2hvdWxkIGJlIHRoZSBlZmZlY3QgZW5kJyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhldmVudC50aW1lbGluZVRpbWUsIGZpbmlzaGVkVGltZWxpbmVUaW1lLAorICAg
ICAgJ2V2ZW50LnRpbWVsaW5lVGltZSBzaG91bGQgZXF1YWwgdG8gdGhlIGFuaW1hdGlvbiB0aW1l
bGluZSAnICsKKyAgICAgICd3aGVuIGZpbmlzaGVkIHByb21pc2UgaXMgcmVzb2x2ZWQnKTsKKyAg
fSk7CisKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMTAwICogTVNfUEVSX1NFQzsKK30sICdv
bmZpbmlzaCBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBjdXJyZW50VGltZSA+IDAgYW5kICcgKwor
ICAgJ3RoZSBwbGF5YmFja1JhdGUgPiAwJyk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUo
e30sIDEwMCAqIE1TX1BFUl9TRUMpOworCisgIHZhciBmaW5pc2hlZFRpbWVsaW5lVGltZTsKKyAg
YW5pbWF0aW9uLmZpbmlzaGVkLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgZmluaXNoZWRUaW1lbGlu
ZVRpbWUgPSBhbmltYXRpb24udGltZWxpbmUuY3VycmVudFRpbWU7CisgIH0pOworCisgIGFuaW1h
dGlvbi5vbmZpbmlzaCA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBh
c3NlcnRfZXF1YWxzKGV2ZW50LmN1cnJlbnRUaW1lLCAxMDAgKiBNU19QRVJfU0VDLAorICAgICAg
J2V2ZW50LmN1cnJlbnRUaW1lIHNob3VsZCBiZSB0aGUgZWZmZWN0IGVuZCcpOworICAgIGFzc2Vy
dF9lcXVhbHMoZXZlbnQudGltZWxpbmVUaW1lLCBmaW5pc2hlZFRpbWVsaW5lVGltZSwKKyAgICAg
ICdldmVudC50aW1lbGluZVRpbWUgc2hvdWxkIGVxdWFsIHRvIHRoZSBhbmltYXRpb24gdGltZWxp
bmUgJyArCisgICAgICAnd2hlbiBmaW5pc2hlZCBwcm9taXNlIGlzIHJlc29sdmVkJyk7CisgIH0p
OworCisgIGFuaW1hdGlvbi5maW5pc2goKTsKK30sICdvbmZpbmlzaCBldmVudCBpcyBmaXJlZCB3
aGVuIGFuaW1hdGlvbi5maW5pc2goKSBpcyBjYWxsZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRp
di5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKworICBhbmltYXRpb24ub25maW5pc2gg
PSBmdW5jdGlvbihldmVudCkgeworICAgIGFzc2VydF91bnJlYWNoZWQoJ29uZmluaXNoIGV2ZW50
IHNob3VsZCBub3QgYmUgZmlyZWQnKTsKKyAgfTsKKworICBhbmltYXRpb24uY3VycmVudFRpbWUg
PSAxMDAgKiBNU19QRVJfU0VDIC8gMjsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisKKyAgcmV0dXJu
IGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5jdXJyZW50
VGltZSA9IDEwMCAqIE1TX1BFUl9TRUM7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFt
ZXMoMik7CisgIH0pOworfSwgJ29uZmluaXNoIGV2ZW50IGlzIG5vdCBmaXJlZCB3aGVuIHBhdXNl
ZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2
KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMp
OworICBhbmltYXRpb24ub25maW5pc2ggPSBmdW5jdGlvbihldmVudCkgeworICAgIGFzc2VydF91
bnJlYWNoZWQoJ29uZmluaXNoIGV2ZW50IHNob3VsZCBub3QgYmUgZmlyZWQnKTsKKyAgfTsKKwor
ICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbWF0aW9u
LnBsYXliYWNrUmF0ZSA9IDA7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMTAwICogTVNf
UEVSX1NFQzsKKyAgICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygyKTsKKyAgfSk7Cit9
LCAnb25maW5pc2ggZXZlbnQgaXMgbm90IGZpcmVkIHdoZW4gdGhlIHBsYXliYWNrUmF0ZSBpcyB6
ZXJvJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVE
aXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NF
Qyk7CisgIGFuaW1hdGlvbi5vbmZpbmlzaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgYXNzZXJ0
X3VucmVhY2hlZCgnb25maW5pc2ggZXZlbnQgc2hvdWxkIG5vdCBiZSBmaXJlZCcpOworICB9Owor
CisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRp
b24uY3VycmVudFRpbWUgPSAxMDAgKiBNU19QRVJfU0VDOworICAgIGFuaW1hdGlvbi5jdXJyZW50
VGltZSA9IDEwMCAqIE1TX1BFUl9TRUMgLyAyOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9u
RnJhbWVzKDIpOworICB9KTsKK30sICdvbmZpbmlzaCBldmVudCBpcyBub3QgZmlyZWQgd2hlbiB0
aGUgYW5pbWF0aW9uIGZhbGxzIG91dCAnICsKKyAgICdmaW5pc2hlZCBzdGF0ZSBpbW1lZGlhdGVs
eScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BhdXNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0
aW9uL3BhdXNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmMzOTRkZmNkOTZmMDhiMzZjYTQ2
NDYyZDUxMjRlMWJmZjkwNTczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGF1c2UtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsOCBAQAorCitGQUlMIHBhdXNlKCkgYSBydW5uaW5nIGFuaW1hdGlvbiBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwMCAqIE1T
X1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHBhdXNlKCkgZnJv
bSBpZGxlIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCAxMDAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
cGF1c2UoKSBmcm9tIGlkbGUgd2l0aCBhIG5lZ2F0aXZlIHBsYXliYWNrUmF0ZSBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwMCAqIE1TX1BFUl9T
RUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHBhdXNlKCkgZnJvbSBpZGxl
IHdpdGggYSBuZWdhdGl2ZSBwbGF5YmFja1JhdGUgYW5kIGVuZGxlc3MgZWZmZWN0IGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCB7ZHVyYXRpb246IDEw
MDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVy
YXRpb25zOiBJbmZpbml0eX0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHBh
dXNlKCkgb24gYSBmaW5pc2hlZCBhbmltYXRpb24gZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wYXVzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGF1c2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iY2ZhZjRhOWI4MjNmNWI5NjkwYjI4NjQ0NDA3OWM5NzA1Y2QwMWQyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRpb24vcGF1c2UuaHRtbApAQCAtMCwwICsxLDk4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QW5pbWF0aW9uLnBhdXNlKCk8L3RpdGxl
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1h
dGlvbnMvI2RvbS1hbmltYXRpb24tcGF1c2UiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMi
Pjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ug
c3RyaWN0IjsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAwICogTVNfUEVS
X1NFQyk7CisgIHZhciBwcmV2aW91c0N1cnJlbnRUaW1lID0gYW5pbWF0aW9uLmN1cnJlbnRUaW1l
OworCisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbih3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
KDEpKS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF90cnVlKGFuaW1hdGlvbi5jdXJyZW50
VGltZSA+PSBwcmV2aW91c0N1cnJlbnRUaW1lLAorICAgICAgICAgICAgICAgICdjdXJyZW50VGlt
ZSBpcyBpbml0aWFsbHkgaW5jcmVhc2luZycpOworICAgIGFuaW1hdGlvbi5wYXVzZSgpOworICAg
IHJldHVybiBhbmltYXRpb24ucmVhZHk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcHJl
dmlvdXNDdXJyZW50VGltZSA9IGFuaW1hdGlvbi5jdXJyZW50VGltZTsKKyAgICByZXR1cm4gd2Fp
dEZvckFuaW1hdGlvbkZyYW1lcygxKTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgcHJldmlvdXNDdXJyZW50VGltZSwKKyAg
ICAgICAgICAgICAgICAgICdjdXJyZW50VGltZSBkb2VzIG5vdCBpbmNyZWFzZSBhZnRlciBjYWxs
aW5nIHBhdXNlKCknKTsKKyAgfSk7Cit9LCAncGF1c2UoKSBhIHJ1bm5pbmcgYW5pbWF0aW9uJyk7
CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7
CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwMCAqIE1TX1BFUl9TRUMpOwor
CisgIC8vIEdvIHRvIGlkbGUgc3RhdGUgdGhlbiBwYXVzZQorICBhbmltYXRpb24uY2FuY2VsKCk7
CisgIGFuaW1hdGlvbi5wYXVzZSgpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJl
bnRUaW1lLCAwLCAnY3VycmVudFRpbWUgaXMgc2V0IHRvIDAnKTsKKyAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb24uc3RhcnRUaW1lLCBudWxsLCAnc3RhcnRUaW1lIGlzIG5vdCBzZXQnKTsKKyAgYXNz
ZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVuZGluZycsICdpbml0aWFsbHkgcGF1
c2UtcGVuZGluZycpOworCisgIC8vIENoZWNrIGl0IHN0aWxsIHJlc29sdmVzIGFzIGV4cGVjdGVk
CisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRf
ZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwYXVzZWQnLAorICAgICAgICAgICAgICAgICAg
J3Jlc29sdmVzIHRvIHBhdXNlZCBzdGF0ZSBhc3luY2hyb25vdXNseScpOworICAgIGFzc2VydF9l
cXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAwLAorICAgICAgICAgICAgICAgICAgJ2tlZXBz
IHRoZSBpbml0aWFsbHkgc2V0IGN1cnJlbnRUaW1lJyk7CisgIH0pOworfSwgJ3BhdXNlKCkgZnJv
bSBpZGxlJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVh
dGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwMCAqIE1TX1BF
Ul9TRUMpOworICBhbmltYXRpb24uY2FuY2VsKCk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUg
PSAtMTsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24u
Y3VycmVudFRpbWUsIDEwMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICdjdXJyZW50
VGltZSBpcyBzZXQgdG8gdGhlIGVmZmVjdCBlbmQnKTsKKworICByZXR1cm4gYW5pbWF0aW9uLnJl
YWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVu
dFRpbWUsIDEwMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgJ2tlZXBzIHRoZSBp
bml0aWFsbHkgc2V0IGN1cnJlbnRUaW1lJyk7CisgIH0pOworfSwgJ3BhdXNlKCkgZnJvbSBpZGxl
IHdpdGggYSBuZWdhdGl2ZSBwbGF5YmFja1JhdGUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7
fSwge2R1cmF0aW9uOiAxMDAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaXRlcmF0aW9uczogSW5maW5pdHl9KTsKKyAgYW5pbWF0aW9uLmNhbmNlbCgp
OworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gLTE7CisKKyAgYXNzZXJ0X3Rocm93cygnSW52
YWxpZFN0YXRlRXJyb3InLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsgYW5pbWF0aW9u
LnBhdXNlKCk7IH0sCisgICAgICAgICAgICAgICAgJ0V4cGVjdCBJbnZhbGlkU3RhdGVFcnJvciBl
eGNlcHRpb24gb24gY2FsbGluZyBwYXVzZSgpICcgKworICAgICAgICAgICAgICAgICdmcm9tIGlk
bGUgd2l0aCBhIG5lZ2F0aXZlIHBsYXliYWNrUmF0ZSBhbmQgJyArCisgICAgICAgICAgICAgICAg
J2luZmluaXRlLWR1cmF0aW9uIGFuaW1hdGlvbicpOworfSwgJ3BhdXNlKCkgZnJvbSBpZGxlIHdp
dGggYSBuZWdhdGl2ZSBwbGF5YmFja1JhdGUgYW5kIGVuZGxlc3MgZWZmZWN0Jyk7CisKK3Byb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBh
bmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwgMTAwMCAqIE1TX1BFUl9TRUMpOworICByZXR1cm4g
YW5pbWF0aW9uLnJlYWR5CisgICAgLnRoZW4oZnVuY3Rpb24oYW5pbWF0aW9uKSB7CisgICAgICBh
bmltYXRpb24uZmluaXNoKCk7CisgICAgICBhbmltYXRpb24ucGF1c2UoKTsKKyAgICAgIHJldHVy
biBhbmltYXRpb24ucmVhZHk7CisgICAgfSkudGhlbihmdW5jdGlvbihhbmltYXRpb24pIHsKKyAg
ICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAxMDAwICogTVNfUEVSX1NF
QywKKyAgICAgICAgICAgICAgICAgICAgJ2N1cnJlbnRUaW1lIGFmdGVyIHBhdXNpbmcgZmluaXNo
ZWQgYW5pbWF0aW9uJyk7CisgICAgfSk7Cit9LCAncGF1c2UoKSBvbiBhIGZpbmlzaGVkIGFuaW1h
dGlvbicpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Bbmlt
YXRpb24vcGxheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Q5YWI5YzczN2ExZDQyYzE0OTdh
M2FmZTMxYjI1YmY2MDMwZDIzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIHBsYXkoKSB0aHJvd3Mgd2hlbiBzZWVraW5nIGFuIGlu
ZmluaXRlLWR1cmF0aW9uIGFuaW1hdGlvbiBwbGF5ZWQgaW4gcmV2ZXJzZSB1bmRlZmluZWQgaXMg
bm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
cGxheS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9BbmltYXRpb24vcGxheS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2N2Q4ZGYxNzA3NmNhNDllNjVmMzM2
YzRmMThhZjczZWM2YmQ0MWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5Lmh0bWwKQEAgLTAsMCAr
MSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFu
aW1hdGlvbi5wbGF5KCk8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3cz
Yy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb24tcGxheSI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1h
dGUoeyB0cmFuc2Zvcm06IFsnbm9uZScsICd0cmFuc2xhdGUoMTBweCknXX0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uIDogMTAwICogTVNfUEVSX1NFQywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9ucyA6IEluZmluaXR5fSk7CisgIHJl
dHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICAvLyBTZWVrIHRvIGEg
dGltZSBvdXRzaWRlIHRoZSBhY3RpdmUgcmFuZ2Ugc28gdGhhdCBwbGF5KCkgd2lsbCBoYXZlIHRv
CisgICAgLy8gc25hcCBiYWNrIHRvIHRoZSBzdGFydAorICAgIGFuaW1hdGlvbi5jdXJyZW50VGlt
ZSA9IC01ICogTVNfUEVSX1NFQzsKKyAgICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gLTE7CisK
KyAgICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsCisgICAgICAgICAgICAgICAg
ICBmdW5jdGlvbiAoKSB7IGFuaW1hdGlvbi5wbGF5KCk7IH0sCisgICAgICAgICAgICAgICAgICAn
RXhwZWN0ZWQgSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uIG9uIGNhbGxpbmcgcGxheSgpICcg
KworICAgICAgICAgICAgICAgICAgJ3dpdGggYSBuZWdhdGl2ZSBwbGF5YmFja1JhdGUgYW5kIGlu
ZmluaXRlLWR1cmF0aW9uICcgKworICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbicpOworICB9
KTsKK30sICdwbGF5KCkgdGhyb3dzIHdoZW4gc2Vla2luZyBhbiBpbmZpbml0ZS1kdXJhdGlvbiBh
bmltYXRpb24gcGxheWVkIGluICcgKworICAgJ3JldmVyc2UnKTsKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbi9wbGF5U3RhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxheVN0YXRlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iMDFhNGYzM2I4ZDc2OGZmZGVhOWQ2ODRiZmNlZWExMDIyNDhi
MzU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxheVN0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDYgQEAKKworRkFJTCBBbmltYXRpb24ucGxheVN0YXRlIHJlcG9ydHMgJ3BlbmRpbmcnLT4ncnVu
bmluZycgd2hlbiBpbml0aWFsbHkgcGxheWVkIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBBbmltYXRpb24ucGxheVN0YXRlIHJlcG9ydHMgJ3BlbmRpbmcn
LT4ncGF1c2VkJyB3aGVuIHBhdXNpbmcgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIEFuaW1hdGlvbi5wbGF5U3RhdGUgaXMgJ2lkbGUnIHdoZW4gY2FuY2Vs
ZWQuIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAx
MDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBBbmlt
YXRpb24ucGxheVN0YXRlIGlzICdwYXVzZWQnIGFmdGVyIGNhbmNlbGxpbmcgYW4gYW5pbWF0aW9u
LCBzZWVraW5nIGl0IG1ha2VzIGl0IHBhdXNlZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vcGxheVN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5U3RhdGUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xNWFmNTI2Y2RlZjMwMDk2ZjFkNzljMmQ4ZmRjYTY4YTgwOTJjNWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb24vcGxheVN0YXRlLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFuaW1hdGlvbi5wbGF5
U3RhdGU8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb24tcGxheXN0YXRlIj4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7
fSwgMTAwICogTVNfUEVSX1NFQyk7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0
YXRlLCAncGVuZGluZycpOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24o
KSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncnVubmluZycpOwor
ICB9KTsKK30sICdBbmltYXRpb24ucGxheVN0YXRlIHJlcG9ydHMgXCdwZW5kaW5nXCctPlwncnVu
bmluZ1wnIHdoZW4gaW5pdGlhbGx5ICcgKworICAgJ3BsYXllZCcpOworCitwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9u
ID0gZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24ucGF1c2Uo
KTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJyk7Cisg
IHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1
YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwYXVzZWQnKTsKKyAgfSk7Cit9LCAnQW5pbWF0aW9u
LnBsYXlTdGF0ZSByZXBvcnRzIFwncGVuZGluZ1wnLT5cJ3BhdXNlZFwnIHdoZW4gcGF1c2luZycp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFy
IGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0
aW9uLmNhbmNlbCgpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdpZGxl
Jyk7Cit9LCAnQW5pbWF0aW9uLnBsYXlTdGF0ZSBpcyBcJ2lkbGVcJyB3aGVuIGNhbmNlbGVkLicp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFy
IGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0
aW9uLmNhbmNlbCgpOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSA1MCAqIE1TX1BFUl9TRUM7
CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BhdXNlZCcsCisgICAgICAg
ICAgICAgICAgJ0FmdGVyIHNlZWtpbmcgYW4gaWRsZSBhbmltYXRpb24sIGl0IGlzIGVmZmVjdGl2
ZWx5IHBhdXNlZCcpOworfSwgJ0FuaW1hdGlvbi5wbGF5U3RhdGUgaXMgXCdwYXVzZWRcJyBhZnRl
ciBjYW5jZWxsaW5nIGFuIGFuaW1hdGlvbiwgJyArCisgICAnc2Vla2luZyBpdCBtYWtlcyBpdCBw
YXVzZWQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9wbGF5YmFja1JhdGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRpb24vcGxheWJhY2tSYXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOWM3
ZmI2ZDcxNGUwY2ExMjIzMWU3ZmRjOTYzMTE4YmYwZWM3YzI4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
cGxheWJhY2tSYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworRkFJTCBUZXN0IHRo
ZSBpbml0aWFsIGVmZmVjdCBvZiBzZXR0aW5nIHBsYXliYWNrUmF0ZSBvbiBjdXJyZW50VGltZSBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShudWxsLCAxMDAg
KiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IHRo
ZSBlZmZlY3Qgb2Ygc2V0dGluZyBwbGF5YmFja1JhdGUgb24gY3VycmVudFRpbWUgZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVS
X1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB0aGUgZWZmZWN0
IG9mIHNldHRpbmcgcGxheWJhY2tSYXRlIHdoaWxlIHBsYXlpbmcgYW5pbWF0aW9uIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BF
Ul9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXli
YWNrUmF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRpb24vcGxheWJhY2tSYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzkyM2RmNmI0YmEz
NjFiMjNkMmIzZDJkOGM3MWZkMjZhMWFhNzcyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3BsYXliYWNr
UmF0ZS5odG1sCkBAIC0wLDAgKzEsODYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD11dGYtOD4KKzx0aXRsZT5BbmltYXRpb24ucGxheWJhY2tSYXRlPC90aXRsZT4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20t
YW5pbWF0aW9uLXBsYXliYWNrcmF0ZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJp
Y3QiOworCitmdW5jdGlvbiBhc3NlcnRfcGxheWJhY2tyYXRlKGFuaW1hdGlvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNBbmltYXRpb25DdXJyZW50VGltZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNUaW1lbGluZUN1cnJlbnRUaW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbikgeworICB2YXIgYWNjdXJhY3kg
PSAwLjAwMTsgLyogYWNjdXJhY3kgb2YgRE9NSGlnaFJlc1RpbWVTdGFtcCAqLworICB2YXIgYW5p
bWF0aW9uQ3VycmVudFRpbWVEaWZmZXJlbmNlID0KKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUg
LSBwcmV2aW91c0FuaW1hdGlvbkN1cnJlbnRUaW1lOworICB2YXIgdGltZWxpbmVDdXJyZW50VGlt
ZURpZmZlcmVuY2UgPQorICAgIGFuaW1hdGlvbi50aW1lbGluZS5jdXJyZW50VGltZSAtIHByZXZp
b3VzVGltZWxpbmVDdXJyZW50VGltZTsKKworICBhc3NlcnRfYXBwcm94X2VxdWFscyhhbmltYXRp
b25DdXJyZW50VGltZURpZmZlcmVuY2UsCisgICAgICAgICAgICAgICAgICAgICAgIHRpbWVsaW5l
Q3VycmVudFRpbWVEaWZmZXJlbmNlICogYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgYWNjdXJhY3ksCisgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0
aW9uKTsKK30KKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BF
Ul9TRUMpOworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAg
YW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gNyAqIE1TX1BFUl9TRUM7IC8vIG1zCisgICAgYW5pbWF0
aW9uLnBsYXliYWNrUmF0ZSA9IDAuNTsKKworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1
cnJlbnRUaW1lLCA3ICogTVNfUEVSX1NFQywKKyAgICAgICdSZWR1Y2luZyBBbmltYXRpb24ucGxh
eWJhY2tSYXRlIHNob3VsZCBub3QgY2hhbmdlIHRoZSBjdXJyZW50VGltZSAnICsKKyAgICAgICdv
ZiBhIHBsYXlpbmcgYW5pbWF0aW9uJyk7CisgICAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IDI7
CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDcgKiBNU19QRVJfU0VD
LAorICAgICAgJ0luY3JlYXNpbmcgQW5pbWF0aW9uLnBsYXliYWNrUmF0ZSBzaG91bGQgbm90IGNo
YW5nZSB0aGUgY3VycmVudFRpbWUgJyArCisgICAgICAnb2YgYSBwbGF5aW5nIGFuaW1hdGlvbicp
OworICB9KTsKK30sICdUZXN0IHRoZSBpbml0aWFsIGVmZmVjdCBvZiBzZXR0aW5nIHBsYXliYWNr
UmF0ZSBvbiBjdXJyZW50VGltZScpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUobnVs
bCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAyOworICB2
YXIgcHJldmlvdXNUaW1lbGluZUN1cnJlbnRUaW1lOworICB2YXIgcHJldmlvdXNBbmltYXRpb25D
dXJyZW50VGltZTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgIHByZXZpb3VzQW5pbWF0aW9uQ3VycmVudFRpbWUgPSBhbmltYXRpb24uY3VycmVudFRpbWU7
CisgICAgcHJldmlvdXNUaW1lbGluZUN1cnJlbnRUaW1lID0gYW5pbWF0aW9uLnRpbWVsaW5lLmN1
cnJlbnRUaW1lOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpOworICB9KS50
aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9wbGF5YmFja3JhdGUoYW5pbWF0aW9uLAorICAg
ICAgcHJldmlvdXNBbmltYXRpb25DdXJyZW50VGltZSwKKyAgICAgIHByZXZpb3VzVGltZWxpbmVD
dXJyZW50VGltZSwKKyAgICAgICdhbmltYXRpb24uY3VycmVudFRpbWUgc2hvdWxkIGJlIDIgdGlt
ZXMgZmFzdGVyIHRoYW4gdGltZWxpbmUuJyk7CisgIH0pOworfSwgJ1Rlc3QgdGhlIGVmZmVjdCBv
ZiBzZXR0aW5nIHBsYXliYWNrUmF0ZSBvbiBjdXJyZW50VGltZScpOworCitwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9u
ID0gZGl2LmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5wbGF5
YmFja1JhdGUgPSAyOworICB2YXIgcHJldmlvdXNUaW1lbGluZUN1cnJlbnRUaW1lOworICB2YXIg
cHJldmlvdXNBbmltYXRpb25DdXJyZW50VGltZTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50
aGVuKGZ1bmN0aW9uKCkgeworICAgIHByZXZpb3VzQW5pbWF0aW9uQ3VycmVudFRpbWUgPSBhbmlt
YXRpb24uY3VycmVudFRpbWU7CisgICAgcHJldmlvdXNUaW1lbGluZUN1cnJlbnRUaW1lID0gYW5p
bWF0aW9uLnRpbWVsaW5lLmN1cnJlbnRUaW1lOworICAgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUg
PSAxOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpOworICB9KS50aGVuKGZ1
bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSwgMSwK
KyAgICAgICdzYW5pdHkgY2hlY2s6IGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgaXMgc3RpbGwgMS4n
KTsKKyAgICBhc3NlcnRfcGxheWJhY2tyYXRlKGFuaW1hdGlvbiwKKyAgICAgIHByZXZpb3VzQW5p
bWF0aW9uQ3VycmVudFRpbWUsCisgICAgICBwcmV2aW91c1RpbWVsaW5lQ3VycmVudFRpbWUsCisg
ICAgICAnYW5pbWF0aW9uLmN1cnJlbnRUaW1lIHNob3VsZCBiZSB0aGUgc2FtZSBzcGVlZCBhcyB0
aW1lbGluZSBub3cuJyk7CisgIH0pOworfSwgJ1Rlc3QgdGhlIGVmZmVjdCBvZiBzZXR0aW5nIHBs
YXliYWNrUmF0ZSB3aGlsZSBwbGF5aW5nIGFuaW1hdGlvbicpOworCis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0aW9uL3JlYWR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3JlYWR5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jZmMyY2RlZWRkYWNkOWQxYWQwOTZhNzE2ZWY3ZGQxNmRlNjA4ZjY2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRpb24vcmVhZHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitGQUlM
IEEgbmV3IHJlYWR5IHByb21pc2UgaXMgY3JlYXRlZCB3aGVuIHBsYXkoKS9wYXVzZSgpIGlzIGNh
bGxlZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShudWxs
LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBS
ZWR1bmRhbnQgY2FsbHMgdG8gcGxheSgpIGRvIG5vdCBnZW5lcmF0ZSBuZXcgcmVhZHkgcHJvbWlz
ZSBvYmplY3RzIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFRoZSByZWFkeSBwcm9taXNlIGlzIGZ1bGZpbGxlZCB3aXRoIGl0cyBBbmltYXRpb24gZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUobnVsbCwgMTAwICog
TVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24v
cmVhZHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uL3JlYWR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjYxYTNjNDkzZjU4ZTcwM2ZlMmI2
ZDU2YWNhNmViODNhNTI2NTE0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL3JlYWR5Lmh0bWwKQEAgLTAs
MCArMSw2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxl
PkFuaW1hdGlvbi5yZWFkeTwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
dzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9tLWFuaW1hdGlvbi1yZWFkeSI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+
PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFu
aW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBvcmlnaW5hbFJlYWR5UHJvbWlz
ZSA9IGFuaW1hdGlvbi5yZWFkeTsKKyAgdmFyIHBhdXNlUmVhZHlQcm9taXNlOworCisgIHJldHVy
biBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFu
aW1hdGlvbi5yZWFkeSwgb3JpZ2luYWxSZWFkeVByb21pc2UsCisgICAgICAgICAgICAgICAgICAn
UmVhZHkgcHJvbWlzZSBpcyB0aGUgc2FtZSBvYmplY3Qgd2hlbiBwbGF5aW5nIGNvbXBsZXRlcycp
OworICAgIGFuaW1hdGlvbi5wYXVzZSgpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFuaW1hdGlv
bi5yZWFkeSwgb3JpZ2luYWxSZWFkeVByb21pc2UsCisgICAgICAgICAgICAgICAgICAgICAgJ0Eg
bmV3IHJlYWR5IHByb21pc2UgaXMgY3JlYXRlZCB3aGVuIHBhdXNpbmcnKTsKKyAgICBwYXVzZVJl
YWR5UHJvbWlzZSA9IGFuaW1hdGlvbi5yZWFkeTsKKyAgICAvLyBXYWl0IGZvciB0aGUgcHJvbWlz
ZSB0byBmdWxmaWxsIHNpbmNlIGlmIHdlIGFib3J0IHRoZSBwYXVzZSB0aGUgcmVhZHkKKyAgICAv
LyBwcm9taXNlIG9iamVjdCBpcyByZXVzZWQuCisgICAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeTsK
KyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24ucGxheSgpOworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKGFuaW1hdGlvbi5yZWFkeSwgcGF1c2VSZWFkeVByb21pc2UsCisgICAgICAg
ICAgICAgICAgICAgICAgJ0EgbmV3IHJlYWR5IHByb21pc2UgaXMgY3JlYXRlZCB3aGVuIHBsYXlp
bmcnKTsKKyAgfSk7Cit9LCAnQSBuZXcgcmVhZHkgcHJvbWlzZSBpcyBjcmVhdGVkIHdoZW4gcGxh
eSgpL3BhdXNlKCkgaXMgY2FsbGVkJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZShu
dWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4o
ZnVuY3Rpb24oKSB7CisgICAgdmFyIHByb21pc2VCZWZvcmVDYWxsaW5nUGxheSA9IGFuaW1hdGlv
bi5yZWFkeTsKKyAgICBhbmltYXRpb24ucGxheSgpOworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0
aW9uLnJlYWR5LCBwcm9taXNlQmVmb3JlQ2FsbGluZ1BsYXksCisgICAgICAgICAgICAgICAgICAn
UmVhZHkgcHJvbWlzZSBoYXMgc2FtZSBvYmplY3QgaWRlbnRpdHkgYWZ0ZXIgcmVkdW5kYW50IGNh
bGwnCisgICAgICAgICAgICAgICAgICArICcgdG8gcGxheSgpJyk7CisgIH0pOworfSwgJ1JlZHVu
ZGFudCBjYWxscyB0byBwbGF5KCkgZG8gbm90IGdlbmVyYXRlIG5ldyByZWFkeSBwcm9taXNlIG9i
amVjdHMnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BF
Ul9TRUMpOworCisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbihyZXNvbHZl
ZEFuaW1hdGlvbikgeworICAgIGFzc2VydF9lcXVhbHMocmVzb2x2ZWRBbmltYXRpb24sIGFuaW1h
dGlvbiwKKyAgICAgICAgICAgICAgICAgICdPYmplY3QgaWRlbnRpdHkgb2YgQW5pbWF0aW9uIHBh
c3NlZCB0byBQcm9taXNlIGNhbGxiYWNrJworICAgICAgICAgICAgICAgICAgKyAnIG1hdGNoZXMg
dGhlIEFuaW1hdGlvbiBvYmplY3Qgb3duaW5nIHRoZSBQcm9taXNlJyk7CisgIH0pOworfSwgJ1Ro
ZSByZWFkeSBwcm9taXNlIGlzIGZ1bGZpbGxlZCB3aXRoIGl0cyBBbmltYXRpb24nKTsKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9zdGFydFRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vc3Rh
cnRUaW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjZiNTQ3MDQwMGQ3YzNmZDc1YWZhMmY1
NTQzZmMzZjVkMDM0MTdiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb24vc3RhcnRUaW1lLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDggQEAKKworRkFJTCBzdGFydFRpbWUgb2YgYSBuZXdseSBjcmVhdGVkIChp
ZGxlKSBhbmltYXRpb24gaXMgdW5yZXNvbHZlZCBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0
aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9u
VGltZWxpbmUKK0ZBSUwgc3RhcnRUaW1lIG9mIGEgcGxheS1wZW5kaW5nIGFuaW1hdGlvbiBpcyB1
bnJlc29sdmVkIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3Ry
dWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBzdGFy
dFRpbWUgb2YgYSBwYXVzZS1wZW5kaW5nIGFuaW1hdGlvbiBpcyB1bnJlc29sdmVkIEFyZ3VtZW50
IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBzdGFydFRpbWUgb2YgYSBwbGF5LXBl
bmRpbmcgYW5pbWF0aW9uIGNyZWF0ZWQgdXNpbmcgRWxlbWVudC5hbmltYXRlIHNob3J0Y3V0IGlz
IHVucmVzb2x2ZWQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
Y3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgc3RhcnRUaW1lIGlzIHJlc29sdmVkIHdoZW4gcnVubmluZyBjcmVhdGVE
aXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0
ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBzdGFydFRpbWUgYW5kIGN1cnJlbnRUaW1lIGFyZSB1bnJlc29sdmVkIHdo
ZW4gYW5pbWF0aW9uIGlzIGNhbmNlbGxlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VD
KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9z
dGFydFRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0aW9uL3N0YXJ0VGltZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkZmQ3Y2YyOTQxODY5
MmIzYmFmNjBjYWY0NzY2MzliY2RjYTFkZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9zdGFydFRpbWUu
aHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTg+Cis8dGl0bGU+QW5pbWF0aW9uLnN0YXJ0VGltZSB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9
ImhlbHAiCitocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1h
bmltYXRpb24tc3RhcnR0aW1lIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3Njcmlw
dD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbihu
ZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxpbmUpOworICBhc3NlcnRfZXF1YWxzKGFuaW1h
dGlvbi5zdGFydFRpbWUsIG51bGwsICdzdGFydFRpbWUgaXMgdW5yZXNvbHZlZCcpOworfSwgJ3N0
YXJ0VGltZSBvZiBhIG5ld2x5IGNyZWF0ZWQgKGlkbGUpIGFuaW1hdGlvbiBpcyB1bnJlc29sdmVk
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlv
bihuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxpbmUpOworICBhbmltYXRpb24ucGxheSgp
OworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5zdGFydFRpbWUsIG51bGwsICdzdGFydFRpbWUg
aXMgdW5yZXNvbHZlZCcpOworfSwgJ3N0YXJ0VGltZSBvZiBhIHBsYXktcGVuZGluZyBhbmltYXRp
b24gaXMgdW5yZXNvbHZlZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlv
biA9IG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnRpbWVsaW5lKTsKKyAg
YW5pbWF0aW9uLnBhdXNlKCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnN0YXJ0VGltZSwg
bnVsbCwgJ3N0YXJ0VGltZSBpcyB1bnJlc29sdmVkJyk7Cit9LCAnc3RhcnRUaW1lIG9mIGEgcGF1
c2UtcGVuZGluZyBhbmltYXRpb24gaXMgdW5yZXNvbHZlZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpOworICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5zdGFydFRpbWUsIG51bGwsICdzdGFydFRpbWUgaXMgdW5yZXNv
bHZlZCcpOworfSwgJ3N0YXJ0VGltZSBvZiBhIHBsYXktcGVuZGluZyBhbmltYXRpb24gY3JlYXRl
ZCB1c2luZyBFbGVtZW50LmFuaW1hdGUnCisgICArICcgc2hvcnRjdXQgaXMgdW5yZXNvbHZlZCcp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRl
RGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIHJldHVybiBhbmltYXRp
b24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGFuaW1h
dGlvbi5zdGFydFRpbWUsIDAsICdzdGFydFRpbWUgd2hlbiBydW5uaW5nJyk7CisgIH0pOworfSwg
J3N0YXJ0VGltZSBpcyByZXNvbHZlZCB3aGVuIHJ1bm5pbmcnKTsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBN
U19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLmNhbmNlbCgpOworICBhc3NlcnRfZXF1YWxzKGFuaW1h
dGlvbi5zdGFydFRpbWUsIG51bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50
VGltZSwgbnVsbCk7Cit9LCAnc3RhcnRUaW1lIGFuZCBjdXJyZW50VGltZSBhcmUgdW5yZXNvbHZl
ZCB3aGVuIGFuaW1hdGlvbiBpcyBjYW5jZWxsZWQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kZWxheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9k
ZWxheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUyYTE5N2Q0YjM0ZTNlOWMwMzM3MWE5ZDky
ZDZhYzgxZDZmYjYwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2RlbGF5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACisKK0ZBSUwgVGVzdCBkZWZhdWx0IHZhbHVlIGNyZWF0
ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmlt
YXRlKG51bGwpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNl
dCBkZWxheSAxMDAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIHNldCBkZWxheSAtMTAwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGFkZGluZyBhIHBvc2l0aXZlIGRlbGF5IHRvIGFu
IGFuaW1hdGlvbiB3aXRob3V0IGEgYmFja3dhcmRzIGZpbGwgbWFrZXMgaXQgbm8gbG9uZ2VyIGFj
dGl2ZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9w
YWNpdHk6IFsgMCwgMSBdIH0sIDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgVGVzdCBzZWVraW5nIGFuIGFuaW1hdGlvbiBieSBzZXR0aW5nIGEgbmVnYXRpdmUgZGVsYXkg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5
OiBbIDAsIDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZmlsbDogJ2JvdGgnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCB9KScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZpbmlzaGluZyBhbiBhbmltYXRpb24gdXNpbmcg
YSBsYXJnZSBuZWdhdGl2ZSBkZWxheSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlv
bjogMTAwIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFNldHRpbmcgaW52
YWxpZCB2YWx1ZXMgc2hvdWxkIHRocm93IFR5cGVFcnJvciBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShudWxsKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kZWxheS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcv
ZGVsYXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjM0ZjdkYmU3NjFjNzJkNzBmZDZkNzQ5OGI2ZmQxOGUy
MDdlZjJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZGVsYXkuaHRtbApAQCAtMCww
ICsxLDc5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+
ZGVsYXkgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5n
aXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb25lZmZlY3R0aW1pbmctZGVsYXki
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJEYWlzdWtlIEFrYXRzdWthIiBocmVmPSJtYWls
dG86ZGFpc3VrZUBtb3ppbGxhLWphcGFuLm9yZyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3Vz
ZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYo
dCkuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZGVs
YXksIDApOworfSwgJ1Rlc3QgZGVmYXVsdCB2YWx1ZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9w
YWNpdHk6IFsgMCwgMSBdIH0sIDEwMCk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kZWxheSA9IDEw
MDsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZGVsYXksIDEwMCwgJ3NldCBk
ZWxheSAxMDAnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWlu
ZygpLmRlbGF5LCAxMDAsCisgICAgICAgICAgICAgICAgICAnZ2V0Q29tcHV0ZWRUaW1pbmcoKSBh
ZnRlciBzZXQgZGVsYXkgMTAwJyk7Cit9LCAnc2V0IGRlbGF5IDEwMCcpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5p
bWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMCk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5k
ZWxheSA9IC0xMDA7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5nLmRlbGF5LCAt
MTAwLCAnc2V0IGRlbGF5IC0xMDAnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRD
b21wdXRlZFRpbWluZygpLmRlbGF5LCAtMTAwLAorICAgICAgICAgICAgICAgICdnZXRDb21wdXRl
ZFRpbWluZygpIGFmdGVyIHNldCBkZWxheSAtMTAwJyk7Cit9LCAnc2V0IGRlbGF5IC0xMDAnKTsK
KwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBh
bmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDApOworICBhbmltLmVm
ZmVjdC50aW1pbmcuZGVsYXkgPSAxMDA7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0
Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgbnVsbCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5l
ZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5jdXJyZW50SXRlcmF0aW9uLCBudWxsKTsKK30sICdU
ZXN0IGFkZGluZyBhIHBvc2l0aXZlIGRlbGF5IHRvIGFuIGFuaW1hdGlvbiB3aXRob3V0IGEgYmFj
a3dhcmRzIGZpbGwgJyArCisgICAnbWFrZXMgaXQgbm8gbG9uZ2VyIGFjdGl2ZScpOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBk
aXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgeyBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjog
MTAwIH0pOworICBhbmltLmVmZmVjdC50aW1pbmcuZGVsYXkgPSAtNTA7CisgIGFzc2VydF9lcXVh
bHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMC41KTsKK30sICdU
ZXN0IHNlZWtpbmcgYW4gYW5pbWF0aW9uIGJ5IHNldHRpbmcgYSBuZWdhdGl2ZSBkZWxheScpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFu
aW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgeyBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJh
dGlvbjogMTAwIH0pOworICBhbmltLmVmZmVjdC50aW1pbmcuZGVsYXkgPSAtMTAwOworICBhc3Nl
cnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDEpOwor
ICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0
ZXJhdGlvbiwgMCk7Cit9LCAnVGVzdCBmaW5pc2hpbmcgYW4gYW5pbWF0aW9uIHVzaW5nIGEgbGFy
Z2UgbmVnYXRpdmUgZGVsYXknKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUobnVsbCk7CisgIGZvciAobGV0
IGludmFsaWQgb2YgW05hTiwgSW5maW5pdHldKSB7CisgICAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6
ICdUeXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgeworICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmRl
bGF5ID0gaW52YWxpZDsKKyAgICB9LCAnc2V0dGluZyAnICsgaW52YWxpZCk7CisgICAgYXNzZXJ0
X3Rocm93cyh7IG5hbWU6ICdUeXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgeworICAgICAgZGl2LmFu
aW1hdGUoe30sIHsgZGVsYXk6IGludmFsaWQgfSk7CisgICAgfSwgJ2FuaW1hdGUoKSB3aXRoICcg
KyBpbnZhbGlkKTsKKyAgfQorfSwgJ1NldHRpbmcgaW52YWxpZCB2YWx1ZXMgc2hvdWxkIHRocm93
IFR5cGVFcnJvcicpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGlt
aW5nL2RpcmVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kaXJlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAyOTA5MDJhZTYwNTEyNDI4ZTZjYjU1MjhmOTBkNDZkYzA2NDE4
NGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9kaXJlY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIFRlc3QgZGVmYXVsdCB2YWx1ZSBjcmVhdGVEaXYodCku
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxs
KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQgZGlyZWN0
aW9uIHRvIGEgdmFsaWQga2V5d29yZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2RpcmVjdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRp
b25FZmZlY3RUaW1pbmcvZGlyZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU3MTgxMjAyNDU0ODBh
NzcxN2M1NjA0MDY3YWVmODY2MGEyNTQwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5n
L2RpcmVjdGlvbi5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5kaXJlY3Rpb24gdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1h
bmltYXRpb25lZmZlY3R0aW1pbmctZGlyZWN0aW9uIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iUnlvIEthdG8iIGhyZWY9Im1haWx0bzpmb29iYXIwOTRAZ21haWwuY29tIj4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rp
dj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
YW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW0u
ZWZmZWN0LnRpbWluZy5kaXJlY3Rpb24sICdub3JtYWwnKTsKK30sICdUZXN0IGRlZmF1bHQgdmFs
dWUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKwor
ICB2YXIgZGlyZWN0aW9ucyA9IFsnbm9ybWFsJywgJ3JldmVyc2UnLCAnYWx0ZXJuYXRlJywgJ2Fs
dGVybmF0ZS1yZXZlcnNlJ107CisgIGRpcmVjdGlvbnMuZm9yRWFjaChmdW5jdGlvbihkaXJlY3Rp
b24pIHsKKyAgICBhbmltLmVmZmVjdC50aW1pbmcuZGlyZWN0aW9uID0gZGlyZWN0aW9uOworICAg
IGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5nLmRpcmVjdGlvbiwgZGlyZWN0aW9uLAor
ICAgICAgICAgICAgICAgICAgJ3NldCBkaXJlY3Rpb24gdG8gJyArIGRpcmVjdGlvbik7CisgIH0p
OworfSwgJ3NldCBkaXJlY3Rpb24gdG8gYSB2YWxpZCBrZXl3b3JkJyk7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZHVyYXRpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25F
ZmZlY3RUaW1pbmcvZHVyYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2OTQyYTQwNmM1
NTkxMzJjNTgxMTJlZTkwYTRhY2JiNTI2YmM1OWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRp
bWluZy9kdXJhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorCitGQUlMIFRlc3Qg
ZGVmYXVsdCB2YWx1ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBzZXQgZHVyYXRpb24gMTIzLjQ1IGRpdi5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IGR1cmF0aW9uIGF1dG8gZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBb
IDAsIDEgXSB9LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQg
YXV0byBkdXJhdGlvbiBpbiBhbmltYXRlIGFzIG9iamVjdCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIHsgZHVyYXRp
b246ICdhdXRvJyB9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQgZHVy
YXRpb24gSW5maW5pdHkgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorUEFTUyBzZXQgbmVnYXRpdmUgZHVyYXRpb24gaW4gYW5pbWF0ZSB1c2luZyBhIGR1
cmF0aW9uIHBhcmFtZXRlciAKK1BBU1Mgc2V0IG5lZ2F0aXZlIEluZmluaXR5IGR1cmF0aW9uIGlu
IGFuaW1hdGUgdXNpbmcgYSBkdXJhdGlvbiBwYXJhbWV0ZXIgCitQQVNTIHNldCBOYU4gZHVyYXRp
b24gaW4gYW5pbWF0ZSB1c2luZyBhIGR1cmF0aW9uIHBhcmFtZXRlciAKK1BBU1Mgc2V0IG5lZ2F0
aXZlIGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcgYW4gb3B0aW9ucyBvYmplY3QgCitQQVNTIHNl
dCBuZWdhdGl2ZSBJbmZpbml0eSBkdXJhdGlvbiBpbiBhbmltYXRlIHVzaW5nIGFuIG9wdGlvbnMg
b2JqZWN0IAorUEFTUyBzZXQgTmFOIGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcgYW4gb3B0aW9u
cyBvYmplY3QgCitQQVNTIHNldCBhYmMgc3RyaW5nIGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcg
YW4gb3B0aW9ucyBvYmplY3QgCitQQVNTIHNldCAxMDAgc3RyaW5nIGR1cmF0aW9uIGluIGFuaW1h
dGUgdXNpbmcgYW4gb3B0aW9ucyBvYmplY3QgCitGQUlMIHNldCBuZWdhdGl2ZSBkdXJhdGlvbiBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6
IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNl
dCBuZWdhdGl2ZSBJbmZpbml0eSBkdXJhdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBOYU4gZHVyYXRpb24gZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQgZHVyYXRpb24g
YWJjIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3Bh
Y2l0eTogWyAwLCAxIF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgc2V0IGR1cmF0aW9uIHN0cmluZyAxMDAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKScsICdkaXYuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBFeHRlbmRpbmcgYW4gZWZmZWN0J3MgZHVyYXRpb24g
ZG9lcyBub3QgY2hhbmdlIHRoZSBzdGFydCBvciBjdXJyZW50IHRpbWUgY3JlYXRlRGl2KHQpLmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwg
MTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZHVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2R1
cmF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgxNTRkNTM5NzBhOGRhNWFkNjYyNTJjYmRhOGU2NWI5
M2ZlNTc3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2R1cmF0aW9uLmh0bWwKQEAg
LTAsMCArMSwxNzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0
aXRsZT5kdXJhdGlvbiB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20tYW5pbWF0aW9uZWZmZWN0dGltaW5n
LWR1cmF0aW9uIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iUnlvIE1vdG96YXdhIiBocmVm
PSJtYWlsdG86bW90b3phd2FAbW96aWxsYS1qYXBhbi5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rj
b21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlw
dD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3Jl
YXRlRGl2KHQpLmFuaW1hdGUobnVsbCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGlt
aW5nLmR1cmF0aW9uLCAnYXV0bycpOworfSwgJ1Rlc3QgZGVmYXVsdCB2YWx1ZScpOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBk
aXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhbmltLmVmZmVjdC50
aW1pbmcuZHVyYXRpb24gPSAxMjMuNDU7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24sIDEyMy40NSwKKyAgICAgICAgICAgICAgICAgICAgICdzZXQgZHVy
YXRpb24gMTIzLjQ1Jyk7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltLmVmZmVjdC5nZXRDb21w
dXRlZFRpbWluZygpLmR1cmF0aW9uLCAxMjMuNDUsCisgICAgICAgICAgICAgICAgICAgICAnZ2V0
Q29tcHV0ZWRUaW1pbmcoKSBhZnRlciBzZXQgZHVyYXRpb24gMTIzLjQ1Jyk7Cit9LCAnc2V0IGR1
cmF0aW9uIDEyMy40NScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0s
IDIwMDApOworICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gPSAnYXV0byc7CisgIGFzc2Vy
dF9lcXVhbHMoYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uLCAnYXV0bycsICdzZXQgZHVyYXRp
b24gXCdhdXRvXCcnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRp
bWluZygpLmR1cmF0aW9uLCAwLAorICAgICAgICAgICAgICAgICdnZXRDb21wdXRlZFRpbWluZygp
IGFmdGVyIHNldCBkdXJhdGlvbiBcJ2F1dG9cJycpOworfSwgJ3NldCBkdXJhdGlvbiBhdXRvJyk7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIg
YW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgeyBkdXJhdGlvbjogJ2F1
dG8nIH0pOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiwgJ2F1
dG8nLCAnc2V0IGR1cmF0aW9uIFwnYXV0b1wnJyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZl
Y3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5kdXJhdGlvbiwgMCwKKyAgICAgICAgICAgICAgICAnZ2V0
Q29tcHV0ZWRUaW1pbmcoKSBhZnRlciBzZXQgZHVyYXRpb24gXCdhdXRvXCcnKTsKK30sICdzZXQg
YXV0byBkdXJhdGlvbiBpbiBhbmltYXRlIGFzIG9iamVjdCcpOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7
IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRp
b24gPSBJbmZpbml0eTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRp
b24sIEluZmluaXR5LCAnc2V0IGR1cmF0aW9uIEluZmluaXR5Jyk7CisgIGFzc2VydF9lcXVhbHMo
YW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5kdXJhdGlvbiwgSW5maW5pdHksCisgICAg
ICAgICAgICAgICAgJ2dldENvbXB1dGVkVGltaW5nKCkgYWZ0ZXIgc2V0IGR1cmF0aW9uIEluZmlu
aXR5Jyk7Cit9LCAnc2V0IGR1cmF0aW9uIEluZmluaXR5Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5
cGVFcnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAgZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9LCAtMSk7CisgIH0pOworfSwgJ3NldCBuZWdhdGl2ZSBkdXJhdGlvbiBpbiBhbmltYXRl
IHVzaW5nIGEgZHVyYXRpb24gcGFyYW1ldGVyJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJv
cicgfSwgZnVuY3Rpb24oKSB7CisgICAgZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LCAtSW5maW5pdHkpOworICB9KTsKK30sICdzZXQgbmVnYXRpdmUgSW5maW5pdHkgZHVyYXRpb24g
aW4gYW5pbWF0ZSB1c2luZyBhIGR1cmF0aW9uIHBhcmFtZXRlcicpOworCit0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6
ICdUeXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgeworICAgIGRpdi5hbmltYXRlKHsgb3BhY2l0eTog
WyAwLCAxIF0gfSwgTmFOKTsKKyAgfSk7Cit9LCAnc2V0IE5hTiBkdXJhdGlvbiBpbiBhbmltYXRl
IHVzaW5nIGEgZHVyYXRpb24gcGFyYW1ldGVyJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJv
cicgfSwgZnVuY3Rpb24oKSB7CisgICAgZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LCB7IGR1cmF0aW9uOiAtMSB9KTsKKyAgfSk7Cit9LCAnc2V0IG5lZ2F0aXZlIGR1cmF0aW9uIGlu
IGFuaW1hdGUgdXNpbmcgYW4gb3B0aW9ucyBvYmplY3QnKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAnVHlw
ZUVycm9yJyB9LCBmdW5jdGlvbigpIHsKKyAgICBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwg
MSBdIH0sIHsgZHVyYXRpb246IC1JbmZpbml0eSB9KTsKKyAgfSk7Cit9LCAnc2V0IG5lZ2F0aXZl
IEluZmluaXR5IGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcgYW4gb3B0aW9ucyBvYmplY3QnKTsK
KwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIGFzc2Vy
dF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCBmdW5jdGlvbigpIHsKKyAgICBkaXYuYW5p
bWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIHsgZHVyYXRpb246IE5hTiB9KTsKKyAgfSk7Cit9
LCAnc2V0IE5hTiBkdXJhdGlvbiBpbiBhbmltYXRlIHVzaW5nIGFuIG9wdGlvbnMgb2JqZWN0Jyk7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICBhc3Nl
cnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAgZGl2LmFu
aW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCB7IGR1cmF0aW9uOiAnYWJjJyB9KTsKKyAgfSk7
Cit9LCAnc2V0IGFiYyBzdHJpbmcgZHVyYXRpb24gaW4gYW5pbWF0ZSB1c2luZyBhbiBvcHRpb25z
IG9iamVjdCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0
KTsKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICdUeXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgewor
ICAgIGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgeyBkdXJhdGlvbjogJzEwMCcg
fSk7CisgIH0pOworfSwgJ3NldCAxMDAgc3RyaW5nIGR1cmF0aW9uIGluIGFuaW1hdGUgdXNpbmcg
YW4gb3B0aW9ucyBvYmplY3QnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBj
cmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCAyMDAwKTsKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICdUeXBlRXJyb3InIH0sIGZ1bmN0
aW9uKCkgeworICAgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IC0xOworICB9KTsKK30s
ICdzZXQgbmVnYXRpdmUgZHVyYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBk
aXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBb
IDAsIDEgXSB9LCAyMDAwKTsKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICdUeXBlRXJyb3InIH0s
IGZ1bmN0aW9uKCkgeworICAgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IC1JbmZpbml0
eTsKKyAgfSk7Cit9LCAnc2V0IG5lZ2F0aXZlIEluZmluaXR5IGR1cmF0aW9uJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRp
di5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFzc2VydF90aHJvd3Mo
eyBuYW1lOiAnVHlwZUVycm9yJyB9LCBmdW5jdGlvbigpIHsKKyAgICBhbmltLmVmZmVjdC50aW1p
bmcuZHVyYXRpb24gPSBOYU47CisgIH0pOworfSwgJ3NldCBOYU4gZHVyYXRpb24nKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0g
ZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYXNzZXJ0X3Rocm93
cyh7IG5hbWU6ICdUeXBlRXJyb3InIH0sIGZ1bmN0aW9uKCkgeworICAgIGFuaW0uZWZmZWN0LnRp
bWluZy5kdXJhdGlvbiA9ICdhYmMnOworICB9KTsKK30sICdzZXQgZHVyYXRpb24gYWJjJyk7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5p
bSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFzc2VydF90
aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCBmdW5jdGlvbigpIHsKKyAgICBhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24gPSAnMTAwJzsKKyAgfSk7Cit9LCAnc2V0IGR1cmF0aW9uIHN0cmlu
ZyAxMDAnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVh
dGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgcmV0dXJuIGFuaW0u
cmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICB2YXIgb3JpZ2luYWxTdGFydFRpbWUgICA9IGFu
aW0uc3RhcnRUaW1lOworICAgIHZhciBvcmlnaW5hbEN1cnJlbnRUaW1lID0gYW5pbS5jdXJyZW50
VGltZTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCku
ZHVyYXRpb24sIDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAnSW5pdGlhbCBk
dXJhdGlvbiBzaG91bGQgYmUgYXMgc2V0IG9uIEtleWZyYW1lRWZmZWN0Jyk7CisKKyAgICBhbmlt
LmVmZmVjdC50aW1pbmcuZHVyYXRpb24gPSAyMDAgKiBNU19QRVJfU0VDOworICAgIGFzc2VydF9l
cXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5kdXJhdGlvbiwgMjAwICogTVNf
UEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdFZmZlY3QgZHVyYXRpb24gc2hvdWxkIGhhdmUg
YmVlbiB1cGRhdGVkJyk7CisgICAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uc3RhcnRUaW1lLCBv
cmlnaW5hbFN0YXJ0VGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0VGltZSBzaG91
bGQgYmUgdW5hZmZlY3RlZCBieSBjaGFuZ2luZyBlZmZlY3QgJyArCisgICAgICAgICAgICAgICAg
ICAgICAgICdkdXJhdGlvbicpOworICAgIGFzc2VydF90aW1lc19lcXVhbChhbmltLmN1cnJlbnRU
aW1lLCBvcmlnaW5hbEN1cnJlbnRUaW1lLAorICAgICAgICAgICAgICAgICAgICAgICAnY3VycmVu
dFRpbWUgc2hvdWxkIGJlIHVuYWZmZWN0ZWQgYnkgY2hhbmdpbmcgZWZmZWN0ICcgKworICAgICAg
ICAgICAgICAgICAgICAgICAnZHVyYXRpb24nKTsKKyAgfSk7Cit9LCAnRXh0ZW5kaW5nIGFuIGVm
ZmVjdFwncyBkdXJhdGlvbiBkb2VzIG5vdCBjaGFuZ2UgdGhlIHN0YXJ0IG9yIGN1cnJlbnQgdGlt
ZScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2Vhc2lu
Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9lYXNpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg4YzE4NTY3Mzg5NGU1MjRhY2EzMDI2MzYzOWE0M2Y3YzViYWIwZTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0Fu
aW1hdGlvbkVmZmVjdFRpbWluZy9lYXNpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTcgQEAK
KworRkFJTCBUZXN0IGRlZmF1bHQgdmFsdWUgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQp
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc3RlcC1zdGFydCBmdW5jdGlvbiB1bmRlZmlu
ZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwg
c3RlcHMoMSwgc3RhcnQpIGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVh
ciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBzdGVwcygyLCBzdGFydCkgZnVuY3Rpb24g
dW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicp
CitGQUlMIHN0ZXAtZW5kIGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVh
ciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBzdGVwcygxKSBmdW5jdGlvbiB1bmRlZmlu
ZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwg
c3RlcHMoMSwgZW5kKSBmdW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIg
Jy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgc3RlcHMoMiwgZW5kKSBmdW5jdGlvbiB1bmRl
ZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZB
SUwgZnJhbWVzIGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4u
dGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBsaW5lYXIgZnVuY3Rpb24gdW5kZWZpbmVkIGlzIG5v
dCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIGVhc2UgZnVu
Y3Rpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0
ZS4uLicpCitGQUlMIGVhc2UtaW4gZnVuY3Rpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9u
IChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIGVhc2UtaW4tb3V0IGZ1bmN0aW9u
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4n
KQorRkFJTCBlYXNlLW91dCBmdW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5l
YXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgZWFzaW5nIGZ1bmN0aW9uIHdoaWNoIHBy
b2R1Y2VzIHZhbHVlcyBncmVhdGVyIHRoYW4gMSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24g
KG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgZWFzaW5nIGZ1bmN0aW9uIHdoaWNo
IHByb2R1Y2VzIHZhbHVlcyBsZXNzIHRoYW4gMSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24g
KG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5n
IHZhbHVlIHRlc3Q6ICcnIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFu
aW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRl
c3Q6ICc3JyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndGVz
dCcgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFj
aXR5OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2luaXRpYWwn
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0
eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdpbmhlcml0JyBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6
IFsgMCwgMSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndW5zZXQnIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAw
LCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICd1bnJlY29nbml6ZWQnIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTog
WyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICd2YXIoLS14KScgZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBb
IDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Vhc2UtaW4tb3V0LCBl
YXNlLW91dCcgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUo
eyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1
YmljLWJlemllcigxLjEsIDAsIDEsIDEpJyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEludmFsaWQgZWZmZWN0IGVhc2lu
ZyB2YWx1ZSB0ZXN0OiAnY3ViaWMtYmV6aWVyKDAsIDAsIDEuMSwgMSknIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwg
MTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgSW52
YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1iZXppZXIoLTAuMSwgMCwgMSwg
MSknIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3Bh
Y2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1i
ZXppZXIoMCwgMCwgLTAuMSwgMSknIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAn
ZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZh
bHVlIHRlc3Q6ICdjdWJpYy1iZXppZXIoMC4xLCAwLCA0LCAwLjQpJyBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEw
MCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoLTEsIHN0YXJ0KScgZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEg
XSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKDAuMSwgc3RhcnQpJyBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6
IFsgMCwgMSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoMywgbm93
aGVyZSknIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdzdGVw
cygtMywgZW5kKScgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDog
J2Z1bmN0aW9uIChhKXtyZXR1cm4gYX0nIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQykn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5n
IHZhbHVlIHRlc3Q6ICdmdW5jdGlvbiAoeCl7cmV0dXJuIHh9JyBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMCAq
IE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEludmFsaWQg
ZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24oeCwgeSl7cmV0dXJuIDAuM30nIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTog
WyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoMSknIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTog
WyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMnIGRpdi5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAw
LCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoKScgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygsKScgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcyhhKScgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygyLjApJyBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsg
MCwgMSBdIH0sIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKDIuNSknIGRp
di5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTog
WyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoMiAzKScg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5
OiBbIDAsIDEgXSB9LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBDYW5vbmljYWwgZWFzaW5nICdlYXNlJyBpcyByZXR1cm5lZCBhcyBzZXQgY3Jl
YXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFu
aW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
Q2Fub25pY2FsIGVhc2luZyAnbGluZWFyJyBpcyByZXR1cm5lZCBhcyBzZXQgY3JlYXRlRGl2KHQp
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVs
bCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQ2Fub25pY2Fs
IGVhc2luZyAnZWFzZS1pbicgaXMgcmV0dXJuZWQgYXMgc2V0IGNyZWF0ZURpdih0KS5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpJywgJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIENhbm9uaWNhbCBlYXNpbmcg
J2Vhc2Utb3V0JyBpcyByZXR1cm5lZCBhcyBzZXQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2
KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQ2Fub25pY2FsIGVhc2luZyAnZWFzZS1p
bi1vdXQnIGlzIHJldHVybmVkIGFzIHNldCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCku
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBDYW5vbmljYWwgZWFzaW5nICdjdWJpYy1iZXpp
ZXIoMC4xLCA1LCAwLjIzLCAwKScgaXMgcmV0dXJuZWQgYXMgc2V0IGNyZWF0ZURpdih0KS5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpJywg
J2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIENhbm9uaWNhbCBlYXNp
bmcgJ3N0ZXBzKDMsIHN0YXJ0KScgaXMgcmV0dXJuZWQgYXMgc2V0IGNyZWF0ZURpdih0KS5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwpJywg
J2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIENhbm9uaWNhbCBlYXNp
bmcgJ3N0ZXBzKDMpJyBpcyByZXR1cm5lZCBhcyBzZXQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRl
RGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQ2Fub25pY2FsIGVhc2luZyAnZnJh
bWVzKDMpJyBpcyByZXR1cm5lZCBhcyBzZXQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQp
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQ2hhbmdlIHRoZSBlYXNpbmcgd2hpbGUgdGhl
IGFuaW1hdGlvbiBpcyBydW5uaW5nIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAn
Li4udGFyZ2V0LmFuaW1hdGUuLi4nKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9lYXNpbmcu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5p
bWF0aW9uRWZmZWN0VGltaW5nL2Vhc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExMTczZmM4NjQ0NjZl
MzU3NWYwNjZkNWQ5ZTYzMWY1YTVhYzdiZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWlu
Zy9lYXNpbmcuaHRtbApAQCAtMCwwICsxLDk2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9dXRmLTg+Cis8dGl0bGU+ZWFzaW5nIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNkb20tYW5pbWF0
aW9uZWZmZWN0dGltaW5nLWVhc2luZyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Vhc2luZy10ZXN0cy5qcyI+PC9z
Y3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJp
Y3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5p
bWF0ZShudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nLCAn
bGluZWFyJyk7Cit9LCAnVGVzdCBkZWZhdWx0IHZhbHVlJyk7CisKK2Z1bmN0aW9uIGFzc2VydF9w
cm9ncmVzcyhhbmltYXRpb24sIGN1cnJlbnRUaW1lLCBlYXNpbmdGdW5jdGlvbikgeworICBhbmlt
YXRpb24uY3VycmVudFRpbWUgPSBjdXJyZW50VGltZTsKKyAgdmFyIHBvcnRpb24gPSBjdXJyZW50
VGltZSAvIGFuaW1hdGlvbi5lZmZlY3QudGltaW5nLmR1cmF0aW9uOworICBhc3NlcnRfYXBwcm94
X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsCisg
ICAgICAgICAgICAgICAgICAgICAgIGVhc2luZ0Z1bmN0aW9uKHBvcnRpb24pLAorICAgICAgICAg
ICAgICAgICAgICAgICAwLjAxLAorICAgICAgICAgICAgICAgICAgICAgICAnVGhlIHByb2dyZXNz
IG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgJyArCisgICAgICAgICAg
ICAgICAgICAgICAgIGVhc2luZ0Z1bmN0aW9uKHBvcnRpb24pICsgJyBhdCAnICsgY3VycmVudFRp
bWUgKyAnbXMnKTsKK30KKworZ0Vhc2luZ1Rlc3RzLmZvckVhY2goZnVuY3Rpb24ob3B0aW9ucykg
eworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgdGFyZ2V0ID0gY3JlYXRlRGl2KHQpOwor
ICAgIHZhciBhbmltID0gdGFyZ2V0LmFuaW1hdGUoWyB7IG9wYWNpdHk6IDAgfSwgeyBvcGFjaXR5
OiAxIH0gXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMDAg
KiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAnZm9y
d2FyZHMnIH0pOworICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBvcHRpb25zLmVhc2lu
ZzsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcsCisgICAgICAg
ICAgICAgICAgICBvcHRpb25zLnNlcmlhbGl6YXRpb24gfHwgb3B0aW9ucy5lYXNpbmcpOworCisg
ICAgdmFyIGVhc2luZyA9IG9wdGlvbnMuZWFzaW5nRnVuY3Rpb247CisgICAgYXNzZXJ0X3Byb2dy
ZXNzKGFuaW0sIDAsIGVhc2luZyk7CisgICAgYXNzZXJ0X3Byb2dyZXNzKGFuaW0sIDI1MCAqIE1T
X1BFUl9TRUMsIGVhc2luZyk7CisgICAgYXNzZXJ0X3Byb2dyZXNzKGFuaW0sIDUwMCAqIE1TX1BF
Ul9TRUMsIGVhc2luZyk7CisgICAgYXNzZXJ0X3Byb2dyZXNzKGFuaW0sIDc1MCAqIE1TX1BFUl9T
RUMsIGVhc2luZyk7CisgICAgYXNzZXJ0X3Byb2dyZXNzKGFuaW0sIDEwMDAgKiBNU19QRVJfU0VD
LCBlYXNpbmcpOworICB9LCBvcHRpb25zLmRlc2MpOworfSk7CisKK2dJbnZhbGlkRWFzaW5ncy5m
b3JFYWNoKGZ1bmN0aW9uKGludmFsaWRFYXNpbmcpIHsKKyAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwgMTAwICogTVNfUEVSX1NFQyk7CisgICAgYXNzZXJ0X3Rocm93
cyh7IG5hbWU6ICdUeXBlRXJyb3InIH0sCisgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRF
YXNpbmc7CisgICAgICAgICAgICAgICAgICB9KTsKKyAgfSwgJ0ludmFsaWQgZWZmZWN0IGVhc2lu
ZyB2YWx1ZSB0ZXN0OiBcJycgKyBpbnZhbGlkRWFzaW5nICsgJ1wnJyk7Cit9KTsKKworZ1JvdW5k
dHJpcEVhc2luZ3MuZm9yRWFjaChlYXNpbmcgPT4geworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
ICBjb25zdCBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCk7CisgICAgYW5pbS5lZmZl
Y3QudGltaW5nLmVhc2luZyA9IGVhc2luZzsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0
LnRpbWluZy5lYXNpbmcsIGVhc2luZyk7CisgIH0sIGBDYW5vbmljYWwgZWFzaW5nICcke2Vhc2lu
Z30nIGlzIHJldHVybmVkIGFzIHNldGApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2
YXIgZGVsYXkgPSAxMDAwICogTVNfUEVSX1NFQzsKKworICB2YXIgdGFyZ2V0ID0gY3JlYXRlRGl2
KHQpOworICB2YXIgYW5pbSA9IHRhcmdldC5hbmltYXRlKFsgeyBvcGFjaXR5OiAwIH0sIHsgb3Bh
Y2l0eTogMSB9IF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAw
MCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAnYm90
aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheTogZGVsYXksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdzdGVwcygyLCBzdGFydCknIH0pOworCisg
IGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSAnc3RlcHMoMiwgZW5kKSc7CisgIGFzc2VydF9l
cXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMCwKKyAgICAg
ICAgICAgICAgICAnZWFzaW5nIHJlcGxhY2UgdG8gc3RlcHMoMiwgZW5kKSBhdCBiZWZvcmUgcGhh
c2UnKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gZGVsYXkgKyA3NTAgKiBNU19QRVJfU0VDOwor
ICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3Ms
IDAuNSwKKyAgICAgICAgICAgICAgICAnY2hhbmdlIGN1cnJlbnRUaW1lIHRvIGFjdGl2ZSBwaGFz
ZScpOworCisgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSAnc3RlcHMoMiwgc3RhcnQpJzsK
KyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNz
LCAxLAorICAgICAgICAgICAgICAgICdlYXNpbmcgcmVwbGFjZSB0byBzdGVwcygyLCBzdGFydCkg
YXQgYWN0aXZlIHBoYXNlJyk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGRlbGF5ICsgMTUwMCAq
IE1TX1BFUl9TRUM7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSAnc3RlcHMoMiwgZW5k
KSc7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9n
cmVzcywgMSwKKyAgICAgICAgICAgICAgICAnZWFzaW5nIHJlcGxhY2UgdG8gc3RlcHMoMiwgZW5k
KSBhZ2FpbiBhdCBhZnRlciBwaGFzZScpOworfSwgJ0NoYW5nZSB0aGUgZWFzaW5nIHdoaWxlIHRo
ZSBhbmltYXRpb24gaXMgcnVubmluZycpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0
aW9uRWZmZWN0VGltaW5nL2VuZERlbGF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2VuZERl
bGF5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYjFhZTA4NzNiYzliY2IxZGE5YTEzNDBkYTRl
OThmNGQ0MDA5ZDM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZW5kRGVsYXktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworRkFJTCBUZXN0IGRlZmF1bHQgdmFsdWUgY3Jl
YXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFu
aW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
c2V0IGVuZERlbGF5IDEyMy40NSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIHNldCBlbmREZWxheSAtMTAwMCBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDAp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBlbmREZWxheSBJbmZpbml0
eSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNp
dHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IHNldCBlbmREZWxheSBuZWdhdGl2ZSBJbmZpbml0eSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIG9uZmluaXNoIGV2ZW50IGlzIG5vdCBmaXJl
ZCBkdXJhdGlvbiBlbmREZWxheSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgeyBkdXJhdGlvbjogMTAwMDAwLCBlbmREZWxheTogNTAwMDAgfSknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgb25maW5pc2ggZXZlbnQgaXMgZmlyZWQgY3VycmVudFRpbWUg
aXMgYWZ0ZXIgZW5kVGltZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
eyBkdXJhdGlvbjogMTAwMDAwLCBlbmREZWxheTogMzAwMDAgfSknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZW5kRGVsYXkuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZm
ZWN0VGltaW5nL2VuZERlbGF5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZjMmU4OGNjMmQ1Mjc2MTBjNGM2
MjZiOWM1NTliMzZjMzEyZmIzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2VuZERl
bGF5Lmh0bWwKQEAgLTAsMCArMSw4OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PXV0Zi04PgorPHRpdGxlPmVuZERlbGF5IHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb25l
ZmZlY3R0aW1pbmctZW5kZGVsYXkiPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJSeW8gTW90
b3phd2EiIGhyZWY9Im1haWx0bzptb3RvemF3YUBtb3ppbGxhLWphcGFuLm9yZyI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
LmVmZmVjdC50aW1pbmcuZW5kRGVsYXksIDApOworfSwgJ1Rlc3QgZGVmYXVsdCB2YWx1ZScpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFu
aW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhbmltLmVm
ZmVjdC50aW1pbmcuZW5kRGVsYXkgPSAxMjMuNDU7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmlt
LmVmZmVjdC50aW1pbmcuZW5kRGVsYXksIDEyMy40NSwKKyAgICAgICAgICAgICAgICAgICAgICdz
ZXQgZW5kRGVsYXkgMTIzLjQ1Jyk7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltLmVmZmVjdC5n
ZXRDb21wdXRlZFRpbWluZygpLmVuZERlbGF5LCAxMjMuNDUsCisgICAgICAgICAgICAgICAgICAg
ICAnZ2V0Q29tcHV0ZWRUaW1pbmcoKSBhZnRlciBzZXQgZW5kRGVsYXkgMTIzLjQ1Jyk7Cit9LCAn
c2V0IGVuZERlbGF5IDEyMy40NScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwg
MSBdIH0sIDIwMDApOworICBhbmltLmVmZmVjdC50aW1pbmcuZW5kRGVsYXkgPSAtMTAwMDsKKyAg
YXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuZW5kRGVsYXksIC0xMDAwLCAnc2V0IGVu
ZERlbGF5IC0xMDAwJyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRU
aW1pbmcoKS5lbmREZWxheSwgLTEwMDAsCisgICAgICAgICAgICAgICAgJ2dldENvbXB1dGVkVGlt
aW5nKCkgYWZ0ZXIgc2V0IGVuZERlbGF5IC0xMDAwJyk7Cit9LCAnc2V0IGVuZERlbGF5IC0xMDAw
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2
YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFz
c2VydF90aHJvd3Moe25hbWU6ICJUeXBlRXJyb3IifSwgZnVuY3Rpb24oKSB7CisgICAgYW5pbS5l
ZmZlY3QudGltaW5nLmVuZERlbGF5ID0gSW5maW5pdHk7CisgIH0sICd3ZSBjYW4gbm90IGFzc2ln
biBJbmZpbml0eSB0byB0aW1pbmcuZW5kRGVsYXknKTsKK30sICdzZXQgZW5kRGVsYXkgSW5maW5p
dHknKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAg
YXNzZXJ0X3Rocm93cyh7bmFtZTogIlR5cGVFcnJvciJ9LCBmdW5jdGlvbigpIHsKKyAgICBhbmlt
LmVmZmVjdC50aW1pbmcuZW5kRGVsYXkgPSAtSW5maW5pdHk7CisgIH0sICd3ZSBjYW4gbm90IGFz
c2lnbiBuZWdhdGl2ZSBJbmZpbml0eSB0byB0aW1pbmcuZW5kRGVsYXknKTsKK30sICdzZXQgZW5k
RGVsYXkgbmVnYXRpdmUgSW5maW5pdHknKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFj
aXR5OiBbIDAsIDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MDAwMCwgZW5kRGVsYXk6IDUwMDAwIH0pOworICBhbmltLm9uZmluaXNoID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBhc3NlcnRfdW5yZWFjaGVkKCdvbmZpbmlzaCBldmVudCBz
aG91bGQgbm90IGJlIGZpcmVkJyk7CisgIH0pOworCisgIGFuaW0ucmVhZHkudGhlbihmdW5jdGlv
bigpIHsKKyAgICBhbmltLmN1cnJlbnRUaW1lID0gMTAwMDAwOworICAgIHJldHVybiB3YWl0Rm9y
QW5pbWF0aW9uRnJhbWVzKDIpOworICB9KS50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewor
ICAgIHQuZG9uZSgpOworICB9KSk7Cit9LCAnb25maW5pc2ggZXZlbnQgaXMgbm90IGZpcmVkIGR1
cmF0aW9uIGVuZERlbGF5Jyk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAw
LCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwMDAsIGVu
ZERlbGF5OiAzMDAwMCB9KTsKKyAgYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFu
aW0uY3VycmVudFRpbWUgPSAxMTAwMDA7IC8vIGR1cmluZyBlbmREZWxheQorICAgIGFuaW0ub25m
aW5pc2ggPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihldmVudCkgeworICAgICAgYXNzZXJ0X3VucmVh
Y2hlZCgnb25maW5pc2ggZXZlbnQgc2hvdWxkIG5vdCBiZSBmaXJlZCBkdXJpbmcgZW5kRGVsYXkn
KTsKKyAgICB9KTsKKyAgICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygyKTsKKyAgfSku
dGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICBhbmltLm9uZmluaXNoID0gdC5zdGVw
X2Z1bmMoZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgIHQuZG9uZSgpOworICAgIH0pOworICAgIGFu
aW0uY3VycmVudFRpbWUgPSAxMzAwMDA7IC8vIGFmdGVyIGVuZFRpbWUKKyAgfSkpOworfSwgJ29u
ZmluaXNoIGV2ZW50IGlzIGZpcmVkIGN1cnJlbnRUaW1lIGlzIGFmdGVyIGVuZFRpbWUnKTsKKwor
PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9maWxsLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5p
bWF0aW9uRWZmZWN0VGltaW5nL2ZpbGwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhNDZmZWQx
MjljMjkwMzA4NjdhOTQ1YjJlYjg4ZWE5NjdlMGZhMDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVj
dFRpbWluZy9maWxsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKKworRkFJTCBUZXN0IGRl
ZmF1bHQgdmFsdWUgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
Y3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgc2V0IGZpbGwgbm9uZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMCknLCAnZGl2LmFu
aW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IGZpbGwgZm9yd2FyZHMgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9
LCAxMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBmaWxsIGJhY2t3
YXJkcyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9w
YWNpdHk6IFsgMCwgMSBdIH0sIDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgc2V0IGZpbGwgYm90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZmlsbC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1p
bmcvZmlsbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5ZjZhNDY3OTM4ZTg2YTJkODBkYTFlNjQyZGRhZGNk
ZWQ2NTZmNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9maWxsLmh0bWwKQEAgLTAs
MCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxl
PmZpbGwgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5n
aXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1hbmltYXRpb25lZmZlY3R0aW1pbmctZmlsbCI+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2Vx
dWFscyhhbmltLmVmZmVjdC50aW1pbmcuZmlsbCwgJ2F1dG8nKTsKK30sICdUZXN0IGRlZmF1bHQg
dmFsdWUnKTsKKworWyJub25lIiwgImZvcndhcmRzIiwgImJhY2t3YXJkcyIsICJib3RoIiwgXS5m
b3JFYWNoKGZ1bmN0aW9uKGZpbGwpeworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICAgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBb
IDAsIDEgXSB9LCAxMDApOworICAgIGFuaW0uZWZmZWN0LnRpbWluZy5maWxsID0gZmlsbDsKKyAg
ICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5maWxsLCBmaWxsLCAnc2V0IGZpbGwg
JyArIGZpbGwpOworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1p
bmcoKS5maWxsLCBmaWxsLCAnZ2V0Q29tcHV0ZWRUaW1pbmcoKSBhZnRlciBzZXQgZmlsbCAnICsg
ZmlsbCk7CisgIH0sICdzZXQgZmlsbCAnICsgZmlsbCk7Cit9KTsKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9nZXRBbmltYXRpb25zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9u
RWZmZWN0VGltaW5nL2dldEFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MjU0
OTFkNTYyNWM2NDNhZDRlNmNmZmYzZjdkMjY4M2FmNDNlMGUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVm
ZmVjdFRpbWluZy9nZXRBbmltYXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKwor
RkFJTCB3aGVuIGR1cmF0aW9uIGlzIGNoYW5nZWQgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKScsICdkaXYu
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCB3aGVuIGVuZERlbGF5IGlzIGNoYW5nZWQgZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBb
IDAsIDEgXSB9LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCB3aGVu
IGl0ZXJhdGlvbnMgaXMgY2hhbmdlZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIHdoZW4gY3VycmVudFRpbWUgY2hhbmdlZCBpbiBkdXJhdGlv
bjoxMDAwLCBkZWxheTogNTAwLCBlbmREZWxheTogLTUwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMCwgZGVsYXk6IDUwMCwgZW5kRGVsYXk6
IC01MDAgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgd2hlbiBjdXJyZW50
VGltZSBjaGFuZ2VkIGluIGR1cmF0aW9uOjEwMDAsIGRlbGF5OiAtNTAwLCBlbmREZWxheTogLTUw
MCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNp
dHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAw
MCwgZGVsYXk6IC01MDAsIGVuZERlbGF5OiAtNTAwIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2dldEFuaW1hdGlvbnMuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZm
ZWN0VGltaW5nL2dldEFuaW1hdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTYxOTJjOWQwMTE2ZDE0
MmZiZmJkZjA1OWY4YzFmMGQ3OGUwMzZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcv
Z2V0QW5pbWF0aW9ucy5odG1sCkBAIC0wLDAgKzEsOTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5FbGVtZW50LmdldEFuaW1hdGlvbnMgdGVzdHM8L3Rp
dGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5p
bWF0aW9ucy8jYW5pbWF0aW9uZWZmZWN0dGltaW5nIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iUnlvIE1vdG96YXdhIiBocmVmPSJtYWlsdG86bW90b3phd2FAbW96aWxsYS1qYXBhbi5vcmci
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlk
PSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUo
eyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0
X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwgJ2FuaW1hdGlvbiBmaW5pc2hl
ZCcpOworICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKz0gMTAwMDAwOworICBhc3NlcnRf
ZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKClbMF0sIGFuaW0sICdzZXQgZHVyYXRpb24gMTAyMDAw
Jyk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IDA7CisgIGFzc2VydF9lcXVhbHMo
ZGl2LmdldEFuaW1hdGlvbnMoKS5sZW5ndGgsIDAsICdzZXQgZHVyYXRpb24gMCcpOworICBhbmlt
LmVmZmVjdC50aW1pbmcuZHVyYXRpb24gPSAnYXV0byc7CisgIGFzc2VydF9lcXVhbHMoZGl2Lmdl
dEFuaW1hdGlvbnMoKS5sZW5ndGgsIDAsICdzZXQgZHVyYXRpb24gXCdhdXRvXCcnKTsKK30sICd3
aGVuIGR1cmF0aW9uIGlzIGNoYW5nZWQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBk
aXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBb
IDAsIDEgXSB9LCAyMDAwKTsKKworICBhbmltLmVmZmVjdC50aW1pbmcuZW5kRGVsYXkgPSAtMzAw
MDsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwKKyAgICAn
c2V0IG5lZ2F0aXZlIGVuZERlbGF5IHNvIGFzIGVuZFRpbWUgaXMgbGVzcyB0aGFuIGN1cnJlbnRU
aW1lJyk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5lbmREZWxheSA9IDEwMDA7CisgIGFzc2VydF9l
cXVhbHMoZGl2LmdldEFuaW1hdGlvbnMoKVswXSwgYW5pbSwKKyAgICAnc2V0IHBvc2l0aXZlIGVu
ZERlbGF5IHNvIGFzIGVuZFRpbWUgaXMgbW9yZSB0aGFuIGN1cnJlbnRUaW1lJyk7CisKKyAgYW5p
bS5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gMTAwMDsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDE1
MDA7CisgIGFzc2VydF9lcXVhbHMoZGl2LmdldEFuaW1hdGlvbnMoKS5sZW5ndGgsIDAsCisgICAg
J3NldCBjdXJyZW50VGltZSBsZXNzIHRoYW4gZW5kVGltZScpOworICBhbmltLmVmZmVjdC50aW1p
bmcuZW5kRGVsYXkgPSAtNTAwOworICBhbmltLmN1cnJlbnRUaW1lID0gNDAwOworICBhc3NlcnRf
ZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKClbMF0sIGFuaW0sCisgICAgJ3NldCBjdXJyZW50VGlt
ZSBsZXNzIHRoYW4gZW5kVGltZSB3aGVuIGVuZERlbGF5IGlzIG5lZ2F0aXZlIHZhbHVlJyk7Cisg
IGFuaW0uY3VycmVudFRpbWUgPSA1MDA7CisgIGFzc2VydF9lcXVhbHMoZGl2LmdldEFuaW1hdGlv
bnMoKS5sZW5ndGgsIDAsCisgICAgJ3NldCBjdXJyZW50VGltZSBzYW1lIGFzIGVuZFRpbWUgd2hl
biBlbmREZWxheSBpcyBuZWdhdGl2ZSB2YWx1ZScpOworICBhbmltLmN1cnJlbnRUaW1lID0gMTAw
MDsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwKKyAgICAn
c2V0IGN1cnJlbnRUaW1lIHNhbWUgYXMgZHVyYXRpb24gd2hlbiBlbmREZWxheSBpcyBuZWdhdGl2
ZSB2YWx1ZScpOworfSwgJ3doZW4gZW5kRGVsYXkgaXMgY2hhbmdlZCcpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5p
bWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhbmltLmZpbmlzaCgpOworICBh
c3NlcnRfZXF1YWxzKGRpdi5nZXRBbmltYXRpb25zKCkubGVuZ3RoLCAwLCAnYW5pbWF0aW9uIGZp
bmlzaGVkJyk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5pdGVyYXRpb25zID0gMTA7CisgIGFzc2Vy
dF9lcXVhbHMoZGl2LmdldEFuaW1hdGlvbnMoKVswXSwgYW5pbSwgJ3NldCBpdGVyYXRpb25zIDEw
Jyk7CisgIGFuaW0uZWZmZWN0LnRpbWluZy5pdGVyYXRpb25zID0gMDsKKyAgYXNzZXJ0X2VxdWFs
cyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwgJ3NldCBpdGVyYXRpb25zIDAnKTsKKyAg
YW5pbS5lZmZlY3QudGltaW5nLml0ZXJhdGlvbnMgPSBJbmZpbml0eTsKKyAgYXNzZXJ0X2VxdWFs
cyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMSwgJ3NldCBpdGVyYXRpb25zIEluZmluaXR5
Jyk7Cit9LCAnd2hlbiBpdGVyYXRpb25zIGlzIGNoYW5nZWQnKTsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUo
eyBvcGFjaXR5OiBbIDAsIDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IDEwMDAsIGRlbGF5OiA1MDAsIGVuZERlbGF5OiAtNTAwIH0pOworICBhc3NlcnRfZXF1YWxz
KGRpdi5nZXRBbmltYXRpb25zKClbMF0sIGFuaW0sICd3aGVuIGN1cnJlbnRUaW1lIDAnKTsKKyAg
YW5pbS5jdXJyZW50VGltZSA9IDUwMDsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9u
cygpWzBdLCBhbmltLCAnc2V0IGN1cnJlbnRUaW1lIDUwMCcpOworICBhbmltLmN1cnJlbnRUaW1l
ID0gMTAwMDsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwg
J3NldCBjdXJyZW50VGltZSAxMDAwJyk7Cit9LCAnd2hlbiBjdXJyZW50VGltZSBjaGFuZ2VkIGlu
IGR1cmF0aW9uOjEwMDAsIGRlbGF5OiA1MDAsIGVuZERlbGF5OiAtNTAwJyk7CisKK3Rlc3QoZnVu
Y3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5h
bmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7
IGR1cmF0aW9uOiAxMDAwLCBkZWxheTogLTUwMCwgZW5kRGVsYXk6IC01MDAgfSk7CisgIGFzc2Vy
dF9lcXVhbHMoZGl2LmdldEFuaW1hdGlvbnMoKS5sZW5ndGgsIDAsICd3aGVuIGN1cnJlbnRUaW1l
IDAnKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDUwMDsKKyAgYXNzZXJ0X2VxdWFscyhkaXYuZ2V0
QW5pbWF0aW9ucygpLmxlbmd0aCwgMCwgJ3NldCBjdXJyZW50VGltZSA1MDAnKTsKKyAgYW5pbS5j
dXJyZW50VGltZSA9IDEwMDA7CisgIGFzc2VydF9lcXVhbHMoZGl2LmdldEFuaW1hdGlvbnMoKS5s
ZW5ndGgsIDAsICdzZXQgY3VycmVudFRpbWUgMTAwMCcpOworfSwgJ3doZW4gY3VycmVudFRpbWUg
Y2hhbmdlZCBpbiBkdXJhdGlvbjoxMDAwLCBkZWxheTogLTUwMCwgZW5kRGVsYXk6IC01MDAnKTsK
KworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2dldENvbXB1
dGVkU3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZ2V0Q29tcHV0ZWRTdHlsZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjgzMmYyMTdmNmY3NGQwZGU1ZjcwY2I2OWNlMzc5MWQ2ZmRl
NGIwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2dldENvbXB1dGVkU3R5bGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKKworRkFJTCBjaGFuZ2VkIGR1cmF0aW9uIGltbWVk
aWF0ZWx5IHVwZGF0ZXMgaXRzIGNvbXB1dGVkIHN0eWxlcyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMDAwMCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgY2hhbmdlZCBpdGVyYXRpb25zIGlt
bWVkaWF0ZWx5IHVwZGF0ZXMgaXRzIGNvbXB1dGVkIHN0eWxlcyBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDEwMDAw
MCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgY2hhbmdlIGN1cnJlbnRUaW1l
IHdoZW4gZmlsbCBpcyBub25lIGFuZCBlbmREZWxheSBpcyBwb3NpdGl2ZSBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMSwgMCBdIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMDAsIGVuZERlbGF5OiAx
MDAwLCBmaWxsOiAnbm9uZScgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
Y2hhbmdlIGN1cnJlbnRUaW1lIHdoZW4gZmlsbCBmb3J3YXJkcyBhbmQgZW5kRGVsYXkgaXMgcG9z
aXRpdmUgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4u
LicpCitGQUlMIGNoYW5nZSBjdXJyZW50VGltZSB3aGVuIGZpbGwgbm9uZSBhbmQgZW5kRGVsYXkg
aXMgbmVnYXRpdmUgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoeyBvcGFjaXR5OiBbIDEsIDAgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVy
YXRpb246IDEwMDAwLCBlbmREZWxheTogLTUwMDAsIGZpbGw6ICdub25lJyB9KScsICdkaXYuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBjaGFuZ2UgY3VycmVudFRpbWUgd2hlbiBmaWxsIGZv
cndhcmRzIGFuZCBlbmREZWxheSBpcyBuZWdhdGl2ZSB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rp
b24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgY2hhbmdlIGRpcmVjdGlvbiBmcm9t
ICJub3JtYWwiIHRvICJyZXZlcnNlIiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgeyBkdXJhdGlvbjogMTAwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJl
Y3Rpb246ICdub3JtYWwnIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIGNo
YW5nZSBkaXJlY3Rpb24gZnJvbSAibm9ybWFsIiB0byAiYWx0ZXJuYXRlIiB1bmRlZmluZWQgaXMg
bm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgY2hhbmdlIGRp
cmVjdGlvbiBmcm9tICJub3JtYWwiIHRvICJhbHRlcm5hdGUtcmV2ZXJzZSIgdW5kZWZpbmVkIGlz
IG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGNoYW5nZSBk
aXJlY3Rpb24gZnJvbSAibm9ybWFsIiB0byAicmV2ZXJzZSIgd2hlbiBjdXJyZW50VGltZSBpcyAw
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9nZXRDb21wdXRlZFN0eWxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRp
bWluZy9nZXRDb21wdXRlZFN0eWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZjMjMzZjBlOTgxZDNkMTkw
ZDJkMzM2ZGI0ZjdiZDNjMmFmMWNhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2dl
dENvbXB1dGVkU3R5bGUuaHRtbApAQCAtMCwwICsxLDE3MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPmdldENvbXB1dGVkU3R5bGUgdGVzdHM8L3RpdGxl
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0
aW9ucy8jYW5pbWF0aW9uZWZmZWN0dGltaW5nIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
UnlvIE1vdG96YXdhIiBocmVmPSJtYWlsdG86bW90b3phd2FAbW96aWxsYS1qYXBhbi5vcmciPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBv
cGFjaXR5OiBbIDAsIDEgXSB9LCAxMDAwMDApOworICBhbmltLmZpbmlzaCgpOworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMScsICdhbmltYXRpb24gZmlu
aXNoZWQnKTsKKyAgYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICo9IDI7CisgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcwLjUnLCAnc2V0IGRvdWJsZSBk
dXJhdGlvbicpOworICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gPSAwOworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMScsICdzZXQgZHVyYXRpb24g
MCcpOworICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gPSAnYXV0byc7CisgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcxJywgJ3NldCBkdXJhdGlvbiBc
J2F1dG9cJycpOworfSwgJ2NoYW5nZWQgZHVyYXRpb24gaW1tZWRpYXRlbHkgdXBkYXRlcyBpdHMg
Y29tcHV0ZWQgc3R5bGVzJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3Jl
YXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0g
fSwgMTAwMDAwKTsKKyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikub3BhY2l0eSwgJzEnLCAnYW5pbWF0aW9uIGZpbmlzaGVkJyk7CisgIGFuaW0u
ZWZmZWN0LnRpbWluZy5pdGVyYXRpb25zID0gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikub3BhY2l0eSwgJzAnLCAnc2V0IDIgaXRlcmF0aW9ucycpOworICBhbmltLmVm
ZmVjdC50aW1pbmcuaXRlcmF0aW9ucyA9IDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLm9wYWNpdHksICcxJywgJ3NldCBpdGVyYXRpb25zIDAnKTsKKyAgYW5pbS5lZmZl
Y3QudGltaW5nLml0ZXJhdGlvbnMgPSBJbmZpbml0eTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAnLCAnc2V0IGl0ZXJhdGlvbnMgSW5maW5pdHknKTsK
K30sICdjaGFuZ2VkIGl0ZXJhdGlvbnMgaW1tZWRpYXRlbHkgdXBkYXRlcyBpdHMgY29tcHV0ZWQg
c3R5bGVzJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAxLCAwIF0gfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAwMCwgZW5kRGVsYXk6IDEwMDAsIGZp
bGw6ICdub25lJyB9KTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gOTAwMDsKKyAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuMScsCisgICAgICAgICAgICAg
ICAgJ3NldCBjdXJyZW50VGltZSBkdXJpbmcgZHVyYXRpb24nKTsKKworICBhbmltLmN1cnJlbnRU
aW1lID0gMTA5MDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNp
dHksICcxJywKKyAgICAgICAgICAgICAgICAnc2V0IGN1cnJlbnRUaW1lIGR1cmluZyBlbmREZWxh
eScpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSAxMTEwMDsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzEnLAorICAgICAgICAgICAgICAgICdzZXQgY3Vy
cmVudFRpbWUgYWZ0ZXIgZW5kRGVsYXknKTsKK30sICdjaGFuZ2UgY3VycmVudFRpbWUgd2hlbiBm
aWxsIGlzIG5vbmUgYW5kIGVuZERlbGF5IGlzIHBvc2l0aXZlJyk7CisKK3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRl
KHsgb3BhY2l0eTogWyAxLCAwIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGR1cmF0
aW9uOiAxMDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZERlbGF5OiAxMDAwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2ZvcndhcmRzJyB9KTsKKyAgYW5pbS5j
dXJyZW50VGltZSA9IDUwMDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYp
Lm9wYWNpdHksICcwLjUnLAorICAgICAgICAgICAgICAgICdzZXQgY3VycmVudFRpbWUgZHVyaW5n
IGR1cmF0aW9uJyk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDk5OTk7CisgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcwLjAwMDEnLAorICAgICAgICAgICAg
ICAgICdzZXQgY3VycmVudFRpbWUganVzdCBhIGxpdHRsZSBiZWZvcmUgZHVyYXRpb24nKTsKKwor
ICBhbmltLmN1cnJlbnRUaW1lID0gMTA5MDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLm9wYWNpdHksICcwJywKKyAgICAgICAgICAgICAgICAnc2V0IGN1cnJlbnRUaW1l
IGR1cmluZyBlbmREZWxheScpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSAxMTEwMDsKKyAgYXNz
ZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAnLAorICAgICAgICAg
ICAgICAgICdzZXQgY3VycmVudFRpbWUgYWZ0ZXIgZW5kRGVsYXknKTsKK30sICdjaGFuZ2UgY3Vy
cmVudFRpbWUgd2hlbiBmaWxsIGZvcndhcmRzIGFuZCBlbmREZWxheSBpcyBwb3NpdGl2ZScpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFu
aW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMSwgMCBdIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgeyBkdXJhdGlvbjogMTAwMDAsIGVuZERlbGF5OiAtNTAwMCwgZmlsbDogJ25vbmUn
IH0pOworCisgIGFuaW0uY3VycmVudFRpbWUgPSAxMDAwOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMC45JywKKyAgICAgICAgICAgICAgICAnc2V0IGN1
cnJlbnRUaW1lIGJlZm9yZSBlbmRUaW1lJyk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDEwMDAw
OworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMScsCisg
ICAgICAgICAgICAgICAgJ3NldCBjdXJyZW50VGltZSBhZnRlciBlbmRUaW1lJyk7Cit9LCAnY2hh
bmdlIGN1cnJlbnRUaW1lIHdoZW4gZmlsbCBub25lIGFuZCBlbmREZWxheSBpcyBuZWdhdGl2ZScp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFy
IGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMSwgMCBdIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBlbmREZWxheTogLTUwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAnZm9y
d2FyZHMnIH0pOworCisgIGFuaW0uY3VycmVudFRpbWUgPSAxMDAwOworICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMC45JywKKyAgICAgICAgICAgICAgICAn
c2V0IGN1cnJlbnRUaW1lIGJlZm9yZSBlbmRUaW1lJyk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9
IDUwMDA7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHksICcw
LjUnLAorICAgICAgICAgICAgICAgICdzZXQgY3VycmVudFRpbWUgc2FtZSBhcyBlbmRUaW1lJyk7
CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDEwMDAwOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAnMCcsCisgICAgICAgICAgICAgICAgJ3NldCBjdXJyZW50
VGltZSBhZnRlciBlbmRUaW1lJyk7Cit9LCAnY2hhbmdlIGN1cnJlbnRUaW1lIHdoZW4gZmlsbCBm
b3J3YXJkcyBhbmQgZW5kRGVsYXkgaXMgbmVnYXRpdmUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBv
cGFjaXR5OiBbIDAsIDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMDAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiAnbm9ybWFsJyB9
KTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gNzAwMDsKKyAgYW5pbS5lZmZlY3QudGltaW5nLmRp
cmVjdGlvbiA9ICdyZXZlcnNlJzsKKworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS5vcGFjaXR5LCAnMC4zJywKKyAgICAgICAgICAgICAgICAnY2hhbmdlIGRpcmVjdGlvbiBm
cm9tICJub3JtYWwiIHRvICJyZXZlcnNlIicpOworfSwgJ2NoYW5nZSBkaXJlY3Rpb24gZnJvbSAi
bm9ybWFsIiB0byAicmV2ZXJzZSInKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAs
IDEgXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIHsgaXRlcmF0aW9uczogMiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpcmVjdGlvbjogJ25vcm1hbCcgfSk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9
IDE3MDAwOworICBhbmltLmVmZmVjdC50aW1pbmcuZGlyZWN0aW9uID0gJ2FsdGVybmF0ZSc7CisK
KyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuMycsCisg
ICAgICAgICAgICAgICAgJ2NoYW5nZSBkaXJlY3Rpb24gZnJvbSAibm9ybWFsIiB0byAiYWx0ZXJu
YXRlIicpOworICB9LCAnY2hhbmdlIGRpcmVjdGlvbiBmcm9tICJub3JtYWwiIHRvICJhbHRlcm5h
dGUiJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOwor
ICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICB7IGl0ZXJhdGlvbnM6IDIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkdXJhdGlvbjogMTAwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rp
b246ICdub3JtYWwnIH0pOworCisgIGFuaW0uY3VycmVudFRpbWUgPSAxNzAwMDsKKyAgYW5pbS5l
ZmZlY3QudGltaW5nLmRpcmVjdGlvbiA9ICdhbHRlcm5hdGUtcmV2ZXJzZSc7CisKKyAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwgJzAuNycsCisgICAgICAgICAg
ICAgICAgJ2NoYW5nZSBkaXJlY3Rpb24gZnJvbSAibm9ybWFsIiB0byAiYWx0ZXJuYXRlLXJldmVy
c2UiJyk7Cit9LCAnY2hhbmdlIGRpcmVjdGlvbiBmcm9tICJub3JtYWwiIHRvICJhbHRlcm5hdGUt
cmV2ZXJzZSInKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYo
dCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZmlsbDogJ2JhY2t3YXJkcycsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkaXJlY3Rpb246ICdub3JtYWwnIH0pOworCisgIC8vIHRlc3QgZm9yIGEgZmxpcCBvZiB2YWx1
ZSBhdCB0aGUgY3VycmVudFRpbWUgPSAwCisgIGFuaW0uZWZmZWN0LnRpbWluZy5kaXJlY3Rpb24g
PSAncmV2ZXJzZSc7CisKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3Bh
Y2l0eSwgJzEnLAorICAgICAgICAgICAgICAgICdjaGFuZ2UgZGlyZWN0aW9uIGZyb20gIm5vcm1h
bCIgdG8gInJldmVyc2UiICcgKworICAgICAgICAgICAgICAgICdhdCB0aGUgc3RhcnRpbmcgcG9p
bnQnKTsKK30sICdjaGFuZ2UgZGlyZWN0aW9uIGZyb20gIm5vcm1hbCIgdG8gInJldmVyc2UiIHdo
ZW4gY3VycmVudFRpbWUgaXMgMCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9u
RWZmZWN0VGltaW5nL2l0ZXJhdGlvblN0YXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2l0
ZXJhdGlvblN0YXJ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDY1ZjAxYThmZWFjYWUxZjFk
Nzg3ZjVjZjQxYTM0YzMzYmI3MmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvaXRl
cmF0aW9uU3RhcnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitGQUlMIFRlc3QgZGVm
YXVsdCB2YWx1ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdj
cmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IHRoYXQgY2hhbmdpbmcgdGhlIGl0ZXJhdGlvblN0YXJ0IGFmZmVj
dHMgY29tcHV0ZWQgdGltaW5nIHdoZW4gYmFja3dhcmRzLWZpbGxpbmcgdW5kZWZpbmVkIGlzIG5v
dCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIFRlc3QgdGhhdCBj
aGFuZ2luZyB0aGUgaXRlcmF0aW9uU3RhcnQgYWZmZWN0cyBjb21wdXRlZCB0aW1pbmcgZHVyaW5n
IHRoZSBhY3RpdmUgcGhhc2UgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5k
aXYuYW5pbWF0ZS4uLicpCitGQUlMIFRlc3QgdGhhdCBjaGFuZ2luZyB0aGUgaXRlcmF0aW9uU3Rh
cnQgYWZmZWN0cyBjb21wdXRlZCB0aW1pbmcgd2hlbiBmb3J3YXJkcy1maWxsaW5nIHVuZGVmaW5l
ZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBVc2lu
ZyBpbnZhbGlkIHZhbHVlcyBzaG91bGQgdGhyb3cgVHlwZUVycm9yIGRpdi5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKG51bGwpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2l0ZXJhdGlvblN0YXJ0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlv
bkVmZmVjdFRpbWluZy9pdGVyYXRpb25TdGFydC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkMmQwZTA5N2Fj
NjRmMDM4ZDYwZDVkN2YxYjdlMzI4M2Q3ZWVlZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRp
bWluZy9pdGVyYXRpb25TdGFydC5odG1sCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5pdGVyYXRpb25TdGFydCB0ZXN0czwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5p
bWF0aW9ucy8jZG9tLWFuaW1hdGlvbmVmZmVjdHRpbWluZy1pdGVyYXRpb25zdGFydCI+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9IkRhaXN1a2UgQWthdHN1a2EiIGhyZWY9Im1haWx0bzpkYWlz
dWtlQG1vemlsbGEtamFwYW4ub3JnIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3Nj
cmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmlj
dCc7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmlt
YXRlKG51bGwpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LnRpbWluZy5pdGVyYXRpb25T
dGFydCwgMCk7Cit9LCAnVGVzdCBkZWZhdWx0IHZhbHVlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsg
b3BhY2l0eTogWyAwLCAxIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB7IGl0ZXJhdGlv
blN0YXJ0OiAwLjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl
bGF5OiAxIH0pOworICBhbmltLmVmZmVjdC50aW1pbmcuaXRlcmF0aW9uU3RhcnQgPSAyLjU7Cisg
IGFzc2VydF90aW1lc19lcXVhbChhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dy
ZXNzLCAwLjUpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5n
KCkuY3VycmVudEl0ZXJhdGlvbiwgMik7Cit9LCAnVGVzdCB0aGF0IGNoYW5naW5nIHRoZSBpdGVy
YXRpb25TdGFydCBhZmZlY3RzIGNvbXB1dGVkIHRpbWluZyAnICsKKyAgICd3aGVuIGJhY2t3YXJk
cy1maWxsaW5nJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2
KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICB7IGl0ZXJhdGlvblN0YXJ0OiAwLjIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEw
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAwIH0pOworICBhbmltLmVmZmVj
dC50aW1pbmcuaXRlcmF0aW9uU3RhcnQgPSAyLjU7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmlt
LmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAwLjUpOworICBhc3NlcnRfZXF1
YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0ZXJhdGlvbiwgMik7
Cit9LCAnVGVzdCB0aGF0IGNoYW5naW5nIHRoZSBpdGVyYXRpb25TdGFydCBhZmZlY3RzIGNvbXB1
dGVkIHRpbWluZyAnICsKKyAgICdkdXJpbmcgdGhlIGFjdGl2ZSBwaGFzZScpOworCit0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYu
YW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
eyBpdGVyYXRpb25TdGFydDogMC4yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0
aW9uczogMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkZWxheTogMCB9KTsKKyAgYW5pbS5maW5pc2goKTsKKyAgYW5pbS5lZmZlY3QudGlt
aW5nLml0ZXJhdGlvblN0YXJ0ID0gMi41OworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbS5lZmZl
Y3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMC41KTsKKyAgYXNzZXJ0X2VxdWFscyhh
bmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmN1cnJlbnRJdGVyYXRpb24sIDMpOworfSwg
J1Rlc3QgdGhhdCBjaGFuZ2luZyB0aGUgaXRlcmF0aW9uU3RhcnQgYWZmZWN0cyBjb21wdXRlZCB0
aW1pbmcgJyArCisgICAnd2hlbiBmb3J3YXJkcy1maWxsaW5nJyk7CisKK3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5hbmltYXRl
KG51bGwpOworICBmb3IgKGxldCBpbnZhbGlkIG9mIFstMSwgTmFOLCBJbmZpbml0eV0pIHsKKyAg
ICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAg
ICBhbmltLmVmZmVjdC50aW1pbmcuaXRlcmF0aW9uU3RhcnQgPSBpbnZhbGlkOworICAgIH0sICdz
ZXR0aW5nICcgKyBpbnZhbGlkKTsKKyAgICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJv
cicgfSwgZnVuY3Rpb24oKSB7CisgICAgICBkaXYuYW5pbWF0ZSh7fSwgeyBpdGVyYXRpb25TdGFy
dDogaW52YWxpZCB9KTsKKyAgICB9LCAnYW5pbWF0ZSgpIHdpdGggJyArIGludmFsaWQpOworICB9
Cit9LCAnVXNpbmcgaW52YWxpZCB2YWx1ZXMgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2l0ZXJhdGlvbnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9BbmltYXRpb25FZmZlY3RUaW1pbmcvaXRlcmF0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjA3N2U5N2VjMjBkN2FjMTMzMGQzNGNiYTY0OTg3MjcyMDg3MGFiYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5p
bWF0aW9uRWZmZWN0VGltaW5nL2l0ZXJhdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBA
QAorCitGQUlMIFRlc3QgZGVmYXVsdCB2YWx1ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYo
dCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXQgaXRlcmF0aW9ucyAyIGRpdi5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHsgb3BhY2l0eTogWyAwLCAx
IF0gfSwgMjAwMCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0IGl0ZXJh
dGlvbnMgSW5maW5pdHkgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCAyMDAwKScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBzZXQgbmVnYXRpdmUgaXRlcmF0aW9ucyBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDAp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldCBuZWdhdGl2ZSBpbmZpbml0
eSBpdGVyYXRpb25zICBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIHNldCBOYU4gaXRlcmF0aW9ucyBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2l0ZXJh
dGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2l0ZXJhdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGZl
MTY5NTY0M2E5MjQ5ZGU2ZGNjZjg2YzgxMWI3NjQzOWRkM2M4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25F
ZmZlY3RUaW1pbmcvaXRlcmF0aW9ucy5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5pdGVyYXRpb25zIHRlc3RzPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmlt
YXRpb25zLyNkb20tYW5pbWF0aW9uZWZmZWN0dGltaW5nLWl0ZXJhdGlvbnMiPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2
PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBh
bmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5l
ZmZlY3QudGltaW5nLml0ZXJhdGlvbnMsIDEpOworfSwgJ1Rlc3QgZGVmYXVsdCB2YWx1ZScpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFu
aW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhbmltLmVm
ZmVjdC50aW1pbmcuaXRlcmF0aW9ucyA9IDI7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3Qu
dGltaW5nLml0ZXJhdGlvbnMsIDIsICdzZXQgZHVyYXRpb24gMicpOworICBhc3NlcnRfZXF1YWxz
KGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuaXRlcmF0aW9ucywgMiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgJ2dldENvbXB1dGVkVGltaW5nKCkgYWZ0ZXIgc2V0IGl0ZXJhdGlvbnMg
MicpOworfSwgJ3NldCBpdGVyYXRpb25zIDInKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBvcGFjaXR5
OiBbIDAsIDEgXSB9LCAyMDAwKTsKKyAgYW5pbS5lZmZlY3QudGltaW5nLml0ZXJhdGlvbnMgPSBJ
bmZpbml0eTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC50aW1pbmcuaXRlcmF0aW9ucywg
SW5maW5pdHksICdzZXQgZHVyYXRpb24gSW5maW5pdHknKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
LmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLml0ZXJhdGlvbnMsIEluZmluaXR5LAorICAgICAg
ICAgICAgICAgICAgICAgICAnZ2V0Q29tcHV0ZWRUaW1pbmcoKSBhZnRlciBzZXQgaXRlcmF0aW9u
cyBJbmZpbml0eScpOworfSwgJ3NldCBpdGVyYXRpb25zIEluZmluaXR5Jyk7CisKK3Rlc3QoZnVu
Y3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9IGRpdi5h
bmltYXRlKHsgb3BhY2l0eTogWyAwLCAxIF0gfSwgMjAwMCk7CisgIGFzc2VydF90aHJvd3MoeyBu
YW1lOiAnVHlwZUVycm9yJyB9LCBmdW5jdGlvbigpIHsKKyAgICBhbmltLmVmZmVjdC50aW1pbmcu
aXRlcmF0aW9ucyA9IC0xOworICB9KTsKK30sICdzZXQgbmVnYXRpdmUgaXRlcmF0aW9ucycpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFu
aW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsgMCwgMSBdIH0sIDIwMDApOworICBhc3NlcnRf
dGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwgZnVuY3Rpb24oKSB7CisgICAgYW5pbS5lZmZl
Y3QudGltaW5nLml0ZXJhdGlvbnMgPSAtSW5maW5pdHk7CisgIH0pOworfSwgJ3NldCBuZWdhdGl2
ZSBpbmZpbml0eSBpdGVyYXRpb25zICcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRp
diA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG9wYWNpdHk6IFsg
MCwgMSBdIH0sIDIwMDApOworICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwg
ZnVuY3Rpb24oKSB7CisgICAgYW5pbS5lZmZlY3QudGltaW5nLml0ZXJhdGlvbnMgPSBOYU47Cisg
IH0pOworfSwgJ3NldCBOYU4gaXRlcmF0aW9ucycpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGlu
ZS9kb2N1bWVudC10aW1lbGluZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y3NDBjYjJhZGRh
OGEyNzliMmMxMjlmN2Y1YzUzM2I4NzQ1NGU3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUv
ZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitQQVNTIGRv
Y3VtZW50LnRpbWVsaW5lIGlkZW50aXR5IHRlc3RzIAorRkFJTCBkb2N1bWVudC50aW1lbGluZS5j
dXJyZW50VGltZSB2YWx1ZSB0ZXN0cyBhc3NlcnRfdHJ1ZTogZG9jdW1lbnQudGltZWxpbmUuY3Vy
cmVudFRpbWUgaXMgcG9zaXRpdmUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgZG9jdW1l
bnQudGltZWxpbmUuY3VycmVudFRpbWUgbGl2ZW5lc3MgdGVzdHMgYXNzZXJ0X2dyZWF0ZXJfdGhh
bjogZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgaW5jcmVhc2VzIGJldHdlZW4gc2NyaXB0
IGJsb2NrcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKK0ZBSUwgaWZyYW1l
IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGxpdmVuZXNzIHRlc3RzIGFzc2VydF9ncmVh
dGVyX3RoYW46IGlmcmFtZSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBpbmNyZWFzZXMg
YmV0d2VlbiBzY3JpcHQgYmxvY2tzIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0
IgorRkFJTCBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSB0aW1lIHNob3VsZCBiZSB0aGUg
c2FtZSBmb3IgYWxsIFJBRiBjYWxsYmFja3MgaW4gYSBmcmFtZSBhc3NlcnRfZ3JlYXRlcl90aGFu
X2VxdWFsOiBjdXJyZW50VGltZSBzaG91bGQgaGF2ZSBwcm9ncmVzc2VkIGV4cGVjdGVkIGEgbnVt
YmVyIGJ1dCBnb3QgYSAib2JqZWN0IgorIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGluZS9kb2N1bWVudC10
aW1lbGluZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRpb25UaW1lbGluZS9kb2N1bWVudC10aW1lbGluZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk0ZDhkZTAwMDkzZTJhYjQ2YWMxYzFmZGU4NjJmMjA5MWQyYzkxZjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5lLmh0bWwKQEAgLTAsMCArMSwxMTEgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5EZWZhdWx0IGRvY3Vt
ZW50IHRpbWVsaW5lIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyN0aGUtZG9jdW1lbnRzLWRlZmF1bHQtdGlt
ZWxpbmUiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
bG9nIj48L2Rpdj4KKzxpZnJhbWUgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBpZD0iaWZyYW1lIj48
L2lmcmFtZT4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQudGltZWxpbmUsIGRvY3VtZW50LnRpbWVsaW5lLAorICAg
ICdkb2N1bWVudC50aW1lbGluZSByZXR1cm5zIHRoZSBzYW1lIG9iamVjdCBldmVyeSB0aW1lJyk7
CisgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7CisgIGFz
c2VydF9ub3RfZXF1YWxzKGRvY3VtZW50LnRpbWVsaW5lLCBpZnJhbWUuY29udGVudERvY3VtZW50
LnRpbWVsaW5lLAorICAgICdkb2N1bWVudC50aW1lbGluZSByZXR1cm5zIGEgZGlmZmVyZW50IG9i
amVjdCBmb3IgZWFjaCBkb2N1bWVudCcpOworICBhc3NlcnRfbm90X2VxdWFscyhpZnJhbWUuY29u
dGVudERvY3VtZW50LnRpbWVsaW5lLCBudWxsLAorICAgICdkb2N1bWVudC50aW1lbGluZSBvbiBh
biBpZnJhbWUgaXMgbm90IG51bGwnKTsKK30sICdkb2N1bWVudC50aW1lbGluZSBpZGVudGl0eSB0
ZXN0cycpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgYXNzZXJ0X3RydWUoZG9jdW1l
bnQudGltZWxpbmUuY3VycmVudFRpbWUgPiAwLAorICAgICdkb2N1bWVudC50aW1lbGluZS5jdXJy
ZW50VGltZSBpcyBwb3NpdGl2ZScpOworICAvLyBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSBzaG91bGQgYmUgc2V0IGV2ZW4gYmVmb3JlIGRvY3VtZW50CisgIC8vIGxvYWQgZmlyZXMuIFdl
IGV4cGVjdCB0aGlzIGNvZGUgdG8gYmUgcnVuIGJlZm9yZSBkb2N1bWVudCBsb2FkIGFuZCBoZW5j
ZQorICAvLyB0aGUgYWJvdmUgYXNzZXJ0aW9uIGlzIHN1ZmZpY2llbnQuCisgIC8vIElmIHRoZSBm
b2xsb3dpbmcgYXNzZXJ0aW9uIGZhaWxzLCB0aGlzIHRlc3QgbmVlZHMgdG8gYmUgcmVkZXNpZ25l
ZC4KKyAgYXNzZXJ0X3RydWUoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2NvbXBsZXRlJywKKyAg
ICAnVGVzdCBpcyBydW5uaW5nIHByaW9yIHRvIGRvY3VtZW50IGxvYWQnKTsKKworICAvLyBUZXN0
IHRoYXQgdGhlIGRvY3VtZW50IHRpbWVsaW5lJ3MgY3VycmVudCB0aW1lIGlzIG1lYXN1cmVkIGZy
b20KKyAgLy8gbmF2aWdhdGlvblN0YXJ0LgorICAvLworICAvLyBXZSBjYW4ndCBqdXN0IGNvbXBh
cmUgZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgdG8KKyAgLy8gd2luZG93LnBlcmZvcm1h
bmNlLm5vdygpIGJlY2F1c2UgY3VycmVudFRpbWUgaXMgb25seSB1cGRhdGVkIG9uIGEgc2FtcGxl
CisgIC8vIHNvIHdlIHVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW5zdGVhZC4KKyAgd2luZG93
LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbihyYWZUaW1lKSB7CisgICAgdC5zdGVwKGZ1
bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC50aW1lbGluZS5jdXJyZW50
VGltZSwgcmFmVGltZSwKKyAgICAgICAgICAgICAgICAgICAgJ2RvY3VtZW50LnRpbWVsaW5lLmN1
cnJlbnRUaW1lIG1hdGNoZXMnICsKKyAgICAgICAgICAgICAgICAgICAgJyByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUgdGltZScpOworICAgIH0pOworICAgIHQuZG9uZSgpOworICB9KTsKK30sICdkb2N1
bWVudC50aW1lbGluZS5jdXJyZW50VGltZSB2YWx1ZSB0ZXN0cycpOworCitwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgdmFsdWVBdFN0YXJ0ID0gZG9jdW1lbnQudGltZWxpbmUuY3Vy
cmVudFRpbWU7CisgIHZhciB0aW1lQXRTdGFydCA9IHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKTsK
KyAgd2hpbGUgKHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSAtIHRpbWVBdFN0YXJ0IDwgNTApIHsK
KyAgICAvLyBXYWl0IDUwbXMKKyAgfQorICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LnRpbWVsaW5l
LmN1cnJlbnRUaW1lLCB2YWx1ZUF0U3RhcnQsCisgICAgJ2RvY3VtZW50LnRpbWVsaW5lLmN1cnJl
bnRUaW1lIGRvZXMgbm90IGNoYW5nZSB3aXRoaW4gYSBzY3JpcHQgYmxvY2snKTsKKyAgcmV0dXJu
IHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuKGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lLCB2YWx1ZUF0U3RhcnQs
CisgICAgICAnZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgaW5jcmVhc2VzIGJldHdlZW4g
c2NyaXB0IGJsb2NrcycpOworICB9KTsKK30sICdkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSBsaXZlbmVzcyB0ZXN0cycpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgY29uc3Qg
aWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgIGlmcmFtZS53aWR0
aCA9IDEwOworICBpZnJhbWUuaGVpZ2h0ID0gMTA7CisKKyAgaWZyYW1lLmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgY29uc3QgaWZyYW1lVGltZWxpbmUg
PSBpZnJhbWUuY29udGVudERvY3VtZW50LnRpbWVsaW5lOworICAgIGNvbnN0IHZhbHVlQXRTdGFy
dCAgID0gaWZyYW1lVGltZWxpbmUuY3VycmVudFRpbWU7CisgICAgY29uc3QgdGltZUF0U3RhcnQg
ICAgPSB3aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7CisgICAgd2hpbGUgKGlmcmFtZS5jb250ZW50
V2luZG93LnBlcmZvcm1hbmNlLm5vdygpIC0gdGltZUF0U3RhcnQgPCA1MCkgeworICAgICAgLy8g
V2FpdCA1MG1zCisgICAgfQorICAgIGFzc2VydF9lcXVhbHMoaWZyYW1lVGltZWxpbmUuY3VycmVu
dFRpbWUsIHZhbHVlQXRTdGFydCwKKyAgICAgICdpZnJhbWUgZG9jdW1lbnQudGltZWxpbmUuY3Vy
cmVudFRpbWUgZG9lcyBub3QgY2hhbmdlIHdpdGhpbiBhICcKKyAgICAgICsgJyBzY3JpcHQgYmxv
Y2snKTsKKworICAgIGlmcmFtZS5jb250ZW50V2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0
LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oaWZyYW1l
VGltZWxpbmUuY3VycmVudFRpbWUsIHZhbHVlQXRTdGFydCwKKyAgICAgICAgJ2lmcmFtZSBkb2N1
bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBpbmNyZWFzZXMgYmV0d2VlbiBzY3JpcHQgYmxvY2tz
Jyk7CisgICAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAgfSkpOworICB9KSk7CisKKyAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworfSwgJ2lmcmFtZSBkb2N1bWVudC50aW1lbGlu
ZS5jdXJyZW50VGltZSBsaXZlbmVzcyB0ZXN0cycpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIHN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lOworICB2
YXIgZmlyc3RSYWZUaW1lOworCisgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsK
KyAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFs
KGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lLCBzdGFydFRpbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdjdXJyZW50VGltZSBzaG91bGQgaGF2ZSBwcm9ncmVzc2VkJyk7
CisgICAgICBmaXJzdFJhZlRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZTsKKyAg
ICB9KTsKKyAgfSk7CisKKyAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgeworICAg
IHQuc3RlcChmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQudGltZWxp
bmUuY3VycmVudFRpbWUsIGZpcnN0UmFmVGltZSwKKyAgICAgICAgICAgICAgICAgICAgJ2N1cnJl
bnRUaW1lIHNob3VsZCBiZSB0aGUgc2FtZScpOworICAgIH0pOworICAgIHQuZG9uZSgpOworICB9
KTsKK30sICdkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSB0aW1lIHNob3VsZCBiZSB0aGUg
c2FtZSBmb3IgYWxsIFJBRicKKyAgICsgJyBjYWxsYmFja3MgaW4gYSBmcmFtZScpOworCis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVs
aW5lL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjYWJmZmYxZTJjOWJjMzky
NTY3OGI4MjVjNmZhOGNjNmM4ODQ2YWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2lkbGhh
cm5lc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKKworUEFTUyBXZWIgQW5pbWF0aW9u
cyBBUEk6IERvY3VtZW50VGltZWxpbmUgdGVzdHMgCitQQVNTIEFuaW1hdGlvblRpbWVsaW5lIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQ
QVNTIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBBbmlt
YXRpb25UaW1lbGluZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIEFuaW1hdGlvblRpbWVs
aW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IAorUEFTUyBBbmltYXRpb25UaW1lbGluZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1
Y3RvciIgcHJvcGVydHkgCitQQVNTIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFjZTogYXR0cmli
dXRlIGN1cnJlbnRUaW1lIAorUEFTUyBEb2N1bWVudFRpbWVsaW5lIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIERvY3VtZW50VGlt
ZWxpbmUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIERvY3VtZW50VGltZWxpbmUgaW50
ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBEb2N1bWVudFRpbWVsaW5lIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFT
UyBEb2N1bWVudFRpbWVsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BB
U1MgRG9jdW1lbnRUaW1lbGluZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50
LnRpbWVsaW5lIAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQudGltZWxpbmUgCitQ
QVNTIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFjZTogZG9jdW1lbnQudGltZWxpbmUgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJjdXJyZW50VGltZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uVGltZWxpbmUvaWRsaGFybmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGluZS9pZGxoYXJuZXNzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2VjNGU5Y2EyZDBjYTczNmJjNmFiZjk5YWFiZDhjMzM0MzcwMTVmMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvaWRsaGFybmVzcy5odG1sCkBAIC0wLDAgKzEsMzYg
QEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5XZWIgQW5p
bWF0aW9ucyBBUEk6IERvY3VtZW50VGltZWxpbmUgdGVzdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQg
dHlwZT0idGV4dC9wbGFpbiIgaWQ9IkFuaW1hdGlvblRpbWVsaW5lLUlETCI+CitpbnRlcmZhY2Ug
QW5pbWF0aW9uVGltZWxpbmUgeworICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlPyBjdXJyZW50
VGltZTsKK307Cis8L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9wbGFpbiIgaWQ9IkRvY3Vt
ZW50VGltZWxpbmUtSURMIj4KK2RpY3Rpb25hcnkgRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMgewor
ICBET01IaWdoUmVzVGltZVN0YW1wIG9yaWdpblRpbWUgPSAwOworfTsKK1tDb25zdHJ1Y3RvciAo
b3B0aW9uYWwgRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMgb3B0aW9ucyldCitpbnRlcmZhY2UgRG9j
dW1lbnRUaW1lbGluZSA6IEFuaW1hdGlvblRpbWVsaW5lIHsKK307Cis8L3NjcmlwdD4KKzxzY3Jp
cHQ+CisndXNlIHN0cmljdCc7CisKK3ZhciBpZGxBcnJheTsKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7CisgIGlkbEFycmF5LmFkZF9pZGxzKAorICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdBbmltYXRpb25UaW1lbGluZS1JREwnKS50ZXh0Q29udGVu
dCk7CisgIGlkbEFycmF5LmFkZF9pZGxzKAorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdE
b2N1bWVudFRpbWVsaW5lLUlETCcpLnRleHRDb250ZW50KTsKKyAgaWRsQXJyYXkuYWRkX29iamVj
dHMoIHsgRG9jdW1lbnRUaW1lbGluZTogWydkb2N1bWVudC50aW1lbGluZSddIH0gKTsKK30pOwor
aWRsQXJyYXkudGVzdCgpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvRG9jdW1lbnQvZ2V0QW5pbWF0aW9ucy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0RvY3VtZW50L2dldEFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhNDA0
ZmNlNmUwZWYyMjllM2IxZTY5MmM5YWZlOTk5NDI2MDIyN2QKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0RvY3VtZW50L2dl
dEFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIFRlc3QgZG9j
dW1lbnQuZ2V0QW5pbWF0aW9ucyBmb3Igbm9uLWFuaW1hdGVkIGNvbnRlbnQgZG9jdW1lbnQuZ2V0
QW5pbWF0aW9ucyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkb2N1bWVudC5nZXRBbmltYXRpb25z
KCknLCAnZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucycgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGRv
Y3VtZW50LmdldEFuaW1hdGlvbnMgZm9yIHNjcmlwdC1nZW5lcmF0ZWQgYW5pbWF0aW9ucyBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAx
MDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0
IHRoZSBvcmRlciBvZiBkb2N1bWVudC5nZXRBbmltYXRpb25zIHdpdGggc2NyaXB0IGdlbmVyYXRl
ZCBhbmltYXRpb25zIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIFRlc3QgZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucyB3aXRoIG51bGwgdGFyZ2V0
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVu
dC9nZXRBbmltYXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0RvY3VtZW50L2dldEFuaW1hdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODc3
NTFjMDRiMjI1MWRlMzRkYWVjZDE3Y2U0OWFhZTE4NTdkNjE0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9Eb2N1bWVudC9n
ZXRBbmltYXRpb25zLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPmRvY3VtZW50LmdldEFuaW1hdGlvbnMgdGVzdHM8L3Rp
dGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFu
aW1hdGlvbnMvI2RvbS1kb2N1bWVudC1nZXRhbmltYXRpb25zIj4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0
Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxkaXYg
aWQ9InRhcmdldCI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCit2YXIgZ0tleUZy
YW1lcyA9IHsgJ21hcmdpbkxlZnQnOiBbJzEwMHB4JywgJzIwMHB4J10gfTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpLmxlbmd0
aCwgMCwKKyAgICAgICAgICAgICAgICAnZ2V0QW5pbWF0aW9ucyByZXR1cm5zIGFuIGVtcHR5IHNl
cXVlbmNlIGZvciBhIGRvY3VtZW50ICcgKworICAgICAgICAgICAgICAgICd3aXRoIG5vIGFuaW1h
dGlvbnMnKTsKK30sICdUZXN0IGRvY3VtZW50LmdldEFuaW1hdGlvbnMgZm9yIG5vbi1hbmltYXRl
ZCBjb250ZW50Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2
KHQpOworICB2YXIgYW5pbTEgPSBkaXYuYW5pbWF0ZShnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJf
U0VDKTsKKyAgdmFyIGFuaW0yID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVS
X1NFQyk7CisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpLmxlbmd0aCwg
MiwKKyAgICAgICAgICAgICAgICAnZ2V0QW5pbWF0aW9uIHJldHVybnMgcnVubmluZyBhbmltYXRp
b25zJyk7CisKKyAgYW5pbTEuZmluaXNoKCk7CisgIGFuaW0yLmZpbmlzaCgpOworICBhc3NlcnRf
ZXF1YWxzKGRvY3VtZW50LmdldEFuaW1hdGlvbnMoKS5sZW5ndGgsIDAsCisgICAgICAgICAgICAg
ICAgJ2dldEFuaW1hdGlvbiBvbmx5IHJldHVybnMgcnVubmluZyBhbmltYXRpb25zJyk7Cit9LCAn
VGVzdCBkb2N1bWVudC5nZXRBbmltYXRpb25zIGZvciBzY3JpcHQtZ2VuZXJhdGVkIGFuaW1hdGlv
bnMnKQorCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
dmFyIGFuaW0xID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyk7Cisg
IHZhciBhbmltMiA9IGRpdi5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpOwor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRvY3VtZW50LmdldEFuaW1hdGlvbnMoKSwKKyAgICAgICAg
ICAgICAgICAgICAgICBbIGFuaW0xLCBhbmltMiBdLAorICAgICAgICAgICAgICAgICAgICAgICdn
ZXRBbmltYXRpb25zKCkgcmV0dXJucyBydW5uaW5nIGFuaW1hdGlvbnMnKTsKK30sICdUZXN0IHRo
ZSBvcmRlciBvZiBkb2N1bWVudC5nZXRBbmltYXRpb25zIHdpdGggc2NyaXB0IGdlbmVyYXRlZCBh
bmltYXRpb25zJykKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3QgPSBuZXcgS2V5
ZnJhbWVFZmZlY3RSZWFkT25seShudWxsLCBnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKTsK
KyAgdmFyIGFuaW0gPSBuZXcgQW5pbWF0aW9uKGVmZmVjdCwgZG9jdW1lbnQudGltZWxpbmUpOwor
ICBhbmltLnBsYXkoKTsKKworICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmdldEFuaW1hdGlvbnMo
KS5sZW5ndGgsIDAsCisgICAgICAgICAgICAgICAgJ2RvY3VtZW50LmdldEFuaW1hdGlvbnMoKSBv
bmx5IHJldHVybnMgYW5pbWF0aW9ucyB0YXJnZXRpbmcgJyArCisgICAgICAgICAgICAgICAgJ2Vs
ZW1lbnRzIGluIHRoaXMgZG9jdW1lbnQnKTsKK30sICdUZXN0IGRvY3VtZW50LmdldEFuaW1hdGlv
bnMgd2l0aCBudWxsIHRhcmdldCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvRG9jdW1lbnRU
aW1lbGluZS9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0RvY3VtZW50VGltZWxpbmUvY29uc3RydWN0b3ItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxMDk1NTNiMGJhNmJmYjUzM2Y4YTkyYmE4OGZmNjJhNmRi
NzdjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0RvY3VtZW50VGltZWxpbmUvY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIEFuIG9yaWdpbiB0aW1lIG9mIHplcm8gaXMgdXNlZCB3
aGVuIG5vbmUgaXMgc3VwcGxpZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1
YXRpbmcgJ25ldyBEb2N1bWVudFRpbWVsaW5lKCknKQorRkFJTCBBIHplcm8gb3JpZ2luIHRpbWUg
cHJvZHVjZXMgYSBkb2N1bWVudCB0aW1lbGluZSB3aXRoIGEgY3VycmVudCB0aW1lIGlkZW50aWNh
bCB0byB0aGUgZGVmYXVsdCBkb2N1bWVudCB0aW1lbGluZSBmdW5jdGlvbiBpcyBub3QgYSBjb25z
dHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IERvY3VtZW50VGltZWxpbmUoeyBvcmlnaW5UaW1lOiAw
IH0pJykKK0ZBSUwgQSBwb3NpdGl2ZSBvcmlnaW4gdGltZSBtYWtlcyB0aGUgZG9jdW1lbnQgdGlt
ZWxpbmUncyBjdXJyZW50IHRpbWUgbGFnIGJlaGluZCB0aGUgZGVmYXVsdCBkb2N1bWVudCB0aW1l
bGluZSBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IERvY3Vt
ZW50VGltZWxpbmUoeyBvcmlnaW5UaW1lOiAxMCAqIE1TX1BFUl9TRUMgfSknKQorRkFJTCBBIG5l
Z2F0aXZlIG9yaWdpbiB0aW1lIG1ha2VzIHRoZSBkb2N1bWVudCB0aW1lbGluZSdzIGN1cnJlbnQg
dGltZSBydW4gYWhlYWQgb2YgdGhlIGRlZmF1bHQgZG9jdW1lbnQgdGltZWxpbmUgZnVuY3Rpb24g
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBEb2N1bWVudFRpbWVsaW5lKHsg
b3JpZ2luVGltZTogLTEwICogTVNfUEVSX1NFQyB9KScpCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvRG9jdW1lbnRUaW1lbGluZS9j
b25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9Eb2N1bWVudFRpbWVsaW5lL2NvbnN0cnVjdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODk2
OGZmNGNlOGUzZWM2YzdhYWZkNWJiYzJiNzA3Y2Y2NjAxYjU1NgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvRG9jdW1lbnRU
aW1lbGluZS9jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5Eb2N1bWVudFRpbWVsaW5lIGNvbnN0cnVj
dG9yIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3dlYi1hbmltYXRpb25zLyN0aGUtZG9jdW1lbnR0aW1lbGluZS1pbnRlcmZhY2UiPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciB0aW1lbGluZSA9IG5ldyBEb2N1bWVudFRpbWVsaW5lKCk7CisKKyAgYXNzZXJ0X3Rp
bWVzX2VxdWFsKHRpbWVsaW5lLmN1cnJlbnRUaW1lLCBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50
VGltZSk7Cit9LCAnQW4gb3JpZ2luIHRpbWUgb2YgemVybyBpcyB1c2VkIHdoZW4gbm9uZSBpcyBz
dXBwbGllZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHRpbWVsaW5lID0gbmV3IERv
Y3VtZW50VGltZWxpbmUoeyBvcmlnaW5UaW1lOiAwIH0pOworICBhc3NlcnRfdGltZXNfZXF1YWwo
dGltZWxpbmUuY3VycmVudFRpbWUsIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lKTsKK30s
ICdBIHplcm8gb3JpZ2luIHRpbWUgcHJvZHVjZXMgYSBkb2N1bWVudCB0aW1lbGluZSB3aXRoIGEg
Y3VycmVudCB0aW1lICcgKworICAgJ2lkZW50aWNhbCB0byB0aGUgZGVmYXVsdCBkb2N1bWVudCB0
aW1lbGluZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHRpbWVsaW5lID0gbmV3IERv
Y3VtZW50VGltZWxpbmUoeyBvcmlnaW5UaW1lOiAxMCAqIE1TX1BFUl9TRUMgfSk7CisKKyAgYXNz
ZXJ0X3RpbWVzX2VxdWFsKHRpbWVsaW5lLmN1cnJlbnRUaW1lLAorICAgICAgICAgICAgICAgICAg
ICAgKGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIC0gMTAgKiBNU19QRVJfU0VDKSk7Cit9
LCAnQSBwb3NpdGl2ZSBvcmlnaW4gdGltZSBtYWtlcyB0aGUgZG9jdW1lbnQgdGltZWxpbmVcJ3Mg
Y3VycmVudCB0aW1lIGxhZyAnICsKKyAgICdiZWhpbmQgdGhlIGRlZmF1bHQgZG9jdW1lbnQgdGlt
ZWxpbmUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB0aW1lbGluZSA9IG5ldyBEb2N1
bWVudFRpbWVsaW5lKHsgb3JpZ2luVGltZTogLTEwICogTVNfUEVSX1NFQyB9KTsKKworICBhc3Nl
cnRfdGltZXNfZXF1YWwodGltZWxpbmUuY3VycmVudFRpbWUsCisgICAgICAgICAgICAgICAgKGRv
Y3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lICsgMTAgKiBNU19QRVJfU0VDKSk7Cit9LCAnQSBu
ZWdhdGl2ZSBvcmlnaW4gdGltZSBtYWtlcyB0aGUgZG9jdW1lbnQgdGltZWxpbmVcJ3MgY3VycmVu
dCB0aW1lIHJ1biAnICsKKyAgICdhaGVhZCBvZiB0aGUgZGVmYXVsdCBkb2N1bWVudCB0aW1lbGlu
ZScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29tcG9zaXRlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvS2V5ZnJhbWVFZmZlY3QvY29tcG9zaXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmNk
MWM1Y2FiYTExNGNkMGNiMjc0ZjFiYWRkM2YxMzUyM2NmZjY4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVm
ZmVjdC9jb21wb3NpdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIERlZmF1
bHQgdmFsdWUgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3Jl
YXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgQ2hhbmdlIGNvbXBvc2l0ZSB2YWx1ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVh
dGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBVbnNwZWNpZmllZCBrZXlmcmFt
ZSBjb21wb3NpdGUgdmFsdWUgd2hlbiBzZXR0aW5nIGVmZmVjdCBjb21wb3NpdGUgY3JlYXRlRGl2
KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUo
eyBsZWZ0OiAnMTBweCcgfSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgU3BlY2lmaWVkIGtleWZyYW1lIGNvbXBvc2l0ZSB2YWx1ZSB3aGVuIHNldHRpbmcgZWZm
ZWN0IGNvbXBvc2l0ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdjcmVhdGVEaXYodCkuYW5pbWF0ZSh7IGxlZnQ6ICcxMHB4JywgY29tcG9zaXRlOiAncmVwbGFj
ZScgfSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFt
ZUVmZmVjdC9jb21wb3NpdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29tcG9zaXRlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTgyNWI3MWRiMDliZjMyOTNkOTNkYjY2ZGNmZTA4YzQyMGYzOWVjNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJh
bWVFZmZlY3QvY29tcG9zaXRlLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPktleWZyYW1lRWZmZWN0LmNvbXBvc2l0ZSB0
ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiCisgICAgICBocmVmPSJodHRwczovL3czYy5n
aXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1rZXlmcmFtZWVmZmVjdC1jb21wb3NpdGUiPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCk7CisgIGFzc2VydF9lcXVh
bHMoYW5pbS5lZmZlY3QuY29tcG9zaXRlLCAncmVwbGFjZScsCisgICAgICAgICAgICAgICAgJ1Ro
ZSBkZWZhdWx0IHZhbHVlIHNob3VsZCBiZSByZXBsYWNlJyk7Cit9LCAnRGVmYXVsdCB2YWx1ZScp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0
ZShudWxsKTsKKyAgYW5pbS5lZmZlY3QuY29tcG9zaXRlID0gJ2FkZCc7CisgIGFzc2VydF9lcXVh
bHMoYW5pbS5lZmZlY3QuY29tcG9zaXRlLCAnYWRkJywKKyAgICAgICAgICAgICAgICAnVGhlIGVm
ZmVjdCBjb21wb3NpdGUgdmFsdWUgc2hvdWxkIGJlIHJlcGxhY2VkJyk7Cit9LCAnQ2hhbmdlIGNv
bXBvc2l0ZSB2YWx1ZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVh
dGVEaXYodCkuYW5pbWF0ZSh7IGxlZnQ6ICcxMHB4JyB9KTsKKworICBhbmltLmVmZmVjdC5jb21w
b3NpdGUgPSAnYWRkJzsKKyAgdmFyIGtleWZyYW1lcyA9IGFuaW0uZWZmZWN0LmdldEtleWZyYW1l
cygpOworICBhc3NlcnRfZXF1YWxzKGtleWZyYW1lc1swXS5jb21wb3NpdGUsIHVuZGVmaW5lZCwK
KyAgICAgICAgICAgICAgICAndW5zcGVjaWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHNo
b3VsZCBiZSBhYnNlbnQgZXZlbiAnICsKKyAgICAgICAgICAgICAgICAnaWYgZWZmZWN0IGNvbXBv
c2l0ZSBpcyBzZXQnKTsKK30sICdVbnNwZWNpZmllZCBrZXlmcmFtZSBjb21wb3NpdGUgdmFsdWUg
d2hlbiBzZXR0aW5nIGVmZmVjdCBjb21wb3NpdGUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUoeyBsZWZ0OiAnMTBweCcsIGNvbXBvc2l0
ZTogJ3JlcGxhY2UnIH0pOworCisgIGFuaW0uZWZmZWN0LmNvbXBvc2l0ZSA9ICdhZGQnOworICB2
YXIga2V5ZnJhbWVzID0gYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCk7CisgIGFzc2VydF9lcXVh
bHMoa2V5ZnJhbWVzWzBdLmNvbXBvc2l0ZSwgJ3JlcGxhY2UnLAorICAgICAgICAgICAgICAgICdz
cGVjaWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHNob3VsZCBub3QgYmUgb3ZlcnJpZGRl
biAnICsKKyAgICAgICAgICAgICAgICAnYnkgc2V0dGluZyBlZmZlY3QgY29tcG9zaXRlJyk7Cit9
LCAnU3BlY2lmaWVkIGtleWZyYW1lIGNvbXBvc2l0ZSB2YWx1ZSB3aGVuIHNldHRpbmcgZWZmZWN0
IGNvbXBvc2l0ZScpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29uc3RydWN0b3It
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9LZXlmcmFtZUVmZmVjdC9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2UwZjNmM2Y2ZGVmNzg2Mzk5MjE2ZDlhYWZmYjRhZjJjNTNmYjc4YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJh
bWVFZmZlY3QvY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAzIEBACisKK0ZB
SUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vIGZy
YW1lcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGVh
c2luZyB2YWx1ZXMgYXJlIHBhcnNlZCBjb3JyZWN0bHkgd2hlbiBwYXNzZWQgdG8gdGhlIEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0b3IgaW4gS2V5ZnJhbWVFZmZlY3RPcHRpb25zIENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgaW52YWxpZCBl
YXNpbmcgdmFsdWVzIGFyZSBjb3JyZWN0bHkgcmVqZWN0ZWQgd2hlbiBwYXNzZWQgdG8gdGhlIEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0b3IgaW4gS2V5ZnJhbWVFZmZlY3RPcHRpb25z
IGFzc2VydF90aHJvd3M6IFR5cGVFcnJvciBpcyB0aHJvd24gZm9yIGVhc2luZyAnJyBmdW5jdGlv
biAiKCkgPT4geworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LCBudWxs
LCB7IGVhc2luZzogaW52YWxpZEVhc2luZyB9KTsKKyAgICB9IiB0aHJldyBvYmplY3QgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IiAo
IlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9y
IikKK0ZBSUwgY29tcG9zaXRlIHZhbHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3aGVuIHBhc3Nl
ZCB0byB0aGUgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RvciBpbiBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5CitGQUlMIGNvbXBvc2l0ZSB2YWx1ZXMgYXJlIHBhcnNlZCBjb3JyZWN0bHkgd2hlbiBwYXNz
ZWQgdG8gdGhlIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0b3IgaW4gcmVndWxhciBr
ZXlmcmFtZXMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJ
TCBjb21wb3NpdGUgdmFsdWUgaXMgYWJzZW50IGlmIHRoZSBjb21wb3NpdGUgb3BlcmF0aW9uIHNw
ZWNpZmllZCBvbiB0aGUga2V5ZnJhbWUgZWZmZWN0IGlzIGJlaW5nIHVzZWQgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHBy
b3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkg
Y29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNh
biBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28gdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28gdmFsdWUgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiByb3VuZHRyaXBzIENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChvbmUgc2hv
cnRoYW5kIGFuZCBvbmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNv
bnN0cnVjdGVkIHdpdGggYSB0d28gcHJvcGVydHkgKG9uZSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBp
dHMgbG9uZ2hhbmQgY29tcG9uZW50cykgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJh
bWVzIHNwZWNpZmljYXRpb24gcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29u
c3RydWN0ZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRo
IGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVj
aWZpY2F0aW9uIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVk
IHdpdGggYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBj
b25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgcm91bmR0cmlw
cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5
ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIENhbid0
IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1l
cyBzcGVjaWZpY2F0aW9uIHdpdGggYW4gaW52YWxpZCB2YWx1ZSByb3VuZHRyaXBzIENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1
ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHRoYXQgbmVlZHMgdG8g
c3RyaW5naWZ5IGl0cyB2YWx1ZXMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBh
IG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lm
aWNhdGlvbiB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIHJvdW5kdHJpcHMgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIHJvdW5kdHJp
cHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJl
bmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVk
IHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBD
U1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IHJvdW5kdHJpcHMg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJvcGVydHkg
b25lIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiByb3VuZHRyaXBzIENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBub24t
YXJyYXkgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBub24tYXJy
YXkgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiByb3VuZHRy
aXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3Bl
cnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdo
ZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyBpbnZhbGlkIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVj
dGVkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJh
bWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFsaWQgcm91bmR0
cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEg
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9w
ZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3
aGVyZSB0aGUgc2Vjb25kIHZhbHVlIGlzIGludmFsaWQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5
ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3Ry
dWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgc2Vjb25kIHZhbHVlIGlzIGludmFsaWQgcm91
bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlM
IGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBw
cm9wZXJ0eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2Ugcm91bmR0cmlwcyBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0
d28ga2V5ZnJhbWUgc2VxdWVuY2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBh
IG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2Ugcm91bmR0cmlwcyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28ga2V5ZnJh
bWUgc2VxdWVuY2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQor
RkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIHR3byBwcm9w
ZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2Ugcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBj
YW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZy
YW1lIHNlcXVlbmNlIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkK
K0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgc2hv
cnRoYW5kIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSByb3VuZHRyaXBzIENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChhIHNob3J0
aGFuZCBhbmQgb25lIG9mIGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2Vx
dWVuY2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBh
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAo
YSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtleWZy
YW1lIHNlcXVlbmNlIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVj
dGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIGEg
Z2l2ZW4gaW50ZXJpb3Igb2Zmc2V0IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGgg
YSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gaW50
ZXJpb3Igb2Zmc2V0IHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVj
dGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIG9m
ZnNldHMgMCBhbmQgMSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgcm91
bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlM
IGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIHR3byBw
cm9wZXJ0eSBmb3VyIGtleWZyYW1lIHNlcXVlbmNlIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVj
dGVkIHdpdGggYSB0d28gcHJvcGVydHkgZm91ciBrZXlmcmFtZSBzZXF1ZW5jZSByb3VuZHRyaXBz
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgc2luZ2xlIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5
ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3Ry
dWN0ZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0
IHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQor
RkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBz
aW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBudWxsIG9mZnNldCBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eSBjb25zdHJ1Y3RlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBv
ZmZzZXQgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0
aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBvZmZzZXQgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRo
IHN0cmluZyBvZmZzZXQgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3Ry
dWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21p
dHRlZCBvZmZzZXRzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkK
K0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJv
cGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyByb3VuZHRy
aXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgb25lIHByb3Bl
cnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBudWxsIG9mZnNldHMgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aXRoIHNvbWUgbnVsbCBvZmZzZXRzIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5
ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJl
IGNvbnN0cnVjdGVkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBz
b21lIG9taXR0ZWQgb2Zmc2V0cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJl
YWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEg
dHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMg
cm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitG
QUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIG9u
ZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFsbCBvbWl0dGVkIG9mZnNldHMgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aXRoIGFsbCBvbWl0dGVkIG9mZnNldHMgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlm
ZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUgZm9yIGEgZ2l2
ZW4gb2Zmc2V0IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZB
SUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBlYXNpbmcgdmFsdWVzLCBidXQgdGhlIHNhbWUgZWFzaW5n
IHZhbHVlIGZvciBhIGdpdmVuIG9mZnNldCByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNh
biBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQg
Y29tcG9zaXRlIHZhbHVlcywgYnV0IHRoZSBzYW1lIGNvbXBvc2l0ZSB2YWx1ZSBmb3IgYSBnaXZl
biBvZmZzZXQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJ
TCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBhIGtleWZyYW1lIHNl
cXVlbmNlIHdpdGggZGlmZmVyZW50IGNvbXBvc2l0ZSB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBjb21w
b3NpdGUgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNl
cXVlbmNlIHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkgY29uc3RydWN0ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2Ug
dGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyByb3VuZHRyaXBzIENhbid0IGZpbmQg
dmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJl
YWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBh
IENTUyB2YXJpYWJsZSByZWZlcmVuY2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0
aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIHJvdW5k
dHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBh
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBw
cm9wZXJ0eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlM
IGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVy
dHkgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBh
IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIHNob3J0aGFuZCBwcmVjZWRlcyBsb25naGFuZCBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUg
c2hvcnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIHJvdW5kdHJpcHMgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkg
Y2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFu
ZCBwcmVjZWRlcyBzaG9ydGhhbmQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aCBh
IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxvbmdoYW5kIHByZWNlZGVzIHNob3J0aGFuZCByb3Vu
ZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwg
YSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2hlcmUgbGVzc2VyIHNob3J0aGFuZCBwcmVjZWRlcyBncmVhdGVyIHNob3J0
aGFuZCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEg
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgbGVzc2VyIHNob3J0aGFuZCBwcmVjZWRlcyBncmVhdGVyIHNob3J0aGFuZCByb3Vu
ZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwg
YSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0
aGFuZCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEg
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCByb3Vu
ZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwg
YSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIGEgdHdvIHBy
b3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZy
b20gdGhlIGZpcnN0IGtleWZyYW1lIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGgg
YSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1p
c3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgcm91bmR0cmlwcyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUg
c2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgbGFzdCBrZXlm
cmFtZSByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRo
IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2YWx1ZXMgYXQgb2Zmc2V0IDEgd2l0
aCBkaWZmZXJlbnQgZWFzaW5ncyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJl
YWRPbmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIGEg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2YWx1ZXMgYXQgb2Zmc2V0IDEgd2l0aCBk
aWZmZXJlbnQgZWFzaW5ncyByb3VuZHRyaXBzIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkKK0ZBSUwgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RvciB0
aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRlZCBwb3NpdGl2ZSBvZmZz
ZXQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgc3VidGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBP
YmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3Ry
dWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gb3V0LW9mLWJvdW5kZWQgbmVnYXRp
dmUgb2Zmc2V0IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICBu
ZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIHN1YnRlc3QuaW5wdXQpOworICAgIH0i
IHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltv
YmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkg
b2Zmc2V0IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICBuZXcg
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIHN1YnRlc3QuaW5wdXQpOworICAgIH0iIHRo
cmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltvYmpl
Y3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNv
bnN0cnVjdG9yIHRocm93cyB3aXRoIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHdpdGggYW4g
aW52YWxpZCBlYXNpbmcgdmFsdWUgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgc3VidGVzdC5pbnB1
dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVk
IG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIHN1YnRl
c3QuaW5wdXQpOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBl
eHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRo
IGFuIGludmFsaWQgY29tcG9zaXRlIHZhbHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIHN1YnRl
c3QuaW5wdXQpOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBl
eHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBhIEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgd2l0aG91dCBhbnkgS2V5ZnJhbWVFZmZl
Y3RPcHRpb25zIG9iamVjdCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5CitGQUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCBieSBhbiBlbXB0
eSBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVj
dGVkIGJ5IGEgbm9ybWFsIEtleWZyYW1lRWZmZWN0T3B0aW9ucyBvYmplY3QgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkgY29uc3RydWN0ZWQgYnkgYSBkb3VibGUgdmFsdWUgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
S2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29u
c3RydWN0ZWQgYnkgK0luZmluaXR5IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIGJ5IGFu
IEluZmluaXR5IGR1cmF0aW9uIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkKK0ZBSUwgYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNvbnN0cnVjdGVkIGJ5IGFuIGF1
dG8gZHVyYXRpb24gQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQor
RkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgYnkgYW4gSW5maW5pdHkg
aXRlcmF0aW9ucyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitG
QUlMIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCBieSBhbiBhdXRvIGZpbGwg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBhIEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQgYnkgYSBmb3J3YXJkcyBmaWxsIENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgSW52YWxpZCBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5IG9wdGlvbiBieSAtSW5maW5pdHkgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdl
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIw
cHgiXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOwor
ICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmpl
Y3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBJbnZhbGlkIEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkgb3B0aW9uIGJ5IE5hTiBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisgICAgfSIg
dGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiW29i
amVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEludmFsaWQgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBvcHRpb24gYnkgYSBuZWdhdGl2ZSB2YWx1ZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBw
eCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7Cisg
ICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4cGVjdGVkIG9iamVj
dCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIEludmFsaWQgS2V5ZnJhbWVF
ZmZlY3RSZWFkT25seSBvcHRpb24gYnkgYSBuZWdhdGl2ZSBJbmZpbml0eSBkdXJhdGlvbiBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBs
ZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJv
ciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlM
IEludmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBvcHRpb24gYnkgYSBOYU4gZHVyYXRpb24g
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNl
RXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQor
RkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgb3B0aW9uIGJ5IGEgbmVnYXRpdmUg
ZHVyYXRpb24gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5l
dyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgi
UmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBl
RXJyb3IiKQorRkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgb3B0aW9uIGJ5IGEg
c3RyaW5nIGR1cmF0aW9uIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Cisg
ICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0KTsKKyAgICB9IiB0aHJldyBvYmplY3Qg
IlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0i
ICgiVHlwZUVycm9yIikKK0ZBSUwgSW52YWxpZCBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IG9wdGlv
biBieSBhIG5lZ2F0aXZlIEluZmluaXR5IGl0ZXJhdGlvbnMgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdl
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIw
cHgiXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOwor
ICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmpl
Y3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBJbnZhbGlkIEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkgb3B0aW9uIGJ5IGEgTmFOIGl0ZXJhdGlvbnMgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4
IiwgIjIwcHgiXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5w
dXQpOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3Rl
ZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBJbnZhbGlkIEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkgb3B0aW9uIGJ5IGEgbmVnYXRpdmUgaXRlcmF0aW9ucyBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBs
ZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGVzdC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJv
ciIpIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlM
IEludmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBvcHRpb24gYnkgYSBibGFuayBlYXNpbmcg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNl
RXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQor
RkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgb3B0aW9uIGJ5IGFuIHVucmVjb2du
aXplZCBlYXNpbmcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAg
IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0iIHRocmV3IG9iamVjdCAiUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHki
ICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgKCJU
eXBlRXJyb3IiKQorRkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgb3B0aW9uIGJ5
IGFuICdpbml0aWFsJyBlYXNpbmcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0iIHRocmV3IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2Jq
ZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkg
b3B0aW9uIGJ5IGFuICdpbmhlcml0JyBlYXNpbmcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsKKyAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworICAgIH0i
IHRocmV3IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZy
YW1lRWZmZWN0UmVhZE9ubHkiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIltv
YmplY3QgT2JqZWN0XSIgKCJUeXBlRXJyb3IiKQorRkFJTCBJbnZhbGlkIEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkgb3B0aW9uIGJ5IGEgdmFyaWFibGUgZWFzaW5nIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJn
ZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsiMTBweCIsICIy
MHB4Il0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0KTsK
KyAgICB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IiAoIlJlZmVyZW5jZUVycm9yIikgZXhwZWN0ZWQgb2Jq
ZWN0ICJbb2JqZWN0IE9iamVjdF0iICgiVHlwZUVycm9yIikKK0ZBSUwgSW52YWxpZCBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5IG9wdGlvbiBieSBhIG11bHRpLXZhbHVlIGVhc2luZyBhc3NlcnRfdGhy
b3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBb
IjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVz
dC5pbnB1dCk7CisgICAgfSIgdGhyZXcgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seSIgKCJSZWZlcmVuY2VFcnJvciIpIGV4
cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoIlR5cGVFcnJvciIpCitGQUlMIGEgS2V5
ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIG51bGwgdGFyZ2V0IENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK1BBU1MgS2V5ZnJhbWVFZmZlY3Qg
Y29uc3RydWN0b3IgY3JlYXRlcyBhbiBBbmltYXRpb25FZmZlY3RUaW1pbmcgdGltaW5nIG9iamVj
dCAKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgcHJvcGFnYXRlcyBleGNlcHRpb25z
IGdlbmVyYXRlZCBieSBhY2Nlc3NpbmcgdGhlIG9wdGlvbnMgb2JqZWN0IGFzc2VydF90aHJvd3M6
IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwg
eyBnZXQgbGVmdCgpIHsgdGhyb3cgdGVzdF9lcnJvciB9fSkKKyAgfSIgZGlkIG5vdCB0aHJvdwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0tleWZyYW1lRWZmZWN0L2NvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2NvbnN0cnVjdG9yLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzQ5MGNmOGM0ZTI1NTgyZjk3YmQ1M2Y4NmQzOGE1Y2VkNzgwMDlhMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29uc3RydWN0b3IuaHRtbApAQCAtMCwwICsxLDIyOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPktleWZyYW1l
RWZmZWN0UmVhZE9ubHkgY29uc3RydWN0b3IgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI3RoZS1rZXlmcmFt
ZWVmZmVjdC1pbnRlcmZhY2VzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZWFzaW5nLXRlc3RzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMva2V5ZnJhbWUtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0Ij48L2Rp
dj4KKzxzdHlsZT4KKyN0YXJnZXQgeworICBib3JkZXItc3R5bGU6IHNvbGlkOyAgLyogc28gYm9y
ZGVyLSotd2lkdGggdmFsdWVzIGRvbid0IGNvbXB1dGUgdG8gMCAqLworfQorPC9zdHlsZT4KKzxz
Y3JpcHQ+CisidXNlIHN0cmljdCI7CisKK3ZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0Iik7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICBnRW1wdHlLZXlmcmFtZUxp
c3RUZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKGZyYW1lcykgeworICAgIGFzc2VydF9lcXVhbHMobmV3
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LCBmcmFtZXMpCisgICAgICAgICAgICAgICAg
ICAgICAgICAuZ2V0S2V5ZnJhbWVzKCkubGVuZ3RoLAorICAgICAgICAgICAgICAgICAgMCwgIm51
bWJlciBvZiBmcmFtZXMgZm9yICIgKyBKU09OLnN0cmluZ2lmeShmcmFtZXMpKTsKKyAgfSk7Cit9
LCAiYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vIGZy
YW1lcyIpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgZ0Vhc2luZ1BhcnNpbmdUZXN0cy5mb3JF
YWNoKGZ1bmN0aW9uKHN1YnRlc3QpIHsKKyAgICB2YXIgZWFzaW5nID0gc3VidGVzdFswXTsKKyAg
ICB2YXIgZXhwZWN0ZWQgPSBzdWJ0ZXN0WzFdOworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJh
bWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIHsKKyAgICAgIGxlZnQ6IFsiMTBweCIsICIyMHB4Il0K
KyAgICB9LCB7IGVhc2luZzogZWFzaW5nIH0pOworICAgIGFzc2VydF9lcXVhbHMoZWZmZWN0LnRp
bWluZy5lYXNpbmcsIGV4cGVjdGVkLAorICAgICAgICAgICAgICAgICAgInJlc3VsdGluZyBlYXNp
bmcgZm9yICciICsgZWFzaW5nICsgIiciKTsKKyAgfSk7Cit9LCAiZWFzaW5nIHZhbHVlcyBhcmUg
cGFyc2VkIGNvcnJlY3RseSB3aGVuIHBhc3NlZCB0byB0aGUgIiArCisgICAiS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seSBjb25zdHJ1Y3RvciBpbiBLZXlmcmFtZUVmZmVjdE9wdGlvbnMiKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIGdJbnZhbGlkRWFzaW5ncy5mb3JFYWNoKGludmFsaWRFYXNpbmcg
PT4geworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4geworICAgICAgbmV3
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LCBudWxsLCB7IGVhc2luZzogaW52YWxpZEVh
c2luZyB9KTsKKyAgICB9LCBgVHlwZUVycm9yIGlzIHRocm93biBmb3IgZWFzaW5nICcke2ludmFs
aWRFYXNpbmd9J2ApOworICB9KTsKK30sICdpbnZhbGlkIGVhc2luZyB2YWx1ZXMgYXJlIGNvcnJl
Y3RseSByZWplY3RlZCB3aGVuIHBhc3NlZCB0byB0aGUgJyArCisgICAnS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBjb25zdHJ1Y3RvciBpbiBLZXlmcmFtZUVmZmVjdE9wdGlvbnMnKTsKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBnZXRLZXlmcmFtZSA9IGZ1bmN0aW9uKGNvbXBvc2l0ZSkgewor
ICAgIHJldHVybiB7IGxlZnQ6IFsgIjEwcHgiLCAiMjBweCIgXSwgY29tcG9zaXRlOiBjb21wb3Np
dGUgfTsKKyAgfTsKKyAgZ0dvb2RLZXlmcmFtZUNvbXBvc2l0ZVZhbHVlVGVzdHMuZm9yRWFjaChm
dW5jdGlvbihjb21wb3NpdGUpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkodGFyZ2V0LCBnZXRLZXlmcmFtZShjb21wb3NpdGUpKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGVmZmVjdC5nZXRLZXlmcmFtZXMoKVswXS5jb21wb3NpdGUsIGNvbXBvc2l0ZSwKKyAgICAg
ICAgICAgICAgICAgICJyZXN1bHRpbmcgY29tcG9zaXRlIGZvciAnIiArIGNvbXBvc2l0ZSArICIn
Iik7CisgIH0pOworICBnQmFkQ29tcG9zaXRlVmFsdWVUZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKGNv
bXBvc2l0ZSkgeworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7
CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIGdldEtleWZyYW1lKGNv
bXBvc2l0ZSkpOworICAgIH0pOworICB9KTsKK30sICJjb21wb3NpdGUgdmFsdWVzIGFyZSBwYXJz
ZWQgY29ycmVjdGx5IHdoZW4gcGFzc2VkIHRvIHRoZSAiICsKKyAgICJLZXlmcmFtZUVmZmVjdFJl
YWRPbmx5IGNvbnN0cnVjdG9yIGluIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIik7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZ2V0S2V5ZnJhbWVzID0gZnVuY3Rpb24oY29tcG9zaXRl
KSB7CisgICAgcmV0dXJuIFsKKyAgICAgIHsgb2Zmc2V0OiAwLCBsZWZ0OiAiMTBweCIsIGNvbXBv
c2l0ZTogY29tcG9zaXRlIH0sCisgICAgICB7IG9mZnNldDogMSwgbGVmdDogIjIwcHgiIH0KKyAg
ICBdOworICB9OworICBnR29vZEtleWZyYW1lQ29tcG9zaXRlVmFsdWVUZXN0cy5mb3JFYWNoKGZ1
bmN0aW9uKGNvbXBvc2l0ZSkgeworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSh0YXJnZXQsIGdldEtleWZyYW1lcyhjb21wb3NpdGUpKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGVmZmVjdC5nZXRLZXlmcmFtZXMoKVswXS5jb21wb3NpdGUsIGNvbXBvc2l0ZSwKKyAgICAg
ICAgICAgICAgICAgICJyZXN1bHRpbmcgY29tcG9zaXRlIGZvciAnIiArIGNvbXBvc2l0ZSArICIn
Iik7CisgIH0pOworICBnQmFkQ29tcG9zaXRlVmFsdWVUZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKGNv
bXBvc2l0ZSkgeworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7
CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIGdldEtleWZyYW1lcyhj
b21wb3NpdGUpKTsKKyAgICB9KTsKKyAgfSk7Cit9LCAiY29tcG9zaXRlIHZhbHVlcyBhcmUgcGFy
c2VkIGNvcnJlY3RseSB3aGVuIHBhc3NlZCB0byB0aGUgIiArCisgICAiS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seSBjb25zdHJ1Y3RvciBpbiByZWd1bGFyIGtleWZyYW1lcyIpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgZ0dvb2RPcHRpb25zQ29tcG9zaXRlVmFsdWVUZXN0cy5mb3JFYWNoKGZ1bmN0
aW9uKGNvbXBvc2l0ZSkgeworICAgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seSh0YXJnZXQsIHsKKyAgICAgIGxlZnQ6IFsiMTBweCIsICIyMHB4Il0KKyAgICB9LCB7IGNv
bXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgIGFzc2VydF9lcXVhbHMoZWZmZWN0LmdldEtleWZy
YW1lcygpWzBdLmNvbXBvc2l0ZSwgdW5kZWZpbmVkLAorICAgICAgICAgICAgICAgICAgInJlc3Vs
dGluZyBjb21wb3NpdGUgZm9yICciICsgY29tcG9zaXRlICsgIiciKTsKKyAgfSk7CisgIGdCYWRD
b21wb3NpdGVWYWx1ZVRlc3RzLmZvckVhY2goZnVuY3Rpb24oY29tcG9zaXRlKSB7CisgICAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICAgIG5ldyBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgeworICAgICAgICBsZWZ0OiBbIjEwcHgiLCAiMjBweCJd
CisgICAgICB9LCB7IGNvbXBvc2l0ZTogY29tcG9zaXRlIH0pOworICAgIH0pOworICB9KTsKK30s
ICJjb21wb3NpdGUgdmFsdWUgaXMgYWJzZW50IGlmIHRoZSBjb21wb3NpdGUgb3BlcmF0aW9uIHNw
ZWNpZmllZCBvbiB0aGUgIiArCisgICAia2V5ZnJhbWUgZWZmZWN0IGlzIGJlaW5nIHVzZWQiKTsK
KworZ1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lc1Rlc3RzLmZvckVhY2goZnVuY3Rpb24oc3VidGVz
dCkgeworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1l
RWZmZWN0UmVhZE9ubHkodGFyZ2V0LCBzdWJ0ZXN0LmlucHV0KTsKKyAgICBhc3NlcnRfZnJhbWVf
bGlzdHNfZXF1YWwoZWZmZWN0LmdldEtleWZyYW1lcygpLCBzdWJ0ZXN0Lm91dHB1dCk7CisgIH0s
ICJhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggIiArIHN1
YnRlc3QuZGVzYyk7CisKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGVmZmVjdCA9IG5l
dyBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgc3VidGVzdC5pbnB1dCk7CisgICAgdmFy
IHNlY29uZEVmZmVjdCA9CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQs
IGVmZmVjdC5nZXRLZXlmcmFtZXMoKSk7CisgICAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKHNl
Y29uZEVmZmVjdC5nZXRLZXlmcmFtZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZWZmZWN0LmdldEtleWZyYW1lcygpKTsKKyAgfSwgImEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBj
b25zdHJ1Y3RlZCB3aXRoICIgKyBzdWJ0ZXN0LmRlc2MgKworICAgICAiIHJvdW5kdHJpcHMiKTsK
K30pOworCitnS2V5ZnJhbWVTZXF1ZW5jZVRlc3RzLmZvckVhY2goZnVuY3Rpb24oc3VidGVzdCkg
eworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkodGFyZ2V0LCBzdWJ0ZXN0LmlucHV0KTsKKyAgICBhc3NlcnRfZnJhbWVfbGlz
dHNfZXF1YWwoZWZmZWN0LmdldEtleWZyYW1lcygpLCBzdWJ0ZXN0Lm91dHB1dCk7CisgIH0sICJh
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggIiArIHN1YnRl
c3QuZGVzYyk7CisKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGVmZmVjdCA9IG5ldyBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwgc3VidGVzdC5pbnB1dCk7CisgICAgdmFyIHNl
Y29uZEVmZmVjdCA9CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsIGVm
ZmVjdC5nZXRLZXlmcmFtZXMoKSk7CisgICAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKHNlY29u
ZEVmZmVjdC5nZXRLZXlmcmFtZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZm
ZWN0LmdldEtleWZyYW1lcygpKTsKKyAgfSwgImEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25z
dHJ1Y3RlZCB3aXRoICIgKyBzdWJ0ZXN0LmRlc2MgKworICAgICAiIHJvdW5kdHJpcHMiKTsKK30p
OworCitnSW52YWxpZEtleWZyYW1lc1Rlc3RzLmZvckVhY2goZnVuY3Rpb24oc3VidGVzdCkgewor
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfdGhyb3dzKHN1YnRlc3QuZXhwZWN0ZWQs
IGZ1bmN0aW9uKCkgeworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LCBz
dWJ0ZXN0LmlucHV0KTsKKyAgICB9KTsKKyAgfSwgIktleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29u
c3RydWN0b3IgdGhyb3dzIHdpdGggIiArIHN1YnRlc3QuZGVzYyk7Cit9KTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJn
ZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsi
MTBweCIsICIyMHB4Il0gfSk7CisKKyAgdmFyIHRpbWluZyA9IGVmZmVjdC50aW1pbmc7CisgIGFz
c2VydF9lcXVhbHModGltaW5nLmRlbGF5LCAwLCAiZGVmYXVsdCBkZWxheSIpOworICBhc3NlcnRf
ZXF1YWxzKHRpbWluZy5lbmREZWxheSwgMCwgImRlZmF1bHQgZW5kRGVsYXkiKTsKKyAgYXNzZXJ0
X2VxdWFscyh0aW1pbmcuZmlsbCwgImF1dG8iLCAiZGVmYXVsdCBmaWxsIik7CisgIGFzc2VydF9l
cXVhbHModGltaW5nLml0ZXJhdGlvbnMsIDEuMCwgImRlZmF1bHQgaXRlcmF0aW9ucyIpOworICBh
c3NlcnRfZXF1YWxzKHRpbWluZy5pdGVyYXRpb25TdGFydCwgMC4wLCAiZGVmYXVsdCBpdGVyYXRp
b25TdGFydCIpOworICBhc3NlcnRfZXF1YWxzKHRpbWluZy5kdXJhdGlvbiwgImF1dG8iLCAiZGVm
YXVsdCBkdXJhdGlvbiIpOworICBhc3NlcnRfZXF1YWxzKHRpbWluZy5kaXJlY3Rpb24sICJub3Jt
YWwiLCAiZGVmYXVsdCBkaXJlY3Rpb24iKTsKKyAgYXNzZXJ0X2VxdWFscyh0aW1pbmcuZWFzaW5n
LCAibGluZWFyIiwgImRlZmF1bHQgZWFzaW5nIik7CisKKyAgYXNzZXJ0X2VxdWFscyhlZmZlY3Qu
Y29tcG9zaXRlLCAicmVwbGFjZSIsICJkZWZhdWx0IGNvbXBvc2l0ZSIpOworICBhc3NlcnRfZXF1
YWxzKGVmZmVjdC5pdGVyYXRpb25Db21wb3NpdGUsICJyZXBsYWNlIiwKKyAgICAgICAgICAgICAg
ICAiZGVmYXVsdCBpdGVyYXRpb25Db21wb3NpdGUiKTsKK30sICJhIEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkgY29uc3RydWN0ZWQgd2l0aG91dCBhbnkgIiArCisgICAiS2V5ZnJhbWVFZmZlY3RPcHRp
b25zIG9iamVjdCIpOworCitnS2V5ZnJhbWVFZmZlY3RPcHRpb25UZXN0cy5mb3JFYWNoKGZ1bmN0
aW9uKHN0ZXN0KSB7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBlZmZlY3QgPSBuZXcg
S2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisKKyAgICAv
LyBIZWxwZXIgZnVuY3Rpb24gdG8gcHJvdmlkZSBkZWZhdWx0IGV4cGVjdGVkIHZhbHVlcyB3aGVu
IHRoZSB0ZXN0IGRvZXMKKyAgICAvLyBub3Qgc3VwcGx5IHRoZW0uCisgICAgdmFyIGV4cGVjdGVk
ID0gZnVuY3Rpb24oZmllbGQsIGRlZmF1bHRWYWx1ZSkgeworICAgICAgcmV0dXJuIGZpZWxkIGlu
IHN0ZXN0LmV4cGVjdGVkID8gc3Rlc3QuZXhwZWN0ZWRbZmllbGRdIDogZGVmYXVsdFZhbHVlOwor
ICAgIH07CisKKyAgICB2YXIgdGltaW5nID0gZWZmZWN0LnRpbWluZzsKKyAgICBhc3NlcnRfZXF1
YWxzKHRpbWluZy5kZWxheSwgZXhwZWN0ZWQoImRlbGF5IiwgMCksCisgICAgICAgICAgICAgICAg
ICAidGltaW5nIGRlbGF5Iik7CisgICAgYXNzZXJ0X2VxdWFscyh0aW1pbmcuZmlsbCwgZXhwZWN0
ZWQoImZpbGwiLCAiYXV0byIpLAorICAgICAgICAgICAgICAgICAgInRpbWluZyBmaWxsIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0aW1pbmcuaXRlcmF0aW9ucywgZXhwZWN0ZWQoIml0ZXJhdGlvbnMi
LCAxKSwKKyAgICAgICAgICAgICAgICAgICJ0aW1pbmcgaXRlcmF0aW9ucyIpOworICAgIGFzc2Vy
dF9lcXVhbHModGltaW5nLmR1cmF0aW9uLCBleHBlY3RlZCgiZHVyYXRpb24iLCAiYXV0byIpLAor
ICAgICAgICAgICAgICAgICAgInRpbWluZyBkdXJhdGlvbiIpOworICAgIGFzc2VydF9lcXVhbHMo
dGltaW5nLmRpcmVjdGlvbiwgZXhwZWN0ZWQoImRpcmVjdGlvbiIsICJub3JtYWwiKSwKKyAgICAg
ICAgICAgICAgICAgICJ0aW1pbmcgZGlyZWN0aW9uIik7CisKKyAgfSwgImEgS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seSBjb25zdHJ1Y3RlZCBieSAiICsgc3Rlc3QuZGVzYyk7Cit9KTsKKworZ0ludmFs
aWRLZXlmcmFtZUVmZmVjdE9wdGlvblRlc3RzLmZvckVhY2goZnVuY3Rpb24oc3Rlc3QpIHsKKyAg
dGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X3Rocm93cyhzdGVzdC5leHBlY3RlZCwgZnVu
Y3Rpb24oKSB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0KTsKKyAgICB9KTsK
KyAgfSwgIkludmFsaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBvcHRpb24gYnkgIiArIHN0ZXN0
LmRlc2MpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZWZmZWN0ID0gbmV3IEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkobnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogImZvcndh
cmRzIiB9KTsKKyAgYXNzZXJ0X2VxdWFscyhlZmZlY3QudGFyZ2V0LCBudWxsLAorICAgICAgICAg
ICAgICAgICJFZmZlY3QgY3JlYXRlZCB3aXRoIG51bGwgdGFyZ2V0IGhhcyBjb3JyZWN0IHRhcmdl
dCIpOworfSwgImEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb25zdHJ1Y3RlZCB3aXRoIG51bGwg
dGFyZ2V0Iik7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZWZmZWN0ID0gbmV3IEtleWZy
YW1lRWZmZWN0KHRhcmdldCwgbnVsbCk7CisgIGFzc2VydF9jbGFzc19zdHJpbmcoZWZmZWN0LCAi
S2V5ZnJhbWVFZmZlY3QiKTsKKyAgYXNzZXJ0X2NsYXNzX3N0cmluZyhlZmZlY3QudGltaW5nLCAi
QW5pbWF0aW9uRWZmZWN0VGltaW5nIik7Cit9LCAiS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3Ig
Y3JlYXRlcyBhbiBBbmltYXRpb25FZmZlY3RUaW1pbmcgdGltaW5nIG9iamVjdCIpOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHRlc3RfZXJyb3IgPSB7IG5hbWU6ICJ0ZXN0IiB9OworCisg
IGFzc2VydF90aHJvd3ModGVzdF9lcnJvciwgZnVuY3Rpb24oKSB7CisgICAgbmV3IEtleWZyYW1l
RWZmZWN0KHRhcmdldCwgeyBnZXQgbGVmdCgpIHsgdGhyb3cgdGVzdF9lcnJvciB9fSkKKyAgfSk7
Cit9LCAiS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgcHJvcGFnYXRlcyBleGNlcHRpb25zIGdl
bmVyYXRlZCBieSBhY2Nlc3NpbmciCisgICArICIgdGhlIG9wdGlvbnMgb2JqZWN0Iik7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29weS1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tl
eWZyYW1lRWZmZWN0L2NvcHktY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRm
NTI4MTM4ZDc3YWYyOTgyYjBiOGNmNjNhZTU2ZGFhN2E3MTcwZWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1l
RWZmZWN0L2NvcHktY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitG
QUlMIFRlc3QgbXV0YWJsZSBjb3B5IGZyb20gYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5IHNvdXJj
ZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJh
bWVFZmZlY3QvY29weS1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb3B5LWNvbnN0cnVjdG9yLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmMyNzgzODljMTA4ZjBmODdjMTU4MWYwNTg5MzM0NmFkNzk2MzIxOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29weS1jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEs
MjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5LZXlm
cmFtZUVmZmVjdCBjb3B5IGNvbnN0cnVjdG9yIHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIKK2hyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jZG9tLWtleWZy
YW1lZWZmZWN0LWtleWZyYW1lZWZmZWN0LXNvdXJjZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1v
bi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0Pgor
InVzZSBzdHJpY3QiOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGVmZmVjdCA9IG5ldyBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5KGNyZWF0ZURpdih0KSwgbnVsbCk7CisgIGFzc2VydF9lcXVh
bHMoZWZmZWN0LmNvbnN0cnVjdG9yLm5hbWUsICdLZXlmcmFtZUVmZmVjdFJlYWRPbmx5Jyk7Cisg
IGFzc2VydF9lcXVhbHMoZWZmZWN0LnRpbWluZy5jb25zdHJ1Y3Rvci5uYW1lLAorICAgICAgICAg
ICAgICAgICdBbmltYXRpb25FZmZlY3RUaW1pbmdSZWFkT25seScpOworCisgIC8vIE1ha2UgYSBt
dXRhYmxlIGNvcHkKKyAgdmFyIGNvcGllZEVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChlZmZl
Y3QpOworICBhc3NlcnRfZXF1YWxzKGNvcGllZEVmZmVjdC5jb25zdHJ1Y3Rvci5uYW1lLCAnS2V5
ZnJhbWVFZmZlY3QnKTsKKyAgYXNzZXJ0X2VxdWFscyhjb3BpZWRFZmZlY3QudGltaW5nLmNvbnN0
cnVjdG9yLm5hbWUsICdBbmltYXRpb25FZmZlY3RUaW1pbmcnKTsKK30sICdUZXN0IG11dGFibGUg
Y29weSBmcm9tIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBzb3VyY2UnKTsKKworPC9zY3JpcHQ+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2dldENvbXB1dGVkVGltaW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJh
bWVFZmZlY3QvZ2V0Q29tcHV0ZWRUaW1pbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4OTc4
YTExYzBhNjJhY2U5Yjc2YmIwY2MzNTUyNTRjMDNjMDNlY2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZm
ZWN0L2dldENvbXB1dGVkVGltaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM4IEBACisKK0ZB
SUwgdmFsdWVzIG9mIGdldENvbXB1dGVkVGltaW5nKCkgd2hlbiBhIEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkgaXMgY29uc3RydWN0ZWQgd2l0aG91dCBhbnkgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9i
amVjdCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIHZh
bHVlcyBvZiBnZXRDb21wdXRlZFRpbWluZygpIHdoZW4gYSBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5
IGlzIGNvbnN0cnVjdGVkIGJ5IGFuIGVtcHR5IEtleWZyYW1lRWZmZWN0T3B0aW9ucyBvYmplY3Qg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCB2YWx1ZXMg
b2YgZ2V0Q29tcHV0ZWRUaW1pbmcoKSB3aGVuIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBpcyBj
b25zdHJ1Y3RlZCBieSBhIG5vcm1hbCBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IENhbid0
IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgdmFsdWVzIG9mIGdl
dENvbXB1dGVkVGltaW5nKCkgd2hlbiBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgaXMgY29uc3Ry
dWN0ZWQgYnkgYSBkb3VibGUgdmFsdWUgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seQorRkFJTCB2YWx1ZXMgb2YgZ2V0Q29tcHV0ZWRUaW1pbmcoKSB3aGVuIGEgS2V5
ZnJhbWVFZmZlY3RSZWFkT25seSBpcyBjb25zdHJ1Y3RlZCBieSArSW5maW5pdHkgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCB2YWx1ZXMgb2YgZ2V0Q29t
cHV0ZWRUaW1pbmcoKSB3aGVuIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBpcyBjb25zdHJ1Y3Rl
ZCBieSBhbiBJbmZpbml0eSBkdXJhdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5CitGQUlMIHZhbHVlcyBvZiBnZXRDb21wdXRlZFRpbWluZygpIHdoZW4gYSBL
ZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGlzIGNvbnN0cnVjdGVkIGJ5IGFuIGF1dG8gZHVyYXRpb24g
Q2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCB2YWx1ZXMg
b2YgZ2V0Q29tcHV0ZWRUaW1pbmcoKSB3aGVuIGEgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSBpcyBj
b25zdHJ1Y3RlZCBieSBhbiBJbmZpbml0eSBpdGVyYXRpb25zIENhbid0IGZpbmQgdmFyaWFibGU6
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgdmFsdWVzIG9mIGdldENvbXB1dGVkVGltaW5n
KCkgd2hlbiBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgaXMgY29uc3RydWN0ZWQgYnkgYW4gYXV0
byBmaWxsIENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwg
dmFsdWVzIG9mIGdldENvbXB1dGVkVGltaW5nKCkgd2hlbiBhIEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkgaXMgY29uc3RydWN0ZWQgYnkgYSBmb3J3YXJkcyBmaWxsIENhbid0IGZpbmQgdmFyaWFibGU6
IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5hY3RpdmVE
dXJhdGlvbiBmb3IgYW4gZW1wdHkgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9iamVjdCBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVkVGlt
aW5nKCkuYWN0aXZlRHVyYXRpb24gZm9yIGEgbm9uLXplcm8gZHVyYXRpb24gYW5kIGRlZmF1bHQg
aXRlcmF0aW9uIGNvdW50IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9u
bHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5hY3RpdmVEdXJhdGlvbiBmb3IgYSBub24temVy
byBkdXJhdGlvbiBhbmQgaW50ZWdyYWwgaXRlcmF0aW9uIGNvdW50IENhbid0IGZpbmQgdmFyaWFi
bGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5hY3Rp
dmVEdXJhdGlvbiBmb3IgYSBub24temVybyBkdXJhdGlvbiBhbmQgZnJhY3Rpb25hbCBpdGVyYXRp
b24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJ
TCBnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9uIGZvciBhbiBub24temVybyBkdXJh
dGlvbiBhbmQgaW5maW5pdGUgaXRlcmF0aW9uIGNvdW50IENhbid0IGZpbmQgdmFyaWFibGU6IEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5hY3RpdmVEdXJh
dGlvbiBmb3IgYW4gbm9uLXplcm8gZHVyYXRpb24gYW5kIHplcm8gaXRlcmF0aW9uIGNvdW50IENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0
ZWRUaW1pbmcoKS5hY3RpdmVEdXJhdGlvbiBmb3IgYSB6ZXJvIGR1cmF0aW9uIGFuZCBkZWZhdWx0
IGl0ZXJhdGlvbiBjb3VudCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5CitGQUlMIGdldENvbXB1dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRpb24gZm9yIGEgemVybyBk
dXJhdGlvbiBhbmQgZnJhY3Rpb25hbCBpdGVyYXRpb24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2
ZUR1cmF0aW9uIGZvciBhIHplcm8gZHVyYXRpb24gYW5kIGluZmluaXRlIGl0ZXJhdGlvbiBjb3Vu
dCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGdldENv
bXB1dGVkVGltaW5nKCkuYWN0aXZlRHVyYXRpb24gZm9yIGEgemVybyBkdXJhdGlvbiBhbmQgemVy
byBpdGVyYXRpb24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFk
T25seQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9uIGZvciBhbiBpbmZp
bml0ZSBkdXJhdGlvbiBhbmQgZGVmYXVsdCBpdGVyYXRpb24gY291bnQgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmFj
dGl2ZUR1cmF0aW9uIGZvciBhbiBpbmZpbml0ZSBkdXJhdGlvbiBhbmQgemVybyBpdGVyYXRpb24g
Y291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBn
ZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9uIGZvciBhbiBpbmZpbml0ZSBkdXJhdGlv
biBhbmQgZnJhY3Rpb25hbCBpdGVyYXRpb24gY291bnQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5
ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0
aW9uIGZvciBhbiBpbmZpbml0ZSBkdXJhdGlvbiBhbmQgaW5maW5pdGUgaXRlcmF0aW9uIGNvdW50
IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29t
cHV0ZWRUaW1pbmcoKS5lbmRUaW1lIGZvciBhbiBlbXB0eSBLZXlmcmFtZUVmZmVjdE9wdGlvbnMg
b2JqZWN0IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwg
Z2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRUaW1lIGZvciBhIG5vbi16ZXJvIGR1cmF0aW9uIGFuZCBk
ZWZhdWx0IGl0ZXJhdGlvbiBjb3VudCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVkVGltaW5nKCkuZW5kVGltZSBmb3IgYSBub24temVy
byBkdXJhdGlvbiBhbmQgbm9uLWRlZmF1bHQgaXRlcmF0aW9uIGNvdW50IENhbid0IGZpbmQgdmFy
aWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5l
bmRUaW1lIGZvciBhIG5vbi16ZXJvIGR1cmF0aW9uIGFuZCBub24temVybyBkZWxheSBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVkVGlt
aW5nKCkuZW5kVGltZSBmb3IgYSBub24temVybyBkdXJhdGlvbiwgbm9uLXplcm8gZGVsYXkgYW5k
IG5vbi1kZWZhdWx0IGl0ZXJhdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVkVGltaW5nKCkuZW5kVGltZSBmb3IgYW4gaW5maW5p
dGUgaXRlcmF0aW9uIGNvdW50IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVh
ZE9ubHkKK0ZBSUwgZ2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRUaW1lIGZvciBhbiBpbmZpbml0ZSBk
dXJhdGlvbiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVjdFJlYWRPbmx5CitGQUlM
IGdldENvbXB1dGVkVGltaW5nKCkuZW5kVGltZSBmb3IgYW4gaW5maW5pdGUgZHVyYXRpb24gYW5k
IGRlbGF5IENhbid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwg
Z2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRUaW1lIGZvciBhbiBpbmZpbml0ZSBkdXJhdGlvbiBhbmQg
bmVnYXRpdmUgZGVsYXkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25s
eQorRkFJTCBnZXRDb21wdXRlZFRpbWluZygpLmVuZFRpbWUgZm9yIGFuIG5vbi16ZXJvIGR1cmF0
aW9uIGFuZCBuZWdhdGl2ZSBkZWxheSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBLZXlmcmFtZUVmZmVj
dFJlYWRPbmx5CitGQUlMIGdldENvbXB1dGVkVGltaW5nKCkuZW5kVGltZSBmb3IgYW4gbm9uLXpl
cm8gZHVyYXRpb24gYW5kIG5lZ2F0aXZlIGRlbGF5IGdyZWF0ZXIgdGhhbiBhY3RpdmUgZHVyYXRp
b24gQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorRkFJTCBnZXRD
b21wdXRlZFRpbWluZygpLmVuZFRpbWUgZm9yIGEgemVybyBkdXJhdGlvbiBhbmQgbmVnYXRpdmUg
ZGVsYXkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tl
eWZyYW1lRWZmZWN0L2dldENvbXB1dGVkVGltaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2dldENvbXB1dGVkVGlt
aW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ3OTkyNzJiOWEyNjMyZWM0YTcyNjFhZDAzY2U3ODYxYmNl
YzA3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvZ2V0Q29tcHV0ZWRUaW1pbmcuaHRtbApAQCAt
MCwwICsxLDIxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRp
dGxlPktleWZyYW1lRWZmZWN0UmVhZE9ubHkgZ2V0Q29tcHV0ZWRUaW1pbmcoKSB0ZXN0czwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5p
bWF0aW9ucy8jZG9tLWFuaW1hdGlvbmVmZmVjdHJlYWRvbmx5LWdldGNvbXB1dGVkdGltaW5nIj4K
KzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iQm9yaXMgQ2hpb3UiIGhyZWY9Im1haWx0bzpib3Jp
cy5jaGlvdUBnbWFpbC5jb20iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0
PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK3ZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0Iik7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZWZmZWN0ID0g
bmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0pOworCisgIHZh
ciBjdCA9IGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpOworICBhc3NlcnRfZXF1YWxzKGN0LmRl
bGF5LCAwLCAiY29tcHV0ZWQgZGVsYXkiKTsKKyAgYXNzZXJ0X2VxdWFscyhjdC5maWxsLCAibm9u
ZSIsICJjb21wdXRlZCBmaWxsIik7CisgIGFzc2VydF9lcXVhbHMoY3QuaXRlcmF0aW9ucywgMS4w
LCAiY29tcHV0ZWQgaXRlcmF0aW9ucyIpOworICBhc3NlcnRfZXF1YWxzKGN0LmR1cmF0aW9uLCAw
LCAiY29tcHV0ZWQgZHVyYXRpb24iKTsKKyAgYXNzZXJ0X2VxdWFscyhjdC5kaXJlY3Rpb24sICJu
b3JtYWwiLCAiY29tcHV0ZWQgZGlyZWN0aW9uIik7Cit9LCAidmFsdWVzIG9mIGdldENvbXB1dGVk
VGltaW5nKCkgd2hlbiBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgaXMgIiArCisgICAiY29uc3Ry
dWN0ZWQgd2l0aG91dCBhbnkgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9iamVjdCIpOworCit2YXIg
Z0dldENvbXB1dGVkVGltaW5nVGVzdHMgPSBbCisgIHsgZGVzYzogICAgICJhbiBlbXB0eSBLZXlm
cmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IiwKKyAgICBpbnB1dDogICAgeyB9LAorICAgIGV4cGVj
dGVkOiB7IH0gfSwKKyAgeyBkZXNjOiAgICAgImEgbm9ybWFsIEtleWZyYW1lRWZmZWN0T3B0aW9u
cyBvYmplY3QiLAorICAgIGlucHV0OiAgICB7IGRlbGF5OiAxMDAwLAorICAgICAgICAgICAgICAg
IGZpbGw6ICJhdXRvIiwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiA1LjUsCisgICAgICAg
ICAgICAgICAgZHVyYXRpb246ICJhdXRvIiwKKyAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICJh
bHRlcm5hdGUiIH0sCisgICAgZXhwZWN0ZWQ6IHsgZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAg
ICAgZmlsbDogIm5vbmUiLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDUuNSwKKyAgICAg
ICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICJhbHRl
cm5hdGUiIH0gfSwKKyAgeyBkZXNjOiAgICAgImEgZG91YmxlIHZhbHVlIiwKKyAgICBpbnB1dDog
ICAgMzAwMCwKKyAgICB0aW1pbmc6ICAgeyBkdXJhdGlvbjogMzAwMCB9LAorICAgIGV4cGVjdGVk
OiB7IGRlbGF5OiAwLAorICAgICAgICAgICAgICAgIGZpbGw6ICJub25lIiwKKyAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiAxLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLAorICAg
ICAgICAgICAgICAgIGRpcmVjdGlvbjogIm5vcm1hbCIgfSB9LAorICB7IGRlc2M6ICAgICAiK0lu
ZmluaXR5IiwKKyAgICBpbnB1dDogICAgSW5maW5pdHksCisgICAgZXhwZWN0ZWQ6IHsgZHVyYXRp
b246IEluZmluaXR5IH0gfSwKKyAgeyBkZXNjOiAgICAgImFuIEluZmluaXR5IGR1cmF0aW9uIiwK
KyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogSW5maW5pdHkgfSwKKyAgICBleHBlY3RlZDogeyBk
dXJhdGlvbjogSW5maW5pdHkgfSB9LAorICB7IGRlc2M6ICAgICAiYW4gYXV0byBkdXJhdGlvbiIs
CisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246ICJhdXRvIiB9LAorICAgIGV4cGVjdGVkOiB7IGR1
cmF0aW9uOiAwIH0gfSwKKyAgeyBkZXNjOiAgICAgImFuIEluZmluaXR5IGl0ZXJhdGlvbnMiLAor
ICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5IH0sCisgICAgZXhwZWN0ZWQ6IHsg
aXRlcmF0aW9uczogSW5maW5pdHkgfSB9LAorICB7IGRlc2M6ICAgICAiYW4gYXV0byBmaWxsIiwK
KyAgICBpbnB1dDogICAgeyBmaWxsOiAiYXV0byIgfSwKKyAgICBleHBlY3RlZDogeyBmaWxsOiAi
bm9uZSIgfSB9LAorICB7IGRlc2M6ICAgICAiYSBmb3J3YXJkcyBmaWxsIiwKKyAgICBpbnB1dDog
ICAgeyBmaWxsOiAiZm9yd2FyZHMiIH0sCisgICAgZXhwZWN0ZWQ6IHsgZmlsbDogImZvcndhcmRz
IiB9IH0KK107CisKK2dHZXRDb21wdXRlZFRpbWluZ1Rlc3RzLmZvckVhY2goZnVuY3Rpb24oc3Rl
c3QpIHsKKyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5KHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBweCJdIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXN0LmlucHV0KTsKKworICAgIC8vIEhlbHBl
ciBmdW5jdGlvbiB0byBwcm92aWRlIGRlZmF1bHQgZXhwZWN0ZWQgdmFsdWVzIHdoZW4gdGhlIHRl
c3QgZG9lcworICAgIC8vIG5vdCBzdXBwbHkgdGhlbS4KKyAgICB2YXIgZXhwZWN0ZWQgPSBmdW5j
dGlvbihmaWVsZCwgZGVmYXVsdFZhbHVlKSB7CisgICAgICByZXR1cm4gZmllbGQgaW4gc3Rlc3Qu
ZXhwZWN0ZWQgPyBzdGVzdC5leHBlY3RlZFtmaWVsZF0gOiBkZWZhdWx0VmFsdWU7CisgICAgfTsK
KworICAgIHZhciBjdCA9IGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpOworICAgIGFzc2VydF9l
cXVhbHMoY3QuZGVsYXksIGV4cGVjdGVkKCJkZWxheSIsIDApLAorICAgICAgICAgICAgICAgICAg
ImNvbXB1dGVkIGRlbGF5Iik7CisgICAgYXNzZXJ0X2VxdWFscyhjdC5maWxsLCBleHBlY3RlZCgi
ZmlsbCIsICJub25lIiksCisgICAgICAgICAgICAgICAgICAiY29tcHV0ZWQgZmlsbCIpOworICAg
IGFzc2VydF9lcXVhbHMoY3QuaXRlcmF0aW9ucywgZXhwZWN0ZWQoIml0ZXJhdGlvbnMiLCAxKSwK
KyAgICAgICAgICAgICAgICAgICJjb21wdXRlZCBpdGVyYXRpb25zIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhjdC5kdXJhdGlvbiwgZXhwZWN0ZWQoImR1cmF0aW9uIiwgMCksCisgICAgICAgICAgICAg
ICAgICAiY29tcHV0ZWQgZHVyYXRpb24iKTsKKyAgICBhc3NlcnRfZXF1YWxzKGN0LmRpcmVjdGlv
biwgZXhwZWN0ZWQoImRpcmVjdGlvbiIsICJub3JtYWwiKSwKKyAgICAgICAgICAgICAgICAgICJj
b21wdXRlZCBkaXJlY3Rpb24iKTsKKworICB9LCAidmFsdWVzIG9mIGdldENvbXB1dGVkVGltaW5n
KCkgd2hlbiBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgaXMgIiArCisgICAgICJjb25zdHJ1Y3Rl
ZCBieSAiICsgc3Rlc3QuZGVzYyk7Cit9KTsKKwordmFyIGdBY3RpdmVEdXJhdGlvblRlc3RzID0g
WworICB7IGRlc2M6ICAgICAiYW4gZW1wdHkgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9iamVjdCIs
CisgICAgaW5wdXQ6ICAgIHsgfSwKKyAgICBleHBlY3RlZDogMCB9LAorICB7IGRlc2M6ICAgICAi
YSBub24temVybyBkdXJhdGlvbiBhbmQgZGVmYXVsdCBpdGVyYXRpb24gY291bnQiLAorICAgIGlu
cHV0OiAgICB7IGR1cmF0aW9uOiAxMDAwIH0sCisgICAgZXhwZWN0ZWQ6IDEwMDAgfSwKKyAgeyBk
ZXNjOiAgICAgImEgbm9uLXplcm8gZHVyYXRpb24gYW5kIGludGVncmFsIGl0ZXJhdGlvbiBjb3Vu
dCIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMDAsIGl0ZXJhdGlvbnM6IDcgfSwKKyAg
ICBleHBlY3RlZDogNzAwMCB9LAorICB7IGRlc2M6ICAgICAiYSBub24temVybyBkdXJhdGlvbiBh
bmQgZnJhY3Rpb25hbCBpdGVyYXRpb24gY291bnQiLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9u
OiAxMDAwLCBpdGVyYXRpb25zOiAyLjUgfSwKKyAgICBleHBlY3RlZDogMjUwMCB9LAorICB7IGRl
c2M6ICAgICAiYW4gbm9uLXplcm8gZHVyYXRpb24gYW5kIGluZmluaXRlIGl0ZXJhdGlvbiBjb3Vu
dCIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMDAsIGl0ZXJhdGlvbnM6IEluZmluaXR5
IH0sCisgICAgZXhwZWN0ZWQ6IEluZmluaXR5IH0sCisgIHsgZGVzYzogICAgICJhbiBub24temVy
byBkdXJhdGlvbiBhbmQgemVybyBpdGVyYXRpb24gY291bnQiLAorICAgIGlucHV0OiAgICB7IGR1
cmF0aW9uOiAxMDAwLCBpdGVyYXRpb25zOiAwIH0sCisgICAgZXhwZWN0ZWQ6IDAgfSwKKyAgeyBk
ZXNjOiAgICAgImEgemVybyBkdXJhdGlvbiBhbmQgZGVmYXVsdCBpdGVyYXRpb24gY291bnQiLAor
ICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAwIH0sCisgICAgZXhwZWN0ZWQ6IDAgfSwKKyAgeyBk
ZXNjOiAgICAgImEgemVybyBkdXJhdGlvbiBhbmQgZnJhY3Rpb25hbCBpdGVyYXRpb24gY291bnQi
LAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAwLCBpdGVyYXRpb25zOiAyLjUgfSwKKyAgICBl
eHBlY3RlZDogMCB9LAorICB7IGRlc2M6ICAgICAiYSB6ZXJvIGR1cmF0aW9uIGFuZCBpbmZpbml0
ZSBpdGVyYXRpb24gY291bnQiLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAwLCBpdGVyYXRp
b25zOiBJbmZpbml0eSB9LAorICAgIGV4cGVjdGVkOiAwIH0sCisgIHsgZGVzYzogICAgICJhIHpl
cm8gZHVyYXRpb24gYW5kIHplcm8gaXRlcmF0aW9uIGNvdW50IiwKKyAgICBpbnB1dDogICAgeyBk
dXJhdGlvbjogMCwgaXRlcmF0aW9uczogMCB9LAorICAgIGV4cGVjdGVkOiAwIH0sCisgIHsgZGVz
YzogICAgICJhbiBpbmZpbml0ZSBkdXJhdGlvbiBhbmQgZGVmYXVsdCBpdGVyYXRpb24gY291bnQi
LAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiBJbmZpbml0eSB9LAorICAgIGV4cGVjdGVkOiBJ
bmZpbml0eSB9LAorICB7IGRlc2M6ICAgICAiYW4gaW5maW5pdGUgZHVyYXRpb24gYW5kIHplcm8g
aXRlcmF0aW9uIGNvdW50IiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogSW5maW5pdHksIGl0
ZXJhdGlvbnM6IDAgfSwKKyAgICBleHBlY3RlZDogMCB9LAorICB7IGRlc2M6ICAgICAiYW4gaW5m
aW5pdGUgZHVyYXRpb24gYW5kIGZyYWN0aW9uYWwgaXRlcmF0aW9uIGNvdW50IiwKKyAgICBpbnB1
dDogICAgeyBkdXJhdGlvbjogSW5maW5pdHksIGl0ZXJhdGlvbnM6IDIuNSB9LAorICAgIGV4cGVj
dGVkOiBJbmZpbml0eSB9LAorICB7IGRlc2M6ICAgICAiYW4gaW5maW5pdGUgZHVyYXRpb24gYW5k
IGluZmluaXRlIGl0ZXJhdGlvbiBjb3VudCIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IElu
ZmluaXR5LCBpdGVyYXRpb25zOiBJbmZpbml0eSB9LAorICAgIGV4cGVjdGVkOiBJbmZpbml0eSB9
LAorXTsKKworZ0FjdGl2ZUR1cmF0aW9uVGVzdHMuZm9yRWFjaChmdW5jdGlvbihzdGVzdCkgewor
ICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHkodGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Rlc3QuaW5wdXQpOworCisgICAgYXNzZXJ0X2VxdWFscyhl
ZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5hY3RpdmVEdXJhdGlvbiwKKyAgICAgICAgICAgICAg
ICAgIHN0ZXN0LmV4cGVjdGVkKTsKKworICB9LCAiZ2V0Q29tcHV0ZWRUaW1pbmcoKS5hY3RpdmVE
dXJhdGlvbiBmb3IgIiArIHN0ZXN0LmRlc2MpOworfSk7CisKK3ZhciBnRW5kVGltZVRlc3RzID0g
WworICB7IGRlc2M6ICAgICAiYW4gZW1wdHkgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9iamVjdCIs
CisgICAgaW5wdXQ6ICAgIHsgfSwKKyAgICBleHBlY3RlZDogMCB9LAorICB7IGRlc2M6ICAgICAi
YSBub24temVybyBkdXJhdGlvbiBhbmQgZGVmYXVsdCBpdGVyYXRpb24gY291bnQiLAorICAgIGlu
cHV0OiAgICB7IGR1cmF0aW9uOiAxMDAwIH0sCisgICAgZXhwZWN0ZWQ6IDEwMDAgfSwKKyAgeyBk
ZXNjOiAgICAgImEgbm9uLXplcm8gZHVyYXRpb24gYW5kIG5vbi1kZWZhdWx0IGl0ZXJhdGlvbiBj
b3VudCIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMDAsIGl0ZXJhdGlvbnM6IDIuNSB9
LAorICAgIGV4cGVjdGVkOiAyNTAwIH0sCisgIHsgZGVzYzogICAgICJhIG5vbi16ZXJvIGR1cmF0
aW9uIGFuZCBub24temVybyBkZWxheSIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMDAs
IGRlbGF5OiAxNTAwIH0sCisgICAgZXhwZWN0ZWQ6IDI1MDAgfSwKKyAgeyBkZXNjOiAgICAgImEg
bm9uLXplcm8gZHVyYXRpb24sIG5vbi16ZXJvIGRlbGF5IGFuZCBub24tZGVmYXVsdCBpdGVyYXRp
b24iLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAxMDAwLCBkZWxheTogMTUwMCwgaXRlcmF0
aW9uczogMiB9LAorICAgIGV4cGVjdGVkOiAzNTAwIH0sCisgIHsgZGVzYzogICAgICJhbiBpbmZp
bml0ZSBpdGVyYXRpb24gY291bnQiLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAxMDAwLCBp
dGVyYXRpb25zOiBJbmZpbml0eSB9LAorICAgIGV4cGVjdGVkOiBJbmZpbml0eSB9LAorICB7IGRl
c2M6ICAgICAiYW4gaW5maW5pdGUgZHVyYXRpb24iLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9u
OiBJbmZpbml0eSwgaXRlcmF0aW9uczogMTAgfSwKKyAgICBleHBlY3RlZDogSW5maW5pdHkgfSwK
KyAgeyBkZXNjOiAgICAgImFuIGluZmluaXRlIGR1cmF0aW9uIGFuZCBkZWxheSIsCisgICAgaW5w
dXQ6ICAgIHsgZHVyYXRpb246IEluZmluaXR5LCBpdGVyYXRpb25zOiAxMCwgZGVsYXk6IDEwMDAg
fSwKKyAgICBleHBlY3RlZDogSW5maW5pdHkgfSwKKyAgeyBkZXNjOiAgICAgImFuIGluZmluaXRl
IGR1cmF0aW9uIGFuZCBuZWdhdGl2ZSBkZWxheSIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246
IEluZmluaXR5LCBpdGVyYXRpb25zOiAxMCwgZGVsYXk6IC0xMDAwIH0sCisgICAgZXhwZWN0ZWQ6
IEluZmluaXR5IH0sCisgIHsgZGVzYzogICAgICJhbiBub24temVybyBkdXJhdGlvbiBhbmQgbmVn
YXRpdmUgZGVsYXkiLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAxMDAwLCBpdGVyYXRpb25z
OiAyLCBkZWxheTogLTEwMDAgfSwKKyAgICBleHBlY3RlZDogMTAwMCB9LAorICB7IGRlc2M6ICAg
ICAiYW4gbm9uLXplcm8gZHVyYXRpb24gYW5kIG5lZ2F0aXZlIGRlbGF5IGdyZWF0ZXIgdGhhbiBh
Y3RpdmUgIiArCisgICAgICAgICAgICAgICJkdXJhdGlvbiIsCisgICAgaW5wdXQ6ICAgIHsgZHVy
YXRpb246IDEwMDAsIGl0ZXJhdGlvbnM6IDIsIGRlbGF5OiAtMzAwMCB9LAorICAgIGV4cGVjdGVk
OiAwIH0sCisgIHsgZGVzYzogICAgICJhIHplcm8gZHVyYXRpb24gYW5kIG5lZ2F0aXZlIGRlbGF5
IiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogMCwgaXRlcmF0aW9uczogMiwgZGVsYXk6IC0x
MDAwIH0sCisgICAgZXhwZWN0ZWQ6IDAgfQorXTsKKworZ0VuZFRpbWVUZXN0cy5mb3JFYWNoKGZ1
bmN0aW9uKHN0ZXN0KSB7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciBlZmZlY3QgPSBu
ZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seSh0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiXSB9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVzdC5pbnB1dCk7CisKKyAg
ICBhc3NlcnRfZXF1YWxzKGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmVuZFRpbWUsCisgICAg
ICAgICAgICAgICAgICBzdGVzdC5leHBlY3RlZCk7CisKKyAgfSwgImdldENvbXB1dGVkVGltaW5n
KCkuZW5kVGltZSBmb3IgIiArIHN0ZXN0LmRlc2MpOworfSk7CisKK2RvbmUoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9pdGVyYXRpb25Db21wb3NpdGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlm
cmFtZUVmZmVjdC9pdGVyYXRpb25Db21wb3NpdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQy
MWZiMWQ2ZDE2NjJkZDk3N2QxMTJiYTc4MTdkZmI1MzYyZmU0Y2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1l
RWZmZWN0L2l0ZXJhdGlvbkNvbXBvc2l0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAor
CitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiBkaXNjcmV0ZSB0eXBlIGFuaW1hdGlvbiAoYWxp
Z24tY29udGVudCkgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5p
bWF0ZS4uLicpCitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8bGVuZ3RoPiB0eXBlIGFuaW1h
dGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4u
JykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxwZXJjZW50YWdlPiB0eXBlIGFuaW1hdGlv
biB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykK
K0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxjb2xvcj4gdHlwZSBhbmltYXRpb24gdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0
ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8Y29sb3I+IHR5cGUgYW5pbWF0aW9uIHRoYXQgZ3JlZW4gY29t
cG9uZW50IGlzIGRlY3JlYXNpbmcgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcu
Li5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8bnVtYmVyPiB0
eXBlIGFuaW1hdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5h
bmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxzaGFwZT4gdHlwZSBhbmlt
YXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4u
LicpCitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8Y2FsYygpPiB2YWx1ZSBhbmltYXRpb24g
dW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitG
QUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8Y2FsYygpPiB2YWx1ZSBhbmltYXRpb24gdGhhdCB0
aGUgdmFsdWVzIGNhbid0YmUgcmVkdWNlZCB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5l
YXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIG9wYWNp
dHkgYW5pbWF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFu
aW1hdGUuLi4nKQorRkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2YgYm94LXNoYWRvdyBhbmltYXRp
b24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicp
CitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiBmaWx0ZXIgYmx1ciBhbmltYXRpb24gdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0
ZXJhdGlvbkNvbXBvc2l0ZSBvZiBmaWx0ZXIgYnJpZ2h0bmVzcyBmb3IgZGlmZmVyZW50IHVuaXQg
YW5pbWF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1h
dGUuLi4nKQorRkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2YgZmlsdGVyIGJyaWdodG5lc3MgYW5p
bWF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUu
Li4nKQorRkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2YgZmlsdGVyIGRyb3Atc2hhZG93IGFuaW1h
dGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4u
JykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIHNhbWUgZmlsdGVyIGxpc3QgYW5pbWF0aW9u
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQor
RkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2YgZGlzY3JldGUgZmlsdGVyIGxpc3QgYmVjYXVzZSBv
ZiBtaXNtYXRjaCBvZiB0aGUgb3JkZXIgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFy
ICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiBkaWZmZXJl
bnQgbGVuZ3RoIGZpbHRlciBsaXN0IGFuaW1hdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rp
b24gKG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9m
IHRyYW5zZm9ybShyb3RhdGUpIGFuaW1hdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24g
KG5lYXIgJy4uLmRpdi5hbmltYXRlLi4uJykKK0ZBSUwgaXRlcmF0aW9uQ29tcG9zaXRlIG9mIHRy
YW5zZm9ybTogWyBzY2FsZSgwKSwgc2NhbGUoMSkgXSBhbmltYXRpb24gdW5kZWZpbmVkIGlzIG5v
dCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0ZXJhdGlvbkNv
bXBvc2l0ZSBvZiB0cmFuc2Zvcm06IFsgc2NhbGUoMSksIHNjYWxlKDIpIF0gYW5pbWF0aW9uIHVu
ZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJ
TCBpdGVyYXRpb25Db21wb3NpdGUgb2YgdHJhbnNmb3JtOiBzY2FsZSgyKSBhbmltYXRpb24gdW5k
ZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlM
IGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gbGlzdCBhbmltYXRpb24gdW5kZWZpbmVk
IGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicpCitGQUlMIGl0ZXJh
dGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gb2YgbWF0cml4IGZ1bmN0aW9uIHVuZGVmaW5lZCBp
cyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBpdGVyYXRp
b25Db21wb3NpdGUgb2YgdHJhbnNmb3JtIGxpc3QgYW5pbWF0aW9uIHdob3NlIG9yZGVyIGlzIG1p
c21hdGNoZWQgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0
ZS4uLicpCitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gbGlzdCBhbmltYXRp
b24gd2hvc2Ugb3JkZXIgaXMgbWlzbWF0Y2hlZCBiZWNhdXNlIG9mIG1pc3NpbmcgZnVuY3Rpb25z
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQor
RkFJTCBpdGVyYXRpb25Db21wb3NpdGUgb2YgdHJhbnNmb3JtIGZyb20gbm9uZSB0byB0cmFuc2xh
dGUgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicp
CitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gb2YgbWF0cml4M2QgZnVuY3Rp
b24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicp
CitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gb2Ygcm90YXRlM2QgZnVuY3Rp
b24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4uLicp
CitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSBzdGFydHMgd2l0aCBub24temVybyB2YWx1ZSBhbmlt
YXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5kaXYuYW5pbWF0ZS4u
LicpCitGQUlMIGl0ZXJhdGlvbkNvbXBvc2l0ZSB3aXRoIG5lZ2F0aXZlIGZpbmFsIHZhbHVlIGFu
aW1hdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmRpdi5hbmltYXRl
Li4uJykKK0ZBSUwgaW50ZXJhdGlvbkNvbXBvc2l0ZSBjaGFuZ2VzIHVuZGVmaW5lZCBpcyBub3Qg
YSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorRkFJTCBkdXJhdGlvbiBjaGFu
Z2VzIHdpdGggaXRlcmF0aW9uQ29tcG9zaXRlKGFjY3VtdWxhdGUpIHVuZGVmaW5lZCBpcyBub3Qg
YSBmdW5jdGlvbiAobmVhciAnLi4uZGl2LmFuaW1hdGUuLi4nKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0
L2l0ZXJhdGlvbkNvbXBvc2l0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9pdGVyYXRpb25Db21wb3NpdGUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43NzE5ZmE5YzFjNTgwMzg0ODM5MDE0OWQ3Zjk1ZmE2M2EwNDUxNTllCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9LZXlmcmFtZUVmZmVjdC9pdGVyYXRpb25Db21wb3NpdGUuaHRtbApAQCAtMCwwICsxLDgz
OSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPktleWZy
YW1lRWZmZWN0Lml0ZXJhdGlvbkNvbXBvc2l0ZSB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jZWZmZWN0LWFj
Y3VtdWxhdGlvbi1zZWN0aW9uIj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Rlc3QoZnVu
Y3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9CisgICAg
ZGl2LmFuaW1hdGUoeyBhbGlnbkNvbnRlbnQ6IFsnZmxleC1zdGFydCcsICdmbGV4LWVuZCddIH0s
CisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAg
ICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25z
OiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUn
IH0pOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24g
LyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbGlnbkNvbnRlbnQs
ICdmbGV4LWVuZCcsCisgICAgJ0FuaW1hdGVkIGFsaWduLWNvbnRlbnQgc3R5bGUgYXQgNTBzIG9m
IHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0
LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShk
aXYpLmFsaWduQ29udGVudCwgJ2ZsZXgtc3RhcnQnLAorICAgICdBbmltYXRlZCBhbGlnbi1jb250
ZW50IHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50
VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbGlnbkNvbnRlbnQsICdmbGV4LWVuZCcsCisgICAgJ0Fu
aW1hdGVkIGFsaWduLWNvbnRlbnQgc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24n
KTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUgb2YgZGlzY3JldGUgdHlwZSBhbmltYXRpb24gKGFs
aWduLWNvbnRlbnQpJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRl
RGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbJzBw
eCcsICcxMHB4J10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJf
U0VDLAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAg
ICAgIGl0ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRl
OiAnYWNjdW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1l
ID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzVweCcsCisgICAgJ0FuaW1hdGVkIG1hcmdp
bi1sZWZ0IHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3Vy
cmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMjBweCcsCisgICAgJ0FuaW1h
dGVkIG1hcmdpbi1sZWZ0IHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAg
YW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMjVweCcsCisg
ICAgJ0FuaW1hdGVkIG1hcmdpbi1sZWZ0IHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0
aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIDxsZW5ndGg+IHR5cGUgYW5pbWF0aW9u
Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgcGFyZW50ID0gY3JlYXRlRGl2KHQpOwor
ICBwYXJlbnQuc3R5bGUud2lkdGggPSAnMTAwcHgnOworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICBwYXJlbnQuYXBwZW5kQ2hpbGQoZGl2KTsKKworICB2YXIgYW5pbSA9CisgICAgZGl2LmFu
aW1hdGUoeyB3aWR0aDogWycwJScsICc1MCUnXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRp
b246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXIn
LAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBp
dGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisg
IGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS53aWR0aCwgJzI1cHgnLAorICAgICdB
bmltYXRlZCB3aWR0aCBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBh
bmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNz
ZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikud2lkdGgsICcxMDBweCcsCisgICAgJ0Fu
aW1hdGVkIHdpZHRoIHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5p
bS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS53aWR0aCwgJzEyNXB4JywKKyAgICAnQW5p
bWF0ZWQgd2lkdGggc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdp
dGVyYXRpb25Db21wb3NpdGUgb2YgPHBlcmNlbnRhZ2U+IHR5cGUgYW5pbWF0aW9uJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9
CisgICAgZGl2LmFuaW1hdGUoeyBjb2xvcjogWydyZ2IoMCwgMCwgMCknLCAncmdiKDEyMCwgMTIw
LCAxMjApJ10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VD
LAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAg
IGl0ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAn
YWNjdW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0g
YW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRpdikuY29sb3IsICdyZ2IoNjAsIDYwLCA2MCknLAorICAgICdBbmltYXRlZCBj
b2xvciBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJl
bnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGRpdikuY29sb3IsICdyZ2IoMjQwLCAyNDAsIDI0MCknLAorICAg
ICdBbmltYXRlZCBjb2xvciBzdHlsZSBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cisg
IGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuY29sb3IsICdyZ2IoMjU1LCAyNTUs
IDI1NSknLAorICAgICdBbmltYXRlZCBjb2xvciBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0
ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8Y29sb3I+IHR5cGUgYW5pbWF0
aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOwor
ICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyBjb2xvcjogWydyZ2IoMCwgMTIwLCAwKScs
ICdyZ2IoNjAsIDYwLCA2MCknXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAq
IE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAg
ICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25D
b21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3Vy
cmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5jb2xvciwgJ3JnYigzMCwgOTAsIDMwKScsCisgICAg
J0FuaW1hdGVkIGNvbG9yIHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7Cisg
IGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5jb2xvciwgJ3JnYigxMjAsIDI0MCwg
MTIwKScsCisgICAgJ0FuaW1hdGVkIGNvbG9yIHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVy
YXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRp
b24gLyAyOworICAvLyBUaGUgZ3JlZW4gY29sb3IgaXMgKDI0MCArIDE4MCkgLyAyID0gMjEwCisg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmNvbG9yLCAncmdiKDE1MCwgMjEw
LCAxNTApJywKKyAgICAnQW5pbWF0ZWQgY29sb3Igc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGlyZCBp
dGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUgb2YgPGNvbG9yPiB0eXBlIGFuaW1h
dGlvbiB0aGF0IGdyZWVuIGNvbXBvbmVudCBpcyAnICsKKyAgICdkZWNyZWFzaW5nJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9
CisgICAgZGl2LmFuaW1hdGUoeyBmbGV4R3JvdzogWzAsIDEwXSB9LAorICAgICAgICAgICAgICAg
IHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6
ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAg
ICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVz
ZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24g
LyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5mbGV4R3JvdywgJzUn
LAorICAgICdBbmltYXRlZCBmbGV4LWdyb3cgc3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVy
YXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlv
biAqIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZsZXhHcm93LCAn
MjAnLAorICAgICdBbmltYXRlZCBmbGV4LWdyb3cgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJh
dGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZsZXhHcm93
LCAnMjUnLAorICAgICdBbmltYXRlZCBmbGV4LWdyb3cgc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGly
ZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUgb2YgPG51bWJlcj4gdHlwZSBh
bmltYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYo
dCk7CisgIGRpdi5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7CisgIHZhciBhbmltID0KKyAg
ICBkaXYuYW5pbWF0ZSh7IGNsaXA6IFsncmVjdCgwcHgsIDBweCwgMHB4LCAwcHgpJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAncmVjdCgxMHB4LCAxMHB4LCAxMHB4LCAxMHB4KSddIH0sCisg
ICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAg
ICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAx
MCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0p
OworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRp
bWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYp
LmNsaXAsICdyZWN0KDVweCwgNXB4LCA1cHgsIDVweCknLAorICAgICdBbmltYXRlZCBjbGlwIHN0
eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUg
PSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoZGl2KS5jbGlwLCAncmVjdCgyMHB4LCAyMHB4LCAyMHB4LCAyMHB4KScsCisg
ICAgJ0FuaW1hdGVkIGNsaXAgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOwor
ICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7Cisg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmNsaXAsICdyZWN0KDI1cHgsIDI1
cHgsIDI1cHgsIDI1cHgpJywKKyAgICAnQW5pbWF0ZWQgY2xpcCBzdHlsZSBhdCA1MHMgb2YgdGhl
IHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8c2hhcGU+IHR5
cGUgYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRl
RGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyB3aWR0aDogWydjYWxjKDB2
dyArIDBweCknLCAnY2FsYygwdncgKyAxMHB4KSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJh
dGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVh
cicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAg
IGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisK
KyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7Cisg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLndpZHRoLCAnNXB4JywKKyAgICAn
QW5pbWF0ZWQgY2FsYyB3aWR0aCBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicp
OworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsK
KyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikud2lkdGgsICcyMHB4JywKKyAg
ICAnQW5pbWF0ZWQgY2FsYyB3aWR0aCBzdHlsZSBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9u
Jyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8g
MjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikud2lkdGgsICcyNXB4JywK
KyAgICAnQW5pbWF0ZWQgY2FsYyB3aWR0aCBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJh
dGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiA8Y2FsYygpPiB2YWx1ZSBhbmltYXRp
b24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBwYXJlbnQgPSBjcmVhdGVEaXYodCk7
CisgIHBhcmVudC5zdHlsZS53aWR0aCA9ICcxMDBweCc7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYo
dCk7CisgIHBhcmVudC5hcHBlbmRDaGlsZChkaXYpOworCisgIHZhciBhbmltID0KKyAgICBkaXYu
YW5pbWF0ZSh7IHdpZHRoOiBbJ2NhbGMoMCUgKyAwcHgpJywgJ2NhbGMoMTAlICsgMTBweCknXSB9
LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAg
ICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9u
czogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRl
JyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS53aWR0aCwgJzEwcHgnLAorICAgIC8vIDEwMHB4ICogNSUgKyA1cHgKKyAgICAnQW5pbWF0
ZWQgY2FsYyB3aWR0aCBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBh
bmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNz
ZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikud2lkdGgsCisgICAgJzQwcHgnLCAvLyAx
MDBweCAqICgxMCUgKyAxMCUpICsgKDEwcHggKyAxMHB4KQorICAgICdBbmltYXRlZCBjYWxjIHdp
ZHRoIHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50
VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZGl2KS53aWR0aCwKKyAgICAnNTBweCcsIC8vICg0MHB4ICsgNjBw
eCkgLyAyCisgICAgJ0FuaW1hdGVkIGNhbGMgd2lkdGggc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGly
ZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUgb2YgPGNhbGMoKT4gdmFsdWUg
YW5pbWF0aW9uIHRoYXQgdGhlIHZhbHVlcyBjYW5cJ3QnICsKKyAgICdiZSByZWR1Y2VkJyk7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5p
bSA9CisgICAgZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbMCwgMC40XSB9LAorICAgICAgICAgICAg
ICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNp
bmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAg
ICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5w
YXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRp
b24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5vcGFjaXR5LCAn
MC4yJywKKyAgICAnQW5pbWF0ZWQgb3BhY2l0eSBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0
aW9uICogMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikub3BhY2l0eSwg
JzAuOCcsCisgICAgJ0FuaW1hdGVkIG9wYWNpdHkgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJh
dGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm9wYWNpdHks
ICcxJywgLy8gKDAuOCArIDEuMikgKiAwLjUKKyAgICAnQW5pbWF0ZWQgb3BhY2l0eSBzdHlsZSBh
dCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBv
ZiBvcGFjaXR5IGFuaW1hdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9
IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPQorICAgIGRpdi5hbmltYXRlKHsgYm94U2hhZG93
OiBbJ3JnYigwLCAwLCAwKSAwcHggMHB4IDBweCAwcHgnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ3JnYigxMjAsIDEyMCwgMTIwKSAxMHB4IDEwcHggMTBweCAwcHgnXSB9LAorICAg
ICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAg
ICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAs
CisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsK
KyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1p
bmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5i
b3hTaGFkb3csCisgICAgJ3JnYig2MCwgNjAsIDYwKSA1cHggNXB4IDVweCAwcHgnLAorICAgICdB
bmltYXRlZCBib3gtc2hhZG93IHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7
CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOwor
ICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5ib3hTaGFkb3csCisgICAgJ3Jn
YigyNDAsIDI0MCwgMjQwKSAyMHB4IDIwcHggMjBweCAwcHgnLAorICAgICdBbmltYXRlZCBib3gt
c2hhZG93IHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJy
ZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5ib3hTaGFkb3csCisgICAgJ3JnYigyNTUsIDI1NSwg
MjU1KSAyNXB4IDI1cHggMjVweCAwcHgnLAorICAgICdBbmltYXRlZCBib3gtc2hhZG93IHN0eWxl
IGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9zaXRl
IG9mIGJveC1zaGFkb3cgYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
ZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyBmaWx0
ZXI6IFsnYmx1cigwcHgpJywgJ2JsdXIoMTBweCknXSB9LAorICAgICAgICAgICAgICAgIHsgZHVy
YXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5l
YXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAg
ICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOwor
CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOwor
ICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsICdibHVyKDVweCkn
LAorICAgICdBbmltYXRlZCBmaWx0ZXIgYmx1ciBzdHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0
aW9uICogMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmlsdGVyLCAn
Ymx1cigyMHB4KScsCisgICAgJ0FuaW1hdGVkIGZpbHRlciBibHVyIHN0eWxlIGF0IDBzIG9mIHRo
ZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50
aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2
KS5maWx0ZXIsICdibHVyKDI1cHgpJywKKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGJsdXIgc3R5bGUg
YXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUg
b2YgZmlsdGVyIGJsdXIgYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
ZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyBmaWx0
ZXI6IFsnYnJpZ2h0bmVzcygxKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnJpZ2h0
bmVzcygxODAlKSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0
ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGlt
ZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwKKyAgICAnYnJpZ2h0bmVzcygxLjQpJywKKyAgICAn
QW5pbWF0ZWQgZmlsdGVyIGJyaWdodG5lc3Mgc3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVy
YXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlv
biAqIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwKKyAg
ICAnYnJpZ2h0bmVzcygyLjYpJywgLy8gYnJpZ2h0bmVzcygxKSArIGJyaWdodG5lc3MoMC44KSAr
IGJyaWdodG5lc3MoMC44KQorICAgICdBbmltYXRlZCBmaWx0ZXIgYnJpZ2h0bmVzcyBzdHlsZSBh
dCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5p
bS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikuZmlsdGVyLAorICAgICdicmlnaHRuZXNzKDMpJywgLy8gKGJyaWdodG5lc3Mo
Mi42KSArIGJyaWdodG5lc3MoMy40KSkgKiAwLjUKKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGJyaWdo
dG5lc3Mgc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRp
b25Db21wb3NpdGUgb2YgZmlsdGVyIGJyaWdodG5lc3MgZm9yIGRpZmZlcmVudCB1bml0IGFuaW1h
dGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsK
KyAgdmFyIGFuaW0gPQorICAgIGRpdi5hbmltYXRlKHsgZmlsdGVyOiBbJ2JyaWdodG5lc3MoMCkn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyaWdodG5lc3MoMSknXSB9LAorICAgICAg
ICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAg
ICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisg
ICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAg
YW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcu
ZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0
ZXIsCisgICAgJ2JyaWdodG5lc3MoMC41KScsCisgICAgJ0FuaW1hdGVkIGZpbHRlciBicmlnaHRu
ZXNzIHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVu
dFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsCisgICAgJ2JyaWdodG5lc3MoMCknLCAvLyBi
cmlnaHRuZXNzKDEpIGlzIGFuIGlkZW50aXR5IGVsZW1lbnQsIG5vdCBhY2N1bXVsYXRlZC4KKyAg
ICAnQW5pbWF0ZWQgZmlsdGVyIGJyaWdodG5lc3Mgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJh
dGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwK
KyAgICAnYnJpZ2h0bmVzcygwLjUpJywgLy8gYnJpZ2h0bmVzcygxKSBpcyBhbiBpZGVudGl0eSBl
bGVtZW50LCBub3QgYWNjdW11bGF0ZWQuCisgICAgJ0FuaW1hdGVkIGZpbHRlciBicmlnaHRuZXNz
IHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29t
cG9zaXRlIG9mIGZpbHRlciBicmlnaHRuZXNzIGFuaW1hdGlvbicpOworCit0ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0gPQorICAgIGRpdi5h
bmltYXRlKHsgZmlsdGVyOiBbJ2Ryb3Atc2hhZG93KHJnYigwLCAwLCAwKSAwcHggMHB4IDBweCkn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Ryb3Atc2hhZG93KHJnYigxMjAsIDEyMCwg
MTIwKSAxMHB4IDEwcHggMTBweCknXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEw
MCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAg
ICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRp
b25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0u
Y3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsCisgICAgJ2Ryb3Atc2hhZG93KHJn
Yig2MCwgNjAsIDYwKSA1cHggNXB4IDVweCknLAorICAgICdBbmltYXRlZCBmaWx0ZXIgZHJvcC1z
aGFkb3cgc3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJy
ZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRlciwKKyAgICAnZHJvcC1zaGFkb3cocmdiKDI0
MCwgMjQwLCAyNDApIDIwcHggMjBweCAyMHB4KScsCisgICAgJ0FuaW1hdGVkIGZpbHRlciBkcm9w
LXNoYWRvdyBzdHlsZSBhdCAwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3Vy
cmVudFRpbWUgKz0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmlsdGVyLAorICAgICdkcm9wLXNoYWRvdyhyZ2Io
MjU1LCAyNTUsIDI1NSkgMjVweCAyNXB4IDI1cHgpJywKKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGRy
b3Atc2hhZG93IHN0eWxlIGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAnaXRl
cmF0aW9uQ29tcG9zaXRlIG9mIGZpbHRlciBkcm9wLXNoYWRvdyBhbmltYXRpb24nKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0K
KyAgICBkaXYuYW5pbWF0ZSh7IGZpbHRlcjogWydicmlnaHRuZXNzKDEpIGNvbnRyYXN0KDEpJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICdicmlnaHRuZXNzKDIpIGNvbnRyYXN0KDIpJ10g
fSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAg
ICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlv
bnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0
ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZl
Y3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGRpdikuZmlsdGVyLAorICAgICdicmlnaHRuZXNzKDEuNSkgY29udHJhc3QoMS41KScsCisgICAg
J0FuaW1hdGVkIGZpbHRlciBsaXN0IGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7Cisg
IGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsCisgICAgJ2JyaWdodG5l
c3MoMykgY29udHJhc3QoMyknLAorICAgICdBbmltYXRlZCBmaWx0ZXIgbGlzdCBhdCAwcyBvZiB0
aGUgdGhpcmQgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgKz0gYW5pbS5lZmZlY3Qu
dGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRp
dikuZmlsdGVyLAorICAgICdicmlnaHRuZXNzKDMuNSkgY29udHJhc3QoMy41KScsCisgICAgJ0Fu
aW1hdGVkIGZpbHRlciBsaXN0IGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAn
aXRlcmF0aW9uQ29tcG9zaXRlIG9mIHNhbWUgZmlsdGVyIGxpc3QgYW5pbWF0aW9uJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9
CisgICAgZGl2LmFuaW1hdGUoeyBmaWx0ZXI6IFsnYnJpZ2h0bmVzcygxKSBjb250cmFzdCgxKScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udHJhc3QoMikgYnJpZ2h0bmVzcygyKSdd
IH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAg
ICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRp
b25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxh
dGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZm
ZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShkaXYpLmZpbHRlciwKKyAgICAnY29udHJhc3QoMikgYnJpZ2h0bmVzcygyKScsIC8vIGRpc2Ny
ZXRlCisgICAgJ0FuaW1hdGVkIGZpbHRlciBsaXN0IGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0
aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24g
KiAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5maWx0ZXIsCisgICAg
Ly8gV2UgY2FuJ3QgYWNjdW11bGF0ZSAnY29udHJhc3QoMikgYnJpZ2h0bmVzcygyKScgb250bwor
ICAgIC8vIHRoZSBmaXJzdCBsaXN0ICdicmlnaHRuZXNzKDEpIGNvbnRyYXN0KDEpJyBiZWNhdXNl
IG9mCisgICAgLy8gbWlzbWF0Y2ggb2YgdGhlIG9yZGVyLgorICAgICdicmlnaHRuZXNzKDEpIGNv
bnRyYXN0KDEpJywKKyAgICAnQW5pbWF0ZWQgZmlsdGVyIGxpc3QgYXQgMHMgb2YgdGhlIHRoaXJk
IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5k
dXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmZpbHRl
ciwKKyAgICAvLyBXZSAqY2FuKiBhY2N1bXVsYXRlICdjb250cmFzdCgyKSBicmlnaHRuZXNzKDIp
JyBvbnRvCisgICAgLy8gdGhlIHNhbWUgbGlzdCAnY29udHJhc3QoMikgYnJpZ2h0bmVzcygyKScg
aGVyZS4KKyAgICAnY29udHJhc3QoNCkgYnJpZ2h0bmVzcyg0KScsIC8vIGRpc2NyZXRlCisgICAg
J0FuaW1hdGVkIGZpbHRlciBsaXN0IGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9
LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIGRpc2NyZXRlIGZpbHRlciBsaXN0IGJlY2F1c2Ugb2Yg
bWlzbWF0Y2ggJyArCisgICAnb2YgdGhlIG9yZGVyJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUo
eyBmaWx0ZXI6IFsnc2VwaWEoMCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlcGlh
KDEpIGNvbnRyYXN0KDIpJ10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBN
U19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29t
cG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJl
bnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmlsdGVyLAorICAgICdzZXBpYSgwLjUpIGNvbnRyYXN0
KDEuNSknLAorICAgICdBbmltYXRlZCBmaWx0ZXIgbGlzdCBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0
aW9uICogMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikuZmlsdGVyLAor
ICAgICdzZXBpYSgyKSBjb250cmFzdCgzKScsCisgICAgJ0FuaW1hdGVkIGZpbHRlciBsaXN0IGF0
IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmlt
LmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoZGl2KS5maWx0ZXIsCisgICAgJ3NlcGlhKDIuNSkgY29udHJhc3QoMy41KScsCisgICAg
J0FuaW1hdGVkIGZpbHRlciBsaXN0IGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9
LCAnaXRlcmF0aW9uQ29tcG9zaXRlIG9mIGRpZmZlcmVudCBsZW5ndGggZmlsdGVyIGxpc3QgYW5p
bWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsncm90YXRlKDBk
ZWcpJywgJ3JvdGF0ZSgxODBkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAx
MDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAg
ICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0
aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmlt
LmN1cnJlbnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0
X21hdHJpeF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAnbWF0
cml4KDAsIDEsIC0xLCAwLCAwLCAwKScsIC8vIHJvdGF0ZSg5MGRlZykKKyAgICAnQW5pbWF0ZWQg
dHJhbnNmb3JtKHJvdGF0ZSkgc3R5bGUgYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsK
KyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7Cisg
IGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisg
ICAgJ21hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKScsIC8vIHJvdGF0ZSgzNjBkZWcpCisgICAgJ0Fu
aW1hdGVkIHRyYW5zZm9ybShyb3RhdGUpIHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRp
b24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24g
LyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNm
b3JtLAorICAgICdtYXRyaXgoMCwgMSwgLTEsIDAsIDAsIDApJywgLy8gcm90YXRlKDQ1MGRlZykK
KyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtKHJvdGF0ZSkgc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGly
ZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25Db21wb3NpdGUgb2YgdHJhbnNmb3JtKHJvdGF0
ZSkgYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRl
RGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsnc2Nh
bGUoMCknLCAnc2NhbGUoMSknXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAq
IE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAg
ICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25D
b21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3Vy
cmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0
cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgo
MC41LCAwLCAwLCAwLjUsIDAsIDApJywgLy8gc2NhbGUoMC41KQorICAgICdBbmltYXRlZCB0cmFu
c2Zvcm0oc2NhbGUpIHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFu
aW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3Nl
cnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdt
YXRyaXgoMCwgMCwgMCwgMCwgMCwgMCknLCAvLyBzY2FsZSgwKTsgc2NhbGUoMSkgaXMgYW4gaWRl
bnRpdHkgZWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm90IGFj
Y3VtdWxhdGVkLgorICAgICdBbmltYXRlZCB0cmFuc2Zvcm0oc2NhbGUpIHN0eWxlIGF0IDBzIG9m
IHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVj
dC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgoMC41LCAwLCAwLCAwLjUsIDAsIDAp
JywgLy8gc2NhbGUoMC41KTsgc2NhbGUoMSkgYW4gaWRlbnRpdHkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIGVsZW1lbnQsIG5vdCBhY2N1bXVsYXRlZC4KKyAgICAnQW5p
bWF0ZWQgdHJhbnNmb3JtKHNjYWxlKSBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlv
bicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm06IFsgc2NhbGUoMCksIHNj
YWxlKDEpIF0gYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0g
Y3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06
IFsnc2NhbGUoMSknLCAnc2NhbGUoMiknXSB9LAorICAgICAgICAgICAgICAgIHsgZHVyYXRpb246
IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAor
ICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICBpdGVy
YXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFu
aW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3Nl
cnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdt
YXRyaXgoMS41LCAwLCAwLCAxLjUsIDAsIDApJywgLy8gc2NhbGUoMS41KQorICAgICdBbmltYXRl
ZCB0cmFuc2Zvcm0oc2NhbGUpIHN0eWxlIGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7
CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOwor
ICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAor
ICAgICdtYXRyaXgoMywgMCwgMCwgMywgMCwgMCknLCAvLyBzY2FsZSgxICsgKDIgLTEpICsgKDIg
LTEpKQorICAgICdBbmltYXRlZCB0cmFuc2Zvcm0oc2NhbGUpIHN0eWxlIGF0IDBzIG9mIHRoZSB0
aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1p
bmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgoMy41LCAwLCAwLCAzLjUsIDAsIDApJywgLy8g
KHNjYWxlKDMpICsgc2NhbGUoNCkpICogMC41CisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybShzY2Fs
ZSkgc3R5bGUgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdpdGVyYXRpb25D
b21wb3NpdGUgb2YgdHJhbnNmb3JtOiBbIHNjYWxlKDEpLCBzY2FsZSgyKSBdIGFuaW1hdGlvbicp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFy
IGFuaW0gPQorICAgIGRpdi5hbmltYXRlKHsgdHJhbnNmb3JtOiBbJ3NjYWxlKDApJywgJ3NjYWxl
KDIpJ10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAor
ICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0
ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNj
dW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5p
bS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAnbWF0cml4KDEsIDAsIDAsIDEsIDAs
IDApJywgLy8gc2NhbGUoMSkKKyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtKHNjYWxlKSBzdHlsZSBh
dCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lID0gYW5p
bS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAnbWF0cml4KDIsIDAsIDAsIDIsIDAs
IDApJywgLy8gKHNjYWxlKDApICsgc2NhbGUoMi0xKSoyKQorICAgICdBbmltYXRlZCB0cmFuc2Zv
cm0oc2NhbGUpIHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5j
dXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRf
bWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRy
aXgoMywgMCwgMCwgMywgMCwgMCknLCAvLyAoc2NhbGUoMikgKyBzY2FsZSg0KSkgKiAwLjUKKyAg
ICAnQW5pbWF0ZWQgdHJhbnNmb3JtKHNjYWxlKSBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0
ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm06IHNjYWxlKDIp
IGFuaW1hdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURp
dih0KTsKKyAgdmFyIGFuaW0gPQorICAgIGRpdi5hbmltYXRlKHsgdHJhbnNmb3JtOiBbJ3JvdGF0
ZSgwZGVnKSB0cmFuc2xhdGVYKDBweCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3JvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVgoMTBweCknXSB9LAorICAgICAgICAgICAgICAgIHsg
ZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6ICds
aW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgp
OworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAy
OworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3Jt
LAorICAgICdtYXRyaXgoMCwgMSwgLTEsIDAsIDAsIDUpJywgLy8gcm90YXRlKDkwZGVnKSB0cmFu
c2xhdGVYKDVweCkKKyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3QgYXQgNTBzIG9mIHRoZSBm
aXJzdCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWlu
Zy5kdXJhdGlvbiAqIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
ZGl2KS50cmFuc2Zvcm0sCisgICAgJ21hdHJpeCgxLCAwLCAwLCAxLCAyMCwgMCknLCAvLyByb3Rh
dGUoMzYwZGVnKSB0cmFuc2xhdGVYKDIwcHgpCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBsaXN0
IGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBh
bmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgoMCwgMSwgLTEsIDAs
IDAsIDI1KScsIC8vIHJvdGF0ZSg0NTBkZWcpIHRyYW5zbGF0ZVgoMjVweCkKKyAgICAnQW5pbWF0
ZWQgdHJhbnNmb3JtIGxpc3QgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdp
dGVyYXRpb25Db21wb3NpdGUgb2YgdHJhbnNmb3JtIGxpc3QgYW5pbWF0aW9uJyk7CisKK3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9Cisg
ICAgZGl2LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsnbWF0cml4KDIsIDAsIDAsIDIsIDAsIDApJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgoMywgMCwgMCwgMywgMzAsIDAp
J10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAg
ICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJh
dGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11
bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5l
ZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAnbWF0cml4KDIuNSwgMCwgMCwgMi41LCAx
NSwgMCknLAorICAgICdBbmltYXRlZCB0cmFuc2Zvcm0gb2YgbWF0cml4IGZ1bmN0aW9uIGF0IDUw
cyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVm
ZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgIC8vIHNjYWxlKDIpICsgKHNjYWxlKDMtMSkq
MikgKyB0cmFuc2xhdGVYKDMwcHgpKjIKKyAgICAnbWF0cml4KDYsIDAsIDAsIDYsIDYwLCAwKScs
CisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBvZiBtYXRyaXggZnVuY3Rpb24gYXQgMHMgb2YgdGhl
IHRoaXJkIGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRp
bWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgLy8gZnJvbTogbWF0cml4KDYsIDAsIDAsIDYsIDYwLCAw
KQorICAgIC8vIHRvOiAgIG1hdHJpeCg3LCAwLCAwLCA3LCA5MCwgMCkKKyAgICAvLyAgICAgICAg
ID0gc2NhbGUoMykgKyAoc2NhbGUoMy0xKSoyKSArIHRyYW5zbGF0ZVgoMzBweCkqMworICAgICdt
YXRyaXgoNi41LCAwLCAwLCA2LjUsIDc1LCAwKScsCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBv
ZiBtYXRyaXggZnVuY3Rpb24gYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKK30sICdp
dGVyYXRpb25Db21wb3NpdGUgb2YgdHJhbnNmb3JtIG9mIG1hdHJpeCBmdW5jdGlvbicpOworCit0
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW0g
PQorICAgIGRpdi5hbmltYXRlKHsgdHJhbnNmb3JtOiBbJ3RyYW5zbGF0ZVgoMHB4KSBzY2FsZSgy
KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbGUoMykgdHJhbnNsYXRlWCgx
MHB4KSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywK
KyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBp
dGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2Fj
Y3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFu
aW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgLy8gSW50ZXJwb2xhdGUgYmV0d2Vl
biBtYXRyaXgoMiwgMCwgMCwgMiwgIDAsIDApID0gdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDIpCisg
ICAgLy8gICAgICAgICAgICAgICAgIGFuZCBtYXRyaXgoMywgMCwgMCwgMywgMzAsIDApID0gc2Nh
bGUoMykgdHJhbnNsYXRlWCgxMHB4KQorICAgICdtYXRyaXgoMi41LCAwLCAwLCAyLjUsIDE1LCAw
KScsCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBsaXN0IGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRl
cmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRp
b24gKiAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJh
bnNmb3JtLAorICAgIC8vICdmcm9tJyBhbmQgJ3RvJyB2YWx1ZSBhcmUgbWlzbWF0Y2hlZCwgc28g
YWNjdW11bGF0ZQorICAgIC8vIG1hdHJpeCgyLCAwLCAwLCAyLCAwLCAwKSBvbnRvIG1hdHJpeCgz
LCAwLCAwLCAzLCAzMCwgMCkgKiAyCisgICAgLy8gID0gc2NhbGUoMikgKyAoc2NhbGUoMy0xKSoy
KSArIHRyYW5zbGF0ZVgoMzBweCkqMgorICAgICdtYXRyaXgoNiwgMCwgMCwgNiwgNjAsIDApJywK
KyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3QgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlv
bicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAv
IDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zv
cm0sCisgICAgLy8gSW50ZXJwb2xhdGUgYmV0d2VlbiBtYXRyaXgoNiwgMCwgMCwgNiwgNjAsIDAp
CisgICAgLy8gICAgICAgICAgICAgICAgIGFuZCBtYXRyaXgoNywgMCwgMCwgNywgMjEwLCAwKSA9
IHNjYWxlKDcpIHRyYW5zbGF0ZSgzMHB4KQorICAgICdtYXRyaXgoNi41LCAwLCAwLCA2LjUsIDEz
NSwgMCknLAorICAgICdBbmltYXRlZCB0cmFuc2Zvcm0gbGlzdCBhdCA1MHMgb2YgdGhlIHRoaXJk
IGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gbGlzdCBh
bmltYXRpb24gd2hvc2Ugb3JkZXIgaXMgbWlzbWF0Y2hlZCcpOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgLy8gRXZlbiBpZiBlYWNoIHRyYW5zZm9y
bSBsaXN0IGRvZXMgbm90IGhhdmUgZnVuY3Rpb25zIHdoaWNoIGV4aXN0IGluCisgIC8vIG90aGVy
IHBhaXIgb2YgdGhlIGxpc3QsIHdlIGRvbid0IGZpbGwgYW55IG1pc3NpbmcgZnVuY3Rpb25zIGF0
IGFsbC4KKyAgdmFyIGFuaW0gPQorICAgIGRpdi5hbmltYXRlKHsgdHJhbnNmb3JtOiBbJ3RyYW5z
bGF0ZVgoMHB4KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbGUoMikgdHJh
bnNsYXRlWCgxMHB4KSddIH0sCisgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNf
UEVSX1NFQywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAg
ICAgICAgICBpdGVyYXRpb25zOiAxMCwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBv
c2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50
VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgLy8gSW50ZXJwb2xh
dGUgYmV0d2VlbiBtYXRyaXgoMSwgMCwgMCwgMSwgIDAsIDApID0gdHJhbnNsYXRlWCgwcHgpCisg
ICAgLy8gICAgICAgICAgICAgICAgIGFuZCBtYXRyaXgoMiwgMCwgMCwgMiwgMjAsIDApID0gc2Nh
bGUoMikgdHJhbnNsYXRlWCgxMHB4KQorICAgICdtYXRyaXgoMS41LCAwLCAwLCAxLjUsIDEwLCAw
KScsCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBsaXN0IGF0IDUwcyBvZiB0aGUgZmlyc3QgaXRl
cmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRp
b24gKiAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJh
bnNmb3JtLAorICAgIC8vICdmcm9tJyBhbmQgJ3RvJyB2YWx1ZSBhcmUgbWlzbWF0Y2hlZCwgc28g
YWNjdW11bGF0ZQorICAgIC8vIG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKSBvbnRvIG1hdHJpeCgy
LCAwLCAwLCAyLCAyMCwgMCkgKiAyCisgICAgLy8gID0gc2NhbGUoMSkgKyAoc2NhbGUoMi0xKSoy
KSArIHRyYW5zbGF0ZVgoMjBweCkqMgorICAgICdtYXRyaXgoMywgMCwgMCwgMywgNDAsIDApJywK
KyAgICAnQW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3QgYXQgMHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlv
bicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAv
IDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zv
cm0sCisgICAgLy8gSW50ZXJwb2xhdGUgYmV0d2VlbiBtYXRyaXgoMywgMCwgMCwgMywgNDAsIDAp
CisgICAgLy8gICAgICAgICAgICAgICAgIGFuZCBtYXRyaXgoNCwgMCwgMCwgNCwgMTIwLCAwKSA9
CisgICAgLy8gICAgICAgICAgICAgICAgICAgICAgIHNjYWxlKDIgKyAoMi0xKSoyKSB0cmFuc2xh
dGUoMTBweCAqIDMpCisgICAgJ21hdHJpeCgzLjUsIDAsIDAsIDMuNSwgODAsIDApJywKKyAgICAn
QW5pbWF0ZWQgdHJhbnNmb3JtIGxpc3QgYXQgNTBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsK
K30sICdpdGVyYXRpb25Db21wb3NpdGUgb2YgdHJhbnNmb3JtIGxpc3QgYW5pbWF0aW9uIHdob3Nl
IG9yZGVyIGlzIG1pc21hdGNoZWQgJyArCisgICAnYmVjYXVzZSBvZiBtaXNzaW5nIGZ1bmN0aW9u
cycpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
dmFyIGFuaW0gPQorICAgIGRpdi5hbmltYXRlKHsgdHJhbnNmb3JtOiBbJ25vbmUnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZVgoMTBweCknXSB9LAorICAgICAgICAg
ICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICBl
YXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAg
ICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5p
bS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50aW1pbmcuZHVy
YXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdiku
dHJhbnNmb3JtLAorICAgIC8vIHRyYW5zbGF0ZVgobm9uZSkgLT4gdHJhbnNsYXRlWCgxMHB4KSBA
IDUwJQorICAgICdtYXRyaXgoMSwgMCwgMCwgMSwgNSwgMCknLAorICAgICdBbmltYXRlZCB0cmFu
c2Zvcm0gbGlzdCBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJl
bnRUaW1lID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0X21hdHJp
eF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAvLyB0cmFuc2xh
dGVYKDEwcHggKiAyICsgbm9uZSkgLT4gdHJhbnNsYXRlWCgxMHB4ICogMiArIDEwcHgpIEAgMCUK
KyAgICAnbWF0cml4KDEsIDAsIDAsIDEsIDIwLCAwKScsCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9y
bSBsaXN0IGF0IDBzIG9mIHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGlt
ZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikudHJhbnNmb3JtLAorICAgIC8vIHRyYW5zbGF0ZVgo
MTBweCAqIDIgKyBub25lKSAtPiB0cmFuc2xhdGVYKDEwcHggKiAyICsgMTBweCkgQCA1MCUKKyAg
ICAnbWF0cml4KDEsIDAsIDAsIDEsIDI1LCAwKScsCisgICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBs
aXN0IGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7Cit9LCAnaXRlcmF0aW9uQ29tcG9z
aXRlIG9mIHRyYW5zZm9ybSBmcm9tIG5vbmUgdG8gdHJhbnNsYXRlJyk7CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbSA9CisgICAgZGl2
LmFuaW1hdGUoeyB0cmFuc2Zvcm06IFsnbWF0cml4M2QoMSwgMCwgIDAsIDAsICcgKworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzAsIDEsICAwLCAwLCAnICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwLCAwLCAgMSwgMCwgJyArCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMCwgMCwgMzAsIDEpJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdtYXRyaXgzZCgxLCAwLCAgMCwgMCwgJyArCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMCwgMSwgIDAsIDAsICcgKworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzAsIDAsICAxLCAwLCAnICsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwLCAwLCA1MCwgMSknXSB9LAor
ICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAg
ICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczog
MTAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9
KTsKKyAgYW5pbS5wYXVzZSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmltLmVmZmVjdC50
aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0
eWxlKGRpdikudHJhbnNmb3JtLAorICAgICdtYXRyaXgzZCgxLCAwLCAwLCAwLCAwLCAxLCAwLCAw
LCAwLCAwLCAxLCAwLCAwLCAwLCA0MCwgMSknLAorICAgICdBbmltYXRlZCB0cmFuc2Zvcm0gb2Yg
bWF0cml4M2QgZnVuY3Rpb24gYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsKKyAgYW5p
bS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7CisgIGFzc2Vy
dF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisgICAgLy8g
dHJhbnNsYXRlWigzMHB4KSArICh0cmFuc2xhdGVaKDUwcHgpKjIpCisgICAgJ21hdHJpeDNkKDEs
IDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDEzMCwgMSknLAorICAgICdB
bmltYXRlZCB0cmFuc2Zvcm0gb2YgbWF0cml4M2QgZnVuY3Rpb24gYXQgMHMgb2YgdGhlIHRoaXJk
IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5k
dXJhdGlvbiAvIDI7CisgIGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2
KS50cmFuc2Zvcm0sCisgICAgLy8gZnJvbTogbWF0cml4M2QoMSwgMCwgMCwgMCwgMCwgMSwgMCwg
MCwgMCwgMCwgMSwgMCwgMCwgMCwgMTMwLCAxKQorICAgIC8vIHRvOiAgIG1hdHJpeDNkKDEsIDAs
IDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDE1MCwgMSkKKyAgICAnbWF0cml4
M2QoMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMTQwLCAxKScsCisg
ICAgJ0FuaW1hdGVkIHRyYW5zZm9ybSBvZiBtYXRyaXgzZCBmdW5jdGlvbiBhdCA1MHMgb2YgdGhl
IHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0g
b2YgbWF0cml4M2QgZnVuY3Rpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IHRyYW5zZm9y
bTogWydyb3RhdGUzZCgxLCAxLCAwLCAwZGVnKScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAncm90YXRlM2QoMSwgMSwgMCwgOTBkZWcpJ10gfSwKKyAgICAgICAgICAgICAgICB7IGR1
cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGlu
ZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAg
ICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsK
KworICBhbmltLmN1cnJlbnRUaW1lID0gMDsKKyAgYXNzZXJ0X21hdHJpeF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLnRyYW5zZm9ybSwKKyAgICAnbWF0cml4KDEsIDAsIDAsIDEsIDAsIDAp
JywgLy8gQWN0dWFsbHkgbm90IHJvdGF0ZWQgYXQgYWxsLgorICAgICdBbmltYXRlZCB0cmFuc2Zv
cm0gb2Ygcm90YXRlM2QgZnVuY3Rpb24gYXQgNTBzIG9mIHRoZSBmaXJzdCBpdGVyYXRpb24nKTsK
KyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDI7Cisg
IGFzc2VydF9tYXRyaXhfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS50cmFuc2Zvcm0sCisg
ICAgcm90YXRlM2RUb01hdHJpeDNkKDEsIDEsIDAsIE1hdGguUEkpLCAvLyAxODBkZWcKKyAgICAn
QW5pbWF0ZWQgdHJhbnNmb3JtIG9mIHJvdGF0ZTNkIGZ1bmN0aW9uIGF0IDBzIG9mIHRoZSB0aGly
ZCBpdGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcu
ZHVyYXRpb24gLyAyOworICBhc3NlcnRfbWF0cml4X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRp
dikudHJhbnNmb3JtLAorICAgIHJvdGF0ZTNkVG9NYXRyaXgzZCgxLCAxLCAwLCAyMjUgKiBNYXRo
LlBJIC8gMTgwKSwgLy8oKDI3MCArIDE4MCkgKiAwLjUpZGVnCisgICAgJ0FuaW1hdGVkIHRyYW5z
Zm9ybSBvZiByb3RhdGUzZCBmdW5jdGlvbiBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicp
OworfSwgJ2l0ZXJhdGlvbkNvbXBvc2l0ZSBvZiB0cmFuc2Zvcm0gb2Ygcm90YXRlM2QgZnVuY3Rp
b24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7Cisg
IHZhciBhbmltID0KKyAgICBkaXYuYW5pbWF0ZSh7IG1hcmdpbkxlZnQ6IFsnMTBweCcsICcyMHB4
J10gfSwKKyAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAg
ICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJh
dGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uQ29tcG9zaXRlOiAnYWNjdW11
bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmltLmN1cnJlbnRUaW1lID0gYW5pbS5l
ZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0
eWxlKGRpdikubWFyZ2luTGVmdCwgJzE1cHgnLAorICAgICdBbmltYXRlZCBtYXJnaW4tbGVmdCBz
dHlsZSBhdCA1MHMgb2YgdGhlIGZpcnN0IGl0ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1l
ID0gYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICogMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzUwcHgnLCAvLyAxMHB4ICsgMjBweCArIDIw
cHgKKyAgICAnQW5pbWF0ZWQgbWFyZ2luLWxlZnQgc3R5bGUgYXQgMHMgb2YgdGhlIHRoaXJkIGl0
ZXJhdGlvbicpOworICBhbmltLmN1cnJlbnRUaW1lICs9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJh
dGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxl
ZnQsICc1NXB4JywgLy8gKDUwcHggKyA2MHB4KSAqIDAuNQorICAgICdBbmltYXRlZCBtYXJnaW4t
bGVmdCBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwgJ2l0ZXJhdGlv
bkNvbXBvc2l0ZSBzdGFydHMgd2l0aCBub24temVybyB2YWx1ZSBhbmltYXRpb24nKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0K
KyAgICBkaXYuYW5pbWF0ZSh7IG1hcmdpbkxlZnQ6IFsnMTBweCcsICctMTBweCddIH0sCisgICAg
ICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAg
ICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAxMCwK
KyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOwor
ICBhbmltLnBhdXNlKCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IGFuaW0uZWZmZWN0LnRpbWlu
Zy5kdXJhdGlvbiAvIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1h
cmdpbkxlZnQsCisgICAgJzBweCcsCisgICAgJ0FuaW1hdGVkIG1hcmdpbi1sZWZ0IHN0eWxlIGF0
IDUwcyBvZiB0aGUgZmlyc3QgaXRlcmF0aW9uJyk7CisgIGFuaW0uY3VycmVudFRpbWUgPSBhbmlt
LmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoZGl2KS5tYXJnaW5MZWZ0LAorICAgICctMTBweCcsIC8vIDEwcHggKyAtMTBweCArIC0x
MHB4CisgICAgJ0FuaW1hdGVkIG1hcmdpbi1sZWZ0IHN0eWxlIGF0IDBzIG9mIHRoZSB0aGlyZCBp
dGVyYXRpb24nKTsKKyAgYW5pbS5jdXJyZW50VGltZSArPSBhbmltLmVmZmVjdC50aW1pbmcuZHVy
YXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5M
ZWZ0LAorICAgICctMjBweCcsIC8vICgtMTBweCArIC0zMHB4KSAqIDAuNQorICAgICdBbmltYXRl
ZCBtYXJnaW4tbGVmdCBzdHlsZSBhdCA1MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworfSwg
J2l0ZXJhdGlvbkNvbXBvc2l0ZSB3aXRoIG5lZ2F0aXZlIGZpbmFsIHZhbHVlIGFuaW1hdGlvbicp
OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFy
IGFuaW0gPSBkaXYuYW5pbWF0ZSh7IG1hcmdpbkxlZnQ6IFsnMHB4JywgJzEwcHgnXSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaXRlcmF0aW9uczogMTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBp
dGVyYXRpb25Db21wb3NpdGU6ICdhY2N1bXVsYXRlJyB9KTsKKyAgYW5pbS5wYXVzZSgpOworCisg
IGFuaW0uY3VycmVudFRpbWUgPQorICAgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAqIDIg
KyBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gLyAyOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMjVweCcsCisgICAgJ0FuaW1hdGVkIHN0eWxl
IGF0IDUwcyBvZiB0aGUgdGhpcmQgaXRlcmF0aW9uJyk7CisKKyAgYW5pbS5lZmZlY3QuaXRlcmF0
aW9uQ29tcG9zaXRlID0gJ3JlcGxhY2UnOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS5tYXJnaW5MZWZ0LCAnNXB4JywKKyAgICAnQW5pbWF0ZWQgc3R5bGUgYXQgNTBzIG9m
IHRoZSB0aGlyZCBpdGVyYXRpb24nKTsKKworICBhbmltLmVmZmVjdC5pdGVyYXRpb25Db21wb3Np
dGUgPSAnYWNjdW11bGF0ZSc7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYp
Lm1hcmdpbkxlZnQsICcyNXB4JywKKyAgICAnQW5pbWF0ZWQgc3R5bGUgYXQgNTBzIG9mIHRoZSB0
aGlyZCBpdGVyYXRpb24nKTsKK30sICdpbnRlcmF0aW9uQ29tcG9zaXRlIGNoYW5nZXMnKTsKKwor
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmlt
ID0gZGl2LmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBbJzBweCcsICcxMHB4J10gfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICB7IGR1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnbGluZWFyJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGl0ZXJhdGlvbnM6IDEwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0
aW9uQ29tcG9zaXRlOiAnYWNjdW11bGF0ZScgfSk7CisgIGFuaW0ucGF1c2UoKTsKKworICBhbmlt
LmN1cnJlbnRUaW1lID0KKyAgICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gKiAyICsgYW5p
bS5lZmZlY3QudGltaW5nLmR1cmF0aW9uIC8gMjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzI1cHgnLAorICAgICdBbmltYXRlZCBzdHlsZSBhdCA1
MHMgb2YgdGhlIHRoaXJkIGl0ZXJhdGlvbicpOworCisgIC8vIGRvdWJsZSBpdHMgZHVyYXRpb24u
CisgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJh
dGlvbiAqIDI7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxl
ZnQsICcxMi41cHgnLAorICAgICdBbmltYXRlZCBzdHlsZSBhdCAyNXMgb2YgdGhlIGZpcnN0IGl0
ZXJhdGlvbicpOworCisgIC8vIGhhbGYgb2Ygb3JpZ2luYWwuCisgIGFuaW0uZWZmZWN0LnRpbWlu
Zy5kdXJhdGlvbiA9IGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiAvIDQ7CisgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICc1MHB4JywKKyAgICAgICdB
bmltYXRlZCBzdHlsZSBhdCA1MHMgb2YgdGhlIGZvdXJ0aCBpdGVyYXRpb24nKTsKK30sICdkdXJh
dGlvbiBjaGFuZ2VzIHdpdGggaXRlcmF0aW9uQ29tcG9zaXRlKGFjY3VtdWxhdGUpJyk7CisKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50
LTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQt
MDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTNlNTQ0ZWU3NzZlYjBjZmUwNzE5MmZiZjZj
NmFmODY5YTczMDgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJh
bWVzLWFyZ3VtZW50LTAwMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1OSBAQAorCitQQVNTIG5v
bi1hbmltYXRhYmxlIHByb3BlcnR5ICdhbmltYXRpb24nIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVz
aW5nIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRh
YmxlIHByb3BlcnR5ICdhbmltYXRpb25EZWxheScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcg
YSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUg
cHJvcGVydHkgJ2FuaW1hdGlvbkRpcmVjdGlvbicgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcg
YSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUg
cHJvcGVydHkgJ2FuaW1hdGlvbkR1cmF0aW9uJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBh
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgb2JqZWN0IAorUEFTUyBub24tYW5pbWF0YWJsZSBw
cm9wZXJ0eSAnYW5pbWF0aW9uRmlsbE1vZGUnIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHBy
b3BlcnR5ICdhbmltYXRpb25JdGVyYXRpb25Db3VudCcgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNp
bmcgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFi
bGUgcHJvcGVydHkgJ2FuaW1hdGlvbk5hbWUnIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHBy
b3BlcnR5ICdhbmltYXRpb25QbGF5U3RhdGUnIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHBy
b3BlcnR5ICdhbmltYXRpb25UaW1pbmdGdW5jdGlvbicgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNp
bmcgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFi
bGUgcHJvcGVydHkgJ3RyYW5zaXRpb24nIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3Bl
cnR5ICd0cmFuc2l0aW9uRGVsYXknIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5
ICd0cmFuc2l0aW9uRHVyYXRpb24nIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5
ICd0cmFuc2l0aW9uUHJvcGVydHknIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5
ICd0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24nIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QgCitQQVNTIG5vbi1hbmltYXRhYmxlIHBy
b3BlcnR5ICdkaXNwbGF5JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWUgb2JqZWN0IAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAndW5z
dXBwb3J0ZWRQcm9wZXJ0eScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ2Zv
bnQtc2l6ZScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBwcm9wZXJ0eS1pbmRleGVkIGtl
eWZyYW1lIG9iamVjdCAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ2FuaW1hdGlvbicg
aXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mgbm9u
LWFuaW1hdGFibGUgcHJvcGVydHkgJ2FuaW1hdGlvbkRlbGF5JyBpcyBub3QgYWNjZXNzZWQgd2hl
biB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0
eSAnYW5pbWF0aW9uRGlyZWN0aW9uJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZy
YW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAnYW5pbWF0aW9uRHVy
YXRpb24nIGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCitQ
QVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5ICdhbmltYXRpb25GaWxsTW9kZScgaXMgbm90IGFj
Y2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mgbm9uLWFuaW1hdGFi
bGUgcHJvcGVydHkgJ2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50JyBpcyBub3QgYWNjZXNzZWQgd2hl
biB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0
eSAnYW5pbWF0aW9uTmFtZScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBz
ZXF1ZW5jZSAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ2FuaW1hdGlvblBsYXlTdGF0
ZScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mg
bm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ2FuaW1hdGlvblRpbWluZ0Z1bmN0aW9uJyBpcyBub3Qg
YWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0
YWJsZSBwcm9wZXJ0eSAndHJhbnNpdGlvbicgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBr
ZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ3RyYW5zaXRp
b25EZWxheScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAK
K1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ3RyYW5zaXRpb25EdXJhdGlvbicgaXMgbm90
IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mgbm9uLWFuaW1h
dGFibGUgcHJvcGVydHkgJ3RyYW5zaXRpb25Qcm9wZXJ0eScgaXMgbm90IGFjY2Vzc2VkIHdoZW4g
dXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkg
J3RyYW5zaXRpb25UaW1pbmdGdW5jdGlvbicgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBr
ZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ2Rpc3BsYXkn
IGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCitQQVNTIG5v
bi1hbmltYXRhYmxlIHByb3BlcnR5ICd1bnN1cHBvcnRlZFByb3BlcnR5JyBpcyBub3QgYWNjZXNz
ZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBub24tYW5pbWF0YWJsZSBw
cm9wZXJ0eSAnZm9udC1zaXplJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1l
IHNlcXVlbmNlIAorRkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNl
ZCBrZXlmcmFtZXM6IHR3byBwcm9wZXJ0aWVzIHdpdGggb25lIHZhbHVlIG5ldyBLZXlmcmFtZUVm
ZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcygpJywg
J25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQg
a2V5ZnJhbWVzOiB0d28gcHJvcGVydGllcyB3aXRoIHRocmVlIHZhbHVlcyBuZXcgS2V5ZnJhbWVF
ZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMoKScs
ICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCitGQUlMIEVxdWl2YWxlbnQgcHJvcGVydHktaW5kZXhlZCBhbmQgc2VxdWVuY2Vk
IGtleWZyYW1lczogdHdvIHByb3BlcnRpZXMgd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1
ZXMgbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSku
Z2V0S2V5ZnJhbWVzKCknLCAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4
ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6IHNhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYWxsIGtl
eWZyYW1lcyBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFt
ZXNBKS5nZXRLZXlmcmFtZXMoKScsICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVz
QSkuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEVxdWl2YWxlbnQgcHJvcGVydHkt
aW5kZXhlZCBhbmQgc2VxdWVuY2VkIGtleWZyYW1lczogc2FtZSBjb21wb3NpdGUgYXBwbGllZCB0
byBhbGwga2V5ZnJhbWVzIG5ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGws
IGtleWZyYW1lc0EpLmdldEtleWZyYW1lcygpJywgJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBr
ZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGFy
ZSByZWFkIGZyb20gYSBjdXN0b20gaXRlcmF0b3IgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCAnZWFzaW5nJyBhbmQgJ29mZnNldCcgYXJlIGlnbm9y
ZWQgb24gaXRlcmFibGUgb2JqZWN0cyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBhcmUgcmVhZCBmcm9tIGEgY3VzdG9tIGl0ZXJh
dG9yIHdpdGggbXVsdGlwbGUgcHJvcGVydGllcyBzcGVjaWZpZWQgZWZmZWN0LmdldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0
LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgYXJlIHJlYWQgZnJv
bSBhIGN1c3RvbSBpdGVyYXRvciB3aXRoIHdoZXJlIGFuIG9mZnNldCBpcyBzcGVjaWZpZWQgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBSZWFkaW5n
IGZyb20gYSBjdXN0b20gaXRlcmF0b3IgdGhhdCByZXR1cm5zIGEgbm9uLW9iamVjdCBrZXlmcmFt
ZSBzaG91bGQgdGhyb3cgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKKyAgICBuZXcg
S2V5ZnJhbWVFZmZlY3QobnVsbCwgY3JlYXRlSXRlcmFibGUoWworICAgICAgeyBkb25lOiBmYWxz
ZSwgdmFsdWU6IHsgbGVmdDogJzEwMHB4JyB9IH0sCisgICAgICB7IGRvbmU6IGZhbHNlLCB2YWx1
ZTogMTIzNCB9LAorICAgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzIwMHB4JyB9
IH0sCisgICAgICB7IGRvbmU6IHRydWUgfSwKKyAgICBdKSk7CisgIH0iIGRpZCBub3QgdGhyb3cK
K0ZBSUwgQSBsaXN0IG9mIHZhbHVlcyByZXR1cm5lZCBmcm9tIGEgY3VzdG9tIGl0ZXJhdG9yIHNo
b3VsZCBiZSBpZ25vcmVkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgT25seSBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24ga2V5ZnJhbWVzIGFyZSBy
ZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0Lmdl
dEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
T25seSBwcm9wZXJ0aWVzIGRlZmluZWQgZGlyZWN0bHkgb24ga2V5ZnJhbWVzIGFyZSByZWFkIGVm
ZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZy
YW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgT25seSBl
bnVtZXJhYmxlIHByb3BlcnRpZXMgb24gcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgYXJlIHJl
YWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0
S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBP
bmx5IHByb3BlcnRpZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIFByb3BlcnRpZXMgYXJlIHJlYWQgaW4gYXNjZW5kaW5nIG9yZGVyIGJ5IFVuaWNv
ZGUgY29kZXBvaW50IGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnR5IGFjY2VzcyBvcmRlciBs
ZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nl
c3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1r
ZXlmcmFtZXMtYXJndW1lbnQtMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjIwZjUxOTNjODRiYWU3MWJi
ZTRhODc0YWI3NjYzYWFlYWYwNjk0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2lu
Zy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDEuaHRtbApAQCAtMCwwICsxLDM1MyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBwcm9jZXNz
aW5nIGEga2V5ZnJhbWVzIGFyZ3VtZW50IChwcm9wZXJ0eSBhY2Nlc3MpPC90aXRsZT4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNw
cm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMva2V5ZnJhbWUtdXRp
bHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBpZD0i
dGFyZ2V0Ij48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKKy8vIFRoaXMgZmlsZSBv
bmx5IHRlc3RzIHRoZSBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciBzaW5jZSBpdCBpcworLy8g
YXNzdW1lZCB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgS2V5ZnJhbWVFZmZlY3RSZWFk
T25seSBjb25zdHJ1Y3RvciwKKy8vIEFuaW1hdGFibGUuYW5pbWF0ZSgpIG1ldGhvZCwgYW5kIEtl
eWZyYW1lRWZmZWN0LnNldEtleWZyYW1lcygpIG1ldGhvZCB3aWxsCisvLyBhbGwgc2hhcmUgY29t
bW9uIG1hY2hpbmVyeSBhbmQgaXQgaXMgbm90IG5lY2Vzc2FyeSB0byB0ZXN0IGVhY2ggbWV0aG9k
LgorCisvLyBUZXN0IHRoYXQgb25seSBhbmltYXRhYmxlIHByb3BlcnRpZXMgYXJlIGFjY2Vzc2Vk
CisKK2NvbnN0IGdOb25BbmltYXRhYmxlUHJvcHMgPSBbCisgICdhbmltYXRpb24nLCAvLyBTaG9y
dGhhbmRzIHdoZXJlIGFsbCB0aGUgbG9uZ2hhbmQgc3ViLXByb3BlcnRpZXMgYXJlIG5vdAorICAg
ICAgICAgICAgICAgLy8gYW5pbWF0YWJsZSwgYXJlIGFsc28gbm90IGFuaW1hdGFibGUuCisgICdh
bmltYXRpb25EZWxheScsCisgICdhbmltYXRpb25EaXJlY3Rpb24nLAorICAnYW5pbWF0aW9uRHVy
YXRpb24nLAorICAnYW5pbWF0aW9uRmlsbE1vZGUnLAorICAnYW5pbWF0aW9uSXRlcmF0aW9uQ291
bnQnLAorICAnYW5pbWF0aW9uTmFtZScsCisgICdhbmltYXRpb25QbGF5U3RhdGUnLAorICAnYW5p
bWF0aW9uVGltaW5nRnVuY3Rpb24nLAorICAndHJhbnNpdGlvbicsCisgICd0cmFuc2l0aW9uRGVs
YXknLAorICAndHJhbnNpdGlvbkR1cmF0aW9uJywKKyAgJ3RyYW5zaXRpb25Qcm9wZXJ0eScsCisg
ICd0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24nLAorICAnZGlzcGxheScsCisgICd1bnN1cHBvcnRl
ZFByb3BlcnR5JywKKyAgJ2ZvbnQtc2l6ZScsIC8vIFN1cHBvcnRlZCBwcm9wZXJ0eSB0aGF0IHVz
ZXMgZGFzaGVzCitdOworCitmdW5jdGlvbiBUZXN0S2V5ZnJhbWUodGVzdFByb3ApIHsKKyAgbGV0
IF9wcm9wQWNjZXNzQ291bnQgPSAwOworCisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCB0
ZXN0UHJvcCwgeworICAgIGdldDogKCkgPT4geyBfcHJvcEFjY2Vzc0NvdW50Kys7IH0sCisgICAg
ZW51bWVyYWJsZTogdHJ1ZSwKKyAgfSk7CisKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMs
ICdwcm9wQWNjZXNzQ291bnQnLCB7CisgICAgZ2V0OiAoKSA9PiBfcHJvcEFjY2Vzc0NvdW50Cisg
IH0pOworfQorCitmdW5jdGlvbiBHZXRUZXN0S2V5ZnJhbWVTZXF1ZW5jZSh0ZXN0UHJvcCkgewor
ICByZXR1cm4gWyBuZXcgVGVzdEtleWZyYW1lKHRlc3RQcm9wKSBdCit9CisKK2ZvciAoY29uc3Qg
cHJvcCBvZiBnTm9uQW5pbWF0YWJsZVByb3BzKSB7CisgIHRlc3QoKCkgPT4geworICAgIGNvbnN0
IHRlc3RLZXlmcmFtZSA9IG5ldyBUZXN0S2V5ZnJhbWUocHJvcCk7CisKKyAgICBuZXcgS2V5ZnJh
bWVFZmZlY3QobnVsbCwgdGVzdEtleWZyYW1lKTsKKworICAgIGFzc2VydF9lcXVhbHModGVzdEtl
eWZyYW1lLnByb3BBY2Nlc3NDb3VudCwgMCwgJ0FjY2Vzc29yIG5vdCBjYWxsZWQnKTsKKyAgfSwg
YG5vbi1hbmltYXRhYmxlIHByb3BlcnR5ICcke3Byb3B9JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1
c2luZ2AKKyAgICAgKyAnIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBvYmplY3QnKTsKK30K
KworZm9yIChjb25zdCBwcm9wIG9mIGdOb25BbmltYXRhYmxlUHJvcHMpIHsKKyAgdGVzdCgoKSA9
PiB7CisgICAgY29uc3QgdGVzdEtleWZyYW1lcyA9IEdldFRlc3RLZXlmcmFtZVNlcXVlbmNlKHBy
b3ApOworCisgICAgbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIHRlc3RLZXlmcmFtZXMpOworCisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXN0S2V5ZnJhbWVzWzBdLnByb3BBY2Nlc3NDb3VudCwgMCwgJ0Fj
Y2Vzc29yIG5vdCBjYWxsZWQnKTsKKyAgfSwgYG5vbi1hbmltYXRhYmxlIHByb3BlcnR5ICcke3By
b3B9JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZ2AKKyAgICAgKyAnIGEga2V5ZnJhbWUgc2Vx
dWVuY2UnKTsKK30KKworLy8gVGVzdCBlcXVpdmFsZW50IGZvcm1zIG9mIHByb3BlcnR5LWluZGV4
ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZSBzeW50YXgKKworZnVuY3Rpb24gYXNzZXJ0RXF1aXZh
bGVudEtleWZyYW1lU3ludGF4KGtleWZyYW1lc0EsIGtleWZyYW1lc0IpIHsKKyAgY29uc3QgcHJv
Y2Vzc2VkS2V5ZnJhbWVzQSA9CisgICAgbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1l
c0EpLmdldEtleWZyYW1lcygpOworICBjb25zdCBwcm9jZXNzZWRLZXlmcmFtZXNCID0KKyAgICBu
ZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQikuZ2V0S2V5ZnJhbWVzKCk7CisgIGFz
c2VydF9mcmFtZV9saXN0c19lcXVhbChwcm9jZXNzZWRLZXlmcmFtZXNBLCBwcm9jZXNzZWRLZXlm
cmFtZXNCKTsKK30KKworY29uc3QgZ0VxdWl2YWxlbnRTeW50YXhUZXN0cyA9IFsKKyAgeworICAg
IGRlc2NyaXB0aW9uOiAndHdvIHByb3BlcnRpZXMgd2l0aCBvbmUgdmFsdWUnLAorICAgIGluZGV4
ZWRLZXlmcmFtZXM6IHsKKyAgICAgIGxlZnQ6ICcxMDBweCcsCisgICAgICBvcGFjaXR5OiBbJzEn
XSwKKyAgICB9LAorICAgIHNlcXVlbmNlZEtleWZyYW1lczogWworICAgICAgeyBsZWZ0OiAnMTAw
cHgnLCBvcGFjaXR5OiAnMScgfSwKKyAgICBdLAorICB9LAorICB7CisgICAgZGVzY3JpcHRpb246
ICd0d28gcHJvcGVydGllcyB3aXRoIHRocmVlIHZhbHVlcycsCisgICAgaW5kZXhlZEtleWZyYW1l
czogeworICAgICAgbGVmdDogWycxMHB4JywgJzEwMHB4JywgJzE1MHB4J10sCisgICAgICBvcGFj
aXR5OiBbJzEnLCAnMCcsICcxJ10sCisgICAgfSwKKyAgICBzZXF1ZW5jZWRLZXlmcmFtZXM6IFsK
KyAgICAgIHsgbGVmdDogJzEwcHgnLCBvcGFjaXR5OiAnMScgfSwKKyAgICAgIHsgbGVmdDogJzEw
MHB4Jywgb3BhY2l0eTogJzAnIH0sCisgICAgICB7IGxlZnQ6ICcxNTBweCcsIG9wYWNpdHk6ICcx
JyB9LAorICAgIF0sCisgIH0sCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ3R3byBwcm9wZXJ0aWVz
IHdpdGggZGlmZmVyZW50IG51bWJlcnMgb2YgdmFsdWVzJywKKyAgICBpbmRleGVkS2V5ZnJhbWVz
OiB7CisgICAgICBsZWZ0OiBbJzBweCcsICcxMDBweCcsICcyMDBweCddLAorICAgICAgb3BhY2l0
eTogWycwJywgJzEnXQorICAgIH0sCisgICAgc2VxdWVuY2VkS2V5ZnJhbWVzOiBbCisgICAgICB7
IGxlZnQ6ICcwcHgnLCBvcGFjaXR5OiAnMCcgfSwKKyAgICAgIHsgbGVmdDogJzEwMHB4JyB9LAor
ICAgICAgeyBsZWZ0OiAnMjAwcHgnLCBvcGFjaXR5OiAnMScgfSwKKyAgICBdLAorICB9LAorICB7
CisgICAgZGVzY3JpcHRpb246ICdzYW1lIGVhc2luZyBhcHBsaWVkIHRvIGFsbCBrZXlmcmFtZXMn
LAorICAgIGluZGV4ZWRLZXlmcmFtZXM6IHsKKyAgICAgIGxlZnQ6IFsnMTBweCcsICcxMDBweCcs
ICcxNTBweCddLAorICAgICAgb3BhY2l0eTogWycxJywgJzAnLCAnMSddLAorICAgICAgZWFzaW5n
OiAnZWFzZScsCisgICAgfSwKKyAgICBzZXF1ZW5jZWRLZXlmcmFtZXM6IFsKKyAgICAgIHsgbGVm
dDogJzEwcHgnLCBvcGFjaXR5OiAnMScsIGVhc2luZzogJ2Vhc2UnIH0sCisgICAgICB7IGxlZnQ6
ICcxMDBweCcsIG9wYWNpdHk6ICcwJywgZWFzaW5nOiAnZWFzZScgfSwKKyAgICAgIHsgbGVmdDog
JzE1MHB4Jywgb3BhY2l0eTogJzEnLCBlYXNpbmc6ICdlYXNlJyB9LAorICAgIF0sCisgIH0sCisg
IHsKKyAgICBkZXNjcmlwdGlvbjogJ3NhbWUgY29tcG9zaXRlIGFwcGxpZWQgdG8gYWxsIGtleWZy
YW1lcycsCisgICAgaW5kZXhlZEtleWZyYW1lczogeworICAgICAgbGVmdDogWycwcHgnLCAnMTAw
cHgnXSwKKyAgICAgIGNvbXBvc2l0ZTogJ2FkZCcsCisgICAgfSwKKyAgICBzZXF1ZW5jZWRLZXlm
cmFtZXM6IFsKKyAgICAgIHsgbGVmdDogJzBweCcsIGNvbXBvc2l0ZTogJ2FkZCcgfSwKKyAgICAg
IHsgbGVmdDogJzEwMHB4JywgY29tcG9zaXRlOiAnYWRkJyB9LAorICAgIF0sCisgIH0sCitdOwor
Citmb3IgKGNvbnN0IHtkZXNjcmlwdGlvbiwgaW5kZXhlZEtleWZyYW1lcywgc2VxdWVuY2VkS2V5
ZnJhbWVzfSBvZgorICAgICBnRXF1aXZhbGVudFN5bnRheFRlc3RzKSB7CisgIHRlc3QoKCkgPT4g
eworICAgIGFzc2VydEVxdWl2YWxlbnRLZXlmcmFtZVN5bnRheChpbmRleGVkS2V5ZnJhbWVzLCBz
ZXF1ZW5jZWRLZXlmcmFtZXMpOworICB9LCBgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFu
ZCBzZXF1ZW5jZWQga2V5ZnJhbWVzOiAke2Rlc2NyaXB0aW9ufWApOworfQorCisvLyBUZXN0IGhh
bmRsaW5nIG9mIGN1c3RvbSBpdGVyYWJsZSBvYmplY3RzLgorCitmdW5jdGlvbiBjcmVhdGVJdGVy
YWJsZShpdGVyYXRpb25zKSB7CisgIHJldHVybiB7CisgICAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7
CisgICAgICBsZXQgaSA9IDA7CisgICAgICByZXR1cm4geworICAgICAgICBuZXh0KCkgeworICAg
ICAgICAgIHJldHVybiBpdGVyYXRpb25zW2krK107CisgICAgICAgIH0sCisgICAgICB9OworICAg
IH0sCisgIH07Cit9CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJh
bWVFZmZlY3QobnVsbCwgY3JlYXRlSXRlcmFibGUoWworICAgIHsgZG9uZTogZmFsc2UsIHZhbHVl
OiB7IGxlZnQ6ICcxMDBweCcgfSB9LAorICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6
ICczMDBweCcgfSB9LAorICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6ICcyMDBweCcg
fSB9LAorICAgIHsgZG9uZTogdHJ1ZSB9LAorICBdKSk7CisgIGFzc2VydF9mcmFtZV9saXN0c19l
cXVhbChlZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIFsKKyAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0
ZWRPZmZzZXQ6IDAsIGVhc2luZzogJ2xpbmVhcicsIGxlZnQ6ICcxMDBweCcgfSwKKyAgICB7IG9m
ZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuNSwgZWFzaW5nOiAnbGluZWFyJywgbGVmdDog
JzMwMHB4JyB9LAorICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5n
OiAnbGluZWFyJywgbGVmdDogJzIwMHB4JyB9LAorICBdKTsKK30sICdLZXlmcmFtZXMgYXJlIHJl
YWQgZnJvbSBhIGN1c3RvbSBpdGVyYXRvcicpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3Qga2V5
ZnJhbWVzID0gY3JlYXRlSXRlcmFibGUoWworICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxl
ZnQ6ICcxMDBweCcgfSB9LAorICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6ICczMDBw
eCcgfSB9LAorICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6ICcyMDBweCcgfSB9LAor
ICAgIHsgZG9uZTogdHJ1ZSB9LAorICBdKTsKKyAga2V5ZnJhbWVzLmVhc2luZyA9ICdlYXNlLWlu
LW91dCc7CisgIGtleWZyYW1lcy5vZmZzZXQgPSAnMC4xJzsKKyAgY29uc3QgZWZmZWN0ID0gbmV3
IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lcyk7CisgIGFzc2VydF9mcmFtZV9saXN0c19l
cXVhbChlZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIFsKKyAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0
ZWRPZmZzZXQ6IDAsIGVhc2luZzogJ2xpbmVhcicsIGxlZnQ6ICcxMDBweCcgfSwKKyAgICB7IG9m
ZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuNSwgZWFzaW5nOiAnbGluZWFyJywgbGVmdDog
JzMwMHB4JyB9LAorICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5n
OiAnbGluZWFyJywgbGVmdDogJzIwMHB4JyB9LAorICBdKTsKK30sICInZWFzaW5nJyBhbmQgJ29m
ZnNldCcgYXJlIGlnbm9yZWQgb24gaXRlcmFibGUgb2JqZWN0cyIpOworCit0ZXN0KCgpID0+IHsK
KyAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGNyZWF0ZUl0ZXJhYmxl
KFsKKyAgICB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogeyBsZWZ0OiAnMTAwcHgnLCB0b3A6ICcyMDBw
eCcgfSB9LAorICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6ICczMDBweCcgfSB9LAor
ICAgIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB7IGxlZnQ6ICcyMDBweCcsIHRvcDogJzEwMHB4JyB9
IH0sCisgICAgeyBkb25lOiB0cnVlIH0sCisgIF0pKTsKKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2Vx
dWFsKGVmZmVjdC5nZXRLZXlmcmFtZXMoKSwgWworICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRl
ZE9mZnNldDogMCwgZWFzaW5nOiAnbGluZWFyJywgbGVmdDogJzEwMHB4JywKKyAgICAgIHRvcDog
JzIwMHB4JyB9LAorICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC41LCBlYXNp
bmc6ICdsaW5lYXInLCBsZWZ0OiAnMzAwcHgnIH0sCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1
dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICdsaW5lYXInLCBsZWZ0OiAnMjAwcHgnLAorICAgICAgdG9w
OiAnMTAwcHgnIH0sCisgIF0pOworfSwgJ0tleWZyYW1lcyBhcmUgcmVhZCBmcm9tIGEgY3VzdG9t
IGl0ZXJhdG9yIHdpdGggbXVsdGlwbGUgcHJvcGVydGllcycKKyAgICsgJyBzcGVjaWZpZWQnKTsK
KwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChudWxs
LCBjcmVhdGVJdGVyYWJsZShbCisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzEw
MHB4JyB9IH0sCisgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzI1MHB4Jywgb2Zm
c2V0OiAwLjc1IH0gfSwKKyAgICB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogeyBsZWZ0OiAnMjAwcHgn
IH0gfSwKKyAgICB7IGRvbmU6IHRydWUgfSwKKyAgXSkpOworICBhc3NlcnRfZnJhbWVfbGlzdHNf
ZXF1YWwoZWZmZWN0LmdldEtleWZyYW1lcygpLCBbCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1
dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICdsaW5lYXInLCBsZWZ0OiAnMTAwcHgnIH0sCisgICAgeyBv
ZmZzZXQ6IDAuNzUsIGNvbXB1dGVkT2Zmc2V0OiAwLjc1LCBlYXNpbmc6ICdsaW5lYXInLCBsZWZ0
OiAnMjUwcHgnIH0sCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNp
bmc6ICdsaW5lYXInLCBsZWZ0OiAnMjAwcHgnIH0sCisgIF0pOworfSwgJ0tleWZyYW1lcyBhcmUg
cmVhZCBmcm9tIGEgY3VzdG9tIGl0ZXJhdG9yIHdpdGggd2hlcmUgYW4gb2Zmc2V0IGlzJworICAg
KyAnIHNwZWNpZmllZCcpOworCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6
ICdUeXBlRXJyb3InIH0sICgpID0+IHsKKyAgICBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwgY3Jl
YXRlSXRlcmFibGUoWworICAgICAgeyBkb25lOiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzEwMHB4
JyB9IH0sCisgICAgICB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogMTIzNCB9LAorICAgICAgeyBkb25l
OiBmYWxzZSwgdmFsdWU6IHsgbGVmdDogJzIwMHB4JyB9IH0sCisgICAgICB7IGRvbmU6IHRydWUg
fSwKKyAgICBdKSk7CisgIH0pOworfSwgJ1JlYWRpbmcgZnJvbSBhIGN1c3RvbSBpdGVyYXRvciB0
aGF0IHJldHVybnMgYSBub24tb2JqZWN0IGtleWZyYW1lJworICAgKyAnIHNob3VsZCB0aHJvdycp
OworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KG51
bGwsIGNyZWF0ZUl0ZXJhYmxlKFsKKyAgICB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogeyBsZWZ0OiBb
JzEwMHB4JywgJzIwMHB4J10gfSB9LAorICAgIHsgZG9uZTogdHJ1ZSB9LAorICBdKSk7CisgIGFz
c2VydF9mcmFtZV9saXN0c19lcXVhbChlZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIFsKKyAgICB7IG9m
ZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogJ2xpbmVhcicgfQorICBdKTsK
K30sICdBIGxpc3Qgb2YgdmFsdWVzIHJldHVybmVkIGZyb20gYSBjdXN0b20gaXRlcmF0b3Igc2hv
dWxkIGJlIGlnbm9yZWQnKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGtleWZyYW1lID0ge307
CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShrZXlmcmFtZSwgJ3dpZHRoJywgeyB2YWx1ZTogJzIw
MHB4JyB9KTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGtleWZyYW1lLCAnaGVpZ2h0Jywgewor
ICAgIHZhbHVlOiAnMTAwcHgnLAorICAgIGVudW1lcmFibGU6IHRydWUsCisgIH0pOworICBhc3Nl
cnRfZXF1YWxzKGtleWZyYW1lLndpZHRoLCAnMjAwcHgnLCAnd2lkdGggb2Yga2V5ZnJhbWUgaXMg
cmVhZGFibGUnKTsKKyAgYXNzZXJ0X2VxdWFscyhrZXlmcmFtZS5oZWlnaHQsICcxMDBweCcsICdo
ZWlnaHQgb2Yga2V5ZnJhbWUgaXMgcmVhZGFibGUnKTsKKworICBjb25zdCBlZmZlY3QgPSBuZXcg
S2V5ZnJhbWVFZmZlY3QobnVsbCwgW2tleWZyYW1lLCB7IGhlaWdodDogJzIwMHB4JyB9XSk7CisK
KyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGVmZmVjdC5nZXRLZXlmcmFtZXMoKSwgWworICAg
IHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAnbGluZWFyJywgaGVp
Z2h0OiAnMTAwcHgnIH0sCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBl
YXNpbmc6ICdsaW5lYXInLCBoZWlnaHQ6ICcyMDBweCcgfSwKKyAgXSk7Cit9LCAnT25seSBlbnVt
ZXJhYmxlIHByb3BlcnRpZXMgb24ga2V5ZnJhbWVzIGFyZSByZWFkJyk7CisKK3Rlc3QoKCkgPT4g
eworICBjb25zdCBLZXlmcmFtZVBhcmVudCA9IGZ1bmN0aW9uKCkgeyB0aGlzLndpZHRoID0gJzEw
MHB4JzsgfTsKKyAgS2V5ZnJhbWVQYXJlbnQucHJvdG90eXBlID0geyBoZWlnaHQ6ICcxMDBweCcg
fTsKKyAgY29uc3QgS2V5ZnJhbWUgPSBmdW5jdGlvbigpIHsgdGhpcy50b3AgPSAnMTAwcHgnOyB9
OworICBLZXlmcmFtZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEtleWZyYW1lUGFyZW50LnBy
b3RvdHlwZSk7CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShLZXlmcmFtZS5wcm90b3R5cGUsICds
ZWZ0JywgeworICAgIHZhbHVlOiAnMTAwcHgnLAorICAgIGVudW1lcmFibGU6IHRydWUsCisgIH0p
OworICBjb25zdCBrZXlmcmFtZSA9IG5ldyBLZXlmcmFtZSgpOworCisgIGNvbnN0IGVmZmVjdCA9
IG5ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBba2V5ZnJhbWUsIHsgdG9wOiAnMjAwcHgnIH1dKTsK
KworICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZWZmZWN0LmdldEtleWZyYW1lcygpLCBbCisg
ICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICdsaW5lYXInLCB0
b3A6ICcxMDBweCcgfSwKKyAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVh
c2luZzogJ2xpbmVhcicsIHRvcDogJzIwMHB4JyB9LAorICBdKTsKK30sICdPbmx5IHByb3BlcnRp
ZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBrZXlmcmFtZXMgYXJlIHJlYWQnKTsKKwordGVzdCgoKSA9
PiB7CisgIGNvbnN0IGtleWZyYW1lcyA9IHt9OworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoa2V5
ZnJhbWVzLCAnd2lkdGgnLCBbJzEwMHB4JywgJzIwMHB4J10pOworICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoa2V5ZnJhbWVzLCAnaGVpZ2h0JywgeworICAgIHZhbHVlOiBbJzEwMHB4JywgJzIwMHB4
J10sCisgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgfSk7CisKKyAgY29uc3QgZWZmZWN0ID0gbmV3
IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lcyk7CisKKyAgYXNzZXJ0X2ZyYW1lX2xpc3Rz
X2VxdWFsKGVmZmVjdC5nZXRLZXlmcmFtZXMoKSwgWworICAgIHsgb2Zmc2V0OiBudWxsLCBjb21w
dXRlZE9mZnNldDogMCwgZWFzaW5nOiAnbGluZWFyJywgaGVpZ2h0OiAnMTAwcHgnIH0sCisgICAg
eyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICdsaW5lYXInLCBoZWln
aHQ6ICcyMDBweCcgfSwKKyAgXSk7Cit9LCAnT25seSBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24g
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgYXJlIHJlYWQnKTsKKwordGVzdCgoKSA9PiB7Cisg
IGNvbnN0IEtleWZyYW1lc1BhcmVudCA9IGZ1bmN0aW9uKCkgeyB0aGlzLndpZHRoID0gJzEwMHB4
JzsgfTsKKyAgS2V5ZnJhbWVzUGFyZW50LnByb3RvdHlwZSA9IHsgaGVpZ2h0OiAnMTAwcHgnIH07
CisgIGNvbnN0IEtleWZyYW1lcyA9IGZ1bmN0aW9uKCkgeyB0aGlzLnRvcCA9IFsnMTAwcHgnLCAn
MjAwcHgnXTsgfTsKKyAgS2V5ZnJhbWVzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoS2V5ZnJh
bWVzUGFyZW50LnByb3RvdHlwZSk7CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShLZXlmcmFtZXMu
cHJvdG90eXBlLCAnbGVmdCcsIHsKKyAgICB2YWx1ZTogWycxMDBweCcsICcyMDBweCddLAorICAg
IGVudW1lcmFibGU6IHRydWUsCisgIH0pOworICBjb25zdCBrZXlmcmFtZXMgPSBuZXcgS2V5ZnJh
bWVzKCk7CisKKyAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZy
YW1lcyk7CisKKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGVmZmVjdC5nZXRLZXlmcmFtZXMo
KSwgWworICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAnbGlu
ZWFyJywgdG9wOiAnMTAwcHgnIH0sCisgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0
OiAxLCBlYXNpbmc6ICdsaW5lYXInLCB0b3A6ICcyMDBweCcgfSwKKyAgXSk7Cit9LCAnT25seSBw
cm9wZXJ0aWVzIGRlZmluZWQgZGlyZWN0bHkgb24gcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
YXJlIHJlYWQnKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGV4cGVjdGVkT3JkZXIgPSBbJ2Nv
bXBvc2l0ZScsICdlYXNpbmcnLCAnb2Zmc2V0JywgJ2xlZnQnLCAnbWFyZ2luTGVmdCddOworICBj
b25zdCBhY3R1YWxPcmRlciA9IFtdOworICBjb25zdCBrZjEgPSB7fTsKKyAgZm9yIChjb25zdCB7
cHJvcCwgdmFsdWV9IG9mIFt7IHByb3A6ICdtYXJnaW5MZWZ0JywgdmFsdWU6ICcxMHB4JyB9LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJvcDogJ2xlZnQnLCAgICAgICB2YWx1
ZTogJzIwcHgnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcm9wOiAnb2Zm
c2V0JywgICAgIHZhbHVlOiAnMCcgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7
IHByb3A6ICdlYXNpbmcnLCAgICAgdmFsdWU6ICdsaW5lYXInIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeyBwcm9wOiAnY29tcG9zaXRlJywgIHZhbHVlOiAncmVwbGFjZScgfV0p
IHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoa2YxLCBwcm9wLCB7CisgICAgICBlbnVtZXJh
YmxlOiB0cnVlLAorICAgICAgZ2V0OiAoKSA9PiB7IGFjdHVhbE9yZGVyLnB1c2gocHJvcCk7IHJl
dHVybiB2YWx1ZTsgfQorICAgIH0pOworICB9CisgIGNvbnN0IGtmMiA9IHsgbWFyZ2luTGVmdDog
JzEwcHgnLCBsZWZ0OiAnMjBweCcsIG9mZnNldDogMSB9OworCisgIG5ldyBLZXlmcmFtZUVmZmVj
dCh0YXJnZXQsIFtrZjEsIGtmMl0pOworCisgIGFzc2VydF9hcnJheV9lcXVhbHMoYWN0dWFsT3Jk
ZXIsIGV4cGVjdGVkT3JkZXIsICdwcm9wZXJ0eSBhY2Nlc3Mgb3JkZXInKTsKK30sICdQcm9wZXJ0
aWVzIGFyZSByZWFkIGluIGFzY2VuZGluZyBvcmRlciBieSBVbmljb2RlIGNvZGVwb2ludCcpOwor
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1
bWVudC0wMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3Vt
ZW50LTAwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhhMTZjYjE1NGFjY2RlYjIxNTkwNTRj
ZWJjNzg5MjUzYzk2ZTQxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtl
eWZyYW1lcy1hcmd1bWVudC0wMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKKworRkFJ
TCBlYXNpbmcgdmFsdWVzIGFyZSBwYXJzZWQgY29ycmVjdGx5IHdoZW4gc2V0IG9uIGEgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCitGQUlMIGVhc2luZyB2YWx1ZXMgYXJlIHBhcnNlZCBjb3JyZWN0bHkgd2hlbiB1
c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgSW52YWxpZCBlYXNpbmcgdmFsdWVzIGFyZSBjb3JyZWN0bHkg
cmVqZWN0ZWQgd2hlbiBzZXQgb24gYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIGFzc2VydF90
aHJvd3M6IFR5cGVFcnJvciBpcyB0aHJvd24gZm9yIGVhc2luZyAnJyBmdW5jdGlvbiAiKCkgPT4g
eworICAgICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgeyBlYXNpbmc6IGludmFsaWRFYXNp
bmcgfSk7CisgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBJbnZhbGlkIGVhc2luZyB2YWx1ZXMg
YXJlIGNvcnJlY3RseSByZWplY3RlZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgYXNz
ZXJ0X3Rocm93czogVHlwZUVycm9yIGlzIHRocm93biBmb3IgZWFzaW5nICcnIGZ1bmN0aW9uICIo
KSA9PiB7CisgICAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCBbeyBlYXNpbmc6IGludmFs
aWRFYXNpbmcgfV0pOworICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgRXJyb3JzIGZyb20gaW52
YWxpZCBlYXNpbmdzIG9uIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBhcmUgdGhyb3duIGFm
dGVyIHJlYWRpbmcgYWxsIHByb3BlcnRpZXMgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+
IHsKKyAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCBrZXlmcmFtZSk7CisgIH0iIGRpZCBu
b3QgdGhyb3cKK0ZBSUwgRXJyb3JzIGZyb20gaW52YWxpZCBlYXNpbmdzIG9uIGEga2V5ZnJhbWUg
c2VxdWVuY2UgYXJlIHRocm93biBhZnRlciByZWFkaW5nIGFsbCBwcm9wZXJ0aWVzIGFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7CisgICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwg
WyBrZjEsIGtmMiBdKTsKKyAgfSIgZGlkIG5vdCB0aHJvdworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3By
b2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3Npbmct
YS1rZXlmcmFtZXMtYXJndW1lbnQtMDAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ0ZGU5MTI5MjVmMzE5
MjVkYTgwYjY1MjM3YmNkYWU3NDZlNDY2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vz
c2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDIuaHRtbApAQCAtMCwwICsxLDEwMiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBwcm9j
ZXNzaW5nIGEga2V5ZnJhbWVzIGFyZ3VtZW50IChlYXNpbmcpPC90aXRsZT4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNwcm9jZXNz
aW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZWFzaW5nLXRlc3RzLmpzIj48
L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxkaXYgaWQ9InRhcmdldCI+
PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KCgpID0+IHsKKyAgZm9yIChj
b25zdCBbZWFzaW5nLCBleHBlY3RlZF0gb2YgZ0Vhc2luZ1BhcnNpbmdUZXN0cykgeworICAgIGNv
bnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQsIHsKKyAgICAgIGxlZnQ6IFsn
MTBweCcsICcyMHB4J10sCisgICAgICBlYXNpbmc6IGVhc2luZworICAgIH0pOworICAgIGFzc2Vy
dF9lcXVhbHMoZWZmZWN0LmdldEtleWZyYW1lcygpWzBdLmVhc2luZywgZXhwZWN0ZWQsCisgICAg
ICAgICAgICAgICAgICBgcmVzdWx0aW5nIGVhc2luZyBmb3IgJyR7ZWFzaW5nfSdgKTsKKyAgfQor
fSwgJ2Vhc2luZyB2YWx1ZXMgYXJlIHBhcnNlZCBjb3JyZWN0bHkgd2hlbiBzZXQgb24gYSBwcm9w
ZXJ0eS1pbmRleGVkJworICAgKyAnIGtleWZyYW1lJyk7CisKK3Rlc3QoKCkgPT4geworICBmb3Ig
KGNvbnN0IFtlYXNpbmcsIGV4cGVjdGVkXSBvZiBnRWFzaW5nUGFyc2luZ1Rlc3RzKSB7CisgICAg
Y29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgWworICAgICAgeyBvZmZz
ZXQ6IDAsIGxlZnQ6ICcxMHB4JywgZWFzaW5nOiBlYXNpbmcgfSwKKyAgICAgIHsgb2Zmc2V0OiAx
LCBsZWZ0OiAnMjBweCcgfQorICAgIF0pOworICAgIGFzc2VydF9lcXVhbHMoZWZmZWN0LmdldEtl
eWZyYW1lcygpWzBdLmVhc2luZywgZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICBgcmVzdWx0
aW5nIGVhc2luZyBmb3IgJyR7ZWFzaW5nfSdgKTsKKyAgfQorfSwgJ2Vhc2luZyB2YWx1ZXMgYXJl
IHBhcnNlZCBjb3JyZWN0bHkgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlJyk7CisKK3Rl
c3QoKCkgPT4geworICBmb3IgKGNvbnN0IGludmFsaWRFYXNpbmcgb2YgZ0ludmFsaWRFYXNpbmdz
KSB7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiB7CisgICAgICBuZXcg
S2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCB7IGVhc2luZzogaW52YWxpZEVhc2luZyB9KTsKKyAgICB9
LCBgVHlwZUVycm9yIGlzIHRocm93biBmb3IgZWFzaW5nICcke2ludmFsaWRFYXNpbmd9J2ApOwor
ICB9Cit9LCAnSW52YWxpZCBlYXNpbmcgdmFsdWVzIGFyZSBjb3JyZWN0bHkgcmVqZWN0ZWQgd2hl
biBzZXQgb24gYSBwcm9wZXJ0eS0nCisgICArICdpbmRleGVkIGtleWZyYW1lJyk7CisKK3Rlc3Qo
KCkgPT4geworICBmb3IgKGNvbnN0IGludmFsaWRFYXNpbmcgb2YgZ0ludmFsaWRFYXNpbmdzKSB7
CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiB7CisgICAgICBuZXcgS2V5
ZnJhbWVFZmZlY3QodGFyZ2V0LCBbeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfV0pOworICAgIH0s
IGBUeXBlRXJyb3IgaXMgdGhyb3duIGZvciBlYXNpbmcgJyR7aW52YWxpZEVhc2luZ30nYCk7Cisg
IH0KK30sICdJbnZhbGlkIGVhc2luZyB2YWx1ZXMgYXJlIGNvcnJlY3RseSByZWplY3RlZCB3aGVu
IHVzaW5nIGEga2V5ZnJhbWUnCisgICArICcgc2VxdWVuY2UnKTsKKwordGVzdCgoKSA9PiB7Cisg
IGxldCBwcm9wQWNjZXNzQ291bnQgPSAwOworICBjb25zdCBrZXlmcmFtZSA9IHt9OworICBjb25z
dCBhZGRQcm9wID0gcHJvcCA9PiB7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGtleWZyYW1l
LCBwcm9wLCB7CisgICAgICBnZXQ6ICgpID0+IHsgcHJvcEFjY2Vzc0NvdW50Kys7IH0sCisgICAg
ICBlbnVtZXJhYmxlOiB0cnVlCisgICAgfSk7CisgIH0KKyAgYWRkUHJvcCgnaGVpZ2h0Jyk7Cisg
IGFkZFByb3AoJ3dpZHRoJyk7CisgIGtleWZyYW1lLmVhc2luZyA9ICdlYXN5LXBlYXN5JzsKKwor
ICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwgKCkgPT4geworICAgIG5ldyBL
ZXlmcmFtZUVmZmVjdCh0YXJnZXQsIGtleWZyYW1lKTsKKyAgfSk7CisgIGFzc2VydF9lcXVhbHMo
cHJvcEFjY2Vzc0NvdW50LCAyLAorICAgICdBbGwgcHJvcGVydGllcyB3ZXJlIHJlYWQgYmVmb3Jl
IHRocm93aW5nIHRoZSBlYXNpbmcgZXJyb3InKTsKK30sICdFcnJvcnMgZnJvbSBpbnZhbGlkIGVh
c2luZ3Mgb24gYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIGFyZSB0aHJvd24gYWZ0ZXIgcmVh
ZGluZyBhbGwgcHJvcGVydGllcycpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHByb3BBY2Nlc3ND
b3VudCA9IDA7CisKKyAgY29uc3QgYWRkUHJvcCA9IChrZXlmcmFtZSwgcHJvcCkgPT4geworICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShrZXlmcmFtZSwgcHJvcCwgeworICAgICAgZ2V0OiAoKSA9
PiB7IHByb3BBY2Nlc3NDb3VudCsrOyB9LAorICAgICAgZW51bWVyYWJsZTogdHJ1ZQorICAgIH0p
OworICB9CisKKyAgY29uc3Qga2YxID0ge307CisgIGFkZFByb3Aoa2YxLCAnaGVpZ2h0Jyk7Cisg
IGFkZFByb3Aoa2YxLCAnd2lkdGgnKTsKKyAga2YxLmVhc2luZyA9ICdlYXN5LXBlYXN5JzsKKwor
ICBjb25zdCBrZjIgPSB7fTsKKyAgYWRkUHJvcChrZjIsICdoZWlnaHQnKTsKKyAgYWRkUHJvcChr
ZjIsICd3aWR0aCcpOworCisgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAnVHlwZUVycm9yJyB9LCAo
KSA9PiB7CisgICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgWyBrZjEsIGtmMiBdKTsKKyAg
fSk7CisgIGFzc2VydF9lcXVhbHMocHJvcEFjY2Vzc0NvdW50LCA0LAorICAgICdBbGwgcHJvcGVy
dGllcyB3ZXJlIHJlYWQgYmVmb3JlIHRocm93aW5nIHRoZSBlYXNpbmcgZXJyb3InKTsKK30sICdF
cnJvcnMgZnJvbSBpbnZhbGlkIGVhc2luZ3Mgb24gYSBrZXlmcmFtZSBzZXF1ZW5jZSBhcmUgdGhy
b3duIGFmdGVyIHJlYWRpbmcgYWxsIHByb3BlcnRpZXMnKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZy
YW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGIzNjc5MmYxODM3NmI5ZGFlMjYxN2U3YTU4MGNiYTMy
MzExMWQ1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQ5IEBACisKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGFuIGVtcHR5IGtleWZyYW1lIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhmcmFtZSknLCAnZWZmZWN0LnNldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUg
cHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0
S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHNob3J0aGFu
ZCBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVy
dHkgKG9uZSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgbG9uZ2hhbmQgY29tcG9uZW50cykgdHdv
IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBwcm9wZXJ0eS1pbmRleGVkIGtl
eWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggZGlmZmVyZW50IG51bWJlcnMgb2YgdmFsdWVzIGVm
ZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZy
YW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
CitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIGVmZmVjdC5zZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0
ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB0aGF0IG5lZWRzIHRvIHN0cmlu
Z2lmeSBpdHMgdmFsdWVzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBh
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJp
YWJsZSByZWZlcmVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlh
YmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBlZmZlY3Quc2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1
dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIHZhbHVlIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2Vm
ZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBub24tYXJyYXkgdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAn
ZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFsaWQg
ZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5
ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3
byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRo
ZSBzZWNvbmQgdmFsdWUgaXMgaW52YWxpZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0
LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0
ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUg
c2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHBy
b3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5j
ZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkg
KGEgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGNvbXBvbmVudCBsb25naGFuZHMpIHR3byBrZXlm
cmFtZSBzZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gaW50ZXJp
b3Igb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZm
ZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3Igb2Zmc2V0cyAwIGFuZCAxIGVm
ZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZy
YW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
CitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBmb3Vy
IGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IGVmZmVjdC5z
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhz
dWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIG51bGwgb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBvZmZzZXQgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNl
cXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywg
J2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29t
ZSBudWxsIG9mZnNldHMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
dHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMg
ZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5
ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggYWxsIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5p
bnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVu
dCBlYXNpbmcgdmFsdWVzLCBidXQgdGhlIHNhbWUgZWFzaW5nIHZhbHVlIGZvciBhIGdpdmVuIG9m
ZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBjb21wb3NpdGUgdmFsdWVzLCBidXQgdGhlIHNhbWUgY29t
cG9zaXRlIHZhbHVlIGZvciBhIGdpdmVuIG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAn
ZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIHRoYXQg
bmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2Vm
ZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZl
cmVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUg
c2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJv
cGVydHkgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUg
c2VxdWVuY2Ugd2hlcmUgc2hvcnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIGVmZmVjdC5zZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0
LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxvbmdo
YW5kIHByZWNlZGVzIHNob3J0aGFuZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVz
IGdyZWF0ZXIgc2hvcnRoYW5kIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGdyZWF0ZXIgc2hvcnRoYW5kIHByZWNlZGVzIGxl
c3NlciBzaG9ydGhhbmQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
dHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNz
aW5nIGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJv
cGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIGVmZmVjdC5zZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggcmVwZWF0ZWQg
dmFsdWVzIGF0IG9mZnNldCAxIHdpdGggZGlmZmVyZW50IGVhc2luZ3MgZWZmZWN0LnNldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3Qu
aW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK1BBU1MgS2V5ZnJh
bWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gb3V0LW9m
LWJvdW5kZWQgcG9zaXRpdmUgb2Zmc2V0IAorUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3Rv
ciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRlZCBuZWdhdGl2ZSBv
ZmZzZXQgCitQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZy
YW1lcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0IAorUEFTUyBLZXlmcmFtZUVmZmVjdCBj
b25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyB3aXRoIGFu
IGludmFsaWQgZWFzaW5nIHZhbHVlIAorUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0
aHJvd3Mgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFs
dWUgCitQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1l
cyB3aXRoIGFuIGludmFsaWQgY29tcG9zaXRlIHZhbHVlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Nl
dEtleWZyYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTUx
NDExZGU0ZTcwNTZjOGUzYjg3ZDU3MDgyMzgwZjVhZTExODcyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVm
ZmVjdC9zZXRLZXlmcmFtZXMuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+S2V5ZnJhbWVFZmZlY3Qgc2V0S2V5ZnJhbWVz
KCkgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRo
dWIuaW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1rZXlmcmFtZWVmZmVjdC1zZXRrZXlmcmFtZXMiPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9rZXlmcmFtZS11dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImxvZyI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3Ry
aWN0JzsKKwordmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsK
KwordGVzdChmdW5jdGlvbih0KSB7CisgIGdFbXB0eUtleWZyYW1lTGlzdFRlc3RzLmZvckVhY2go
ZnVuY3Rpb24oZnJhbWUpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KHRh
cmdldCwge30pOworICAgIGVmZmVjdC5zZXRLZXlmcmFtZXMoZnJhbWUpOworICAgIGFzc2VydF9m
cmFtZV9saXN0c19lcXVhbChlZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIFtdKTsKKyAgfSk7Cit9LCAn
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGFuIGVtcHR5IGtleWZyYW1lJyk7CisKK2dQ
cm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXNUZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKHN1YnRlc3QpIHsK
KyAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVj
dCh0YXJnZXQsIHt9KTsKKyAgICBlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpOwor
ICAgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChlZmZlY3QuZ2V0S2V5ZnJhbWVzKCksIHN1YnRl
c3Qub3V0cHV0KTsKKyAgfSwgJ0tleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCAnICsgc3Vi
dGVzdC5kZXNjKTsKK30pOworCitnS2V5ZnJhbWVTZXF1ZW5jZVRlc3RzLmZvckVhY2goZnVuY3Rp
b24oc3VidGVzdCkgeworICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgZWZmZWN0ID0gbmV3
IEtleWZyYW1lRWZmZWN0KHRhcmdldCwge30pOworICAgIGVmZmVjdC5zZXRLZXlmcmFtZXMoc3Vi
dGVzdC5pbnB1dCk7CisgICAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGVmZmVjdC5nZXRLZXlm
cmFtZXMoKSwgc3VidGVzdC5vdXRwdXQpOworICB9LCAnS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoICcgKyBzdWJ0ZXN0LmRlc2MpOworfSk7CisKK2dJbnZhbGlkS2V5ZnJhbWVzVGVzdHMu
Zm9yRWFjaChmdW5jdGlvbihzdWJ0ZXN0KSB7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZh
ciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCB7fSk7CisgICAgYXNzZXJ0X3Ro
cm93cyhzdWJ0ZXN0LmV4cGVjdGVkLCBmdW5jdGlvbigpIHsKKyAgICAgIGVmZmVjdC5zZXRLZXlm
cmFtZXMoc3VidGVzdC5pbnB1dCk7CisgICAgfSk7CisgIH0sICdLZXlmcmFtZUVmZmVjdCBjb25z
dHJ1Y3RvciB0aHJvd3Mgd2l0aCAnICsgc3VidGVzdC5kZXNjKTsKK30pOworPC9zY3JpcHQ+Cis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldFRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Nl
dFRhcmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmIyZDE2YTQwNjYxMjUyZmQxOWMxMzIw
OGJhNjQ1ZDY0MWE4NjU0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0VGFyZ2V0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworRkFJTCBUZXN0IHNldHRpbmcgdGFyZ2V0IGJlZm9y
ZSBjb25zdHJ1Y3RpbmcgdGhlIGFzc29jaWF0ZWQgYW5pbWF0aW9uIEF0dGVtcHRlZCB0byBhc3Np
Z24gdG8gcmVhZG9ubHkgcHJvcGVydHkuCitGQUlMIFRlc3Qgc2V0dGluZyB0YXJnZXQgZnJvbSBu
dWxsIHRvIGEgdmFsaWQgdGFyZ2V0IEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmlt
YXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGlu
ZQorRkFJTCBUZXN0IHNldHRpbmcgdGFyZ2V0IGZyb20gYSB2YWxpZCB0YXJnZXQgdG8gbnVsbCBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZShnS2V5RnJhbWVz
LCAxMDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBU
ZXN0IHNldHRpbmcgdGFyZ2V0IGZyb20gYSB2YWxpZCB0YXJnZXQgdG8gYW5vdGhlciB0YXJnZXQg
YS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2EuYW5pbWF0ZShnS2V5RnJhbWVzLCAx
MDAgKiBNU19QRVJfU0VDKScsICdhLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFt
ZUVmZmVjdC9zZXRUYXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0VGFyZ2V0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDllZjg0MDJkOTBjMjgyYmRiZGM3Y2Q2ZGY0MWU2YTFjZDc1MjA2NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJh
bWVFZmZlY3Qvc2V0VGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSw4OSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPldyaXRhYmxlIGVmZmVjdC50YXJnZXQgdGVz
dHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIgorICBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vd2ViLWFuaW1hdGlvbnMvI2RvbS1rZXlmcmFtZWVmZmVjdC10YXJnZXQiPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwordmFyIGdLZXlGcmFtZXMgPSB7ICdtYXJnaW5M
ZWZ0JzogWycwcHgnLCAnMTAwcHgnXSB9OworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRp
diA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChudWxs
LCBnS2V5RnJhbWVzLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgZWZmZWN0LnRhcmdldCA9IGRpdjsK
KworICB2YXIgYW5pbSA9IG5ldyBBbmltYXRpb24oZWZmZWN0LCBkb2N1bWVudC50aW1lbGluZSk7
CisgIGFuaW0ucGxheSgpOworCisgIGFuaW0uY3VycmVudFRpbWUgPSA1MCAqIE1TX1BFUl9TRUM7
CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICc1MHB4
JywKKyAgICAgICAgICAgICAgICAnVmFsdWUgYXQgNTAlIHByb2dyZXNzJyk7Cit9LCAnVGVzdCBz
ZXR0aW5nIHRhcmdldCBiZWZvcmUgY29uc3RydWN0aW5nIHRoZSBhc3NvY2lhdGVkIGFuaW1hdGlv
bicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
ZGl2LnN0eWxlLm1hcmdpbkxlZnQgPSAnMTBweCc7CisgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJh
bWVFZmZlY3QobnVsbCwgZ0tleUZyYW1lcywgMTAwICogTVNfUEVSX1NFQyk7CisgIHZhciBhbmlt
ID0gbmV3IEFuaW1hdGlvbihlZmZlY3QsIGRvY3VtZW50LnRpbWVsaW5lKTsKKyAgYW5pbS5wbGF5
KCk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzEwcHgnLAorICAgICAgICAg
ICAgICAgICdWYWx1ZSBhdCA1MCUgcHJvZ3Jlc3MgYmVmb3JlIHNldHRpbmcgbmV3IHRhcmdldCcp
OworICBlZmZlY3QudGFyZ2V0ID0gZGl2OworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUoZGl2KS5tYXJnaW5MZWZ0LCAnNTBweCcsCisgICAgICAgICAgICAgICAgJ1ZhbHVlIGF0IDUw
JSBwcm9ncmVzcyBhZnRlciBzZXR0aW5nIG5ldyB0YXJnZXQnKTsKK30sICdUZXN0IHNldHRpbmcg
dGFyZ2V0IGZyb20gbnVsbCB0byBhIHZhbGlkIHRhcmdldCcpOworCit0ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgZGl2LnN0eWxlLm1hcmdpbkxlZnQgPSAn
MTBweCc7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoZ0tleUZyYW1lcywgMTAwICogTVNfUEVS
X1NFQyk7CisKKyAgYW5pbS5jdXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzUwcHgnLAorICAgICAg
ICAgICAgICAgICdWYWx1ZSBhdCA1MCUgcHJvZ3Jlc3MgYmVmb3JlIGNsZWFyaW5nIHRoZSB0YXJn
ZXQnKQorCisgIGFuaW0uZWZmZWN0LnRhcmdldCA9IG51bGw7CisgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcxMHB4JywKKyAgICAgICAgICAgICAgICAn
VmFsdWUgYWZ0ZXIgY2xlYXJpbmcgdGhlIHRhcmdldCcpCit9LCAnVGVzdCBzZXR0aW5nIHRhcmdl
dCBmcm9tIGEgdmFsaWQgdGFyZ2V0IHRvIG51bGwnKTsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBhID0gY3JlYXRlRGl2KHQpOworICB2YXIgYiA9IGNyZWF0ZURpdih0KTsKKyAgYS5zdHls
ZS5tYXJnaW5MZWZ0ID0gJzEwcHgnOworICBiLnN0eWxlLm1hcmdpbkxlZnQgPSAnMjBweCc7Cisg
IHZhciBhbmltID0gYS5hbmltYXRlKGdLZXlGcmFtZXMsIDEwMCAqIE1TX1BFUl9TRUMpOworCisg
IGFuaW0uY3VycmVudFRpbWUgPSA1MCAqIE1TX1BFUl9TRUM7CisgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShhKS5tYXJnaW5MZWZ0LCAnNTBweCcsCisgICAgICAgICAgICAgICAgJ1Zh
bHVlIG9mIDFzdCBlbGVtZW50IChjdXJyZW50bHkgdGFyZ2V0ZWQpIGJlZm9yZSAnICsKKyAgICAg
ICAgICAgICAgICAnY2hhbmdpbmcgdGhlIGVmZmVjdCB0YXJnZXQnKTsKKyAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGIpLm1hcmdpbkxlZnQsICcyMHB4JywKKyAgICAgICAgICAgICAg
ICAnVmFsdWUgb2YgMm5kIGVsZW1lbnQgKGN1cnJlbnRseSBub3QgdGFyZ2V0ZWQpIGJlZm9yZSAn
ICsKKyAgICAgICAgICAgICAgICAnY2hhbmdpbmcgdGhlIGVmZmVjdCB0YXJnZXQnKTsKKyAgYW5p
bS5lZmZlY3QudGFyZ2V0ID0gYjsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGEp
Lm1hcmdpbkxlZnQsICcxMHB4JywKKyAgICAgICAgICAgICAgICAnVmFsdWUgb2YgMXN0IGVsZW1l
bnQgKGN1cnJlbnRseSBub3QgdGFyZ2V0ZWQpIGFmdGVyICcgKworICAgICAgICAgICAgICAgICdj
aGFuZ2luZyB0aGUgZWZmZWN0IHRhcmdldCcpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoYikubWFyZ2luTGVmdCwgJzUwcHgnLAorICAgICAgICAgICAgICAgICdWYWx1ZSBvZiAy
bmQgZWxlbWVudCAoY3VycmVudGx5IHRhcmdldGVkKSBhZnRlciAnICsKKyAgICAgICAgICAgICAg
ICAnY2hhbmdpbmcgdGhlIGVmZmVjdCB0YXJnZXQnKTsKKworICAvLyBUaGlzIG1ha2VzIHN1cmUg
dGhlIGFuaW1hdGlvbiBwcm9wZXJ0eSBpcyBjaGFuZ2VkIGNvcnJlY3RseSBvbiBuZXcKKyAgLy8g
dGFyZ2V0ZWQgZWxlbWVudC4KKyAgYW5pbS5jdXJyZW50VGltZSA9IDc1ICogTVNfUEVSX1NFQzsK
KyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGIpLm1hcmdpbkxlZnQsICc3NXB4JywK
KyAgICAgICAgICAgICAgICAnVmFsdWUgb2YgMm5kIHRhcmdldCAoY3VycmVudGx5IHRhcmdldGVk
KSBhZnRlciAnICsKKyAgICAgICAgICAgICAgICAnY2hhbmdpbmcgdGhlIGFuaW1hdGlvbiBjdXJy
ZW50IHRpbWUuJyk7Cit9LCAnVGVzdCBzZXR0aW5nIHRhcmdldCBmcm9tIGEgdmFsaWQgdGFyZ2V0
IHRvIGFub3RoZXIgdGFyZ2V0Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5L2NvcHktY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5
L2NvcHktY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmY2ZhOTZhODdmOTUy
YzM0NGMyNDZiOGJkNGU2YTUyZGY3MjlhZTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0UmVhZE9u
bHkvY29weS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwg
VGVzdCBjb3BpZWQga2V5ZnJhbWVFZmZlY3RSZWFkT25seSBoYXMgdGhlIHNhbWUgdGFyZ2V0IENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgVGVzdCBjb3Bp
ZWQga2V5ZnJhbWVFZmZlY3RSZWFkT25seSBoYXMgdGhlIHNhbWUga2V5ZnJhbWVzIENhbid0IGZp
bmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgVGVzdCBjb3BpZWQga2V5
ZnJhbWVFZmZlY3RSZWFkT25seSBoYXMgdGhlIHNhbWUga2V5ZnJhbWVFZmZlY3RPcHRpb25zIENh
bid0IGZpbmQgdmFyaWFibGU6IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkKK0ZBSUwgVGVzdCBjb3Bp
ZWQga2V5ZnJhbWVFZmZlY3RSZWFkT25seSBoYXMgdGhlIHNhbWUgdGltaW5nIGNvbnRlbnQgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogS2V5ZnJhbWVFZmZlY3RSZWFkT25seQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZm
ZWN0UmVhZE9ubHkvY29weS1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5L2NvcHktY29u
c3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODdmZmUxMTQ4YmRkOGQyZmRlM2ZhZGI0ZWU4MjMx
N2Y2YTZjZDJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5L2NvcHktY29uc3RydWN0
b3IuaHRtbApAQCAtMCwwICsxLDk0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9
dXRmLTg+Cis8dGl0bGU+S2V5ZnJhbWVFZmZlY3RSZWFkT25seSBjb3B5IGNvbnN0cnVjdG9yIHRl
c3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIKK2hyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5p
by93ZWItYW5pbWF0aW9ucy8jZG9tLWtleWZyYW1lZWZmZWN0cmVhZG9ubHkta2V5ZnJhbWVlZmZl
Y3RyZWFkb25seS1zb3VyY2UiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0
PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
KwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seShjcmVhdGVEaXYodCksIG51bGwpOworICB2YXIgY29waWVkRWZmZWN0ID0gbmV3IEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkoZWZmZWN0KTsKKyAgYXNzZXJ0X2VxdWFscyhjb3BpZWRFZmZl
Y3QudGFyZ2V0LCBlZmZlY3QudGFyZ2V0LCAnc2FtZSB0YXJnZXQnKTsKK30sICdUZXN0IGNvcGll
ZCBrZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGhhcyB0aGUgc2FtZSB0YXJnZXQnKTsKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3QgPQorICAgIG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5KG51bGwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyB7IG1hcmdpbkxlZnQ6
ICcwcHgnIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IG1hcmdpbkxlZnQ6
ICctMjBweCcsIGVhc2luZzogJ2Vhc2UtaW4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvZmZzZXQ6IDAuMSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eyBtYXJnaW5MZWZ0OiAnMTAwcHgnLCBlYXNpbmc6ICdlYXNlLW91dCcgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDogJzUwcHgnIH0gXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB7IHNwYWNpbmc6ICdwYWNlZChtYXJnaW4tbGVmdCknIH0p
OworCisgIHZhciBjb3BpZWRFZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seShlZmZl
Y3QpOworICB2YXIgS2V5ZnJhbWVzQSA9IGVmZmVjdC5nZXRLZXlmcmFtZXMoKTsKKyAgdmFyIEtl
eWZyYW1lc0IgPSBjb3BpZWRFZmZlY3QuZ2V0S2V5ZnJhbWVzKCk7CisgIGFzc2VydF9lcXVhbHMo
S2V5ZnJhbWVzQS5sZW5ndGgsIEtleWZyYW1lc0IubGVuZ3RoLCAnc2FtZSBrZXlmcmFtZXMgbGVu
Z3RoJyk7CisKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBLZXlmcmFtZXNBLmxlbmd0aDsgKytpKSB7
CisgICAgYXNzZXJ0X2VxdWFscyhLZXlmcmFtZXNBW2ldLm9mZnNldCwgS2V5ZnJhbWVzQltpXS5v
ZmZzZXQsCisgICAgICAgICAgICAgICAgICAnS2V5ZnJhbWUgJyArIGkgKyAnIGhhcyB0aGUgc2Ft
ZSBvZmZzZXQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKEtleWZyYW1lc0FbaV0uY29tcHV0ZWRPZmZz
ZXQsIEtleWZyYW1lc0JbaV0uY29tcHV0ZWRPZmZzZXQsCisgICAgICAgICAgICAgICAgICAna2V5
ZnJhbWUgJyArIGkgKyAnIGhhcyB0aGUgc2FtZSBjb21wdXRlZE9mZnNldCcpOworICAgIGFzc2Vy
dF9lcXVhbHMoS2V5ZnJhbWVzQVtpXS5lYXNpbmcsIEtleWZyYW1lc0JbaV0uZWFzaW5nLAorICAg
ICAgICAgICAgICAgICAgJ2tleWZyYW1lICcgKyBpICsgJyBoYXMgdGhlIHNhbWUgZWFzaW5nJyk7
CisgICAgYXNzZXJ0X2VxdWFscyhLZXlmcmFtZXNBW2ldLmNvbXBvc2l0ZSwgS2V5ZnJhbWVzQltp
XS5jb21wb3NpdGUsCisgICAgICAgICAgICAgICAgICAna2V5ZnJhbWUgJyArIGkgKyAnIGhhcyB0
aGUgc2FtZSBjb21wb3NpdGUnKTsKKworICAgIGFzc2VydF90cnVlKCEhS2V5ZnJhbWVzQVtpXS5t
YXJnaW5MZWZ0LAorICAgICAgICAgICAgICAgICdvcmlnaW5hbCBrZXlmcmFtZSAnICsgaSArICcg
aGFzIHRoZSB2YWxpZCBwcm9wZXJ0eSB2YWx1ZScpOworICAgIGFzc2VydF90cnVlKCEhS2V5ZnJh
bWVzQltpXS5tYXJnaW5MZWZ0LAorICAgICAgICAgICAgICAgICduZXcga2V5ZnJhbWUgJyArIGkg
KyAnIGhhcyB0aGUgdmFsaWQgcHJvcGVydHkgdmFsdWUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKEtl
eWZyYW1lc0FbaV0ubWFyZ2luTGVmdCwgS2V5ZnJhbWVzQltpXS5tYXJnaW5MZWZ0LAorICAgICAg
ICAgICAgICAgICAgJ2tleWZyYW1lICcgKyBpICsgJyBoYXMgdGhlIHNhbWUgcHJvcGVydHkgdmFs
dWUgcGFpcicpOworICB9Cit9LCAnVGVzdCBjb3BpZWQga2V5ZnJhbWVFZmZlY3RSZWFkT25seSBo
YXMgdGhlIHNhbWUga2V5ZnJhbWVzJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZWZm
ZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0UmVhZE9ubHkobnVsbCwgbnVsbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3BhY2luZzogJ3BhY2VkKG1hcmdpbi1s
ZWZ0KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJh
dGlvbkNvbXBvc2l0ZTogJ2FjY3VtdWxhdGUnIH0pOworCisgIHZhciBjb3BpZWRFZmZlY3QgPSBu
ZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seShlZmZlY3QpOworICBhc3NlcnRfZXF1YWxzKGNvcGll
ZEVmZmVjdC5zcGFjaW5nLCBlZmZlY3Quc3BhY2luZywgJ3NhbWUgc3BhY2luZycpOworICBhc3Nl
cnRfZXF1YWxzKGNvcGllZEVmZmVjdC5pdGVyYXRpb25Db21wb3NpdGUsIGVmZmVjdC5pdGVyYXRp
b25Db21wb3NpdGUsCisgICAgICAgICAgICAgICAgJ3NhbWUgaXRlcmF0aW9uQ29tcG9zaXRlT3Bl
cmF0aW9uJyk7CisgIGFzc2VydF9lcXVhbHMoY29waWVkRWZmZWN0LmNvbXBvc2l0ZSwgZWZmZWN0
LmNvbXBvc2l0ZSwKKyAgICAgICAgICAgICAgICAnc2FtZSBjb21wb3NpdGVPcGVyYXRpb24nKTsK
K30sICdUZXN0IGNvcGllZCBrZXlmcmFtZUVmZmVjdFJlYWRPbmx5IGhhcyB0aGUgc2FtZSBrZXlm
cmFtZUVmZmVjdE9wdGlvbnMnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBlZmZlY3Qg
PSBuZXcgS2V5ZnJhbWVFZmZlY3RSZWFkT25seShudWxsLCBudWxsLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IC0xICog
TVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZW5kRGVsYXk6IDIgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWxsOiAnZm9yd2FyZHMnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMjAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2Vhc2Utb3V0JywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiAnYWx0ZXJu
YXRlJyB9ICk7CisKKyAgdmFyIGNvcGllZEVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdFJlYWRP
bmx5KGVmZmVjdCk7CisgIHZhciB0aW1pbmdBID0gZWZmZWN0LnRpbWluZzsKKyAgdmFyIHRpbWlu
Z0IgPSBjb3BpZWRFZmZlY3QudGltaW5nOworICBhc3NlcnRfbm90X2VxdWFscyh0aW1pbmdBLCB0
aW1pbmdCLCAnZGlmZmVyZW50IHRpbWluZyBvYmplY3RzJyk7CisgIGFzc2VydF9lcXVhbHModGlt
aW5nQS5kZWxheSwgdGltaW5nQi5kZWxheSwgJ3NhbWUgZGVsYXknKTsKKyAgYXNzZXJ0X2VxdWFs
cyh0aW1pbmdBLmVuZERlbGF5LCB0aW1pbmdCLmVuZERlbGF5LCAnc2FtZSBlbmREZWxheScpOwor
ICBhc3NlcnRfZXF1YWxzKHRpbWluZ0EuZmlsbCwgdGltaW5nQi5maWxsLCAnc2FtZSBmaWxsJyk7
CisgIGFzc2VydF9lcXVhbHModGltaW5nQS5pdGVyYXRpb25TdGFydCwgdGltaW5nQi5pdGVyYXRp
b25TdGFydCwKKyAgICAgICAgICAgICAgICAnc2FtZSBpdGVyYXRpb25TdGFydCcpOworICBhc3Nl
cnRfZXF1YWxzKHRpbWluZ0EuaXRlcmF0aW9ucywgdGltaW5nQi5pdGVyYXRpb25zLCAnc2FtZSBp
dGVyYXRpb25zJyk7CisgIGFzc2VydF9lcXVhbHModGltaW5nQS5kdXJhdGlvbiwgdGltaW5nQi5k
dXJhdGlvbiwgJ3NhbWUgZHVyYXRpb24nKTsKKyAgYXNzZXJ0X2VxdWFscyh0aW1pbmdBLmRpcmVj
dGlvbiwgdGltaW5nQi5kaXJlY3Rpb24sICdzYW1lIGRpcmVjdGlvbicpOworICBhc3NlcnRfZXF1
YWxzKHRpbWluZ0EuZWFzaW5nLCB0aW1pbmdCLmVhc2luZywgJ3NhbWUgZWFzaW5nJyk7Cit9LCAn
VGVzdCBjb3BpZWQga2V5ZnJhbWVFZmZlY3RSZWFkT25seSBoYXMgdGhlIHNhbWUgdGltaW5nIGNv
bnRlbnQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMvZWFzaW5nLXRlc3RzLmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvcmVzb3VyY2VzL2Vhc2luZy10ZXN0cy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMmQ3YTNlZTVkNWJlN2Q1NDYwOThlMTFkNWVkZTU3ZDQ2MDU3ZjhkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvcmVzb3Vy
Y2VzL2Vhc2luZy10ZXN0cy5qcwpAQCAtMCwwICsxLDEzMyBAQAordmFyIGdFYXNpbmdUZXN0cyA9
IFsKKyAgeworICAgIGRlc2M6ICdzdGVwLXN0YXJ0IGZ1bmN0aW9uJywKKyAgICBlYXNpbmc6ICdz
dGVwLXN0YXJ0JywKKyAgICBlYXNpbmdGdW5jdGlvbjogc3RlcFN0YXJ0KDEpLAorICAgIHNlcmlh
bGl6YXRpb246ICdzdGVwcygxLCBzdGFydCknCisgIH0sCisgIHsKKyAgICBkZXNjOiAnc3RlcHMo
MSwgc3RhcnQpIGZ1bmN0aW9uJywKKyAgICBlYXNpbmc6ICdzdGVwcygxLCBzdGFydCknLAorICAg
IGVhc2luZ0Z1bmN0aW9uOiBzdGVwU3RhcnQoMSkKKyAgfSwKKyAgeworICAgIGRlc2M6ICdzdGVw
cygyLCBzdGFydCkgZnVuY3Rpb24nLAorICAgIGVhc2luZzogJ3N0ZXBzKDIsIHN0YXJ0KScsCisg
ICAgZWFzaW5nRnVuY3Rpb246IHN0ZXBTdGFydCgyKQorICB9LAorICB7CisgICAgZGVzYzogJ3N0
ZXAtZW5kIGZ1bmN0aW9uJywKKyAgICBlYXNpbmc6ICdzdGVwLWVuZCcsCisgICAgZWFzaW5nRnVu
Y3Rpb246IHN0ZXBFbmQoMSksCisgICAgc2VyaWFsaXphdGlvbjogJ3N0ZXBzKDEpJworICB9LAor
ICB7CisgICAgZGVzYzogJ3N0ZXBzKDEpIGZ1bmN0aW9uJywKKyAgICBlYXNpbmc6ICdzdGVwcygx
KScsCisgICAgZWFzaW5nRnVuY3Rpb246IHN0ZXBFbmQoMSkKKyAgfSwKKyAgeworICAgIGRlc2M6
ICdzdGVwcygxLCBlbmQpIGZ1bmN0aW9uJywKKyAgICBlYXNpbmc6ICdzdGVwcygxLCBlbmQpJywK
KyAgICBlYXNpbmdGdW5jdGlvbjogc3RlcEVuZCgxKSwKKyAgICBzZXJpYWxpemF0aW9uOiAnc3Rl
cHMoMSknCisgIH0sCisgIHsKKyAgICBkZXNjOiAnc3RlcHMoMiwgZW5kKSBmdW5jdGlvbicsCisg
ICAgZWFzaW5nOiAnc3RlcHMoMiwgZW5kKScsCisgICAgZWFzaW5nRnVuY3Rpb246IHN0ZXBFbmQo
MiksCisgICAgc2VyaWFsaXphdGlvbjogJ3N0ZXBzKDIpJworICB9LAorICB7CisgICAgZGVzYzog
J2ZyYW1lcyBmdW5jdGlvbicsCisgICAgZWFzaW5nOiAnZnJhbWVzKDUpJywKKyAgICBlYXNpbmdG
dW5jdGlvbjogZnJhbWVzVGltaW5nKDUpCisgIH0sCisgIHsKKyAgICBkZXNjOiAnbGluZWFyIGZ1
bmN0aW9uJywKKyAgICBlYXNpbmc6ICdsaW5lYXInLCAvLyBjdWJpYy1iZXppZXIoMCwgMCwgMS4w
LCAxLjApCisgICAgZWFzaW5nRnVuY3Rpb246IGN1YmljQmV6aWVyKDAsIDAsIDEuMCwgMS4wKQor
ICB9LAorICB7CisgICAgZGVzYzogJ2Vhc2UgZnVuY3Rpb24nLAorICAgIGVhc2luZzogJ2Vhc2Un
LCAvLyBjdWJpYy1iZXppZXIoMC4yNSwgMC4xLCAwLjI1LCAxLjApCisgICAgZWFzaW5nRnVuY3Rp
b246IGN1YmljQmV6aWVyKDAuMjUsIDAuMSwgMC4yNSwgMS4wKQorICB9LAorICB7CisgICAgZGVz
YzogJ2Vhc2UtaW4gZnVuY3Rpb24nLAorICAgIGVhc2luZzogJ2Vhc2UtaW4nLCAvLyBjdWJpYy1i
ZXppZXIoMC40MiwgMCwgMS4wLCAxLjApCisgICAgZWFzaW5nRnVuY3Rpb246IGN1YmljQmV6aWVy
KDAuNDIsIDAsIDEuMCwgMS4wKQorICB9LAorICB7CisgICAgZGVzYzogJ2Vhc2UtaW4tb3V0IGZ1
bmN0aW9uJywKKyAgICBlYXNpbmc6ICdlYXNlLWluLW91dCcsIC8vIGN1YmljLWJlemllcigwLjQy
LCAwLCAwLjU4LCAxLjApCisgICAgZWFzaW5nRnVuY3Rpb246IGN1YmljQmV6aWVyKDAuNDIsIDAs
IDAuNTgsIDEuMCkKKyAgfSwKKyAgeworICAgIGRlc2M6ICdlYXNlLW91dCBmdW5jdGlvbicsCisg
ICAgZWFzaW5nOiAnZWFzZS1vdXQnLCAvLyBjdWJpYy1iZXppZXIoMCwgMCwgMC41OCwgMS4wKQor
ICAgIGVhc2luZ0Z1bmN0aW9uOiBjdWJpY0JlemllcigwLCAwLCAwLjU4LCAxLjApCisgIH0sCisg
IHsKKyAgICBkZXNjOiAnZWFzaW5nIGZ1bmN0aW9uIHdoaWNoIHByb2R1Y2VzIHZhbHVlcyBncmVh
dGVyIHRoYW4gMScsCisgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDAsIDEuNSwgMSwgMS41KScs
CisgICAgZWFzaW5nRnVuY3Rpb246IGN1YmljQmV6aWVyKDAsIDEuNSwgMSwgMS41KQorICB9LAor
ICB7CisgICAgZGVzYzogJ2Vhc2luZyBmdW5jdGlvbiB3aGljaCBwcm9kdWNlcyB2YWx1ZXMgbGVz
cyB0aGFuIDEnLAorICAgIGVhc2luZzogJ2N1YmljLWJlemllcigwLCAtMC41LCAxLCAtMC41KScs
CisgICAgZWFzaW5nRnVuY3Rpb246IGN1YmljQmV6aWVyKDAsIC0wLjUsIDEsIC0wLjUpCisgIH0K
K107CisKK2NvbnN0IGdFYXNpbmdQYXJzaW5nVGVzdHMgPSBbCisgIFsnbGluZWFyJywgJ2xpbmVh
ciddLAorICBbJ2Vhc2UtaW4tb3V0JywgJ2Vhc2UtaW4tb3V0J10sCisgIFsnRWFzZVxcMmQgaW4t
b3V0JywgJ2Vhc2UtaW4tb3V0J10sCisgIFsnZWFzZSAvKiovJywgJ2Vhc2UnXSwKK107CisKK2Nv
bnN0IGdJbnZhbGlkRWFzaW5ncyA9IFsKKyAgJycsCisgICc3JywKKyAgJ3Rlc3QnLAorICAnaW5p
dGlhbCcsCisgICdpbmhlcml0JywKKyAgJ3Vuc2V0JywKKyAgJ3VucmVjb2duaXplZCcsCisgICd2
YXIoLS14KScsCisgICdlYXNlLWluLW91dCwgZWFzZS1vdXQnLAorICAnY3ViaWMtYmV6aWVyKDEu
MSwgMCwgMSwgMSknLAorICAnY3ViaWMtYmV6aWVyKDAsIDAsIDEuMSwgMSknLAorICAnY3ViaWMt
YmV6aWVyKC0wLjEsIDAsIDEsIDEpJywKKyAgJ2N1YmljLWJlemllcigwLCAwLCAtMC4xLCAxKScs
CisgICdjdWJpYy1iZXppZXIoMC4xLCAwLCA0LCAwLjQpJywKKyAgJ3N0ZXBzKC0xLCBzdGFydCkn
LAorICAnc3RlcHMoMC4xLCBzdGFydCknLAorICAnc3RlcHMoMywgbm93aGVyZSknLAorICAnc3Rl
cHMoLTMsIGVuZCknLAorICAnZnVuY3Rpb24gKGEpe3JldHVybiBhfScsCisgICdmdW5jdGlvbiAo
eCl7cmV0dXJuIHh9JywKKyAgJ2Z1bmN0aW9uKHgsIHkpe3JldHVybiAwLjN9JywKKyAgJ2ZyYW1l
cygxKScsCisgICdmcmFtZXMnLAorICAnZnJhbWVzKCknLAorICAnZnJhbWVzKCwpJywKKyAgJ2Zy
YW1lcyhhKScsCisgICdmcmFtZXMoMi4wKScsCisgICdmcmFtZXMoMi41KScsCisgICdmcmFtZXMo
MiAzKScsCitdOworCisvLyBFYXNpbmdzIHRoYXQgc2hvdWxkIHNlcmlhbGl6ZSB0byB0aGUgc2Ft
ZSBzdHJpbmcKK2NvbnN0IGdSb3VuZHRyaXBFYXNpbmdzID0gWworICAnZWFzZScsCisgICdsaW5l
YXInLAorICAnZWFzZS1pbicsCisgICdlYXNlLW91dCcsCisgICdlYXNlLWluLW91dCcsCisgICdj
dWJpYy1iZXppZXIoMC4xLCA1LCAwLjIzLCAwKScsCisgICdzdGVwcygzLCBzdGFydCknLAorICAn
c3RlcHMoMyknLAorICAnZnJhbWVzKDMpJywKK107CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMvZWZmZWN0LXRlc3RzLmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvcmVzb3VyY2VzL2VmZmVjdC10ZXN0cy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40YTBjNjZlMWYyOGM2NjY5Y2JhYjVhMzliM2Y2M2MyMTE2MWM5ZmYxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvcmVzb3Vy
Y2VzL2VmZmVjdC10ZXN0cy5qcwpAQCAtMCwwICsxLDczIEBACisvLyBDb21tb24gdXRpbGl0eSBt
ZXRob2RzIGZvciB0ZXN0aW5nIGFuaW1hdGlvbiBlZmZlY3RzCisKKy8vIFRlc3RzIHRoZSB8cHJv
cGVydHl8IG1lbWJlciBvZiB8YW5pbWF0aW9uJ3N8IHRhcmdldCBlZmZlY3QncyBjb21wdXRlZCB0
aW1pbmcKKy8vIGF0IHRoZSB2YXJpb3VzIHBvaW50cyBpbmRpY2F0ZWQgYnkgfHZhbHVlc3wuCisv
LworLy8gfHZhbHVlc3wgaGFzIHRoZSBmb3JtYXQ6CisvLworLy8gICB7CisvLyAgICAgYmVmb3Jl
LCAvLyB2YWx1ZSB0byB0ZXN0IGR1cmluZyBiZWZvcmUgcGhhc2UKKy8vICAgICBhY3RpdmVCb3Vu
ZGFyeSwgLy8gdmFsdWUgdG8gdGVzdCBhdCB0aGUgdmVyeSBiZWdpbm5pbmcgb2YgdGhlIGFjdGl2
ZQorLy8gICAgICAgICAgICAgICAgICAgICAvLyBwaGFzZSB3aGVuIHBsYXlpbmcgZm9yd2FyZHMs
IG9yIHRoZSB2ZXJ5IGVuZCBvZgorLy8gICAgICAgICAgICAgICAgICAgICAvLyB0aGUgYWN0aXZl
IHBoYXNlIHdoZW4gcGxheWluZyBiYWNrd2FyZHMuCisvLyAgICAgICAgICAgICAgICAgICAgIC8v
IFRoaXMgc2hvdWxkIGJlIHVuZGVmaW5lZCBpZiB0aGUgYWN0aXZlIGR1cmF0aW9uIG9mCisvLyAg
ICAgICAgICAgICAgICAgICAgIC8vIHRoZSBlZmZlY3QgaXMgemVyby4KKy8vICAgICBhZnRlciwg
IC8vIHZhbHVlIHRvIHRlc3QgZHVyaW5nIHRoZSBhZnRlciBwaGFzZSBvciB1bmRlZmluZWQgaWYg
dGhlCisvLyAgICAgICAgICAgICAvLyBhY3RpdmUgZHVyYXRpb24gaXMgaW5maW5pdGUKKy8vICAg
fQorLy8KK2Z1bmN0aW9uIGFzc2VydF9jb21wdXRlZF90aW1pbmdfZm9yX2VhY2hfcGhhc2UoYW5p
bWF0aW9uLCBwcm9wZXJ0eSwgdmFsdWVzKSB7CisgIC8vIFNvbWUgY29tcHV0ZWQgdGltaW5nIHBy
b3BlcnRpZXMgKGUuZy4gJ3Byb2dyZXNzJykgcmVxdWlyZSBmbG9hdGluZy1wb2ludAorICAvLyBj
b21wYXJpc29uLCB3aGlsc3QgZXhhY3QgZXF1YWxpdHkgc3VmZmljZXMgZm9yIG90aGVycy4KKyAg
Y29uc3QgYXNzZXJ0X3Byb3BlcnR5X2VxdWFscyA9CisgICAgICAocHJvcGVydHkgPT09ICdwcm9n
cmVzcycpID8gYXNzZXJ0X3RpbWVzX2VxdWFsIDogYXNzZXJ0X2VxdWFsczsKKworICBjb25zdCBl
ZmZlY3QgPSBhbmltYXRpb24uZWZmZWN0OworICBjb25zdCB0aW1pbmcgPSBlZmZlY3QuZ2V0Q29t
cHV0ZWRUaW1pbmcoKTsKKworICAvLyBUaGUgZm9sbG93aW5nIGNhbGN1bGF0aW9ucyBhcmUgYmFz
ZWQgb24gdGhlIGRlZmluaXRpb25zIGhlcmU6CisgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93
ZWItYW5pbWF0aW9ucy8jYW5pbWF0aW9uLWVmZmVjdC1waGFzZXMtYW5kLXN0YXRlcworICBjb25z
dCBiZWZvcmVBY3RpdmUgPSBNYXRoLm1heChNYXRoLm1pbih0aW1pbmcuZGVsYXksIHRpbWluZy5l
bmRUaW1lKSwgMCk7CisgIGNvbnN0IGFjdGl2ZUFmdGVyID0KKyAgICBNYXRoLm1heChNYXRoLm1p
bih0aW1pbmcuZGVsYXkgKyB0aW1pbmcuYWN0aXZlRHVyYXRpb24sIHRpbWluZy5lbmRUaW1lKSwg
MCk7CisgIGNvbnN0IGRpcmVjdGlvbiA9IGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPCAwID8gJ2Jh
Y2t3YXJkcycgOiAnZm9yd2FyZHMnOworCisgIC8vIEJlZm9yZSBwaGFzZQorICBpZiAoZGlyZWN0
aW9uID09PSAnZm9yd2FyZHMnKSB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gYmVmb3Jl
QWN0aXZlIC0gMTsKKyAgfSBlbHNlIHsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSBiZWZv
cmVBY3RpdmU7CisgIH0KKyAgYXNzZXJ0X3Byb3BlcnR5X2VxdWFscyhlZmZlY3QuZ2V0Q29tcHV0
ZWRUaW1pbmcoKVtwcm9wZXJ0eV0sIHZhbHVlcy5iZWZvcmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgYFZhbHVlIG9mICR7cHJvcGVydHl9IGluIHRoZSBiZWZvcmUgcGhhc2VgKTsKKworICAv
LyBBY3RpdmUgcGhhc2UKKyAgaWYgKGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1
cmF0aW9uID4gMCkgeworICAgIGlmIChkaXJlY3Rpb24gPT09ICdmb3J3YXJkcycpIHsKKyAgICAg
IGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IGJlZm9yZUFjdGl2ZTsKKyAgICB9IGVsc2UgeworICAg
ICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gYWN0aXZlQWZ0ZXI7CisgICAgfQorICAgIGFzc2Vy
dF9wcm9wZXJ0eV9lcXVhbHMoZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKClbcHJvcGVydHldLCB2
YWx1ZXMuYWN0aXZlQm91bmRhcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBgVmFsdWUg
b2YgJHtwcm9wZXJ0eX0gYXQgdGhlIGJvdW5kYXJ5IG9mIHRoZSBhY3RpdmUgcGhhc2VgKTsKKyAg
fSBlbHNlIHsKKyAgICBhc3NlcnRfZXF1YWxzKHZhbHVlcy5hY3RpdmVCb3VuZGFyeSwgdW5kZWZp
bmVkLAorICAgICAgICAgICAgICAgICAgJ1Rlc3Qgc3BlY2lmaWVzIGEgdmFsdWUgdG8gY2hlY2sg
ZHVyaW5nIHRoZSBhY3RpdmUgcGhhc2UgYnV0JworICAgICAgICAgICAgICAgICAgKyAnIHRoZSBh
bmltYXRpb24gaGFzIGEgemVybyBkdXJhdGlvbicpOworICB9CisKKyAgLy8gQWZ0ZXIgcGhhc2UK
KyAgaWYgKGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmFjdGl2ZUR1cmF0aW9uICE9PSBJbmZp
bml0eSkgeworICAgIGlmIChkaXJlY3Rpb24gPT09ICdmb3J3YXJkcycpIHsKKyAgICAgIGFuaW1h
dGlvbi5jdXJyZW50VGltZSA9IGFjdGl2ZUFmdGVyOworICAgIH0gZWxzZSB7CisgICAgICBhbmlt
YXRpb24uY3VycmVudFRpbWUgPSBhY3RpdmVBZnRlciArIDE7CisgICAgfQorICAgIGFzc2VydF9w
cm9wZXJ0eV9lcXVhbHMoZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKClbcHJvcGVydHldLCB2YWx1
ZXMuYWZ0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBgVmFsdWUgb2YgJHtwcm9wZXJ0
eX0gaW4gdGhlIGFmdGVyIHBoYXNlYCk7CisgIH0gZWxzZSB7CisgICAgYXNzZXJ0X2VxdWFscyh2
YWx1ZXMuYWZ0ZXIsIHVuZGVmaW5lZCwKKyAgICAgICAgICAgICAgICAgICdUZXN0IHNwZWNpZmll
cyBhIHZhbHVlIHRvIGNoZWNrIGR1cmluZyB0aGUgYWZ0ZXIgcGhhc2UgYnV0JworICAgICAgICAg
ICAgICAgICAgKyAnIHRoZSBhbmltYXRpb24gaGFzIGFuIGluZmluaXRlIGR1cmF0aW9uJyk7Cisg
IH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Jl
c291cmNlcy9rZXlmcmFtZS11dGlscy5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3Jlc291cmNlcy9rZXlmcmFtZS11dGlscy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjA4OTczNGQ1
Zjk1NDliYzY2NmZmZjk4YTdjYzdiMmFkYWU4MWU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvcmVzb3VyY2VzL2tleWZyYW1lLXV0aWxzLmpz
CkBAIC0wLDAgKzEsNTU0IEBACisidXNlIHN0cmljdCI7CisKKy8vIFV0aWxpdHkgZnVuY3Rpb25z
IGFuZCBjb21tb24ga2V5ZnJhbWUgdGVzdCBkYXRhLgorCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKy8vICBIZWxwZXIgZnVuY3Rpb25zCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKworLyoqCisgKiBUZXN0IGVxdWFsaXR5IGJldHdlZW4gdHdvIGxpc3RzIG9m
IGNvbXB1dGVkIGtleWZyYW1lcworICogQHBhcmFtIHtBcnJheS48Q29tcHV0ZWRLZXlmcmFtZT59
IGEgLSBhY3R1YWwgY29tcHV0ZWQga2V5ZnJhbWVzCisgKiBAcGFyYW0ge0FycmF5LjxDb21wdXRl
ZEtleWZyYW1lPn0gYiAtIGV4cGVjdGVkIGNvbXB1dGVkIGtleWZyYW1lcworICovCitmdW5jdGlv
biBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoYSwgYikgeworICBhc3NlcnRfZXF1YWxzKGEubGVu
Z3RoLCBiLmxlbmd0aCwgIm51bWJlciBvZiBmcmFtZXMiKTsKKyAgZm9yICh2YXIgaSA9IDA7IGkg
PCBNYXRoLm1pbihhLmxlbmd0aCwgYi5sZW5ndGgpOyBpKyspIHsKKyAgICBhc3NlcnRfZnJhbWVz
X2VxdWFsKGFbaV0sIGJbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7CisgIH0KK30KKwor
LyoqIEhlbHBlciAqLworZnVuY3Rpb24gYXNzZXJ0X2ZyYW1lc19lcXVhbChhLCBiLCBuYW1lKSB7
CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmtleXMoYSkuc29ydCgpLnRvU3RyaW5nKCksCisgICAg
ICAgICAgICAgICAgT2JqZWN0LmtleXMoYikuc29ydCgpLnRvU3RyaW5nKCksCisgICAgICAgICAg
ICAgICAgInByb3BlcnRpZXMgb24gIiArIG5hbWUpOworICBmb3IgKHZhciBwIGluIGEpIHsKKyAg
ICBhc3NlcnRfZXF1YWxzKGFbcF0sIGJbcF0sICJ2YWx1ZSBmb3IgJyIgKyBwICsgIicgb24gIiAr
IG5hbWUpOworICB9Cit9CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8g
IENvbXBvc2l0ZSB2YWx1ZXMKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit2
YXIgZ0dvb2RLZXlmcmFtZUNvbXBvc2l0ZVZhbHVlVGVzdHMgPSBbCisgICJyZXBsYWNlIiwgImFk
ZCIsICJhY2N1bXVsYXRlIiwgdW5kZWZpbmVkCitdOworCit2YXIgZ0dvb2RPcHRpb25zQ29tcG9z
aXRlVmFsdWVUZXN0cyA9IFsKKyAgInJlcGxhY2UiLCAiYWRkIiwgImFjY3VtdWxhdGUiCitdOwor
Cit2YXIgZ0JhZENvbXBvc2l0ZVZhbHVlVGVzdHMgPSBbCisgICJ1bnJlY29nbmlzZWQiLCAicmVw
bGFjZSAiLCAiUmVwbGFjZSIsIG51bGwKK107CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorLy8gIEtleWZyYW1lcworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisKK3ZhciBnRW1wdHlLZXlmcmFtZUxpc3RUZXN0cyA9IFsKKyAgW10sCisgIG51bGwsCisgIHVu
ZGVmaW5lZCwKK107CisKK3ZhciBnUHJvcGVydHlJbmRleGVkS2V5ZnJhbWVzVGVzdHMgPSBbCisg
IHsgZGVzYzogICAiYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5
ZnJhbWVzIHNwZWNpZmljYXRpb24iLAorICAgIGlucHV0OiAgeyBsZWZ0OiBbIjEwcHgiLCAiMjBw
eCJdIH0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLCBl
YXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEwcHgiIH0sCisgICAgICAg
ICAgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJsaW5lYXIi
LAorICAgICAgICAgICAgICAgbGVmdDogIjIwcHgiIH1dIH0sCisgIHsgZGVzYzogICAiYSBvbmUg
c2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyIK
KyAgICAgICAgICAgICsgIiBzcGVjaWZpY2F0aW9uIiwKKyAgICBpbnB1dDogIHsgbWFyZ2luOiBb
IjEwcHgiLCAiMTBweCAyMHB4IDMwcHggNDBweCJdIH0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6
IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAg
ICAgbWFyZ2luOiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0
ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBtYXJnaW46ICIx
MHB4IDIwcHggMzBweCA0MHB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgdHdvIHByb3BlcnR5IChv
bmUgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIgorICAgICAg
ICAgICAgKyAiIHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0
aW9uIiwKKyAgICBpbnB1dDogIHsgbWFyZ2luVG9wOiBbIjUwcHgiLCAiNjBweCJdLAorICAgICAg
ICAgICAgICBtYXJnaW46IFsiMTBweCIsICIxMHB4IDIwcHggMzBweCA0MHB4Il0gfSwKKyAgICBv
dXRwdXQ6IFt7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImxpbmVh
ciIsCisgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICI1MHB4IiwgbWFyZ2luOiAiMTBweCIgfSwK
KyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzog
ImxpbmVhciIsCisgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICI2MHB4IiwgbWFyZ2luOiAiMTBw
eCAyMHB4IDMwcHggNDBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIHR3byBwcm9wZXJ0eSB0d28g
dmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiIsCisgICAgaW5w
dXQ6ICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4Il0sCisgICAgICAgICAgICAgIHRvcDogWyIzMHB4
IiwgIjQwcHgiXSB9LAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNl
dDogMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiwgdG9w
OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6
IDEsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMjBweCIsIHRvcDog
IjQwcHgiIH1dIH0sCisgIHsgZGVzYzogICAiYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIgorICAgICAgICAgICAgKyAiIGRpZmZlcmVu
dCBudW1iZXJzIG9mIHZhbHVlcyIsCisgICAgaW5wdXQ6ICB7IGxlZnQ6IFsiMTBweCIsICIyMHB4
IiwgIjMwcHgiXSwKKyAgICAgICAgICAgICAgdG9wOiBbIjQwcHgiLCAiNTBweCJdIH0sCisgICAg
b3V0cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVhc2luZzogImxp
bmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIsIHRvcDogIjQwcHgiIH0sCisgICAg
ICAgICAgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLjUsIGVhc2luZzogImxp
bmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9m
ZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEuMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAg
ICAgICAgICAgIGxlZnQ6ICIzMHB4IiwgdG9wOiAiNTBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJh
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhbiBpbnZhbGlk
IHZhbHVlIiwKKyAgICBpbnB1dDogIHsgbGVmdDogWyIxMHB4IiwgIjIwcHgiLCAiMzBweCIsICI0
MHB4IiwgIjUwcHgiXSwKKyAgICAgICAgICAgICAgdG9wOiAgWyIxNXB4IiwgIjI1cHgiLCAiaW52
YWxpZCIsICI0NXB4IiwgIjU1cHgiXSB9LAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiBudWxsLCBj
b21wdXRlZE9mZnNldDogMC4wMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxl
ZnQ6ICIxMHB4IiwgdG9wOiAiMTVweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwg
Y29tcHV0ZWRPZmZzZXQ6IDAuMjUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBs
ZWZ0OiAiMjBweCIsIHRvcDogIjI1cHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IG51bGws
IGNvbXB1dGVkT2Zmc2V0OiAwLjUwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAg
bGVmdDogIjMwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zm
c2V0OiAwLjc1LCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjQwcHgi
LCB0b3A6ICI0NXB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9m
ZnNldDogMS4wMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI1MHB4
IiwgdG9wOiAiNTVweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIG9uZSBwcm9wZXJ0eSB0d28gdmFs
dWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiIKKyAgICAgICAgICAg
ICsgIiB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIiwKKyAgICBpbnB1dDogIHsg
b3BhY2l0eTogWzAsIDFdIH0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVk
T2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgb3BhY2l0eTogIjAi
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNp
bmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgb3BhY2l0eTogIjEiIH1dIH0sCisgIHsgZGVz
YzogICAiYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBD
U1MgdmFyaWFibGUiCisgICAgICAgICAgICArICIgcmVmZXJlbmNlIiwKKyAgICBpbnB1dDogIHsg
bGVmdDogWyAidmFyKC0tZGlzdCkiLCAiY2FsYyh2YXIoLS1kaXN0KSArIDEwMHB4KSIgXSB9LAor
ICAgIG91dHB1dDogW3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC4wLCBlYXNpbmc6
ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogInZhcigtLWRpc3QpIiB9LAorICAgICAg
ICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6ICJsaW5l
YXIiLAorICAgICAgICAgICAgICAgbGVmdDogImNhbGModmFyKC0tZGlzdCkgKyAxMDBweCkiIH1d
IH0sCisgIHsgZGVzYzogICAiYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0
aW9uIHdpdGggYSBDU1MgdmFyaWFibGUiCisgICAgICAgICAgICArICIgcmVmZXJlbmNlIGluIGEg
c2hvcnRoYW5kIHByb3BlcnR5IiwKKyAgICBpbnB1dDogIHsgbWFyZ2luOiBbICJ2YXIoLS1kaXN0
KSIsICJjYWxjKHZhcigtLWRpc3QpICsgMTAwcHgpIiBdIH0sCisgICAgb3V0cHV0OiBbeyBvZmZz
ZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAg
ICAgICAgICBtYXJnaW46ICJ2YXIoLS1kaXN0KSIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDog
bnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEuMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAg
ICAgIG1hcmdpbjogImNhbGModmFyKC0tZGlzdCkgKyAxMDBweCkiIH1dIH0sCisgIHsgZGVzYzog
ICAiYSBvbmUgcHJvcGVydHkgb25lIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNw
ZWNpZmljYXRpb24iLAorICAgIGlucHV0OiAgeyBsZWZ0OiBbIjEwcHgiXSB9LAorICAgIG91dHB1
dDogW3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwK
KyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgb25lIHBy
b3BlcnR5IG9uZSBub24tYXJyYXkgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMiCisg
ICAgICAgICAgICArICIgc3BlY2lmaWNhdGlvbiIsCisgICAgaW5wdXQ6ICB7IGxlZnQ6ICIxMHB4
IiB9LAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMSwgZWFz
aW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiB9XSB9LAorICB7IGRl
c2M6ICAgImEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1l
cyBzcGVjaWZpY2F0aW9uIgorICAgICAgICAgICAgKyAiIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBp
cyBpbnZhbGlkIiwKKyAgICBpbnB1dDogIHsgbGVmdDogWyJpbnZhbGlkIiwgIjEwcHgiXSB9LAor
ICAgIG91dHB1dDogW3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAi
bGluZWFyIiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDog
MSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIxMHB4IiB9XSB9LAor
ICB7IGRlc2M6ICAgImEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtl
eWZyYW1lcyBzcGVjaWZpY2F0aW9uIgorICAgICAgICAgICAgKyAiIHdoZXJlIHRoZSBzZWNvbmQg
dmFsdWUgaXMgaW52YWxpZCIsCisgICAgaW5wdXQ6ICB7IGxlZnQ6IFsiMTBweCIsICJpbnZhbGlk
Il0gfSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVh
c2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAg
ICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxpbmVhciIg
fV0gfSwKK107CisKK3ZhciBnS2V5ZnJhbWVTZXF1ZW5jZVRlc3RzID0gWworICB7IGRlc2M6ICAg
ImEgb25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSIsCisgICAgaW5wdXQ6ICBbeyBv
ZmZzZXQ6IDEsIGxlZnQ6ICIxMHB4IiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogMSwgY29t
cHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAi
MTBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2Vx
dWVuY2UiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLCBsZWZ0OiAiMTBweCIgfSwKKyAgICAg
ICAgICAgICB7IG9mZnNldDogMSwgbGVmdDogIjIwcHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zm
c2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAibGluZWFyIiwgbGVmdDogIjEwcHgi
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6
ICJsaW5lYXIiLCBsZWZ0OiAiMjBweCIgfV0KKyAgfSwKKyAgeyBkZXNjOiAgICJhIHR3byBwcm9w
ZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLCBs
ZWZ0OiAiMTBweCIsIHRvcDogIjMwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGxl
ZnQ6ICIyMHB4IiwgdG9wOiAiNDBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAsIGNv
bXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDog
IjEwcHgiLCB0b3A6ICIzMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRl
ZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICIyMHB4
IiwgdG9wOiAiNDBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIG9uZSBzaG9ydGhhbmQgcHJvcGVy
dHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIiwKKyAgICBpbnB1dDogIFt7IG9mZnNldDogMCwgbWFy
Z2luOiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgbWFyZ2luOiAiMjBweCAz
MHB4IDQwcHggNTBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zm
c2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbWFyZ2luOiAiMTBweCIg
fSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzog
ImxpbmVhciIsCisgICAgICAgICAgICAgICBtYXJnaW46ICIyMHB4IDMwcHggNDBweCA1MHB4IiB9
XSB9LAorICB7IGRlc2M6ICAgImEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFuZCBhbmQgb25lIG9m
IGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSIKKyAgICAgICAgICAgICsgIiB0d28ga2V5ZnJhbWUg
c2VxdWVuY2UiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLCBtYXJnaW46ICIxMHB4IiwgbWFy
Z2luVG9wOiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgbWFyZ2luVG9wOiAi
NzBweCIsIG1hcmdpbjogIjMwcHggNDBweCA1MHB4IDYwcHgiIH1dLAorICAgIG91dHB1dDogW3sg
b2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAg
ICAgICAgIG1hcmdpbjogIjEwcHgiLCBtYXJnaW5Ub3A6ICIyMHB4IiB9LAorICAgICAgICAgICAg
IHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAg
ICAgICAgICAgIG1hcmdpblRvcDogIjcwcHgiLCBtYXJnaW46ICIzMHB4IDQwcHggNTBweCA2MHB4
IiB9XSB9LAorICB7IGRlc2M6ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNhdGUg
dmFsdWVzIGZvciBhIGdpdmVuIGludGVyaW9yIgorICAgICAgICAgICAgKyAiIG9mZnNldCIsCisg
ICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAuMCwgbGVmdDogIjEwcHgiIH0sCisgICAgICAgICAgICAg
eyBvZmZzZXQ6IDAuNSwgbGVmdDogIjIwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAu
NSwgbGVmdDogIjMwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuNSwgbGVmdDogIjQw
cHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEuMCwgbGVmdDogIjUwcHgiIH1dLAorICAg
IG91dHB1dDogW3sgb2Zmc2V0OiAwLjAsIGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVhc2luZzogImxp
bmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9m
ZnNldDogMC41LCBjb21wdXRlZE9mZnNldDogMC41LCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAg
ICAgICAgICAgbGVmdDogIjIwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuNSwgY29t
cHV0ZWRPZmZzZXQ6IDAuNSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxlZnQ6
ICIzMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjUsIGNvbXB1dGVkT2Zmc2V0OiAw
LjUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNDBweCIgfSwKKyAg
ICAgICAgICAgICB7IG9mZnNldDogMS4wLCBjb21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6ICJs
aW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjUwcHgiIH1dIH0sCisgIHsgZGVzYzogICAi
YSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIG9mZnNldHMgMCBh
bmQgMSIsCisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAsIGxlZnQ6ICIxMHB4IiB9LAorICAgICAg
ICAgICAgIHsgb2Zmc2V0OiAwLCBsZWZ0OiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNl
dDogMCwgbGVmdDogIjMwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGxlZnQ6ICI0
MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBsZWZ0OiAiNTBweCIgfSwKKyAgICAg
ICAgICAgICB7IG9mZnNldDogMSwgbGVmdDogIjYwcHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zm
c2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAibGluZWFyIiwgbGVmdDogIjEwcHgi
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6
ICJsaW5lYXIiLCBsZWZ0OiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMCwgY29t
cHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImxpbmVhciIsIGxlZnQ6ICIzMHB4IiB9LAorICAgICAg
ICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwg
bGVmdDogIjQwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0
OiAxLCBlYXNpbmc6ICJsaW5lYXIiLCBsZWZ0OiAiNTBweCIgfSwKKyAgICAgICAgICAgICB7IG9m
ZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxpbmVhciIsIGxlZnQ6ICI2MHB4
IiB9XQorICB9LAorICB7IGRlc2M6ICAgImEgdHdvIHByb3BlcnR5IGZvdXIga2V5ZnJhbWUgc2Vx
dWVuY2UiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLCBsZWZ0OiAiMTBweCIgfSwKKyAgICAg
ICAgICAgICB7IG9mZnNldDogMCwgdG9wOiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNl
dDogMSwgdG9wOiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgbGVmdDogIjQw
cHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFz
aW5nOiAibGluZWFyIiwgbGVmdDogIjEwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAs
IGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLCB0b3A6ICIyMHB4IiB9LAorICAg
ICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFy
IiwgdG9wOiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZz
ZXQ6IDEsIGVhc2luZzogImxpbmVhciIsIGxlZnQ6ICI0MHB4IiB9XQorICB9LAorICB7IGRlc2M6
ICAgImEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQiLAorICAg
IGlucHV0OiAgW3sgbGVmdDogIjEwcHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiBudWxs
LCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxl
ZnQ6ICIxMHB4IiB9XSB9LAorICB7IGRlc2M6ICAgImEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggbnVsbCBvZmZzZXQiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiBudWxsLCBsZWZ0OiAi
MTBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IG51bGwsIGNvbXB1dGVkT2Zmc2V0OiAx
LCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEwcHgiIH1dIH0sCisg
IHsgZGVzYzogICAiYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzdHJpbmcgb2Zmc2V0
IiwKKyAgICBpbnB1dDogIFt7IG9mZnNldDogJzAuNScsIGxlZnQ6ICIxMHB4IiB9XSwKKyAgICBv
dXRwdXQ6IFt7IG9mZnNldDogMC41LCBjb21wdXRlZE9mZnNldDogMC41LCBlYXNpbmc6ICJsaW5l
YXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjEwcHgiIH1dIH0sCisgIHsgZGVzYzogICAiYSBv
bmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyIs
CisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAuMDAsIGxlZnQ6ICIxMHB4IiB9LAorICAgICAgICAg
ICAgIHsgb2Zmc2V0OiAwLjI1LCBsZWZ0OiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IGxlZnQ6
ICIzMHB4IiB9LAorICAgICAgICAgICAgIHsgbGVmdDogIjQwcHgiIH0sCisgICAgICAgICAgICAg
eyBvZmZzZXQ6IDEuMDAsIGxlZnQ6ICI1MHB4IiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDog
MC4wMCwgY29tcHV0ZWRPZmZzZXQ6IDAuMDAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAg
ICAgICBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC4yNSwgY29tcHV0
ZWRPZmZzZXQ6IDAuMjUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAi
MjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAu
NTAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMzBweCIgfSwKKyAg
ICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuNzUsIGVhc2luZzog
ImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNDBweCIgfSwKKyAgICAgICAgICAgICB7
IG9mZnNldDogMS4wMCwgY29tcHV0ZWRPZmZzZXQ6IDEuMDAsIGVhc2luZzogImxpbmVhciIsCisg
ICAgICAgICAgICAgICBsZWZ0OiAiNTBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIG9uZSBwcm9w
ZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVsbCBvZmZzZXRzIiwKKyAgICBpbnB1
dDogIFt7IG9mZnNldDogMC4wMCwgbGVmdDogIjEwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZz
ZXQ6IDAuMjUsIGxlZnQ6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiBudWxsLCBs
ZWZ0OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgbGVmdDogIjQwcHgi
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEuMDAsIGxlZnQ6ICI1MHB4IiB9XSwKKyAgICBv
dXRwdXQ6IFt7IG9mZnNldDogMC4wMCwgY29tcHV0ZWRPZmZzZXQ6IDAuMDAsIGVhc2luZzogImxp
bmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9m
ZnNldDogMC4yNSwgY29tcHV0ZWRPZmZzZXQ6IDAuMjUsIGVhc2luZzogImxpbmVhciIsCisgICAg
ICAgICAgICAgICBsZWZ0OiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwg
Y29tcHV0ZWRPZmZzZXQ6IDAuNTAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBs
ZWZ0OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZz
ZXQ6IDAuNzUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNDBweCIg
fSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMS4wMCwgY29tcHV0ZWRPZmZzZXQ6IDEuMDAsIGVh
c2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNTBweCIgfV0gfSwKKyAgeyBk
ZXNjOiAgICJhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRl
ZCBvZmZzZXRzIiwKKyAgICBpbnB1dDogIFt7IG9mZnNldDogMC4wMCwgbGVmdDogIjEwcHgiLCB0
b3A6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjI1LCBsZWZ0OiAiMzBweCIg
fSwKKyAgICAgICAgICAgICB7IGxlZnQ6ICI0MHB4IiB9LAorICAgICAgICAgICAgIHsgbGVmdDog
IjUwcHgiLCB0b3A6ICI2MHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLjAwLCBsZWZ0
OiAiNzBweCIsIHRvcDogIjgwcHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiAwLjAwLCBj
b21wdXRlZE9mZnNldDogMC4wMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGxl
ZnQ6ICIxMHB4IiwgdG9wOiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC4yNSwg
Y29tcHV0ZWRPZmZzZXQ6IDAuMjUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBs
ZWZ0OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZz
ZXQ6IDAuNTAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNDBweCIg
fSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuNzUsIGVh
c2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNTBweCIsIHRvcDogIjYwcHgi
IH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEuMDAsIGNvbXB1dGVkT2Zmc2V0OiAxLjAwLCBl
YXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogIjcwcHgiLCB0b3A6ICI4MHB4
IiB9XSB9LAorICB7IGRlc2M6ICAgImEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggYWxsIG9taXR0ZWQgb2Zmc2V0cyIsCisgICAgaW5wdXQ6ICBbeyBsZWZ0OiAiMTBweCIgfSwK
KyAgICAgICAgICAgICB7IGxlZnQ6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsgbGVmdDogIjMw
cHgiIH0sCisgICAgICAgICAgICAgeyBsZWZ0OiAiNDBweCIgfSwKKyAgICAgICAgICAgICB7IGxl
ZnQ6ICI1MHB4IiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZz
ZXQ6IDAuMDAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMTBweCIg
fSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuMjUsIGVh
c2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMjBweCIgfSwKKyAgICAgICAg
ICAgICB7IG9mZnNldDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuNTAsIGVhc2luZzogImxpbmVh
ciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNl
dDogbnVsbCwgY29tcHV0ZWRPZmZzZXQ6IDAuNzUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAg
ICAgICAgICBsZWZ0OiAiNDBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogbnVsbCwgY29t
cHV0ZWRPZmZzZXQ6IDEuMDAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0
OiAiNTBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlm
ZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSIKKyAgICAgICAgICAgICsgIiBlYXNp
bmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IiwKKyAgICBpbnB1dDogIFt7IG9mZnNldDogMC4w
LCBlYXNpbmc6ICJlYXNlIiwgICAgIGxlZnQ6ICIxMHB4In0sCisgICAgICAgICAgICAgeyBvZmZz
ZXQ6IDAuMCwgZWFzaW5nOiAiZWFzZSIsICAgICB0b3A6ICIyMHB4In0sCisgICAgICAgICAgICAg
eyBvZmZzZXQ6IDAuNSwgZWFzaW5nOiAibGluZWFyIiwgICBsZWZ0OiAiMzBweCIgfSwKKyAgICAg
ICAgICAgICB7IG9mZnNldDogMC41LCBlYXNpbmc6ICJsaW5lYXIiLCAgIHRvcDogIjQwcHgiIH0s
CisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEuMCwgZWFzaW5nOiAic3RlcC1lbmQiLCBsZWZ0OiAi
NTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMS4wLCBlYXNpbmc6ICJzdGVwLWVuZCIs
IHRvcDogIjYwcHgiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiAwLjAsIGNvbXB1dGVkT2Zm
c2V0OiAwLjAsIGVhc2luZzogImVhc2UiLAorICAgICAgICAgICAgICAgbGVmdDogIjEwcHgiIH0s
CisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuMCwgY29tcHV0ZWRPZmZzZXQ6IDAuMCwgZWFzaW5n
OiAiZWFzZSIsCisgICAgICAgICAgICAgICB0b3A6ICIyMHB4IiB9LAorICAgICAgICAgICAgIHsg
b2Zmc2V0OiAwLjUsIGNvbXB1dGVkT2Zmc2V0OiAwLjUsIGVhc2luZzogImxpbmVhciIsCisgICAg
ICAgICAgICAgICBsZWZ0OiAiMzBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBj
b21wdXRlZE9mZnNldDogMC41LCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgdG9w
OiAiNDBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMS4wLCBjb21wdXRlZE9mZnNldDog
MS4wLCBlYXNpbmc6ICJzdGVwcygxKSIsCisgICAgICAgICAgICAgICBsZWZ0OiAiNTBweCIgfSwK
KyAgICAgICAgICAgICB7IG9mZnNldDogMS4wLCBjb21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6
ICJzdGVwcygxKSIsCisgICAgICAgICAgICAgICB0b3A6ICI2MHB4IiB9XSB9LAorICB7IGRlc2M6
ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQgY29tcG9zaXRlIHZhbHVlcywg
YnV0IHRoZSIKKyAgICAgICAgICAgICsgIiBzYW1lIGNvbXBvc2l0ZSB2YWx1ZSBmb3IgYSBnaXZl
biBvZmZzZXQiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLjAsIGNvbXBvc2l0ZTogInJlcGxh
Y2UiLCBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC4wLCBjb21wb3Np
dGU6ICJyZXBsYWNlIiwgdG9wOiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC41
LCBjb21wb3NpdGU6ICJhZGQiLCAgICAgbGVmdDogIjMwcHgiIH0sCisgICAgICAgICAgICAgeyBv
ZmZzZXQ6IDAuNSwgY29tcG9zaXRlOiAiYWRkIiwgICAgIHRvcDogIjQwcHgiIH0sCisgICAgICAg
ICAgICAgeyBvZmZzZXQ6IDEuMCwgY29tcG9zaXRlOiAicmVwbGFjZSIsIGxlZnQ6ICI1MHB4IiB9
LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLjAsIGNvbXBvc2l0ZTogInJlcGxhY2UiLCB0b3A6
ICI2MHB4IiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogMC4wLCBjb21wdXRlZE9mZnNldDog
MC4wLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgY29tcG9zaXRlOiAicmVwbGFj
ZSIsIGxlZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjAsIGNvbXB1dGVk
T2Zmc2V0OiAwLjAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBjb21wb3NpdGU6
ICJyZXBsYWNlIiwgdG9wOiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBj
b21wdXRlZE9mZnNldDogMC41LCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgY29t
cG9zaXRlOiAiYWRkIiwgbGVmdDogIjMwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAu
NSwgY29tcHV0ZWRPZmZzZXQ6IDAuNSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAg
IGNvbXBvc2l0ZTogImFkZCIsIHRvcDogIjQwcHgiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6
IDEuMCwgY29tcHV0ZWRPZmZzZXQ6IDEuMCwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAg
ICAgIGNvbXBvc2l0ZTogInJlcGxhY2UiLCBsZWZ0OiAiNTBweCIgfSwKKyAgICAgICAgICAgICB7
IG9mZnNldDogMS4wLCBjb21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6ICJsaW5lYXIiLAorICAg
ICAgICAgICAgICAgY29tcG9zaXRlOiAicmVwbGFjZSIsIHRvcDogIjYwcHgiIH1dIH0sCisgIHsg
ZGVzYzogICAiYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIHRoYXQgbmVlZHMg
dG8gc3RyaW5naWZ5IgorICAgICAgICAgICAgKyAiIGl0cyB2YWx1ZXMiLAorICAgIGlucHV0OiAg
W3sgb2Zmc2V0OiAwLCBvcGFjaXR5OiAwIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9w
YWNpdHk6IDEgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAw
LCBlYXNpbmc6ICJsaW5lYXIiLCBvcGFjaXR5OiAiMCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNl
dDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxpbmVhciIsIG9wYWNpdHk6ICIxIiB9
XQorICB9LAorICB7IGRlc2M6ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJp
YWJsZSByZWZlcmVuY2UiLAorICAgIGlucHV0OiAgW3sgbGVmdDogInZhcigtLWRpc3QpIiB9LAor
ICAgICAgICAgICAgIHsgbGVmdDogImNhbGModmFyKC0tZGlzdCkgKyAxMDBweCkiIH1dLAorICAg
IG91dHB1dDogW3sgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC4wLCBlYXNpbmc6ICJs
aW5lYXIiLAorICAgICAgICAgICAgICAgbGVmdDogInZhcigtLWRpc3QpIiB9LAorICAgICAgICAg
ICAgIHsgb2Zmc2V0OiBudWxsLCBjb21wdXRlZE9mZnNldDogMS4wLCBlYXNpbmc6ICJsaW5lYXIi
LAorICAgICAgICAgICAgICAgbGVmdDogImNhbGModmFyKC0tZGlzdCkgKyAxMDBweCkiIH1dIH0s
CisgIHsgZGVzYzogICAiYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJl
ZmVyZW5jZSBpbiBhIHNob3J0aGFuZCIKKyAgICAgICAgICAgICsgIiBwcm9wZXJ0eSIsCisgICAg
aW5wdXQ6ICBbeyBtYXJnaW46ICJ2YXIoLS1kaXN0KSIgfSwKKyAgICAgICAgICAgICB7IG1hcmdp
bjogImNhbGModmFyKC0tZGlzdCkgKyAxMDBweCkiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0
OiBudWxsLCBjb21wdXRlZE9mZnNldDogMC4wLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAg
ICAgICAgbWFyZ2luOiAidmFyKC0tZGlzdCkiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IG51
bGwsIGNvbXB1dGVkT2Zmc2V0OiAxLjAsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAg
ICBtYXJnaW46ICJjYWxjKHZhcigtLWRpc3QpICsgMTAwcHgpIiB9XSB9LAorICB7IGRlc2M6ICAg
ImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIiwK
KyAgICBpbnB1dDogIFt7IG9mZnNldDogMCwgbWFyZ2luOiAiMTBweCIsIG1hcmdpblJpZ2h0OiAi
MjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgbWFyZ2luOiAiMzBweCIgfV0sCisg
ICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5l
YXIiLAorICAgICAgICAgICAgICAgbWFyZ2luOiAiMTBweCIsIG1hcmdpblJpZ2h0OiAiMjBweCIg
fSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzog
ImxpbmVhciIsCisgICAgICAgICAgICAgICBtYXJnaW46ICIzMHB4IiB9XSB9LAorICB7IGRlc2M6
ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5k
IiwKKyAgICBpbnB1dDogIFt7IG9mZnNldDogMCwgbWFyZ2luUmlnaHQ6ICIyMHB4IiwgbWFyZ2lu
OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgbWFyZ2luOiAiMzBweCIgfV0s
CisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJs
aW5lYXIiLAorICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICIyMHB4IiwgbWFyZ2luOiAiMTBw
eCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2lu
ZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBtYXJnaW46ICIzMHB4IiB9XSB9LAorICB7IGRl
c2M6ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbGVzc2VyIHNob3J0aGFuZCBwcmVjZWRl
cyBncmVhdGVyIgorICAgICAgICAgICAgKyAiIHNob3J0aGFuZCIsCisgICAgaW5wdXQ6ICBbeyBv
ZmZzZXQ6IDAsCisgICAgICAgICAgICAgICBib3JkZXJMZWZ0OiAiMXB4IHNvbGlkIHJnYigxLCAy
LCAzKSIsCisgICAgICAgICAgICAgICBib3JkZXI6ICIycHggZG90dGVkIHJnYig0LCA1LCA2KSIg
fSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgYm9yZGVyOiAiM3B4IGRhc2hlZCByZ2IoNywg
OCwgOSkiIH1dLAorICAgIG91dHB1dDogW3sgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwg
ZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGJvcmRlckxlZnQ6ICIxcHggc29saWQg
cmdiKDEsIDIsIDMpIiwKKyAgICAgICAgICAgICAgIGJvcmRlcjogIjJweCBkb3R0ZWQgcmdiKDQs
IDUsIDYpIiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwg
ZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAgICAgICAgIGJvcmRlcjogIjNweCBkYXNoZWQgcmdi
KDcsIDgsIDkpIiB9XSB9LAorICB7IGRlc2M6ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUg
Z3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIgorICAgICAgICAgICAgKyAiIHNob3J0
aGFuZCIsCisgICAgaW5wdXQ6ICBbeyBvZmZzZXQ6IDAsIGJvcmRlcjogIjJweCBkb3R0ZWQgcmdi
KDQsIDUsIDYpIiwKKyAgICAgICAgICAgICAgIGJvcmRlckxlZnQ6ICIxcHggc29saWQgcmdiKDEs
IDIsIDMpIiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBib3JkZXI6ICIzcHggZGFzaGVk
IHJnYig3LCA4LCA5KSIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zm
c2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgYm9yZGVyOiAiMnB4IGRv
dHRlZCByZ2IoNCwgNSwgNikiLAorICAgICAgICAgICAgICAgYm9yZGVyTGVmdDogIjFweCBzb2xp
ZCByZ2IoMSwgMiwgMykiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zm
c2V0OiAxLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgYm9yZGVyOiAiM3B4IGRh
c2hlZCByZ2IoNywgOCwgOSkiIH1dIH0sCisgIHsgZGVzYzogICAiYSB0d28gcHJvcGVydHkga2V5
ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmciCisgICAgICAgICAg
ICArICIgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAw
LCBsZWZ0OiAiMTBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgbGVmdDogIjIwcHgi
LCB0b3A6ICIzMHB4IiB9XSwKKyAgICBvdXRwdXQ6IFt7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZz
ZXQ6IDAsIGVhc2luZzogImxpbmVhciIsIGxlZnQ6ICIxMHB4IiB9LAorICAgICAgICAgICAgIHsg
b2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAibGluZWFyIiwKKyAgICAgICAg
ICAgICAgIGxlZnQ6ICIyMHB4IiwgdG9wOiAiMzBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIHR3
byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2lu
ZyIKKyAgICAgICAgICAgICsgIiBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIiwKKyAgICBpbnB1dDog
IFt7IG9mZnNldDogMCwgbGVmdDogIjEwcHgiLCB0b3A6ICIyMHB4IiB9LAorICAgICAgICAgICAg
IHsgb2Zmc2V0OiAxLCBsZWZ0OiAiMzBweCIgfV0sCisgICAgb3V0cHV0OiBbeyBvZmZzZXQ6IDAs
IGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIiLAorICAgICAgICAgICAgICAgbGVm
dDogIjEwcHgiICwgdG9wOiAiMjBweCIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMSwgY29t
cHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAi
MzBweCIgfV0gfSwKKyAgeyBkZXNjOiAgICJhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggcmVwZWF0
ZWQgdmFsdWVzIGF0IG9mZnNldCAxIHdpdGgiCisgICAgICAgICAgICArICIgZGlmZmVyZW50IGVh
c2luZ3MiLAorICAgIGlucHV0OiAgW3sgb2Zmc2V0OiAwLjAsIGxlZnQ6ICIxMDBweCIsIGVhc2lu
ZzogImVhc2UiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDAuMCwgbGVmdDogIjIwMHB4Iiwg
ZWFzaW5nOiAiZWFzZSIgfSwKKyAgICAgICAgICAgICB7IG9mZnNldDogMC41LCBsZWZ0OiAiMzAw
cHgiLCBlYXNpbmc6ICJsaW5lYXIiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEuMCwgbGVm
dDogIjQwMHB4IiwgZWFzaW5nOiAiZWFzZS1vdXQiIH0sCisgICAgICAgICAgICAgeyBvZmZzZXQ6
IDEuMCwgbGVmdDogIjUwMHB4IiwgZWFzaW5nOiAic3RlcC1lbmQiIH1dLAorICAgIG91dHB1dDog
W3sgb2Zmc2V0OiAwLjAsIGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVhc2luZzogImVhc2UiLAorICAg
ICAgICAgICAgICAgbGVmdDogIjEwMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjAs
IGNvbXB1dGVkT2Zmc2V0OiAwLjAsIGVhc2luZzogImVhc2UiLAorICAgICAgICAgICAgICAgbGVm
dDogIjIwMHB4IiB9LAorICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLjUsIGNvbXB1dGVkT2Zmc2V0
OiAwLjUsIGVhc2luZzogImxpbmVhciIsCisgICAgICAgICAgICAgICBsZWZ0OiAiMzAwcHgiIH0s
CisgICAgICAgICAgICAgeyBvZmZzZXQ6IDEuMCwgY29tcHV0ZWRPZmZzZXQ6IDEuMCwgZWFzaW5n
OiAiZWFzZS1vdXQiLAorICAgICAgICAgICAgICAgbGVmdDogIjQwMHB4IiB9LAorICAgICAgICAg
ICAgIHsgb2Zmc2V0OiAxLjAsIGNvbXB1dGVkT2Zmc2V0OiAxLjAsIGVhc2luZzogInN0ZXBzKDEp
IiwKKyAgICAgICAgICAgICAgIGxlZnQ6ICI1MDBweCIgfV0gfSwKK107CisKK3ZhciBnSW52YWxp
ZEtleWZyYW1lc1Rlc3RzID0gWworICB7IGRlc2M6ICAgICAia2V5ZnJhbWVzIHdpdGggYW4gb3V0
LW9mLWJvdW5kZWQgcG9zaXRpdmUgb2Zmc2V0IiwKKyAgICBpbnB1dDogICAgWyB7IG9wYWNpdHk6
IDAgfSwKKyAgICAgICAgICAgICAgICB7IG9wYWNpdHk6IDAuNSwgb2Zmc2V0OiAyIH0sCisgICAg
ICAgICAgICAgICAgeyBvcGFjaXR5OiAxIH0gXSwKKyAgICBleHBlY3RlZDogeyBuYW1lOiAiVHlw
ZUVycm9yIiB9IH0sCisgIHsgZGVzYzogICAgICJrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91
bmRlZCBuZWdhdGl2ZSBvZmZzZXQiLAorICAgIGlucHV0OiAgICBbIHsgb3BhY2l0eTogMCB9LAor
ICAgICAgICAgICAgICAgIHsgb3BhY2l0eTogMC41LCBvZmZzZXQ6IC0xIH0sCisgICAgICAgICAg
ICAgICAgeyBvcGFjaXR5OiAxIH0gXSwKKyAgICBleHBlY3RlZDogeyBuYW1lOiAiVHlwZUVycm9y
IiB9IH0sCisgIHsgZGVzYzogICAgICJrZXlmcmFtZXMgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9m
ZnNldCIsCisgICAgaW5wdXQ6ICAgIFsgeyBvcGFjaXR5OiAwLCBvZmZzZXQ6IDEgfSwKKyAgICAg
ICAgICAgICAgICB7IG9wYWNpdHk6IDEsIG9mZnNldDogMCB9IF0sCisgICAgZXhwZWN0ZWQ6IHsg
bmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAicHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSIsCisgICAgaW5wdXQ6ICAgIHsg
b3BhY2l0eTogWyAwLCAwLjUsIDEgXSwKKyAgICAgICAgICAgICAgICBlYXNpbmc6ICJpbmhlcml0
IiB9LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwKKyAgeyBkZXNjOiAg
ICAgImEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSIsCisg
ICAgaW5wdXQ6ICAgIFsgeyBvcGFjaXR5OiAwLCBlYXNpbmc6ICJqdW1weSIgfSwKKyAgICAgICAg
ICAgICAgICB7IG9wYWNpdHk6IDEgfSBdLAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJy
b3IiIH0gfSwKKyAgeyBkZXNjOiAgICAgImtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgY29tcG9z
aXRlIHZhbHVlIiwKKyAgICBpbnB1dDogICAgWyB7IG9wYWNpdHk6IDAsIGNvbXBvc2l0ZTogImFs
dGVybmF0ZSIgfSwKKyAgICAgICAgICAgICAgICB7IG9wYWNpdHk6IDEgfSBdLAorICAgIGV4cGVj
dGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfQorXTsKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisvLyAgS2V5ZnJhbWVFZmZlY3RPcHRpb25zCisvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKwordmFyIGdLZXlmcmFtZUVmZmVjdE9wdGlvblRlc3RzID0gWwor
ICB7IGRlc2M6ICAgICAiYW4gZW1wdHkgS2V5ZnJhbWVFZmZlY3RPcHRpb25zIG9iamVjdCIsCisg
ICAgaW5wdXQ6ICAgIHsgfSwKKyAgICBleHBlY3RlZDogeyB9IH0sCisgIHsgZGVzYzogICAgICJh
IG5vcm1hbCBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgb2JqZWN0IiwKKyAgICBpbnB1dDogICAgeyBk
ZWxheTogMTAwMCwKKyAgICAgICAgICAgICAgICBmaWxsOiAiYXV0byIsCisgICAgICAgICAgICAg
ICAgaXRlcmF0aW9uczogNS41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAiYXV0byIsCisg
ICAgICAgICAgICAgICAgZGlyZWN0aW9uOiAiYWx0ZXJuYXRlIiB9LAorICAgIGV4cGVjdGVkOiB7
IGRlbGF5OiAxMDAwLAorICAgICAgICAgICAgICAgIGZpbGw6ICJhdXRvIiwKKyAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiA1LjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246ICJhdXRvIiwK
KyAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICJhbHRlcm5hdGUiIH0gfSwKKyAgeyBkZXNjOiAg
ICAgImEgZG91YmxlIHZhbHVlIiwKKyAgICBpbnB1dDogICAgMzAwMCwKKyAgICBleHBlY3RlZDog
eyBkdXJhdGlvbjogMzAwMCB9IH0sCisgIHsgZGVzYzogICAgICIrSW5maW5pdHkiLAorICAgIGlu
cHV0OiAgICBJbmZpbml0eSwKKyAgICBleHBlY3RlZDogeyBkdXJhdGlvbjogSW5maW5pdHkgfSB9
LAorICB7IGRlc2M6ICAgICAiYW4gSW5maW5pdHkgZHVyYXRpb24iLAorICAgIGlucHV0OiAgICB7
IGR1cmF0aW9uOiBJbmZpbml0eSB9LAorICAgIGV4cGVjdGVkOiB7IGR1cmF0aW9uOiBJbmZpbml0
eSB9IH0sCisgIHsgZGVzYzogICAgICJhbiBhdXRvIGR1cmF0aW9uIiwKKyAgICBpbnB1dDogICAg
eyBkdXJhdGlvbjogImF1dG8iIH0sCisgICAgZXhwZWN0ZWQ6IHsgZHVyYXRpb246ICJhdXRvIiB9
IH0sCisgIHsgZGVzYzogICAgICJhbiBJbmZpbml0eSBpdGVyYXRpb25zIiwKKyAgICBpbnB1dDog
ICAgeyBpdGVyYXRpb25zOiBJbmZpbml0eSB9LAorICAgIGV4cGVjdGVkOiB7IGl0ZXJhdGlvbnM6
IEluZmluaXR5IH0gfSwKKyAgeyBkZXNjOiAgICAgImFuIGF1dG8gZmlsbCIsCisgICAgaW5wdXQ6
ICAgIHsgZmlsbDogImF1dG8iIH0sCisgICAgZXhwZWN0ZWQ6IHsgZmlsbDogImF1dG8iIH0gfSwK
KyAgeyBkZXNjOiAgICAgImEgZm9yd2FyZHMgZmlsbCIsCisgICAgaW5wdXQ6ICAgIHsgZmlsbDog
ImZvcndhcmRzIiB9LAorICAgIGV4cGVjdGVkOiB7IGZpbGw6ICJmb3J3YXJkcyIgfSB9CitdOwor
Cit2YXIgZ0ludmFsaWRLZXlmcmFtZUVmZmVjdE9wdGlvblRlc3RzID0gWworICB7IGRlc2M6ICAg
ICAiLUluZmluaXR5IiwKKyAgICBpbnB1dDogICAgLUluZmluaXR5LAorICAgIGV4cGVjdGVkOiB7
IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwKKyAgeyBkZXNjOiAgICAgIk5hTiIsCisgICAgaW5wdXQ6
ICAgIE5hTiwKKyAgICBleHBlY3RlZDogeyBuYW1lOiAiVHlwZUVycm9yIiB9IH0sCisgIHsgZGVz
YzogICAgICJhIG5lZ2F0aXZlIHZhbHVlIiwKKyAgICBpbnB1dDogICAgLTEsCisgICAgZXhwZWN0
ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAiYSBuZWdhdGl2ZSBJ
bmZpbml0eSBkdXJhdGlvbiIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IC1JbmZpbml0eSB9
LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwKKyAgeyBkZXNjOiAgICAg
ImEgTmFOIGR1cmF0aW9uIiwKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogTmFOIH0sCisgICAg
ZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAiYSBuZWdh
dGl2ZSBkdXJhdGlvbiIsCisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IC0xIH0sCisgICAgZXhw
ZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAiYSBzdHJpbmcg
ZHVyYXRpb24iLAorICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAibWVycnljaHJpc3RtYXMiIH0s
CisgICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9LAorICB7IGRlc2M6ICAgICAi
YSBuZWdhdGl2ZSBJbmZpbml0eSBpdGVyYXRpb25zIiwKKyAgICBpbnB1dDogICAgeyBpdGVyYXRp
b25zOiAtSW5maW5pdHl9LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwK
KyAgeyBkZXNjOiAgICAgImEgTmFOIGl0ZXJhdGlvbnMiLAorICAgIGlucHV0OiAgICB7IGl0ZXJh
dGlvbnM6IE5hTiB9LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwKKyAg
eyBkZXNjOiAgICAgImEgbmVnYXRpdmUgaXRlcmF0aW9ucyIsCisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogLTEgfSwKKyAgICBleHBlY3RlZDogeyBuYW1lOiAiVHlwZUVycm9yIiB9IH0sCisg
IHsgZGVzYzogICAgICJhIGJsYW5rIGVhc2luZyIsCisgICAgaW5wdXQ6ICAgIHsgZWFzaW5nOiAi
IiB9LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwKKyAgeyBkZXNjOiAg
ICAgImFuIHVucmVjb2duaXplZCBlYXNpbmciLAorICAgIGlucHV0OiAgICB7IGVhc2luZzogInVu
cmVjb2duaXNlZCIgfSwKKyAgICBleHBlY3RlZDogeyBuYW1lOiAiVHlwZUVycm9yIiB9IH0sCisg
IHsgZGVzYzogICAgICJhbiAnaW5pdGlhbCcgZWFzaW5nIiwKKyAgICBpbnB1dDogICAgeyBlYXNp
bmc6ICJpbml0aWFsIiB9LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0gfSwK
KyAgeyBkZXNjOiAgICAgImFuICdpbmhlcml0JyBlYXNpbmciLAorICAgIGlucHV0OiAgICB7IGVh
c2luZzogImluaGVyaXQiIH0sCisgICAgZXhwZWN0ZWQ6IHsgbmFtZTogIlR5cGVFcnJvciIgfSB9
LAorICB7IGRlc2M6ICAgICAiYSB2YXJpYWJsZSBlYXNpbmciLAorICAgIGlucHV0OiAgICB7IGVh
c2luZzogInZhcigtLXgpIiB9LAorICAgIGV4cGVjdGVkOiB7IG5hbWU6ICJUeXBlRXJyb3IiIH0g
fSwKKyAgeyBkZXNjOiAgICAgImEgbXVsdGktdmFsdWUgZWFzaW5nIiwKKyAgICBpbnB1dDogICAg
eyBlYXNpbmc6ICJlYXNlLWluLW91dCwgZWFzZS1vdXQiIH0sCisgICAgZXhwZWN0ZWQ6IHsgbmFt
ZTogIlR5cGVFcnJvciIgfSB9CitdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvcmVzb3VyY2VzL3hoci1kb2MucHkgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9yZXNvdXJjZXMveGhyLWRvYy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWI5NDg1
NThjNjIyZjg4NjhhMzkwYmFiNGU3OWUzYWNiMjdjZmNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvcmVzb3VyY2VzL3hoci1kb2MucHkKQEAg
LTAsMCArMSw1IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgaGVhZGVycyA9
IFsoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIpXQorICAgIGNvbnRl
bnQgPSAiPCFkb2N0eXBlIGh0bWw+PGRpdiBpZD10ZXN0PjwvZGl2PiIKKworICAgIHJldHVybiBo
ZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90ZXN0Y29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGVzdGNvbW1vbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDhkNDI0ZGYxZjYwNzhjZDdiZWJjZDEwYTg5
OWExZDJlODViZGZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGVzdGNvbW1vbi5qcwpAQCAtMCwwICsxLDI0NCBAQAorLyoKK0Rpc3RyaWJ1
dGVkIHVuZGVyIGJvdGggdGhlIFczQyBUZXN0IFN1aXRlIExpY2Vuc2UgWzFdIGFuZCB0aGUgVzND
CiszLWNsYXVzZSBCU0QgTGljZW5zZSBbMl0uIFRvIGNvbnRyaWJ1dGUgdG8gYSBXM0MgVGVzdCBT
dWl0ZSwgc2VlIHRoZQorcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCisKK1sx
XSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDQtdGVzdHN1aXRlLWxp
Y2Vuc2UKK1syXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDMtYnNk
LWxpY2Vuc2UKK1szXSBodHRwOi8vd3d3LnczLm9yZy8yMDA0LzEwLzI3LXRlc3RjYXNlcworICov
CisKKyd1c2Ugc3RyaWN0JzsKKwordmFyIE1TX1BFUl9TRUMgPSAxMDAwOworCisvLyBUaGUgcmVj
b21tZW5kZWQgbWluaW11bSBwcmVjaXNpb24gdG8gdXNlIGZvciB0aW1lIHZhbHVlc1sxXS4KKy8v
CisvLyBbMV0gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNwcmVjaXNpb24t
b2YtdGltZS12YWx1ZXMKK3ZhciBUSU1FX1BSRUNJU0lPTiA9IDAuMDAwNTsgLy8gbXMKKworLy8g
QWxsb3cgaW1wbGVtZW50YXRpb25zIHRvIHN1YnN0aXR1dGUgYW4gYWx0ZXJuYXRpdmUgbWV0aG9k
IGZvciBjb21wYXJpbmcKKy8vIHRpbWVzIGJhc2VkIG9uIHRoZWlyIHByZWNpc2lvbiByZXF1aXJl
bWVudHMuCitpZiAoIXdpbmRvdy5hc3NlcnRfdGltZXNfZXF1YWwpIHsKKyAgd2luZG93LmFzc2Vy
dF90aW1lc19lcXVhbCA9IGZ1bmN0aW9uKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKSB7
CisgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgVElNRV9QUkVDSVNJ
T04sIGRlc2NyaXB0aW9uKTsKKyAgfQorfQorCisvLyBjcmVhdGVzIGRpdiBlbGVtZW50LCBhcHBl
bmRzIGl0IHRvIHRoZSBkb2N1bWVudCBib2R5IGFuZAorLy8gcmVtb3ZlcyB0aGUgY3JlYXRlZCBl
bGVtZW50IGR1cmluZyB0ZXN0IGNsZWFudXAKK2Z1bmN0aW9uIGNyZWF0ZURpdih0ZXN0LCBkb2Mp
IHsKKyAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodGVzdCwgJ2RpdicsIGRvYyk7Cit9CisKKy8vIGNy
ZWF0ZXMgZWxlbWVudCBvZiBnaXZlbiB0YWdOYW1lLCBhcHBlbmRzIGl0IHRvIHRoZSBkb2N1bWVu
dCBib2R5IGFuZAorLy8gcmVtb3ZlcyB0aGUgY3JlYXRlZCBlbGVtZW50IGR1cmluZyB0ZXN0IGNs
ZWFudXAKKy8vIGlmIHRhZ05hbWUgaXMgbnVsbCBvciB1bmRlZmluZWQsIHJldHVybnMgZGl2IGVs
ZW1lbnQKK2Z1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodGVzdCwgdGFnTmFtZSwgZG9jKSB7CisgIGlm
ICghZG9jKSB7CisgICAgZG9jID0gZG9jdW1lbnQ7CisgIH0KKyAgdmFyIGVsZW1lbnQgPSBkb2Mu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lIHx8ICdkaXYnKTsKKyAgZG9jLmJvZHkuYXBwZW5kQ2hpbGQo
ZWxlbWVudCk7CisgIHRlc3QuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5y
ZW1vdmUoKTsKKyAgfSk7CisgIHJldHVybiBlbGVtZW50OworfQorCisvLyBDcmVhdGVzIGEgc3R5
bGUgZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgcnVsZXMsIGFwcGVuZHMgaXQgdG8gdGhlIGRv
Y3VtZW50CisvLyBoZWFkIGFuZCByZW1vdmVzIHRoZSBjcmVhdGVkIGVsZW1lbnQgZHVyaW5nIHRl
c3QgY2xlYW51cC4KKy8vIHxydWxlc3wgaXMgYW4gb2JqZWN0LiBGb3IgZXhhbXBsZToKKy8vIHsg
J0BrZXlmcmFtZXMgYW5pbSc6ICcnICwKKy8vICAgJy5jbGFzc05hbWUnOiAnYW5pbWF0aW9uOiBh
bmltIDEwMHM7JyB9OworLy8gb3IKKy8vIHsgJy5jbGFzc05hbWUxOjpiZWZvcmUnOiAnY29udGVu
dDogIiI7IHdpZHRoOiAwcHg7IHRyYW5zaXRpb246IGFsbCAxMHM7JywKKy8vICAgJy5jbGFzc05h
bWUyOjpiZWZvcmUnOiAnd2lkdGg6IDEwMHB4OycgfTsKKy8vIFRoZSBvYmplY3QgcHJvcGVydHkg
bmFtZSBjb3VsZCBiZSBhIGtleWZyYW1lcyBuYW1lLCBvciBhIHNlbGVjdG9yLgorLy8gVGhlIG9i
amVjdCBwcm9wZXJ0eSB2YWx1ZSBpcyBkZWNsYXJhdGlvbnMgd2hpY2ggYXJlIHByb3BlcnR5OnZh
bHVlIHBhaXJzCisvLyBzcGxpdCBieSBhIHNwYWNlLgorZnVuY3Rpb24gY3JlYXRlU3R5bGUodGVz
dCwgcnVsZXMsIGRvYykgeworICBpZiAoIWRvYykgeworICAgIGRvYyA9IGRvY3VtZW50OworICB9
CisgIHZhciBleHRyYVN0eWxlID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgIGRvYy5o
ZWFkLmFwcGVuZENoaWxkKGV4dHJhU3R5bGUpOworICBpZiAocnVsZXMpIHsKKyAgICB2YXIgc2hl
ZXQgPSBleHRyYVN0eWxlLnNoZWV0OworICAgIGZvciAodmFyIHNlbGVjdG9yIGluIHJ1bGVzKSB7
CisgICAgICBzaGVldC5pbnNlcnRSdWxlKHNlbGVjdG9yICsgJ3snICsgcnVsZXNbc2VsZWN0b3Jd
ICsgJ30nLAorICAgICAgICAgICAgICAgICAgICAgICBzaGVldC5jc3NSdWxlcy5sZW5ndGgpOwor
ICAgIH0KKyAgfQorICB0ZXN0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgIGV4dHJhU3R5
bGUucmVtb3ZlKCk7CisgIH0pOworfQorCisvLyBDcmVhdGUgYSBwc2V1ZG8gZWxlbWVudAorZnVu
Y3Rpb24gY3JlYXRlUHNldWRvKHRlc3QsIHR5cGUpIHsKKyAgY3JlYXRlU3R5bGUodGVzdCwgeyAn
QGtleWZyYW1lcyBhbmltJzogJycsCisgICAgICAgICAgICAgICAgICAgICAgWycucHNldWRvOjon
ICsgdHlwZV06ICdhbmltYXRpb246IGFuaW0gMTBzOyAnICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRlbnQ6IFwnXCc7JyAgfSk7CisgIHZhciBkaXYg
PSBjcmVhdGVEaXYodGVzdCk7CisgIGRpdi5jbGFzc0xpc3QuYWRkKCdwc2V1ZG8nKTsKKyAgdmFy
IGFuaW1zID0gZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpOworICBhc3NlcnRfdHJ1ZShhbmltcy5s
ZW5ndGggPj0gMSk7CisgIHZhciBhbmltID0gYW5pbXNbYW5pbXMubGVuZ3RoIC0gMV07CisgIGFz
c2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGFyZ2V0LnBhcmVudEVsZW1lbnQsIGRpdik7CisgIGFz
c2VydF9lcXVhbHMoYW5pbS5lZmZlY3QudGFyZ2V0LnR5cGUsICc6OicgKyB0eXBlKTsKKyAgYW5p
bS5jYW5jZWwoKTsKKyAgcmV0dXJuIGFuaW0uZWZmZWN0LnRhcmdldDsKK30KKworLy8gQ3ViaWMg
YmV6aWVyIHdpdGggY29udHJvbCBwb2ludHMgKDAsIDApLCAoeDEsIHkxKSwgKHgyLCB5MiksIGFu
ZCAoMSwgMSkuCitmdW5jdGlvbiBjdWJpY0Jlemllcih4MSwgeTEsIHgyLCB5MikgeworICBmdW5j
dGlvbiB4Rm9yVCh0KSB7CisgICAgdmFyIG9tdCA9IDEtdDsKKyAgICByZXR1cm4gMyAqIG9tdCAq
IG9tdCAqIHQgKiB4MSArIDMgKiBvbXQgKiB0ICogdCAqIHgyICsgdCAqIHQgKiB0OworICB9CisK
KyAgZnVuY3Rpb24geUZvclQodCkgeworICAgIHZhciBvbXQgPSAxLXQ7CisgICAgcmV0dXJuIDMg
KiBvbXQgKiBvbXQgKiB0ICogeTEgKyAzICogb210ICogdCAqIHQgKiB5MiArIHQgKiB0ICogdDsK
KyAgfQorCisgIGZ1bmN0aW9uIHRGb3JYKHgpIHsKKyAgICAvLyBCaW5hcnkgc3ViZGl2aXNpb24u
CisgICAgdmFyIG1pbnQgPSAwLCBtYXh0ID0gMTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDMw
OyArK2kpIHsKKyAgICAgIHZhciBndWVzc3QgPSAobWludCArIG1heHQpIC8gMjsKKyAgICAgIHZh
ciBndWVzc3ggPSB4Rm9yVChndWVzc3QpOworICAgICAgaWYgKHggPCBndWVzc3gpIHsKKyAgICAg
ICAgbWF4dCA9IGd1ZXNzdDsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG1pbnQgPSBndWVzc3Q7
CisgICAgICB9CisgICAgfQorICAgIHJldHVybiAobWludCArIG1heHQpIC8gMjsKKyAgfQorCisg
IHJldHVybiBmdW5jdGlvbiBiZXppZXJDbG9zdXJlKHgpIHsKKyAgICBpZiAoeCA9PSAwKSB7Cisg
ICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgaWYgKHggPT0gMSkgeworICAgICAgcmV0dXJuIDE7
CisgICAgfQorICAgIHJldHVybiB5Rm9yVCh0Rm9yWCh4KSk7CisgIH0KK30KKworZnVuY3Rpb24g
c3RlcEVuZChuc3RlcHMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uIHN0ZXBFbmRDbG9zdXJlKHgpIHsK
KyAgICByZXR1cm4gTWF0aC5mbG9vcih4ICogbnN0ZXBzKSAvIG5zdGVwczsKKyAgfQorfQorCitm
dW5jdGlvbiBzdGVwU3RhcnQobnN0ZXBzKSB7CisgIHJldHVybiBmdW5jdGlvbiBzdGVwU3RhcnRD
bG9zdXJlKHgpIHsKKyAgICB2YXIgcmVzdWx0ID0gTWF0aC5mbG9vcih4ICogbnN0ZXBzICsgMS4w
KSAvIG5zdGVwczsKKyAgICByZXR1cm4gKHJlc3VsdCA+IDEuMCkgPyAxLjAgOiByZXN1bHQ7Cisg
IH0KK30KKworZnVuY3Rpb24gZnJhbWVzVGltaW5nKG5mcmFtZXMpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uIGZyYW1lc0Nsb3N1cmUoeCkgeworICAgIHZhciByZXN1bHQgPSBNYXRoLmZsb29yKHggKiBu
ZnJhbWVzKSAvIChuZnJhbWVzIC0gMSk7CisgICAgcmV0dXJuIChyZXN1bHQgPiAxLjAgJiYgeCA8
PSAxLjApID8gMS4wIDogcmVzdWx0OworICB9Cit9CisKK2Z1bmN0aW9uIHdhaXRGb3JBbmltYXRp
b25GcmFtZXMoZnJhbWVDb3VudCkgeworICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CisgICAgZnVuY3Rpb24gaGFuZGxlRnJhbWUoKSB7CisgICAgICBpZiAo
LS1mcmFtZUNvdW50IDw9IDApIHsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSBlbHNlIHsK
KyAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShoYW5kbGVGcmFtZSk7IC8vIHdh
aXQgYW5vdGhlciBmcmFtZQorICAgICAgfQorICAgIH0KKyAgICB3aW5kb3cucmVxdWVzdEFuaW1h
dGlvbkZyYW1lKGhhbmRsZUZyYW1lKTsKKyAgfSk7Cit9CisKKy8vIENvbnRpbnVhbGx5IGNhbGxz
IHJlcXVlc3RBbmltYXRpb25GcmFtZSB1bnRpbCB8bWluRGVsYXl8IGhhcyBlbGFwc2VkCisvLyBh
cyByZWNvcmRlZCB1c2luZyBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSAoaS5lLiBmcmFt
ZSB0aW1lIG5vdAorLy8gd2FsbC1jbG9jayB0aW1lKS4KK2Z1bmN0aW9uIHdhaXRGb3JBbmltYXRp
b25GcmFtZXNXaXRoRGVsYXkobWluRGVsYXkpIHsKKyAgdmFyIHN0YXJ0VGltZSA9IGRvY3VtZW50
LnRpbWVsaW5lLmN1cnJlbnRUaW1lOworICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgeworICAgIChmdW5jdGlvbiBoYW5kbGVGcmFtZSgpIHsKKyAgICAgIGlmIChkb2N1bWVu
dC50aW1lbGluZS5jdXJyZW50VGltZSAtIHN0YXJ0VGltZSA+PSBtaW5EZWxheSkgeworICAgICAg
ICByZXNvbHZlKCk7CisgICAgICB9IGVsc2UgeworICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1h
dGlvbkZyYW1lKGhhbmRsZUZyYW1lKTsKKyAgICAgIH0KKyAgICB9KCkpOworICB9KTsKK30KKwor
Ly8gUmV0dXJucyAnbWF0cml4KCknIG9yICdtYXRyaXgzZCgpJyBmdW5jdGlvbiBzdHJpbmcgZ2Vu
ZXJhdGVkIGZyb20gYW4gYXJyYXkuCitmdW5jdGlvbiBjcmVhdGVNYXRyaXhGcm9tQXJyYXkoYXJy
YXkpIHsKKyAgcmV0dXJuIChhcnJheS5sZW5ndGggPT0gMTYgPyAnbWF0cml4M2QnIDogJ21hdHJp
eCcpICsKKyAgICAgICAgICcoJyArIGFycmF5LmpvaW4oKSArICcpJzsKK30KKworLy8gUmV0dXJu
cyAnbWF0cml4M2QoKScgZnVuY3Rpb24gc3RyaW5nIGVxdWl2YWxlbnQgdG8KKy8vICdyb3RhdGUz
ZCh4LCB5LCB6LCByYWRpYW4pJy4KK2Z1bmN0aW9uIHJvdGF0ZTNkVG9NYXRyaXgzZCh4LCB5LCB6
LCByYWRpYW4pIHsKKyAgcmV0dXJuIGNyZWF0ZU1hdHJpeEZyb21BcnJheShyb3RhdGUzZFRvTWF0
cml4KHgsIHksIHosIHJhZGlhbikpOworfQorCisvLyBSZXR1cm5zIGFuIGFycmF5IG9mIHRoZSA0
eDQgbWF0cml4IGVxdWl2YWxlbnQgdG8gJ3JvdGF0ZTNkKHgsIHksIHosIHJhZGlhbiknLgorLy8g
aHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy10cmFuc2Zvcm1zLTEvI1JvdGF0ZTNkRGVmaW5lZAor
ZnVuY3Rpb24gcm90YXRlM2RUb01hdHJpeCh4LCB5LCB6LCByYWRpYW4pIHsKKyAgdmFyIHNjID0g
TWF0aC5zaW4ocmFkaWFuIC8gMikgKiBNYXRoLmNvcyhyYWRpYW4gLyAyKTsKKyAgdmFyIHNxID0g
TWF0aC5zaW4ocmFkaWFuIC8gMikgKiBNYXRoLnNpbihyYWRpYW4gLyAyKTsKKworICAvLyBOb3Jt
YWxpemUgdGhlIHZlY3Rvci4KKyAgdmFyIGxlbmd0aCA9IE1hdGguc3FydCh4KnggKyB5KnkgKyB6
KnopOworICB4IC89IGxlbmd0aDsKKyAgeSAvPSBsZW5ndGg7CisgIHogLz0gbGVuZ3RoOworCisg
IHJldHVybiBbCisgICAgMSAtIDIgKiAoeSp5ICsgeip6KSAqIHNxLAorICAgIDIgKiAoeCAqIHkg
KiBzcSArIHogKiBzYyksCisgICAgMiAqICh4ICogeiAqIHNxIC0geSAqIHNjKSwKKyAgICAwLAor
ICAgIDIgKiAoeCAqIHkgKiBzcSAtIHogKiBzYyksCisgICAgMSAtIDIgKiAoeCp4ICsgeip6KSAq
IHNxLAorICAgIDIgKiAoeSAqIHogKiBzcSArIHggKiBzYyksCisgICAgMCwKKyAgICAyICogKHgg
KiB6ICogc3EgKyB5ICogc2MpLAorICAgIDIgKiAoeSAqIHogKiBzcSAtIHggKiBzYyksCisgICAg
MSAtIDIgKiAoeCp4ICsgeSp5KSAqIHNxLAorICAgIDAsCisgICAgMCwKKyAgICAwLAorICAgIDAs
CisgICAgMQorICBdOworfQorCisvLyBDb21wYXJlIG1hdHJpeCBzdHJpbmcgbGlrZSAnbWF0cml4
KDEsIDAsIDAsIDEsIDEwMCwgMCknIHdpdGggdG9sZXJhbmNlcy4KK2Z1bmN0aW9uIGFzc2VydF9t
YXRyaXhfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKSB7CisgIHZhciBtYXRy
aXhSZWdFeHAgPSAvXm1hdHJpeCg/OjNkKSpcKCguKylcKS87CisgIGFzc2VydF9yZWdleHBfbWF0
Y2goYWN0dWFsLCBtYXRyaXhSZWdFeHAsCisgICAgJ0FjdHVhbCB2YWx1ZSBpcyBub3QgYSBtYXRy
aXgnKQorICBhc3NlcnRfcmVnZXhwX21hdGNoKGV4cGVjdGVkLCBtYXRyaXhSZWdFeHAsCisgICAg
J0V4cGVjdGVkIHZhbHVlIGlzIG5vdCBhIG1hdHJpeCcpOworCisgIHZhciBhY3R1YWxNYXRyaXhB
cnJheSA9CisgICAgYWN0dWFsLm1hdGNoKG1hdHJpeFJlZ0V4cClbMV0uc3BsaXQoJywnKS5tYXAo
TnVtYmVyKTsKKyAgdmFyIGV4cGVjdGVkTWF0cml4QXJyYXkgPQorICAgIGV4cGVjdGVkLm1hdGNo
KG1hdHJpeFJlZ0V4cClbMV0uc3BsaXQoJywnKS5tYXAoTnVtYmVyKTsKKworICBhc3NlcnRfZXF1
YWxzKGFjdHVhbE1hdHJpeEFycmF5Lmxlbmd0aCwgZXhwZWN0ZWRNYXRyaXhBcnJheS5sZW5ndGgs
CisgICAgJ2RpbWVuc2lvbiBvZiB0aGUgbWF0cml4OiAnICsgZGVzY3JpcHRpb24pOworICBmb3Ig
KHZhciBpID0gMDsgaSA8IGFjdHVhbE1hdHJpeEFycmF5Lmxlbmd0aDsgaSsrKSB7CisgICAgYXNz
ZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsTWF0cml4QXJyYXlbaV0sIGV4cGVjdGVkTWF0cml4QXJy
YXlbaV0sIDAuMDAwMSwKKyAgICAgICdleHBlY3RlZCAnICsgZXhwZWN0ZWQgKyAnIGJ1dCBnb3Qg
JyArIGFjdHVhbCArICI6ICIgKyBkZXNjcmlwdGlvbik7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24t
ZWZmZWN0cy9hY3RpdmUtdGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvYWN0aXZlLXRpbWUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNTlmY2M4OTQzYzUxZmIzMGM3YWIyYjEyNjY2Nzg5
NGRjNzI1ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvYWN0aXZlLXRpbWUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKKworRkFJTCBBY3RpdmUgdGltZSBpbiBiZWZvcmUgcGhh
c2UgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2
KHQpLmFuaW1hdGUobnVsbCwgeyBkZWxheTogMSwgZmlsbDogdGVzdC5maWxsIH0pJywgJ2NyZWF0
ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEFjdGl2ZSB0aW1lIGluIGFjdGl2
ZSBwaGFzZSBhbmQgbm8gc3RhcnQgZGVsYXkgaXMgdGhlIGxvY2FsIHRpbWUgY3JlYXRlRGl2KHQp
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVs
bCwgMTAwMCknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQWN0
aXZlIHRpbWUgaW4gYWN0aXZlIHBoYXNlIGFuZCBwb3NpdGl2ZSBzdGFydCBkZWxheSBpcyB0aGUg
bG9jYWwgdGltZSBtaW51cyB0aGUgc3RhcnQgZGVsYXkgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlv
bjogMTAwMCwgZGVsYXk6IDUwMCB9KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBBY3RpdmUgdGltZSBpbiBhY3RpdmUgcGhhc2UgYW5kIG5lZ2F0aXZlIHN0YXJ0
IGRlbGF5IGlzIHRoZSBsb2NhbCB0aW1lIG1pbnVzIHRoZSBzdGFydCBkZWxheSBjcmVhdGVEaXYo
dCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsLCB7IGR1cmF0aW9uOiAxMDAwLCBkZWxheTogLTUwMCB9KScsICdjcmVhdGVEaXYodCkuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBBY3RpdmUgdGltZSBpbiBhZnRlciBwaGFzZSB3aXRo
IG5vIGZpbGwgaXMgdW5yZXNvbHZlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKScsICdjcmVhdGVEaXYodCkuYW5p
bWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBBY3RpdmUgdGltZSBpbiBhZnRlciBwaGFzZSB3aXRo
IGJhY2t3YXJkcy1vbmx5IGZpbGwgaXMgdW5yZXNvbHZlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGZpbGw6
ICdiYWNrd2FyZHMnIH0pJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIEFjdGl2ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdpdGggZm9yd2FyZHMgZmlsbCBpcyB0aGUg
YWN0aXZlIGR1cmF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uY3Jl
YXRlRGl2KHQpLmFuaW1hdGUuLi4nKQorRkFJTCBBY3RpdmUgdGltZSBpbiBhZnRlciBwaGFzZSB3
aXRoIGZvcndhcmRzIGZpbGwsIHplcm8tZHVyYXRpb24sIGFuZCAgaW5maW5pdGUgaXRlcmF0aW9u
IGNvdW50IGlzIHRoZSBhY3RpdmUgZHVyYXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9u
IChuZWFyICcuLi5jcmVhdGVEaXYodCkuYW5pbWF0ZS4uLicpCitGQUlMIEFjdGl2ZSB0aW1lIGlu
IGFmdGVyIHBoYXNlIHdpdGggZm9yd2FyZHMgZmlsbCBhbmQgcG9zaXRpdmUgZW5kIGRlbGF5IGlz
IHRoZSBhY3RpdmUgZHVyYXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcu
Li5jcmVhdGVEaXYodCkuYW5pbWF0ZS4uLicpCitGQUlMIEFjdGl2ZSB0aW1lIGluIGFmdGVyIHBo
YXNlIHdpdGggZm9yd2FyZHMgZmlsbCBhbmQgbmVnYXRpdmUgZW5kIGRlbGF5IGlzIHRoZSBhY3Rp
dmUgZHVyYXRpb24gKyBlbmQgZGVsYXkgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFy
ICcuLi5jcmVhdGVEaXYodCkuYW5pbWF0ZS4uLicpCitGQUlMIEFjdGl2ZSB0aW1lIGluIGFmdGVy
IHBoYXNlIHdpdGggZm9yd2FyZHMgZmlsbCBhbmQgbmVnYXRpdmUgZW5kIGRlbGF5IGdyZWF0ZXIg
aW4gbWFnbml0dWRlIHRoYW4gdGhlIGFjdGl2ZSBkdXJhdGlvbiBpcyB6ZXJvIHVuZGVmaW5lZCBp
cyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uY3JlYXRlRGl2KHQpLmFuaW1hdGUuLi4nKQorRkFJ
TCBBY3RpdmUgdGltZSBpbiBhZnRlciBwaGFzZSB3aXRoIGZvcndhcmRzIGZpbGwgYW5kIG5lZ2F0
aXZlIGVuZCBkZWxheSBncmVhdGVyIGluIG1hZ25pdHVkZSB0aGFuIHRoZSBzdW0gb2YgdGhlIGFj
dGl2ZSBkdXJhdGlvbiBhbmQgc3RhcnQgZGVsYXkgaXMgemVybyB1bmRlZmluZWQgaXMgbm90IGEg
ZnVuY3Rpb24gKG5lYXIgJy4uLmNyZWF0ZURpdih0KS5hbmltYXRlLi4uJykKK0ZBSUwgQWN0aXZl
IHRpbWUgaW4gYWZ0ZXIgcGhhc2Ugd2l0aCAnYm90aCcgZmlsbCBpcyB0aGUgYWN0aXZlIGR1cmF0
aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4uY3JlYXRlRGl2KHQpLmFu
aW1hdGUuLi4nKQorRkFJTCBBY3RpdmUgdGltZSB3aGVuIHRoZSBsb2NhbCB0aW1lIGlzIHVucmVz
b2x2ZWQsIGlzIHVucmVzb2x2ZWQgZWZmZWN0LmdldENvbXB1dGVkVGltaW5nIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpJywgJ2VmZmVjdC5nZXRDb21w
dXRlZFRpbWluZycgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvYWN0aXZl
LXRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb24tZWZmZWN0cy9hY3RpdmUtdGltZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYWFk
MDhlZGQ0NDE5Mjk4ZWRiMGFjNDFlNmNiNWUzMzQ5MzdiYjUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
LWVmZmVjdHMvYWN0aXZlLXRpbWUuaHRtbApAQCAtMCwwICsxLDE0MiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFjdGl2ZSB0aW1lIHRlc3RzPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmlt
YXRpb25zLyNjYWxjdWxhdGluZy10aGUtYWN0aXZlLXRpbWUiPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rj
b21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlw
dD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB0ZXN0cyA9IFsg
eyBmaWxsOiAnbm9uZScsIHByb2dyZXNzOiBudWxsIH0sCisgICAgICAgICAgICAgICAgeyBmaWxs
OiAnYmFja3dhcmRzJywgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICB7IGZpbGw6ICdm
b3J3YXJkcycsIHByb2dyZXNzOiBudWxsIH0sCisgICAgICAgICAgICAgICAgeyBmaWxsOiAnYm90
aCcsIHByb2dyZXNzOiAwIH0gXTsKKyAgdGVzdHMuZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7Cisg
ICAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGRlbGF5OiAxLCBmaWxs
OiB0ZXN0LmZpbGwgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRl
ZFRpbWluZygpLnByb2dyZXNzLCB0ZXN0LnByb2dyZXNzLAorICAgICAgICAgICAgICAgICAgJ1By
b2dyZXNzIGluIGJlZm9yZSBwaGFzZSB3aGVuIHVzaW5nIFwnJyArIHRlc3QuZmlsbAorICAgICAg
ICAgICAgICAgICAgKyAnXCcgZmlsbCcpOworICB9KTsKK30sICdBY3RpdmUgdGltZSBpbiBiZWZv
cmUgcGhhc2UnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRlRGl2
KHQpLmFuaW1hdGUobnVsbCwgMTAwMCk7CisgIGFuaW0uY3VycmVudFRpbWUgPSA1MDA7CisgIGFz
c2VydF90aW1lc19lcXVhbChhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNz
LCAwLjUpOworfSwgJ0FjdGl2ZSB0aW1lIGluIGFjdGl2ZSBwaGFzZSBhbmQgbm8gc3RhcnQgZGVs
YXkgaXMgdGhlIGxvY2FsIHRpbWUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmlt
ID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMTAwMCwgZGVsYXk6IDUw
MCB9KTsKKyAgYW5pbS5jdXJyZW50VGltZSA9IDEwMDA7CisgIGFzc2VydF90aW1lc19lcXVhbChh
bmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAwLjUpOworfSwgJ0FjdGl2
ZSB0aW1lIGluIGFjdGl2ZSBwaGFzZSBhbmQgcG9zaXRpdmUgc3RhcnQgZGVsYXkgaXMgdGhlIGxv
Y2FsIHRpbWUnCisgICArICcgbWludXMgdGhlIHN0YXJ0IGRlbGF5Jyk7CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRp
b246IDEwMDAsIGRlbGF5OiAtNTAwIH0pOworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbS5lZmZl
Y3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMC41KTsKK30sICdBY3RpdmUgdGltZSBp
biBhY3RpdmUgcGhhc2UgYW5kIG5lZ2F0aXZlIHN0YXJ0IGRlbGF5IGlzIHRoZSBsb2NhbCB0aW1l
JworICAgKyAnIG1pbnVzIHRoZSBzdGFydCBkZWxheScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgYXNzZXJ0X2VxdWFs
cyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCBudWxsKTsKK30sICdB
Y3RpdmUgdGltZSBpbiBhZnRlciBwaGFzZSB3aXRoIG5vIGZpbGwgaXMgdW5yZXNvbHZlZCcpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsLCB7IGZpbGw6ICdiYWNrd2FyZHMnIH0pOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZmZWN0
LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIG51bGwpOworfSwgJ0FjdGl2ZSB0aW1lIGlu
IGFmdGVyIHBoYXNlIHdpdGggYmFja3dhcmRzLW9ubHkgZmlsbCBpcyB1bnJlc29sdmVkJyk7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51
bGwsIHsgZHVyYXRpb246IDEwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpdGVyYXRpb25zOiAyLjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkZWxheTogNTAwLCAvLyBTaG91bGQgaGF2ZSBubyBlZmZlY3QKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICdmb3J3YXJkcycgfSk7Cisg
IGFuaW0uZmluaXNoKCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRU
aW1pbmcoKS5jdXJyZW50SXRlcmF0aW9uLCAyKTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0u
ZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDAuMyk7Cit9LCAnQWN0aXZlIHRp
bWUgaW4gYWZ0ZXIgcGhhc2Ugd2l0aCBmb3J3YXJkcyBmaWxsIGlzIHRoZSBhY3RpdmUgZHVyYXRp
b24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFu
aW1hdGUobnVsbCwgeyBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2ZvcndhcmRzJyB9KTsKKyAgYW5pbS5maW5pc2go
KTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmN1cnJl
bnRJdGVyYXRpb24sIEluZmluaXR5KTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRD
b21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAxKTsKK30sICdBY3RpdmUgdGltZSBpbiBhZnRlciBw
aGFzZSB3aXRoIGZvcndhcmRzIGZpbGwsIHplcm8tZHVyYXRpb24sIGFuZCAnCisgICArICcgaW5m
aW5pdGUgaXRlcmF0aW9uIGNvdW50IGlzIHRoZSBhY3RpdmUgZHVyYXRpb24nKTsKKwordGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBk
dXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGl0ZXJhdGlvbnM6IDIuMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlbGF5OiA1MDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBlbmREZWxheTogNDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbGw6ICdmb3J3YXJkcycgfSk7CisgIGFuaW0uZmluaXNoKCk7CisgIGFzc2VydF9lcXVh
bHMoYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5jdXJyZW50SXRlcmF0aW9uLCAyKTsK
KyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJv
Z3Jlc3MsIDAuMyk7Cit9LCAnQWN0aXZlIHRpbWUgaW4gYWZ0ZXIgcGhhc2Ugd2l0aCBmb3J3YXJk
cyBmaWxsIGFuZCBwb3NpdGl2ZSBlbmQgZGVsYXknCisgICArICcgaXMgdGhlIGFjdGl2ZSBkdXJh
dGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCku
YW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxMDAwLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogMi4zLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IDUwMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtODAwLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2ZvcndhcmRzJyB9KTsKKyAgYW5pbS5maW5pc2go
KTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmN1cnJl
bnRJdGVyYXRpb24sIDEpOworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbS5lZmZlY3QuZ2V0Q29t
cHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgMC41KTsKK30sICdBY3RpdmUgdGltZSBpbiBhZnRlciBw
aGFzZSB3aXRoIGZvcndhcmRzIGZpbGwgYW5kIG5lZ2F0aXZlIGVuZCBkZWxheScKKyAgICsgJyBp
cyB0aGUgYWN0aXZlIGR1cmF0aW9uICsgZW5kIGRlbGF5Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEw
MDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25z
OiAyLjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheTog
NTAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kRGVsYXk6
IC0yNTAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDog
J2ZvcndhcmRzJyB9KTsKKyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVm
ZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLmN1cnJlbnRJdGVyYXRpb24sIDApOworICBhc3NlcnRf
ZXF1YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDApOworfSwg
J0FjdGl2ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdpdGggZm9yd2FyZHMgZmlsbCBhbmQgbmVnYXRp
dmUgZW5kIGRlbGF5JworICAgKyAnIGdyZWF0ZXIgaW4gbWFnbml0dWRlIHRoYW4gdGhlIGFjdGl2
ZSBkdXJhdGlvbiBpcyB6ZXJvJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9
IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEwMDAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiAyLjMsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheTogNTAwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC00MDAwLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2ZvcndhcmRzJyB9KTsK
KyAgYW5pbS5maW5pc2goKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmVmZmVjdC5nZXRDb21wdXRl
ZFRpbWluZygpLmN1cnJlbnRJdGVyYXRpb24sIDApOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZm
ZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIDApOworfSwgJ0FjdGl2ZSB0aW1lIGlu
IGFmdGVyIHBoYXNlIHdpdGggZm9yd2FyZHMgZmlsbCBhbmQgbmVnYXRpdmUgZW5kIGRlbGF5Jwor
ICAgKyAnIGdyZWF0ZXIgaW4gbWFnbml0dWRlIHRoYW4gdGhlIHN1bSBvZiB0aGUgYWN0aXZlIGR1
cmF0aW9uIGFuZCBzdGFydCBkZWxheScKKyAgICsgJyBpcyB6ZXJvJyk7CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRp
b246IDEwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVy
YXRpb25zOiAyLjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZWxheTogNTAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmls
bDogJ2JvdGgnIH0pOworICBhbmltLmZpbmlzaCgpOworICBhc3NlcnRfZXF1YWxzKGFuaW0uZWZm
ZWN0LmdldENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0ZXJhdGlvbiwgMik7CisgIGFzc2VydF90
aW1lc19lcXVhbChhbmltLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAwLjMp
OworfSwgJ0FjdGl2ZSB0aW1lIGluIGFmdGVyIHBoYXNlIHdpdGggXCdib3RoXCcgZmlsbCBpcyB0
aGUgYWN0aXZlIGR1cmF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICAvLyBDcmVhdGUg
YW4gZWZmZWN0IHdpdGggYSBub24temVybyBkdXJhdGlvbiBzbyB3ZSBlbnN1cmUgd2UncmUgbm90
IGp1c3QKKyAgLy8gdGVzdGluZyB0aGUgYWZ0ZXItcGhhc2UgYmVoYXZpb3IuCisgIHZhciBlZmZl
Y3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwgbnVsbCwgMSk7CisgIGFzc2VydF9lcXVhbHMo
ZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkucHJvZ3Jlc3MsIG51bGwpOworfSwgJ0FjdGl2ZSB0
aW1lIHdoZW4gdGhlIGxvY2FsIHRpbWUgaXMgdW5yZXNvbHZlZCwgaXMgdW5yZXNvbHZlZCcpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9jdXJyZW50LWl0ZXJh
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvY3VycmVudC1pdGVyYXRpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY2OGNiMTlhY2E3Njg1YjU0MjhhY2I5NDZiMzFiYjc5MWU4OTNkYmEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvY3VycmVudC1pdGVyYXRpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNTMgQEAKKworRkFJTCBUZXN0IGN1cnJlbnRJdGVyYXRpb24gZHVyaW5n
IGJlZm9yZSBhbmQgYWZ0ZXIgcGhhc2Ugd2hlbiBmaWxsIGlzIG5vbmUgZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoeyBvcGFjaXR5OiBbIDAsIDEgXSB9LCB7
IGRlbGF5OiAxIH0pJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgemVy
byBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjowIGRl
bGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5h
bmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFy
dDowIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgemVybyBpdGVyYXRpb25zOiBpdGVyYXRp
b25zOjAgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90
aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3Vy
cmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3Qg
emVybyBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6Mi41IGR1cmF0aW9u
OjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IHplcm8gaXRlcmF0aW9uczogaXRlcmF0aW9uczowIGl0ZXJhdGlv
blN0YXJ0OjIuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IHplcm8gaXRlcmF0aW9uczog
aXRlcmF0aW9uczowIGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjpJbmZpbml0eSBkZWxheTox
IGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0
ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFRlc3QgemVybyBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6MyBk
dXJhdGlvbjowIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBp
dGVyYXRpb25TdGFydDozIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5w
dXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgemVybyBpdGVyYXRp
b25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjpJbmZpbml0eSBkZWxh
eToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMgaXRlcmF0aW9uU3Rh
cnQ6MCBkdXJhdGlvbjowIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFu
aW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJh
dGlvbnM6MyBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVu
dFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW50
ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjpJ
bmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMg
aXRlcmF0aW9uU3RhcnQ6Mi41IGR1cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0Lmlu
cHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGludGVnZXIgaXRl
cmF0aW9uczogaXRlcmF0aW9uczozIGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjoxMDAgZGVs
YXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBUZXN0IGludGVnZXIgaXRlcmF0aW9uczogaXRlcmF0aW9uczozIGl0ZXJhdGlvblN0
YXJ0OjIuNSBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRp
b25zOiBpdGVyYXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjowIGRlbGF5OjEgZmls
bDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
VGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRpb25TdGFydDozIGR1
cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25z
OjMgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBk
aXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVu
dFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJh
Y3Rpb25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDowIGR1cmF0
aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBUZXN0IGZyYWN0aW9uYWwgaXRlcmF0aW9uczogaXRlcmF0aW9uczoz
LjUgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0
LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZyYWN0aW9u
YWwgaXRlcmF0aW9uczogaXRlcmF0aW9uczozLjUgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjpJ
bmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25z
OjMuNSBpdGVyYXRpb25TdGFydDoyLjUgZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRl
c3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rp
b25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDoyLjUgZHVyYXRp
b246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlvbmFsIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6
My41IGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90
aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3Vy
cmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3Qg
ZnJhY3Rpb25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDozIGR1
cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZyYWN0aW9uYWwgaXRlcmF0aW9uczogaXRlcmF0aW9u
czozLjUgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2
LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRU
ZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZyYWN0
aW9uYWwgaXRlcmF0aW9uczogaXRlcmF0aW9uczozLjUgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlv
bjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0aW9u
czpJbmZpbml0eSBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGgg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJl
bnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGlu
ZmluaXR5IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6SW5maW5pdHkgaXRlcmF0aW9uU3RhcnQ6MCBk
dXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGluZmluaXR5IGl0ZXJhdGlvbnM6IGl0ZXJhdGlv
bnM6SW5maW5pdHkgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZp
bGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25T
dGFydDoyLjUgZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczog
aXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDoyLjUgZHVyYXRpb246MTAwIGRlbGF5
OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmlt
YXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgVGVzdCBpbmZpbml0eSBpdGVyYXRpb25zOiBpdGVyYXRpb25zOkluZmluaXR5IGl0ZXJh
dGlvblN0YXJ0OjIuNSBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3Qu
aW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkg
aXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9u
OjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IGluZmluaXR5IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6SW5maW5p
dHkgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0
LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGluZmluaXR5
IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6SW5maW5pdHkgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlv
bjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZW5kIGRlbGF5OiBkdXJhdGlvbjoxMDAgZGVsYXk6
MSBmaWxsOmJvdGggZW5kRGVsYXk6NTAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBUZXN0IGVuZCBkZWxheTogZHVyYXRpb246MTAwIGRlbGF5OjEgZmls
bDpib3RoIGVuZERlbGF5Oi01MCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIFRlc3QgZW5kIGRlbGF5OiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJv
dGggZW5kRGVsYXk6LTEwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIFRlc3QgZW5kIGRlbGF5OiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGgg
ZW5kRGVsYXk6LTIwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFRlc3QgZW5kIGRlbGF5OiBpdGVyYXRpb25TdGFydDowLjUgZHVyYXRpb246MTAwIGRl
bGF5OjEgZmlsbDpib3RoIGVuZERlbGF5OjUwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGl0ZXJhdGlvblN0YXJ0OjAuNSBk
dXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVsYXk6LTUwIGRpdi5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCkn
LCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGl0ZXJh
dGlvblN0YXJ0OjAuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVsYXk6LTEw
MCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3Vy
cmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3Qg
ZW5kIGRlbGF5OiBpdGVyYXRpb25zOjIgZHVyYXRpb246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGVu
ZERlbGF5Oi0xMDAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBUZXN0IGVuZCBkZWxheTogaXRlcmF0aW9uczoxIGl0ZXJhdGlvblN0YXJ0OjIgZHVyYXRp
b246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGVuZERlbGF5Oi01MCBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZW5kIGRlbGF5OiBpdGVyYXRpb25z
OjEgaXRlcmF0aW9uU3RhcnQ6MiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVs
YXk6LTEwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgbmVnYXRpdmUgcGxheWJhY2sgcmF0ZTogZHVyYXRpb246MSBkZWxheToxIGZpbGw6Ym90
aCBwbGF5YmFja1JhdGU6LTEgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2
LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBUZXN0IG5lZ2F0aXZlIHBsYXliYWNrIHJhdGU6IGR1cmF0aW9uOjEgZGVsYXk6
MSBpdGVyYXRpb25zOjIgZmlsbDpib3RoIHBsYXliYWNrUmF0ZTotMSBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywg
J2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgbmVnYXRpdmUgcGxheWJhY2sg
cmF0ZTogZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBwbGF5YmFja1JhdGU6LTEgZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0
LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IG5lZ2F0aXZl
IHBsYXliYWNrIHJhdGU6IGR1cmF0aW9uOjAgaXRlcmF0aW9uczowIGRlbGF5OjEgZmlsbDpib3Ro
IHBsYXliYWNrUmF0ZTotMSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9jdXJyZW50LWl0ZXJhdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1l
ZmZlY3RzL2N1cnJlbnQtaXRlcmF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGYwOGQ0MzU4NTFkODFk
NTAyMWFhNTk3MTJkOWEzZGQzYjMwY2M2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9j
dXJyZW50LWl0ZXJhdGlvbi5odG1sCkBAIC0wLDAgKzEsNjIwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+Q3VycmVudCBpdGVyYXRpb24gdGVzdHM8L3Rp
dGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFu
aW1hdGlvbnMvI2N1cnJlbnQtaXRlcmF0aW9uIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZWZmZWN0LXRlc3RzLmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNl
IHN0cmljdCc7CisKK2Z1bmN0aW9uIHJ1blRlc3RzKHRlc3RzLCBkZXNjcmlwdGlvbikgeworICBm
b3IgKGNvbnN0IGN1cnJlbnRUZXN0IG9mIHRlc3RzKSB7CisgICAgbGV0IHRlc3RQYXJhbXMgPSBP
YmplY3QuZW50cmllcyhjdXJyZW50VGVzdC5pbnB1dCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC5tYXAoKFthdHRyLCB2YWx1ZV0pID0+IGAke2F0dHJ9OiR7dmFsdWV9YCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC5qb2luKCcgJyk7CisgICAgaWYgKGN1cnJlbnRUZXN0LnBsYXli
YWNrUmF0ZSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICB0ZXN0UGFyYW1zICs9IGAgcGxheWJhY2tS
YXRlOiR7Y3VycmVudFRlc3QucGxheWJhY2tSYXRlfWA7CisgICAgfQorCisgICAgdGVzdCh0ID0+
IHsKKyAgICAgIGNvbnN0IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgICAgIGNvbnN0IGFuaW0gPSBk
aXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpOworICAgICAgaWYgKGN1cnJlbnRUZXN0
LnBsYXliYWNrUmF0ZSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgIGFuaW0ucGxheWJhY2tSYXRl
ID0gY3VycmVudFRlc3QucGxheWJhY2tSYXRlOworICAgICAgfQorCisgICAgICBhc3NlcnRfY29t
cHV0ZWRfdGltaW5nX2Zvcl9lYWNoX3BoYXNlKAorICAgICAgICBhbmltLAorICAgICAgICAnY3Vy
cmVudEl0ZXJhdGlvbicsCisgICAgICAgIHsgYmVmb3JlOiBjdXJyZW50VGVzdC5iZWZvcmUsCisg
ICAgICAgICAgYWN0aXZlQm91bmRhcnk6IGN1cnJlbnRUZXN0LmFjdGl2ZSwKKyAgICAgICAgICBh
ZnRlcjogY3VycmVudFRlc3QuYWZ0ZXIgfSwKKyAgICAgICk7CisgICAgfSwgYCR7ZGVzY3JpcHRp
b259OiAke3Rlc3RQYXJhbXN9YCk7CisgIH0KK30KKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltID0gZGl2LmFuaW1hdGUoeyBv
cGFjaXR5OiBbIDAsIDEgXSB9LCB7IGRlbGF5OiAxIH0pOworICBhc3NlcnRfZXF1YWxzKGFuaW0u
ZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0ZXJhdGlvbiwgbnVsbCk7CisgIGFu
aW0uZmluaXNoZWQudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1
YWxzKGFuaW0uZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuY3VycmVudEl0ZXJhdGlvbiwgbnVs
bCk7CisgICAgdC5kb25lKCk7CisgIH0pKTsKK30sICdUZXN0IGN1cnJlbnRJdGVyYXRpb24gZHVy
aW5nIGJlZm9yZSBhbmQgYWZ0ZXIgcGhhc2Ugd2hlbiBmaWxsIGlzIG5vbmUnKTsKKworCisvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLy8KKy8vIFplcm8gaXRlcmF0aW9uIGR1cmF0aW9uIHRlc3RzCisvLworLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKworcnVuVGVzdHMoWworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9u
czogMCwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAg
ICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAg
ICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKwor
ICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwKKyAgICAgICAgICAgICAgICBpdGVy
YXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAg
ICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJl
Zm9yZTogMCwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVy
YXRpb25zOiAwLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAg
ICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAg
ICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6
IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwKKyAgICAgICAg
ICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAw
LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3Ro
JyB9LAorICAgIGJlZm9yZTogMiwKKyAgICBhZnRlcjogMgorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAy
LjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxh
eTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDIsCisg
ICAgYWZ0ZXI6IDIKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwK
KyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1
cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAg
ICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDIsCisgICAgYWZ0ZXI6IDIKKyAgfSwK
KworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwKKyAgICAgICAgICAgICAgICBp
dGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAg
ICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBi
ZWZvcmU6IDMsCisgICAgYWZ0ZXI6IDMKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogMCwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMywKKyAgICAgICAg
ICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAg
ICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMywKKyAgICBhZnRlcjogMwor
ICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAwLAorICAgICAgICAgICAg
ICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBJbmZpbml0
eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90
aCcgfSwKKyAgICBiZWZvcmU6IDMsCisgICAgYWZ0ZXI6IDMKKyAgfQorXSwgJ1Rlc3QgemVybyBp
dGVyYXRpb25zJyk7CisKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBUZXN0cyB3aGVyZSB0aGUg
aXRlcmF0aW9uIGNvdW50IGlzIGFuIGludGVnZXIKKy8vCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitydW5U
ZXN0cyhbCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLAorICAgICAgICAgICAg
ICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAg
ICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAor
ICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMgorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAg
eyBpdGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAg
ICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisg
ICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2
ZTogMCwKKyAgICBhZnRlcjogMgorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRp
b25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAg
ICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAg
ICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAw
CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMsCisgICAgICAgICAg
ICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwK
KyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcg
fSwKKyAgICBiZWZvcmU6IDIsCisgICAgYWZ0ZXI6IDUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6
ICAgIHsgaXRlcmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41
LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6
IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAyLAorICAg
IGFjdGl2ZTogMiwKKyAgICBhZnRlcjogNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBp
dGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAg
ICAgICAgICAgICAgZHVyYXRpb246IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAx
LAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMiwKKyAgICBh
Y3RpdmU6IDIKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMywKKyAg
ICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlv
bjogMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAn
Ym90aCcgfSwKKyAgICBiZWZvcmU6IDMsCisgICAgYWZ0ZXI6IDUKKyAgfSwKKworICB7CisgICAg
aW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFy
dDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRl
bGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMywK
KyAgICBhY3RpdmU6IDMsCisgICAgYWZ0ZXI6IDUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAg
IHsgaXRlcmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMywKKyAg
ICAgICAgICAgICAgICBkdXJhdGlvbjogSW5maW5pdHksCisgICAgICAgICAgICAgICAgZGVsYXk6
IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAzLAorICAg
IGFjdGl2ZTogMworICB9CitdLCAnVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnMnKTsKKworCisvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLy8KKy8vIFRlc3RzIHdoZXJlIHRoZSBpdGVyYXRpb24gY291bnQgaXMgYSBm
cmFjdGlvbgorLy8KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3J1blRlc3RzKFsKKyAgeworICAgIGlucHV0
OiAgICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDog
MCwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBkZWxheTog
MSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAg
YWZ0ZXI6IDMKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMy41LAor
ICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0
aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmls
bDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRlcjog
MworICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLjUsCisgICAgICAg
ICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IElu
ZmluaXR5LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6
ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAKKyAgfSwKKworICB7Cisg
ICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlv
blN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDAsCisgICAgICAgICAgICAg
ICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3Jl
OiAyLAorICAgIGFmdGVyOiA1CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlv
bnM6IDMuNSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAg
ICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAg
ICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAyLAorICAgIGFjdGl2ZTogMiwK
KyAgICBhZnRlcjogNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAz
LjUsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIuNSwKKyAgICAgICAgICAgICAg
ICBkdXJhdGlvbjogSW5maW5pdHksCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAg
ICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAyLAorICAgIGFjdGl2ZTogMgor
ICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLjUsCisgICAgICAgICAg
ICAgICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDAsCisg
ICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0s
CisgICAgYmVmb3JlOiAzLAorICAgIGFmdGVyOiA2CisgIH0sCisKKyAgeworICAgIGlucHV0OiAg
ICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMywK
KyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAx
LAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMywKKyAgICBh
Y3RpdmU6IDMsCisgICAgYWZ0ZXI6IDYKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAg
ICAgICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwK
KyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDMsCisgICAgYWN0
aXZlOiAzCisgIH0KK10sICdUZXN0IGZyYWN0aW9uYWwgaXRlcmF0aW9ucycpOworCisKKy8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisvLworLy8gVGVzdHMgd2hlcmUgdGhlIGl0ZXJhdGlvbiBjb3VudCBpcyBJbmZp
bml0eQorLy8KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3J1blRlc3RzKFsKKyAgeworICAgIGlucHV0OiAg
ICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0
OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5
OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAg
ICBhZnRlcjogSW5maW5pdHkKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9u
czogSW5maW5pdHksCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAg
ICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAg
ICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAw
CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAg
ICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAgIGR1cmF0aW9u
OiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBm
aWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwCisgIH0sCisKKyAg
eworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAgICAgICAgICAgICAg
IGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDAsCisgICAg
ICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisg
ICAgYmVmb3JlOiAyLAorICAgIGFmdGVyOiBJbmZpbml0eQorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBpdGVyYXRpb25zOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25T
dGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAg
ICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3Jl
OiAyLAorICAgIGFjdGl2ZTogMgorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRp
b25zOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAg
ICAgICAgICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTog
MSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDIsCisgICAg
YWN0aXZlOiAyCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmlu
aXR5LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAgICAg
IGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAg
IGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMywKKyAgICBhZnRlcjogSW5maW5pdHkKKyAg
fSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogSW5maW5pdHksCisgICAgICAg
ICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEw
MCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90
aCcgfSwKKyAgICBiZWZvcmU6IDMsCisgICAgYWN0aXZlOiAzCisgIH0sCisKKyAgeworICAgIGlu
cHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlv
blN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAg
ICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBi
ZWZvcmU6IDMsCisgICAgYWN0aXZlOiAzCisgIH0KK10sICdUZXN0IGluZmluaXR5IGl0ZXJhdGlv
bnMnKTsKKworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIEVuZCBkZWxheSB0ZXN0cworLy8KKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisKK3J1blRlc3RzKFsKKyAgeworICAgIGlucHV0OiAgICB7IGR1cmF0aW9u
OiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDog
J2JvdGgnLAorICAgICAgICAgICAgICAgIGVuZERlbGF5OiA1MCB9LAorICAgIGJlZm9yZTogMCwK
KyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAg
IHsgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAg
ICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC01MCB9LAorICAg
IGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7Cisg
ICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwK
KyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6
IC0xMDAgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAorICAgIGFmdGVyOiAwCisg
IH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAg
ICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAg
ICAgIGVuZERlbGF5OiAtMjAwIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAg
ICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25TdGFydDog
MC41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVs
YXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgIGVu
ZERlbGF5OiA1MCB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6
IDEKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uU3RhcnQ6IDAuNSwKKyAg
ICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAor
ICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICBlbmREZWxheTog
LTUwIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRlcjogMQorICB9
LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25TdGFydDogMC41LAorICAgICAgICAg
ICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAg
ICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtMTAwIH0s
CisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRlcjogMAorICB9LAorCisg
IHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAyLAorICAgICAgICAgICAgICAgIGR1cmF0
aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmls
bDogJ2JvdGgnLAorICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtMTAwIH0sCisgICAgYmVmb3Jl
OiAwLAorICAgIGFjdGl2ZTogMCwKKyAgICBhZnRlcjogMQorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBpdGVyYXRpb25zOiAxLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAy
LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6
IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgIGVuZERl
bGF5OiAtNTAgfSwKKyAgICBiZWZvcmU6IDIsCisgICAgYWN0aXZlOiAyLAorICAgIGFmdGVyOiAy
CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDEsCisgICAgICAgICAg
ICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwK
KyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcs
CisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC0xMDAgfSwKKyAgICBiZWZvcmU6IDIsCisgICAg
YWN0aXZlOiAyLAorICAgIGFmdGVyOiAyCisgIH0sCitdLCAnVGVzdCBlbmQgZGVsYXknKTsKKwor
CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIE5lZ2F0aXZlIHBsYXliYWNrIHJhdGUgdGVzdHMKKy8v
CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorCitydW5UZXN0cyhbCisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJh
dGlvbjogMSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxs
OiAnYm90aCcgfSwKKyAgICBwbGF5YmFja1JhdGU6IC0xLAorICAgIGJlZm9yZTogMCwKKyAgICBh
Y3RpdmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgZHVy
YXRpb246IDEsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgaXRl
cmF0aW9uczogMiwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBwbGF5YmFj
a1JhdGU6IC0xLAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDEsCisgICAgYWZ0ZXI6IDEK
KyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDAsCisgICAgICAgICAgICAg
ICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgcGxheWJh
Y2tSYXRlOiAtMSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7Cisg
ICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDAsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uczog
MCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90
aCcgfSwKKyAgICBwbGF5YmFja1JhdGU6IC0xLAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjog
MAorICB9LAorXSwgJ1Rlc3QgbmVnYXRpdmUgcGxheWJhY2sgcmF0ZScpOworCis8L3NjcmlwdD4K
KzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9sb2NhbC10aW1lLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b24tZWZmZWN0cy9sb2NhbC10aW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2MxODJmOGJj
MGZhOGEzNmJlZWJhYWEyNGI3M2JkMTgyOWQyZDBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZl
Y3RzL2xvY2FsLXRpbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIExvY2Fs
IHRpbWUgaXMgY3VycmVudCB0aW1lIGZvciBhbmltYXRpb24gZWZmZWN0cyBhc3NvY2lhdGVkIHdp
dGggYW4gYW5pbWF0aW9uIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwICogTVNfUEVSX1NFQyknLCAnY3JlYXRl
RGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgTG9jYWwgdGltZSBpcyB1bnJlc29s
dmVkIGZvciBhbmltYXRpb24gZWZmZWN0cyBub3QgYXNzb2NpYXRlZCB3aXRoIGFuIGFuaW1hdGlv
biBlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0
LmdldENvbXB1dGVkVGltaW5nKCknLCAnZWZmZWN0LmdldENvbXB1dGVkVGltaW5nJyBpcyB1bmRl
ZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9sb2NhbC10aW1lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVj
dHMvbG9jYWwtdGltZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxYzFlZDQwMWM5NWQzMDU5ODVjMzEzMDUz
NDI5MjhjZGFmYzYyYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvbG9jYWwtdGltZS5o
dG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYt
OD4KKzx0aXRsZT5BbmltYXRpb25FZmZlY3QgbG9jYWwgdGltZSB0ZXN0czwvdGl0bGU+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8j
bG9jYWwtdGltZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
YW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwICogTVNfUEVSX1NFQyk7CisgIGZv
ciAodmFyIHNlY29uZHMgb2YgWy0xLCAwLCA1LCAxMCwgMjBdKSB7CisgICAgYW5pbS5jdXJyZW50
VGltZSA9IHNlY29uZHMgKiBNU19QRVJfU0VDOworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5lZmZl
Y3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5sb2NhbFRpbWUsIHNlY29uZHMgKiBNU19QRVJfU0VDKTsK
KyAgfQorfSwgJ0xvY2FsIHRpbWUgaXMgY3VycmVudCB0aW1lIGZvciBhbmltYXRpb24gZWZmZWN0
cyBhc3NvY2lhdGVkIHdpdGggYW4gYW5pbWF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAg
KiBNU19QRVJfU0VDKTsKKyAgYXNzZXJ0X2VxdWFscyhlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmco
KS5sb2NhbFRpbWUsIG51bGwpOworfSwgJ0xvY2FsIHRpbWUgaXMgdW5yZXNvbHZlZCBmb3IgYW5p
bWF0aW9uIGVmZmVjdHMgbm90IGFzc29jaWF0ZWQgd2l0aCBhbiBhbmltYXRpb24nKTsKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvcGhhc2VzLWFuZC1zdGF0ZXMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL3BoYXNlcy1hbmQtc3RhdGVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wOWJiOWMwMTk3M2UwNTMxMzY3ODU4ZGZhMGZiNDJiMjcxZWM2NDYyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL3BoYXNlcy1hbmQtc3RhdGVzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACisKK0ZBSUwgUGhhc2UgY2FsY3VsYXRpb24gZm9yIGEgc2ltcGxlIGFu
aW1hdGlvbiBlZmZlY3QgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgUGhhc2UgY2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBl
ZmZlY3Qgd2l0aCBhIHBvc2l0aXZlIHN0YXJ0IGRlbGF5IGNyZWF0ZURpdih0KS5hbmltYXRlIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRp
b246IDEsIGRlbGF5OiAxIH0pJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFBoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBhbmltYXRpb24gZWZmZWN0IHdpdGggYSBu
ZWdhdGl2ZSBzdGFydCBkZWxheSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxLCBkZWxheTog
LTEgfSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgUGhhc2Ug
Y2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBhIHBvc2l0aXZlIGVuZCBk
ZWxheSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVE
aXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxLCBlbmREZWxheTogMSB9KScsICdjcmVh
dGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBQaGFzZSBjYWxjdWxhdGlvbiBm
b3IgYW4gYW5pbWF0aW9uIGVmZmVjdCB3aXRoIGEgbmVnYXRpdmUgZW5kIGRlbGF5IGxlc3NlciBp
biBtYWduaXR1ZGUgdGhhbiB0aGUgYWN0aXZlIGR1cmF0aW9uIGNyZWF0ZURpdih0KS5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVy
YXRpb246IDIsIGVuZERlbGF5OiAtMSB9KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYW4gYW5pbWF0aW9uIGVmZmVjdCB3
aXRoIGEgbmVnYXRpdmUgZW5kIGRlbGF5IGVxdWFsIGluIG1hZ25pdHVkZSB0byB0aGUgYWN0aXZl
IGR1cmF0aW9uIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEsIGVuZERlbGF5OiAtMSB9KScs
ICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBQaGFzZSBjYWxjdWxh
dGlvbiBmb3IgYW4gYW5pbWF0aW9uIGVmZmVjdCB3aXRoIGEgbmVnYXRpdmUgZW5kIGRlbGF5IGdy
ZWF0ZXIgaW4gbWFnbml0dWRlIHRoYW4gdGhlIGFjdGl2ZSBkdXJhdGlvbiBjcmVhdGVEaXYodCku
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxs
LCB7IGR1cmF0aW9uOiAxLCBlbmREZWxheTogLTIgfSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgUGhhc2UgY2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBl
ZmZlY3Qgd2l0aCBhIHBvc2l0aXZlIHN0YXJ0IGRlbGF5IGFuZCBhIG5lZ2F0aXZlIGVuZCBkZWxh
eSBsZXNzZXIgaW4gbWFnbml0dWRlIHRoYW4gdGhlIGFjdGl2ZSBkdXJhdGlvbiB1bmRlZmluZWQg
aXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLmNyZWF0ZURpdih0KS5hbmltYXRlLi4uJykKK0ZB
SUwgUGhhc2UgY2FsY3VsYXRpb24gZm9yIGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBhIG5lZ2F0
aXZlIHN0YXJ0IGRlbGF5IGFuZCBhIG5lZ2F0aXZlIGVuZCBkZWxheSBlcXVhbCBpbiBtYWduaXR1
ZGUgdG8gdGhlIGFjdGl2ZSBkdXJhdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5l
YXIgJy4uLmNyZWF0ZURpdih0KS5hbmltYXRlLi4uJykKK0ZBSUwgUGhhc2UgY2FsY3VsYXRpb24g
Zm9yIGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBhIG5lZ2F0aXZlIHN0YXJ0IGRlbGF5IGFuZCBh
IG5lZ2F0aXZlIGVuZCBkZWxheSBlcXVhbCBncmVhdGVyIGluIG1hZ25pdHVkZSB0aGFuIHRoZSBh
Y3RpdmUgZHVyYXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi5jcmVh
dGVEaXYodCkuYW5pbWF0ZS4uLicpCitGQUlMIFBoYXNlIGNhbGN1bGF0aW9uIGZvciBhIHNpbXBs
ZSBhbmltYXRpb24gZWZmZWN0IHdpdGggbmVnYXRpdmUgcGxheWJhY2sgcmF0ZSBjcmVhdGVEaXYo
dCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsLCAxKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9uLWVmZmVjdHMvcGhhc2VzLWFuZC1zdGF0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0cy9waGFzZXMt
YW5kLXN0YXRlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkYzMyMDY2ZmVhNzhlOTM1ODUwZWUzNjE3MjUw
MjE2ZjE1YWM4MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvcGhhc2VzLWFuZC1zdGF0
ZXMuaHRtbApAQCAtMCwwICsxLDE5MSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBwaGFzZXMgYW5kIHN0YXRlczwvdGl0bGU+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8j
YW5pbWF0aW9uLWVmZmVjdC1waGFzZXMtYW5kLXN0YXRlcyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0
PgorJ3VzZSBzdHJpY3QnOworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIFBoYXNlcworLy8KKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisKK2Z1bmN0aW9uIGFzc2VydF9waGFzZV9hdF90aW1lKGFuaW1hdGlvbiwg
cGhhc2UsIGN1cnJlbnRUaW1lKSB7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IGN1cnJlbnRU
aW1lOworCisgIGlmIChwaGFzZSA9PT0gJ2FjdGl2ZScpIHsKKyAgICAvLyBJZiB0aGUgZmlsbCBt
b2RlIGlzICdub25lJywgdGhlbiBwcm9ncmVzcyB3aWxsIG9ubHkgYmUgbm9uLW51bGwgaWYgd2UK
KyAgICAvLyBhcmUgaW4gdGhlIGFjdGl2ZSBwaGFzZS4KKyAgICBhbmltYXRpb24uZWZmZWN0LnRp
bWluZy5maWxsID0gJ25vbmUnOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFuaW1hdGlvbi5lZmZl
Y3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgbnVsbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAnQW5pbWF0aW9uIGVmZmVjdCBpcyBpbiBhY3RpdmUgcGhhc2Ugd2hlbiBjdXJyZW50IHRp
bWUnCisgICAgICAgICAgICAgICAgICAgICAgKyAnIGlzICcgKyBjdXJyZW50VGltZSArICdtcycp
OworICB9IGVsc2UgeworICAgIC8vIFRoZSBlYXNpZXN0IHdheSB0byBkaXN0aW5ndWlzaCBiZXR3
ZWVuIHRoZSAnYmVmb3JlJyBwaGFzZSBhbmQgdGhlICdhZnRlcicKKyAgICAvLyBwaGFzZSBpcyB0
byB0b2dnbGUgdGhlIGZpbGwgbW9kZS4gRm9yIGV4YW1wbGUsIGlmIHRoZSBwcm9ncmVzcyBpcyBu
dWxsCisgICAgLy8gd2lsbCB0aGUgZmlsbCBub2RlIGlzICdub25lJyBidXQgbm9uLW51bGwgd2hl
biB0aGUgZmlsbCBtb2RlIGlzCisgICAgLy8gJ2JhY2t3YXJkcycgdGhlbiB3ZSBhcmUgaW4gdGhl
IGJlZm9yZSBwaGFzZS4KKyAgICBhbmltYXRpb24uZWZmZWN0LnRpbWluZy5maWxsID0gJ25vbmUn
OworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygp
LnByb2dyZXNzLCBudWxsLAorICAgICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBlZmZlY3QgaXMg
aW4gJyArIHBoYXNlICsgJyBwaGFzZSB3aGVuIGN1cnJlbnQgdGltZScKKyAgICAgICAgICAgICAg
ICAgICsgJyBpcyAnICsgY3VycmVudFRpbWUgKyAnbXMnCisgICAgICAgICAgICAgICAgICArICcg
KHByb2dyZXNzIGlzIG51bGwgd2l0aCBcJ25vbmVcJyBmaWxsIG1vZGUpJyk7CisKKyAgICBhbmlt
YXRpb24uZWZmZWN0LnRpbWluZy5maWxsID0gcGhhc2UgPT09ICdiZWZvcmUnCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2JhY2t3YXJkcycKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiAnZm9yd2FyZHMnOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFu
aW1hdGlvbi5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9ncmVzcywgbnVsbCwKKyAgICAg
ICAgICAgICAgICAgICAgICAnQW5pbWF0aW9uIGVmZmVjdCBpcyBpbiAnICsgcGhhc2UgKyAnIHBo
YXNlIHdoZW4gY3VycmVudCcKKyAgICAgICAgICAgICAgICAgICAgICArICcgdGltZSBpcyAnICsg
Y3VycmVudFRpbWUgKyAnbXMnCisgICAgICAgICAgICAgICAgICAgICAgKyAnIChwcm9ncmVzcyBp
cyBub24tbnVsbCB3aXRoIGFwcHJvcHJpYXRlIGZpbGwgbW9kZSknKTsKKyAgfQorfQorCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51
bGwsIDEpOworCisgIFsgeyBjdXJyZW50VGltZTogLTEsIHBoYXNlOiAnYmVmb3JlJyB9LAorICAg
IHsgY3VycmVudFRpbWU6ICAwLCBwaGFzZTogJ2FjdGl2ZScgfSwKKyAgICB7IGN1cnJlbnRUaW1l
OiAgMSwgcGhhc2U6ICdhZnRlcicgIH0gXQorICAuZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7Cisg
ICAgYXNzZXJ0X3BoYXNlX2F0X3RpbWUoYW5pbWF0aW9uLCB0ZXN0LnBoYXNlLCB0ZXN0LmN1cnJl
bnRUaW1lKTsKKyAgfSk7Cit9LCAnUGhhc2UgY2FsY3VsYXRpb24gZm9yIGEgc2ltcGxlIGFuaW1h
dGlvbiBlZmZlY3QnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBj
cmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxLCBkZWxheTogMSB9KTsKKwor
ICBbIHsgY3VycmVudFRpbWU6IDAsIHBoYXNlOiAnYmVmb3JlJyB9LAorICAgIHsgY3VycmVudFRp
bWU6IDEsIHBoYXNlOiAnYWN0aXZlJyB9LAorICAgIHsgY3VycmVudFRpbWU6IDIsIHBoYXNlOiAn
YWZ0ZXInICB9IF0KKyAgLmZvckVhY2goZnVuY3Rpb24odGVzdCkgeworICAgIGFzc2VydF9waGFz
ZV9hdF90aW1lKGFuaW1hdGlvbiwgdGVzdC5waGFzZSwgdGVzdC5jdXJyZW50VGltZSk7CisgIH0p
OworfSwgJ1BoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBhbmltYXRpb24gZWZmZWN0IHdpdGggYSBw
b3NpdGl2ZSBzdGFydCBkZWxheScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1h
dGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246IDEsIGRlbGF5OiAt
MSB9KTsKKworICBbIHsgY3VycmVudFRpbWU6IC0yLCBwaGFzZTogJ2JlZm9yZScgfSwKKyAgICB7
IGN1cnJlbnRUaW1lOiAtMSwgcGhhc2U6ICdiZWZvcmUnIH0sCisgICAgeyBjdXJyZW50VGltZTog
IDAsIHBoYXNlOiAnYWZ0ZXInICB9IF0KKyAgLmZvckVhY2goZnVuY3Rpb24odGVzdCkgeworICAg
IGFzc2VydF9waGFzZV9hdF90aW1lKGFuaW1hdGlvbiwgdGVzdC5waGFzZSwgdGVzdC5jdXJyZW50
VGltZSk7CisgIH0pOworfSwgJ1BoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBhbmltYXRpb24gZWZm
ZWN0IHdpdGggYSBuZWdhdGl2ZSBzdGFydCBkZWxheScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsgZHVyYXRpb246
IDEsIGVuZERlbGF5OiAxIH0pOworCisgIFsgeyBjdXJyZW50VGltZTogLTEsIHBoYXNlOiAnYmVm
b3JlJyB9LAorICAgIHsgY3VycmVudFRpbWU6ICAwLCBwaGFzZTogJ2FjdGl2ZScgfSwKKyAgICB7
IGN1cnJlbnRUaW1lOiAgMSwgcGhhc2U6ICdhZnRlcicgIH0sCisgICAgeyBjdXJyZW50VGltZTog
IDIsIHBoYXNlOiAnYWZ0ZXInICB9IF0KKyAgLmZvckVhY2goZnVuY3Rpb24odGVzdCkgeworICAg
IGFzc2VydF9waGFzZV9hdF90aW1lKGFuaW1hdGlvbiwgdGVzdC5waGFzZSwgdGVzdC5jdXJyZW50
VGltZSk7CisgIH0pOworfSwgJ1BoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBhbmltYXRpb24gZWZm
ZWN0IHdpdGggYSBwb3NpdGl2ZSBlbmQgZGVsYXknKTsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAy
LCBlbmREZWxheTogLTEgfSk7CisKKyAgWyB7IGN1cnJlbnRUaW1lOiAtMSwgICBwaGFzZTogJ2Jl
Zm9yZScgfSwKKyAgICB7IGN1cnJlbnRUaW1lOiAgMCwgICBwaGFzZTogJ2FjdGl2ZScgfSwKKyAg
ICB7IGN1cnJlbnRUaW1lOiAgMC45LCBwaGFzZTogJ2FjdGl2ZScgfSwKKyAgICB7IGN1cnJlbnRU
aW1lOiAgMSwgICBwaGFzZTogJ2FmdGVyJyAgfSBdCisgIC5mb3JFYWNoKGZ1bmN0aW9uKHRlc3Qp
IHsKKyAgICBhc3NlcnRfcGhhc2VfYXRfdGltZShhbmltYXRpb24sIHRlc3QucGhhc2UsIHRlc3Qu
Y3VycmVudFRpbWUpOworICB9KTsKK30sICdQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYW4gYW5pbWF0
aW9uIGVmZmVjdCB3aXRoIGEgbmVnYXRpdmUgZW5kIGRlbGF5IGxlc3NlcicKKyAgICsgJyBpbiBt
YWduaXR1ZGUgdGhhbiB0aGUgYWN0aXZlIGR1cmF0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgeyBkdXJhdGlv
bjogMSwgZW5kRGVsYXk6IC0xIH0pOworCisgIFsgeyBjdXJyZW50VGltZTogLTEsIHBoYXNlOiAn
YmVmb3JlJyB9LAorICAgIHsgY3VycmVudFRpbWU6ICAwLCBwaGFzZTogJ2FmdGVyJyAgfSwKKyAg
ICB7IGN1cnJlbnRUaW1lOiAgMSwgcGhhc2U6ICdhZnRlcicgIH0gXQorICAuZm9yRWFjaChmdW5j
dGlvbih0ZXN0KSB7CisgICAgYXNzZXJ0X3BoYXNlX2F0X3RpbWUoYW5pbWF0aW9uLCB0ZXN0LnBo
YXNlLCB0ZXN0LmN1cnJlbnRUaW1lKTsKKyAgfSk7Cit9LCAnUGhhc2UgY2FsY3VsYXRpb24gZm9y
IGFuIGFuaW1hdGlvbiBlZmZlY3Qgd2l0aCBhIG5lZ2F0aXZlIGVuZCBkZWxheSBlcXVhbCcKKyAg
ICsgJyBpbiBtYWduaXR1ZGUgdG8gdGhlIGFjdGl2ZSBkdXJhdGlvbicpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIHsg
ZHVyYXRpb246IDEsIGVuZERlbGF5OiAtMiB9KTsKKworICBbIHsgY3VycmVudFRpbWU6IC0yLCBw
aGFzZTogJ2JlZm9yZScgfSwKKyAgICB7IGN1cnJlbnRUaW1lOiAtMSwgcGhhc2U6ICdiZWZvcmUn
IH0sCisgICAgeyBjdXJyZW50VGltZTogIDAsIHBoYXNlOiAnYWZ0ZXInICB9IF0KKyAgLmZvckVh
Y2goZnVuY3Rpb24odGVzdCkgeworICAgIGFzc2VydF9waGFzZV9hdF90aW1lKGFuaW1hdGlvbiwg
dGVzdC5waGFzZSwgdGVzdC5jdXJyZW50VGltZSk7CisgIH0pOworfSwgJ1BoYXNlIGNhbGN1bGF0
aW9uIGZvciBhbiBhbmltYXRpb24gZWZmZWN0IHdpdGggYSBuZWdhdGl2ZSBlbmQgZGVsYXknCisg
ICArICcgZ3JlYXRlciBpbiBtYWduaXR1ZGUgdGhhbiB0aGUgYWN0aXZlIGR1cmF0aW9uJyk7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1h
dGUobnVsbCwgeyBkdXJhdGlvbjogMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtMSB9KTsKKworICBbIHsgY3VycmVudFRpbWU6IDAs
IHBoYXNlOiAnYmVmb3JlJyB9LAorICAgIHsgY3VycmVudFRpbWU6IDEsIHBoYXNlOiAnYWN0aXZl
JyB9LAorICAgIHsgY3VycmVudFRpbWU6IDIsIHBoYXNlOiAnYWZ0ZXInICB9IF0KKyAgLmZvckVh
Y2goZnVuY3Rpb24odGVzdCkgeworICAgIGFzc2VydF9waGFzZV9hdF90aW1lKGFuaW1hdGlvbiwg
dGVzdC5waGFzZSwgdGVzdC5jdXJyZW50VGltZSk7CisgIH0pOworfSwgJ1BoYXNlIGNhbGN1bGF0
aW9uIGZvciBhbiBhbmltYXRpb24gZWZmZWN0IHdpdGggYSBwb3NpdGl2ZSBzdGFydCBkZWxheScK
KyAgICsgJyBhbmQgYSBuZWdhdGl2ZSBlbmQgZGVsYXkgbGVzc2VyIGluIG1hZ25pdHVkZSB0aGFu
IHRoZSBhY3RpdmUgZHVyYXRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmlt
YXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheTogLTEsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtMSB9
KTsKKworICBbIHsgY3VycmVudFRpbWU6IC0yLCBwaGFzZTogJ2JlZm9yZScgfSwKKyAgICB7IGN1
cnJlbnRUaW1lOiAtMSwgcGhhc2U6ICdiZWZvcmUnIH0sCisgICAgeyBjdXJyZW50VGltZTogIDAs
IHBoYXNlOiAnYWZ0ZXInICB9IF0KKyAgLmZvckVhY2goZnVuY3Rpb24odGVzdCkgeworICAgIGFz
c2VydF9waGFzZV9hdF90aW1lKGFuaW1hdGlvbiwgdGVzdC5waGFzZSwgdGVzdC5jdXJyZW50VGlt
ZSk7CisgIH0pOworfSwgJ1BoYXNlIGNhbGN1bGF0aW9uIGZvciBhbiBhbmltYXRpb24gZWZmZWN0
IHdpdGggYSBuZWdhdGl2ZSBzdGFydCBkZWxheScKKyAgICsgJyBhbmQgYSBuZWdhdGl2ZSBlbmQg
ZGVsYXkgZXF1YWwgaW4gbWFnbml0dWRlIHRvIHRoZSBhY3RpdmUgZHVyYXRpb24nKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsLCB7IGR1cmF0aW9uOiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkZWxheTogLTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVuZERlbGF5OiAtMiB9KTsKKworICBbIHsgY3VycmVudFRpbWU6IC0zLCBw
aGFzZTogJ2JlZm9yZScgfSwKKyAgICB7IGN1cnJlbnRUaW1lOiAtMiwgcGhhc2U6ICdiZWZvcmUn
IH0sCisgICAgeyBjdXJyZW50VGltZTogLTEsIHBoYXNlOiAnYmVmb3JlJyB9LAorICAgIHsgY3Vy
cmVudFRpbWU6ICAwLCBwaGFzZTogJ2FmdGVyJyAgfSBdCisgIC5mb3JFYWNoKGZ1bmN0aW9uKHRl
c3QpIHsKKyAgICBhc3NlcnRfcGhhc2VfYXRfdGltZShhbmltYXRpb24sIHRlc3QucGhhc2UsIHRl
c3QuY3VycmVudFRpbWUpOworICB9KTsKK30sICdQaGFzZSBjYWxjdWxhdGlvbiBmb3IgYW4gYW5p
bWF0aW9uIGVmZmVjdCB3aXRoIGEgbmVnYXRpdmUgc3RhcnQgZGVsYXknCisgICArICcgYW5kIGEg
bmVnYXRpdmUgZW5kIGRlbGF5IGVxdWFsIGdyZWF0ZXIgaW4gbWFnbml0dWRlIHRoYW4gdGhlIGFj
dGl2ZScKKyAgICsgJyBkdXJhdGlvbicpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFu
aW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEpOworICBhbmltYXRpb24ucGxh
eWJhY2tSYXRlID0gLTE7CisKKyAgWyB7IGN1cnJlbnRUaW1lOiAtMSwgcGhhc2U6ICdiZWZvcmUn
IH0sCisgICAgeyBjdXJyZW50VGltZTogIDAsIHBoYXNlOiAnYmVmb3JlJyB9LAorICAgIHsgY3Vy
cmVudFRpbWU6ICAxLCBwaGFzZTogJ2FjdGl2ZScgfSwKKyAgICB7IGN1cnJlbnRUaW1lOiAgMiwg
cGhhc2U6ICdhZnRlcicgIH0gXQorICAuZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7CisgICAgYXNz
ZXJ0X3BoYXNlX2F0X3RpbWUoYW5pbWF0aW9uLCB0ZXN0LnBoYXNlLCB0ZXN0LmN1cnJlbnRUaW1l
KTsKKyAgfSk7Cit9LCAnUGhhc2UgY2FsY3VsYXRpb24gZm9yIGEgc2ltcGxlIGFuaW1hdGlvbiBl
ZmZlY3Qgd2l0aCBuZWdhdGl2ZSBwbGF5YmFjaycKKyAgICsgJyByYXRlJyk7CisKKzwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL3NpbXBsZS1pdGVyYXRpb24tcHJvZ3Jl
c3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGlt
aW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL3NpbXBsZS1pdGVyYXRpb24tcHJvZ3Jlc3MtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NGVjZmMxZWYyNDQ5M2ZhNzI1Yzg4YzUxYzlhMWM5YmVm
MjVhZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMvc2ltcGxlLWl0ZXJhdGlvbi1wcm9n
cmVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MSBAQAorCitGQUlMIFRlc3QgemVybyBpdGVy
YXRpb25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjowIGRlbGF5OjEg
ZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRl
KHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRpb25TdGFydDowIGR1
cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgemVybyBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjAg
aXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRl
c3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgemVybyBp
dGVyYXRpb25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6Mi41IGR1cmF0aW9uOjAgZGVs
YXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBUZXN0IHplcm8gaXRlcmF0aW9uczogaXRlcmF0aW9uczowIGl0ZXJhdGlvblN0YXJ0
OjIuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYu
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IHplcm8gaXRlcmF0aW9uczogaXRlcmF0
aW9uczowIGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6
Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwg
Y3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRl
c3QgemVybyBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlv
bjowIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCB6ZXJvIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MCBpdGVyYXRp
b25TdGFydDozIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywg
J2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgemVybyBpdGVyYXRpb25zOiBp
dGVyYXRpb25zOjAgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZp
bGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6MCBk
dXJhdGlvbjowIGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBpbnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6
MyBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3Qu
aW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBp
dGVyYXRpb25zOiBpdGVyYXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjpJbmZpbml0
eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMgaXRlcmF0
aW9uU3RhcnQ6Mi41IGR1cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScs
ICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGludGVnZXIgaXRlcmF0aW9u
czogaXRlcmF0aW9uczozIGl0ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBm
aWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUo
e30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBUZXN0IGludGVnZXIgaXRlcmF0aW9uczogaXRlcmF0aW9uczozIGl0ZXJhdGlvblN0YXJ0OjIu
NSBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rp
di5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBp
dGVyYXRpb25zOjMgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjowIGRlbGF5OjEgZmlsbDpib3Ro
IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJy
ZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBp
bnRlZ2VyIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6MyBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9u
OjEwMCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgaW50ZWdlciBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMgaXRl
cmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3Qu
aW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25h
bCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOjAg
ZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2
LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBUZXN0IGZyYWN0aW9uYWwgaXRlcmF0aW9uczogaXRlcmF0aW9uczozLjUgaXRl
cmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZyYWN0aW9uYWwgaXRl
cmF0aW9uczogaXRlcmF0aW9uczozLjUgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjpJbmZpbml0
eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRl
ZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBp
dGVyYXRpb25TdGFydDoyLjUgZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5w
dXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rpb25hbCBp
dGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDoyLjUgZHVyYXRpb246MTAw
IGRlbGF5OjEgZmlsbDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rp
di5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgVGVzdCBmcmFjdGlvbmFsIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6My41IGl0
ZXJhdGlvblN0YXJ0OjIuNSBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRl
c3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZnJhY3Rp
b25hbCBpdGVyYXRpb25zOiBpdGVyYXRpb25zOjMuNSBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9u
OjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBUZXN0IGZyYWN0aW9uYWwgaXRlcmF0aW9uczogaXRlcmF0aW9uczozLjUg
aXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0Lmlu
cHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGZyYWN0aW9uYWwg
aXRlcmF0aW9uczogaXRlcmF0aW9uczozLjUgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjpJbmZp
bml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZp
bml0eSBpdGVyYXRpb25TdGFydDowIGR1cmF0aW9uOjAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0
LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGluZmluaXR5
IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6SW5maW5pdHkgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlv
bjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBUZXN0IGluZmluaXR5IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6SW5m
aW5pdHkgaXRlcmF0aW9uU3RhcnQ6MCBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90
aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3Vy
cmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3Qg
aW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDoy
LjUgZHVyYXRpb246MCBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0aW9uczogaXRlcmF0
aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDoyLjUgZHVyYXRpb246MTAwIGRlbGF5OjEgZmls
bDpib3RoIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
VGVzdCBpbmZpbml0eSBpdGVyYXRpb25zOiBpdGVyYXRpb25zOkluZmluaXR5IGl0ZXJhdGlvblN0
YXJ0OjIuNSBkdXJhdGlvbjpJbmZpbml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQp
JywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgaW5maW5pdHkgaXRlcmF0
aW9uczogaXRlcmF0aW9uczpJbmZpbml0eSBpdGVyYXRpb25TdGFydDozIGR1cmF0aW9uOjAgZGVs
YXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFu
aW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVk
KQorRkFJTCBUZXN0IGluZmluaXR5IGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbnM6SW5maW5pdHkgaXRl
cmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGluZmluaXR5IGl0ZXJh
dGlvbnM6IGl0ZXJhdGlvbnM6SW5maW5pdHkgaXRlcmF0aW9uU3RhcnQ6MyBkdXJhdGlvbjpJbmZp
bml0eSBkZWxheToxIGZpbGw6Ym90aCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgZW5kIGRlbGF5OiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxs
OmJvdGggZW5kRGVsYXk6NTAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2
LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZp
bmVkKQorRkFJTCBUZXN0IGVuZCBkZWxheTogZHVyYXRpb246MTAwIGRlbGF5OjEgZmlsbDpib3Ro
IGVuZERlbGF5Oi01MCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFRlc3QgZW5kIGRlbGF5OiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5k
RGVsYXk6LTEwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0
ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFRlc3QgZW5kIGRlbGF5OiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVs
YXk6LTIwMCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7
fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgZW5kIGRlbGF5OiBpdGVyYXRpb25TdGFydDowLjUgZHVyYXRpb246MTAwIGRlbGF5OjEg
ZmlsbDpib3RoIGVuZERlbGF5OjUwIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGl0ZXJhdGlvblN0YXJ0OjAuNSBkdXJhdGlv
bjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVsYXk6LTUwIGRpdi5hbmltYXRlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2
LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBlbmQgZGVsYXk6IGl0ZXJhdGlvblN0
YXJ0OjAuNSBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVsYXk6LTEwMCBkaXYu
YW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRl
c3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZW5kIGRl
bGF5OiBpdGVyYXRpb25zOjIgZHVyYXRpb246MTAwIGRlbGF5OjEgZmlsbDpib3RoIGVuZERlbGF5
Oi0xMDAgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30s
IGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBU
ZXN0IGVuZCBkZWxheTogaXRlcmF0aW9uczoxIGl0ZXJhdGlvblN0YXJ0OjIgZHVyYXRpb246MTAw
IGRlbGF5OjEgZmlsbDpib3RoIGVuZERlbGF5Oi01MCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgZW5kIGRlbGF5OiBpdGVyYXRpb25zOjEgaXRl
cmF0aW9uU3RhcnQ6MiBkdXJhdGlvbjoxMDAgZGVsYXk6MSBmaWxsOmJvdGggZW5kRGVsYXk6LTEw
MCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgY3Vy
cmVudFRlc3QuaW5wdXQpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3Qg
bmVnYXRpdmUgcGxheWJhY2sgcmF0ZTogZHVyYXRpb246MSBkZWxheToxIGZpbGw6Ym90aCBwbGF5
YmFja1JhdGU6LTEgZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1h
dGUoe30sIGN1cnJlbnRUZXN0LmlucHV0KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQor
RkFJTCBUZXN0IG5lZ2F0aXZlIHBsYXliYWNrIHJhdGU6IGR1cmF0aW9uOjAgZGVsYXk6MSBmaWxs
OmJvdGggcGxheWJhY2tSYXRlOi0xIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2Rpdi5hbmltYXRlKHt9LCBjdXJyZW50VGVzdC5pbnB1dCknLCAnZGl2LmFuaW1hdGUnIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgVGVzdCBuZWdhdGl2ZSBwbGF5YmFjayByYXRlOiBkdXJhdGlvbjowIGl0
ZXJhdGlvbnM6MCBkZWxheToxIGZpbGw6Ym90aCBwbGF5YmFja1JhdGU6LTEgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIGN1cnJlbnRUZXN0LmlucHV0
KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdHMv
c2ltcGxlLWl0ZXJhdGlvbi1wcm9ncmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL3NpbXBsZS1pdGVyYXRp
b24tcHJvZ3Jlc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDI1M2EwYmQzNTc1OGM3ODAwZjdlYjI3Yjgx
ODZmNGUyZDkxZmRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3RzL3NpbXBsZS1pdGVyYXRp
b24tcHJvZ3Jlc3MuaHRtbApAQCAtMCwwICsxLDYwMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlNpbXBsZSBpdGVyYXRpb24gcHJvZ3Jlc3MgdGVzdHM8
L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIgorICAgICAgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3dlYi1hbmltYXRpb25zLyNzaW1wbGUtaXRlcmF0aW9uLXByb2dyZXNzIj4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZWZmZWN0LXRlc3RzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rp
dj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2Z1bmN0aW9uIHJ1blRlc3RzKHRlc3RzLCBk
ZXNjcmlwdGlvbikgeworICBmb3IgKGNvbnN0IGN1cnJlbnRUZXN0IG9mIHRlc3RzKSB7CisgICAg
bGV0IHRlc3RQYXJhbXMgPSBPYmplY3QuZW50cmllcyhjdXJyZW50VGVzdC5pbnB1dCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKFthdHRyLCB2YWx1ZV0pID0+IGAke2F0dHJ9OiR7
dmFsdWV9YCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKCcgJyk7CisgICAgaWYg
KGN1cnJlbnRUZXN0LnBsYXliYWNrUmF0ZSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICB0ZXN0UGFy
YW1zICs9IGAgcGxheWJhY2tSYXRlOiR7Y3VycmVudFRlc3QucGxheWJhY2tSYXRlfWA7CisgICAg
fQorCisgICAgdGVzdCh0ID0+IHsKKyAgICAgIGNvbnN0IGRpdiA9IGNyZWF0ZURpdih0KTsKKyAg
ICAgIGNvbnN0IGFuaW0gPSBkaXYuYW5pbWF0ZSh7fSwgY3VycmVudFRlc3QuaW5wdXQpOworICAg
ICAgaWYgKGN1cnJlbnRUZXN0LnBsYXliYWNrUmF0ZSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAg
IGFuaW0ucGxheWJhY2tSYXRlID0gY3VycmVudFRlc3QucGxheWJhY2tSYXRlOworICAgICAgfQor
CisgICAgICBhc3NlcnRfY29tcHV0ZWRfdGltaW5nX2Zvcl9lYWNoX3BoYXNlKAorICAgICAgICBh
bmltLAorICAgICAgICAncHJvZ3Jlc3MnLAorICAgICAgICB7IGJlZm9yZTogY3VycmVudFRlc3Qu
YmVmb3JlLAorICAgICAgICAgIGFjdGl2ZUJvdW5kYXJ5OiBjdXJyZW50VGVzdC5hY3RpdmUsCisg
ICAgICAgICAgYWZ0ZXI6IGN1cnJlbnRUZXN0LmFmdGVyIH0sCisgICAgICApOworICAgIH0sIGAk
e2Rlc2NyaXB0aW9ufTogJHt0ZXN0UGFyYW1zfWApOworICB9Cit9CisKKworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy8vCisvLyBaZXJvIGl0ZXJhdGlvbiBkdXJhdGlvbiB0ZXN0cworLy8KKy8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCisKK3J1blRlc3RzKFsKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDAsCisg
ICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisgICAgICAgICAgICAgICAgZHVyYXRp
b246IDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDog
J2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFmdGVyOiAwCisgIH0sCisKKyAgeworICAg
IGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDAsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3Rh
cnQ6IDAsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBk
ZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAs
CisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczog
MCwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAgICBk
dXJhdGlvbjogSW5maW5pdHksCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAg
ICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFmdGVyOiAwCisgIH0s
CisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDAsCisgICAgICAgICAgICAgICAg
aXRlcmF0aW9uU3RhcnQ6IDIuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAg
ICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAg
ICBiZWZvcmU6IDAuNSwKKyAgICBhZnRlcjogMC41CisgIH0sCisKKyAgeworICAgIGlucHV0OiAg
ICB7IGl0ZXJhdGlvbnM6IDAsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIuNSwK
KyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAx
LAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMC41LAorICAg
IGFmdGVyOiAwLjUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwK
KyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1
cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAg
ICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAuNSwKKyAgICBhZnRlcjogMC41Cisg
IH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDAsCisgICAgICAgICAgICAg
ICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDAsCisgICAg
ICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisg
ICAgYmVmb3JlOiAwLAorICAgIGFmdGVyOiAwCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7
IGl0ZXJhdGlvbnM6IDAsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAg
ICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAg
ICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6
IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMCwKKyAgICAgICAg
ICAgICAgICBpdGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogSW5m
aW5pdHksCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDog
J2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFmdGVyOiAwCisgIH0KK10sICdUZXN0IHpl
cm8gaXRlcmF0aW9ucycpOworCisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gVGVzdHMgd2hlcmUg
dGhlIGl0ZXJhdGlvbiBjb3VudCBpcyBhbiBpbnRlZ2VyCisvLworLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
cnVuVGVzdHMoWworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMywKKyAgICAgICAg
ICAgICAgICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwK
KyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcg
fSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDEKKyAgfSwKKworICB7CisgICAgaW5wdXQ6
ICAgIHsgaXRlcmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMCwK
KyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAx
LAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBh
Y3RpdmU6IDAsCisgICAgYWZ0ZXI6IDEKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAg
ICAgICAgICBkdXJhdGlvbjogSW5maW5pdHksCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisg
ICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2
ZTogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLAorICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246
IDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2Jv
dGgnIH0sCisgICAgYmVmb3JlOiAwLjUsCisgICAgYWZ0ZXI6IDAuNQorICB9LAorCisgIHsKKyAg
ICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0
YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAg
ICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6
IDAuNSwKKyAgICBhY3RpdmU6IDAuNSwKKyAgICBhZnRlcjogMC41CisgIH0sCisKKyAgeworICAg
IGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3Rh
cnQ6IDIuNSwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogSW5maW5pdHksCisgICAgICAgICAg
ICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVm
b3JlOiAwLjUsCisgICAgYWN0aXZlOiAwLjUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsg
aXRlcmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMywKKyAgICAg
ICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAg
ICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDEK
KyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMywKKyAgICAgICAgICAg
ICAgICBpdGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAor
ICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9
LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDEKKyAgfSwKKwor
ICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMywKKyAgICAgICAgICAgICAgICBpdGVy
YXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogSW5maW5pdHksCisgICAg
ICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisg
ICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMAorICB9CitdLCAnVGVzdCBpbnRlZ2VyIGl0ZXJh
dGlvbnMnKTsKKworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIFRlc3RzIHdoZXJlIHRoZSBpdGVy
YXRpb24gY291bnQgaXMgYSBmcmFjdGlvbgorLy8KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3J1blRlc3Rz
KFsKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAgICAgICAgICAgICAg
ICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAg
ICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAg
ICBiZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDAuNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAg
eyBpdGVyYXRpb25zOiAzLjUsCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAsCisg
ICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwK
KyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0
aXZlOiAwLAorICAgIGFmdGVyOiAwLjUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAg
ICAgICAgICAgIGR1cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwK
KyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0
aXZlOiAwCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAg
ICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1cmF0
aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6
ICdib3RoJyB9LAorICAgIGJlZm9yZTogMC41LAorICAgIGFmdGVyOiAxCisgIH0sCisKKyAgewor
ICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAgICAgICAgICAgICAgICBpdGVyYXRp
b25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAg
ICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnIH0sCisgICAgYmVm
b3JlOiAwLjUsCisgICAgYWN0aXZlOiAwLjUsCisgICAgYWZ0ZXI6IDEKKyAgfSwKKworICB7Cisg
ICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMy41LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlv
blN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IEluZmluaXR5LAorICAgICAg
ICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAg
IGJlZm9yZTogMC41LAorICAgIGFjdGl2ZTogMC41CisgIH0sCisKKyAgeworICAgIGlucHV0OiAg
ICB7IGl0ZXJhdGlvbnM6IDMuNSwKKyAgICAgICAgICAgICAgICBpdGVyYXRpb25TdGFydDogMywK
KyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwK
KyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWZ0
ZXI6IDAuNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiAzLjUsCisg
ICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisgICAgICAgICAgICAgICAgZHVyYXRp
b246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxs
OiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAorICAgIGFmdGVyOiAw
LjUKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMy41LAorICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBJ
bmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxs
OiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwCisgIH0KK10sICdUZXN0
IGZyYWN0aW9uYWwgaXRlcmF0aW9ucycpOworCisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gVGVz
dHMgd2hlcmUgdGhlIGl0ZXJhdGlvbiBjb3VudCBpcyBJbmZpbml0eQorLy8KKy8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCisKK3J1blRlc3RzKFsKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmlu
aXR5LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLAorICAgICAgICAgICAgICAg
IGR1cmF0aW9uOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAg
IGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMQorICB9LAorCisg
IHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAg
ICBpdGVyYXRpb25TdGFydDogMCwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAg
ICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAor
ICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAg
IHsgaXRlcmF0aW9uczogSW5maW5pdHksCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6
IDAsCisgICAgICAgICAgICAgICAgZHVyYXRpb246IEluZmluaXR5LAorICAgICAgICAgICAgICAg
IGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9LAorICAgIGJlZm9yZTog
MCwKKyAgICBhY3RpdmU6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9u
czogSW5maW5pdHksCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDIuNSwKKyAgICAg
ICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAg
ICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAuNSwKKyAgICBhZnRlcjog
MC41CisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5LAor
ICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLjUsCisgICAgICAgICAgICAgICAgZHVy
YXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBm
aWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAuNSwKKyAgICBhY3RpdmU6IDAuNQorICB9LAor
CisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiBJbmZpbml0eSwKKyAgICAgICAgICAg
ICAgICBpdGVyYXRpb25TdGFydDogMi41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBJbmZp
bml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAn
Ym90aCcgfSwKKyAgICBiZWZvcmU6IDAuNSwKKyAgICBhY3RpdmU6IDAuNQorICB9LAorCisgIHsK
KyAgICBpbnB1dDogICAgeyBpdGVyYXRpb25zOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBp
dGVyYXRpb25TdGFydDogMywKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMCwKKyAgICAgICAg
ICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBi
ZWZvcmU6IDAsCisgICAgYWZ0ZXI6IDEKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgaXRl
cmF0aW9uczogSW5maW5pdHksCisgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDMsCisg
ICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwK
KyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0
aXZlOiAwCisgIH0sCisKKyAgeworICAgIGlucHV0OiAgICB7IGl0ZXJhdGlvbnM6IEluZmluaXR5
LAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAzLAorICAgICAgICAgICAgICAgIGR1
cmF0aW9uOiBJbmZpbml0eSwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAg
ICAgICBmaWxsOiAnYm90aCcgfSwKKyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwCisgIH0K
K10sICdUZXN0IGluZmluaXR5IGl0ZXJhdGlvbnMnKTsKKworCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8K
Ky8vIEVuZCBkZWxheSB0ZXN0cworLy8KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3J1blRlc3RzKFsKKyAg
eworICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6
IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgIGVuZERl
bGF5OiA1MCB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDEK
KyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsgZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAg
ICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAg
ICAgICAgZW5kRGVsYXk6IC01MCB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAsCisg
ICAgYWZ0ZXI6IDAuNQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogMTAw
LAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3Ro
JywKKyAgICAgICAgICAgICAgICBlbmREZWxheTogLTEwMCB9LAorICAgIGJlZm9yZTogMCwKKyAg
ICBhY3RpdmU6IDAsCisgICAgYWZ0ZXI6IDAKKyAgfSwKKworICB7CisgICAgaW5wdXQ6ICAgIHsg
ZHVyYXRpb246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAg
ICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IC0yMDAgfSwKKyAgICBi
ZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAorICAgIGFmdGVyOiAwCisgIH0sCisKKyAgeworICAg
IGlucHV0OiAgICB7IGl0ZXJhdGlvblN0YXJ0OiAwLjUsCisgICAgICAgICAgICAgICAgZHVyYXRp
b246IDEwMCwKKyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxs
OiAnYm90aCcsCisgICAgICAgICAgICAgICAgZW5kRGVsYXk6IDUwIH0sCisgICAgYmVmb3JlOiAw
LjUsCisgICAgYWN0aXZlOiAwLjUsCisgICAgYWZ0ZXI6IDAuNQorICB9LAorCisgIHsKKyAgICBp
bnB1dDogICAgeyBpdGVyYXRpb25TdGFydDogMC41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9u
OiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDog
J2JvdGgnLAorICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtNTAgfSwKKyAgICBiZWZvcmU6IDAu
NSwKKyAgICBhY3RpdmU6IDAuNSwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBpdGVyYXRpb25TdGFydDogMC41LAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAx
MDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2Jv
dGgnLAorICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtMTAwIH0sCisgICAgYmVmb3JlOiAwLjUs
CisgICAgYWN0aXZlOiAwLjUsCisgICAgYWZ0ZXI6IDAuNQorICB9LAorCisgIHsKKyAgICBpbnB1
dDogICAgeyBpdGVyYXRpb25zOiAyLAorICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAsCisg
ICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAor
ICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtMTAwIH0sCisgICAgYmVmb3JlOiAwLAorICAgIGFj
dGl2ZTogMCwKKyAgICBhZnRlcjogMAorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBpdGVy
YXRpb25zOiAxLAorICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAyLAorICAgICAgICAg
ICAgICAgIGR1cmF0aW9uOiAxMDAsCisgICAgICAgICAgICAgICAgZGVsYXk6IDEsCisgICAgICAg
ICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgIGVuZERlbGF5OiAtNTAgfSwK
KyAgICBiZWZvcmU6IDAsCisgICAgYWN0aXZlOiAwLAorICAgIGFmdGVyOiAwLjUKKyAgfSwKKwor
ICB7CisgICAgaW5wdXQ6ICAgIHsgaXRlcmF0aW9uczogMSwKKyAgICAgICAgICAgICAgICBpdGVy
YXRpb25TdGFydDogMiwKKyAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwLAorICAgICAgICAg
ICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAgICAg
ICAgICAgICBlbmREZWxheTogLTEwMCB9LAorICAgIGJlZm9yZTogMCwKKyAgICBhY3RpdmU6IDAs
CisgICAgYWZ0ZXI6IDAKKyAgfSwKK10sICdUZXN0IGVuZCBkZWxheScpOworCisKKy8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisvLworLy8gTmVnYXRpdmUgcGxheWJhY2sgcmF0ZSB0ZXN0cworLy8KKy8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisKK3J1blRlc3RzKFsKKyAgeworICAgIGlucHV0OiAgICB7IGR1cmF0aW9uOiAxLAor
ICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJyB9
LAorICAgIHBsYXliYWNrUmF0ZTogLTEsCisgICAgYmVmb3JlOiAwLAorICAgIGFjdGl2ZTogMSwK
KyAgICBhZnRlcjogMQorICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogMCwK
KyAgICAgICAgICAgICAgICBkZWxheTogMSwKKyAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcg
fSwKKyAgICBwbGF5YmFja1JhdGU6IC0xLAorICAgIGJlZm9yZTogMCwKKyAgICBhZnRlcjogMQor
ICB9LAorCisgIHsKKyAgICBpbnB1dDogICAgeyBkdXJhdGlvbjogMCwKKyAgICAgICAgICAgICAg
ICBpdGVyYXRpb25zOiAwLAorICAgICAgICAgICAgICAgIGRlbGF5OiAxLAorICAgICAgICAgICAg
ICAgIGZpbGw6ICdib3RoJyB9LAorICAgIHBsYXliYWNrUmF0ZTogLTEsCisgICAgYmVmb3JlOiAw
LAorICAgIGFmdGVyOiAwCisgIH0sCitdLCAnVGVzdCBuZWdhdGl2ZSBwbGF5YmFjayByYXRlJyk7
CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvY2FuY2VsaW5nLWFuLWFuaW1h
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9jYW5jZWxpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MzRlNWNiZmYwMmU2MGMyYzM2ZTljZTZmZTdkYjFiZjQyMGUzOWIxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGlt
aW5nLW1vZGVsL2FuaW1hdGlvbnMvY2FuY2VsaW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw2IEBACisKK0ZBSUwgQSBwbGF5LXBlbmRpbmcgcmVhZHkgcHJvbWlzZSBzaG91
bGQgYmUgcmVqZWN0ZWQgd2hlbiB0aGUgYW5pbWF0aW9uIGlzIGNhbmNlbGVkIGNyZWF0ZURpdih0
KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51
bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIEEgcGF1c2UtcGVuZGluZyByZWFkeSBwcm9taXNlIHNob3VsZCBiZSByZWplY3Rl
ZCB3aGVuIHRoZSBhbmltYXRpb24gaXMgY2FuY2VsZWQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNf
UEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgV2hl
biBhbiBhbmltYXRpb24gaXMgY2FuY2VsZWQsIGl0IHNob3VsZCBjcmVhdGUgYSByZXNvbHZlZCBQ
cm9taXNlIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0
ZURpdih0KS5hbmltYXRlKG51bGwpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIFRoZSByZWFkeSBwcm9taXNlIHNob3VsZCBiZSByZXBsYWNlZCB3aGVuIHRoZSBh
bmltYXRpb24gaXMgY2FuY2VsZWQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCknLCAnY3JlYXRlRGl2KHQpLmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvY2FuY2VsaW5nLWFuLWFuaW1hdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVs
L2FuaW1hdGlvbnMvY2FuY2VsaW5nLWFuLWFuaW1hdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhYTdk
ZTJiYjg3ODYxMTY4MTU0ZDY0Y2Q2ODYzMjUwNDliMGUyNzcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
cy9jYW5jZWxpbmctYW4tYW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSw2MiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkNhbmNlbGluZyBhbiBhbmltYXRp
b248L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIgorICAgIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWItYW5pbWF0aW9ucy8jY2FuY2VsaW5nLWFuLWFuaW1hdGlvbi1zZWN0aW9uIj4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIGNvbnN0IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEw
MCAqIE1TX1BFUl9TRUMpOworICBjb25zdCByZXRQcm9taXNlID0gYW5pbWF0aW9uLnJlYWR5LnRo
ZW4oKCkgPT4geworICAgIGFzc2VydF91bnJlYWNoZWQoJ3JlYWR5IHByb21pc2Ugd2FzIGZ1bGZp
bGxlZCcpOworICB9KS5jYXRjaChlcnIgPT4geworICAgIGFzc2VydF9lcXVhbHMoZXJyLm5hbWUs
ICdBYm9ydEVycm9yJywKKyAgICAgICAgICAgICAgICAgICdyZWFkeSBwcm9taXNlIGlzIHJlamVj
dGVkIHdpdGggQWJvcnRFcnJvcicpOworICB9KTsKKworICBhbmltYXRpb24uY2FuY2VsKCk7CisK
KyAgcmV0dXJuIHJldFByb21pc2U7Cit9LCAnQSBwbGF5LXBlbmRpbmcgcmVhZHkgcHJvbWlzZSBz
aG91bGQgYmUgcmVqZWN0ZWQgd2hlbiB0aGUgYW5pbWF0aW9uIGlzJworICAgKyAnIGNhbmNlbGVk
Jyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIGNvbnN0IGFuaW1hdGlvbiA9IGNy
ZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICByZXR1cm4gYW5p
bWF0aW9uLnJlYWR5LnRoZW4oKCkgPT4geworICAgIGFuaW1hdGlvbi5wYXVzZSgpOworICAgIC8v
IFNldCB1cCBsaXN0ZW5lcnMgb24gcGF1c2UtcGVuZGluZyByZWFkeSBwcm9taXNlCisgICAgdmFy
IHJldFByb21pc2UgPSBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICAgIGFz
c2VydF91bnJlYWNoZWQoJ3JlYWR5IHByb21pc2Ugd2FzIGZ1bGZpbGxlZCcpOworICAgIH0pLmNh
dGNoKGVyciA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGVyci5uYW1lLCAnQWJvcnRFcnJvcics
CisgICAgICAgICAgICAgICAgICAgICdyZWFkeSBwcm9taXNlIGlzIHJlamVjdGVkIHdpdGggQWJv
cnRFcnJvcicpOworICAgIH0pOworICAgIGFuaW1hdGlvbi5jYW5jZWwoKTsKKyAgICByZXR1cm4g
cmV0UHJvbWlzZTsKKyAgfSk7Cit9LCAnQSBwYXVzZS1wZW5kaW5nIHJlYWR5IHByb21pc2Ugc2hv
dWxkIGJlIHJlamVjdGVkIHdoZW4gdGhlIGFuaW1hdGlvbiBpcycKKyAgICsgJyBjYW5jZWxlZCcp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICBjb25zdCBhbmltYXRpb24gPSBjcmVh
dGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgYW5pbWF0aW9uLmNhbmNlbCgpOworICByZXR1cm4g
YW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24ocCkgeworICAgIGFzc2VydF9lcXVhbHMocCwg
YW5pbWF0aW9uKTsKKyAgfSk7Cit9LCAnV2hlbiBhbiBhbmltYXRpb24gaXMgY2FuY2VsZWQsIGl0
IHNob3VsZCBjcmVhdGUgYSByZXNvbHZlZCBQcm9taXNlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICBjb25zdCBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsKTsKKyAgY29u
c3QgcHJvbWlzZSA9IGFuaW1hdGlvbi5yZWFkeTsKKyAgYW5pbWF0aW9uLmNhbmNlbCgpOworICBh
c3NlcnRfbm90X2VxdWFscyhhbmltYXRpb24ucmVhZHksIHByb21pc2UpOworfSwgJ1RoZSByZWFk
eSBwcm9taXNlIHNob3VsZCBiZSByZXBsYWNlZCB3aGVuIHRoZSBhbmltYXRpb24gaXMgY2FuY2Vs
ZWQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9jdXJyZW50LXRpbWUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbnMvY3VycmVudC10aW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
Y2MwODY0ZmJhMmYxYjU5MGM3ZTkyZTdkY2NiNTQwYzIzZjkxZTg5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1h
dGlvbnMvY3VycmVudC10aW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKKworRkFJTCBU
aGUgY3VycmVudCB0aW1lIHJldHVybnMgdGhlIGhvbGQgdGltZSB3aGVuIHNldCBBcmd1bWVudCAx
ICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgVGhlIGN1cnJlbnQgdGltZSBpcyB1bnJl
c29sdmVkIHdoZW4gdGhlcmUgaXMgbm8gYXNzb2NpYXRlZCB0aW1lbGluZSAoYW5kIG5vIGhvbGQg
dGltZSBpcyBzZXQpIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29u
c3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBU
aGUgY3VycmVudCB0aW1lIGlzIHVucmVzb2x2ZWQgd2hlbiB0aGUgc3RhcnQgdGltZSBpcyB1bnJl
c29sdmVkIChhbmQgbm8gaG9sZCB0aW1lIGlzIHNldCkgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykg
dG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1h
dGlvblRpbWVsaW5lCitGQUlMIFRoZSBjdXJyZW50IHRpbWUgaXMgY2FsY3VsYXRlZCBmcm9tIHRo
ZSB0aW1lbGluZSB0aW1lLCBzdGFydCB0aW1lIGFuZCBwbGF5YmFjayByYXRlIEFyZ3VtZW50IDEg
KCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBUaGUgY3VycmVudCB0aW1lIGRvZXMgbm90
IHByb2dyZXNzIGlmIHBsYXliYWNrIHJhdGUgaXMgMCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19Q
RVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9ucy9jdXJyZW50LXRpbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL2N1cnJlbnQtdGltZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc1MDAxNzU0MzVjODQyMWI5MmUwZTgyYzEyYTgyYjA4YjIzZDJhYTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9ucy9jdXJyZW50LXRpbWUuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+VGVzdHMgZm9yIGN1cnJlbnQgdGlt
ZTwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93
ZWItYW5pbWF0aW9ucy8jY3VycmVudC10aW1lIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi90ZXN0Y29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisndXNl
IHN0cmljdCc7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBu
ZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAq
IE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxpbmUpOworCisg
IGFuaW1hdGlvbi5wbGF5KCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1l
LCAwLAorICAgICdDdXJyZW50IHRpbWUgcmV0dXJucyB0aGUgaG9sZCB0aW1lIHNldCB3aGVuIGVu
dGVyaW5nIHRoZSBwbGF5LXBlbmRpbmcgJyArCisgICAgJ3N0YXRlJyk7Cit9LCAnVGhlIGN1cnJl
bnQgdGltZSByZXR1cm5zIHRoZSBob2xkIHRpbWUgd2hlbiBzZXQnKTsKKworcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcg
S2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAg
ICAgICAgICAgICAgICAgIG51bGwpOworCisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhlbihm
dW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgbnVs
bCk7CisgIH0pOworfSwgJ1RoZSBjdXJyZW50IHRpbWUgaXMgdW5yZXNvbHZlZCB3aGVuIHRoZXJl
IGlzIG5vIGFzc29jaWF0ZWQgdGltZWxpbmUgJyArCisgICAnKGFuZCBubyBob2xkIHRpbWUgaXMg
c2V0KScpOworCisvLyBGSVhNRTogVGVzdCB0aGF0IHRoZSBjdXJyZW50IHRpbWUgaXMgdW5yZXNv
bHZlZCB3aGVuIHdlIGhhdmUgYW4gaW5hY3RpdmUKKy8vIHRpbWVsaW5lIGlmIHdlIGZpbmQgYSB3
YXkgb2YgY3JlYXRpbmcgYW4gaW5hY3RpdmUgdGltZWxpbmUhCisKK3Rlc3QoZnVuY3Rpb24odCkg
eworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVj
dChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQudGltZWxpbmUpOworCisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBudWxsOwor
ICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgbnVsbCk7Cit9LCAnVGhlIGN1
cnJlbnQgdGltZSBpcyB1bnJlc29sdmVkIHdoZW4gdGhlIHN0YXJ0IHRpbWUgaXMgdW5yZXNvbHZl
ZCAnICsKKyAgICcoYW5kIG5vIGhvbGQgdGltZSBpcyBzZXQpJyk7CisKK3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVm
ZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAg
ICAgICAgZG9jdW1lbnQudGltZWxpbmUpOworCisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAy
OworICBhbmltYXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUg
LSAyNSAqIE1TX1BFUl9TRUM7CisKKyAgdmFyIHRpbWVsaW5lVGltZSA9IGRvY3VtZW50LnRpbWVs
aW5lLmN1cnJlbnRUaW1lOworICB2YXIgc3RhcnRUaW1lID0gYW5pbWF0aW9uLnN0YXJ0VGltZTsK
KyAgdmFyIHBsYXliYWNrUmF0ZSA9IGFuaW1hdGlvbi5wbGF5YmFja1JhdGU7CisgIGFzc2VydF90
aW1lc19lcXVhbChhbmltYXRpb24uY3VycmVudFRpbWUsCisgICAgICAgICAgICAgICAgICAgICAo
dGltZWxpbmVUaW1lIC0gc3RhcnRUaW1lKSAqIHBsYXliYWNrUmF0ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICdBbmltYXRpb24gaGFzIGEgdW5yZXNvbHZlZCBzdGFydCB0aW1lJyk7Cit9LCAnVGhl
IGN1cnJlbnQgdGltZSBpcyBjYWxjdWxhdGVkIGZyb20gdGhlIHRpbWVsaW5lIHRpbWUsIHN0YXJ0
IHRpbWUgYW5kICcgKworICAgJ3BsYXliYWNrIHJhdGUnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEw
MCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gMDsKKworICByZXR1
cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHdhaXRGb3JB
bmltYXRpb25GcmFtZXMoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3Rp
bWVzX2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMCk7CisgIH0pOworfSwgJ1RoZSBjdXJy
ZW50IHRpbWUgZG9lcyBub3QgcHJvZ3Jlc3MgaWYgcGxheWJhY2sgcmF0ZSBpcyAwJyk7CisKKzwv
c2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvZmluaXNoaW5nLWFuLWFuaW1hdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmct
bW9kZWwvYW5pbWF0aW9ucy9maW5pc2hpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMjBiNDI2YTVhYTE2NDEwZGVmODc1MjcxYzY1YTE2OTQ2NzllMDhhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbnMvZmluaXNoaW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK0ZBSUwgQSBwZW5kaW5nIHJlYWR5IHByb21pc2Ugc2hvdWxkIGJlIHJlc29s
dmVkIGFuZCBub3QgcmVwbGFjZWQgd2hlbiB0aGUgYW5pbWF0aW9uIGlzIGZpbmlzaGVkIGNyZWF0
ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmlt
YXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1
bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL2ZpbmlzaGluZy1hbi1hbmltYXRpb24uaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b25zL2ZpbmlzaGluZy1hbi1hbmltYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODkwYmQxYmRlOGM3
YTAyODZkNTU3M2Q5YWFiOGZlZGExNWFmYmJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvZmluaXNo
aW5nLWFuLWFuaW1hdGlvbi5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5GaW5pc2hpbmcgYW4gYW5pbWF0aW9uPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIKKyAgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1h
bmltYXRpb25zLyNmaW5pc2hpbmctYW4tYW5pbWF0aW9uLXNlY3Rpb24iPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2Pgor
PHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
Y29uc3QgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVS
X1NFQyk7CisgIGNvbnN0IHByb21pc2UgPSBhbmltYXRpb24ucmVhZHk7CisgIGxldCByZWFkeVJl
c29sdmVkID0gZmFsc2U7CisKKyAgYW5pbWF0aW9uLmZpbmlzaCgpOworICBhbmltYXRpb24ucmVh
ZHkudGhlbigoKSA9PiB7IHJlYWR5UmVzb2x2ZWQgPSB0cnVlOyB9KTsKKworICByZXR1cm4gYW5p
bWF0aW9uLmZpbmlzaGVkLnRoZW4ocCA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhwLCBhbmltYXRp
b24pOworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnJlYWR5LCBwcm9taXNlKTsKKyAgICBh
c3NlcnRfdHJ1ZShyZWFkeVJlc29sdmVkKTsKKyAgfSk7Cit9LCAnQSBwZW5kaW5nIHJlYWR5IHBy
b21pc2Ugc2hvdWxkIGJlIHJlc29sdmVkIGFuZCBub3QgcmVwbGFjZWQgd2hlbiB0aGUnCisgICAr
ICcgYW5pbWF0aW9uIGlzIGZpbmlzaGVkJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbnMvcGF1c2luZy1hbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcGF1c2luZy1h
bi1hbmltYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjZWI3ZGUxMThhYTExZmI1NGZi
ZjQyNGRhOWU0OTM4NjQ1ZDUzOTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9wYXVzaW5nLWFuLWFu
aW1hdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgQSBwZW5kaW5nIHJl
YWR5IHByb21pc2Ugc2hvdWxkIGJlIHJlc29sdmVkIGFuZCBub3QgcmVwbGFjZWQgd2hlbiB0aGUg
YW5pbWF0aW9uIGlzIHBhdXNlZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdj
cmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9wYXVz
aW5nLWFuLWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcGF1c2luZy1hbi1hbmltYXRpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45YTRkYTJlN2MyZjBiMjExMjQ1YjhkNDcyYzlhN2ZiYmQyZjk3MWUyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbnMvcGF1c2luZy1hbi1hbmltYXRpb24uaHRtbApAQCAtMCwwICsxLDI3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+UGF1c2luZyBh
biBhbmltYXRpb248L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIgorICBocmVmPSJodHRwczovL3cz
Yy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI2ZpbmlzaGluZy1hbi1hbmltYXRpb24tc2VjdGlv
biI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYg
aWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICBjb25zdCBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShu
dWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgY29uc3QgcHJvbWlzZSA9IGFuaW1hdGlvbi5yZWFk
eTsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisgIHJldHVybiBwcm9taXNlLnRoZW4ocCA9PiB7Cisg
ICAgYXNzZXJ0X2VxdWFscyhwLCBhbmltYXRpb24pOworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0
aW9uLnJlYWR5LCBwcm9taXNlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3Rh
dGUsICdwYXVzZWQnKTsKKyAgfSk7Cit9LCAnQSBwZW5kaW5nIHJlYWR5IHByb21pc2Ugc2hvdWxk
IGJlIHJlc29sdmVkIGFuZCBub3QgcmVwbGFjZWQgd2hlbiB0aGUnCisgICArICcgYW5pbWF0aW9u
IGlzIHBhdXNlZCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3BsYXlp
bmctYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3BsYXlpbmctYW4tYW5pbWF0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzA0ZGNhYjkzNmFlOTAyYjc5NDBkZTg1MmMxMDc1NGZl
Y2QyMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcGxheWluZy1hbi1hbmltYXRpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitGQUlMIFBsYXlpbmcgYSBydW5uaW5nIGFuaW1hdGlv
biBsZWF2ZXMgdGhlIGN1cnJlbnQgdGltZSB1bmNoYW5nZWQgY3JlYXRlRGl2KHQpLmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICog
TVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
UGxheWluZyBhIGZpbmlzaGVkIGFuaW1hdGlvbiBzZWVrcyBiYWNrIHRvIHRoZSBzdGFydCBjcmVh
dGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5p
bWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBQbGF5aW5nIGEgZmluaXNoZWQgYW5kIHJldmVyc2VkIGFuaW1hdGlv
biBzZWVrcyB0byBlbmQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRl
RGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGhlIHJlYWR5IHByb21pc2Ugc2hv
dWxkIGJlIHJlcGxhY2VkIGlmIHRoZSBhbmltYXRpb24gaXMgbm90IGFscmVhZHkgcGVuZGluZyBj
cmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCku
YW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBBIHBlbmRpbmcgcmVhZHkgcHJvbWlzZSBzaG91bGQgYmUgcmVz
b2x2ZWQgYW5kIG5vdCByZXBsYWNlZCB3aGVuIHRoZSBhbmltYXRpb24gZW50ZXJzIHRoZSBydW5u
aW5nIHN0YXRlIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0
KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3BsYXlpbmctYW4tYW5p
bWF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmct
bW9kZWwvYW5pbWF0aW9ucy9wbGF5aW5nLWFuLWFuaW1hdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFj
ZjEwOWRlYjE1NGU1ZDE0OWFkODBhNWQzOTgyYmNiMDA1MzBjNjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0
aW9ucy9wbGF5aW5nLWFuLWFuaW1hdGlvbi5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5QbGF5aW5nIGFuIGFuaW1hdGlv
bjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiCisgICAgICBocmVmPSJodHRwczovL3czYy5naXRo
dWIuaW8vd2ViLWFuaW1hdGlvbnMvI3BsYXlpbmctYW4tYW5pbWF0aW9uLXNlY3Rpb24iPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ci
PjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJf
U0VDKTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMSAqIE1TX1BFUl9TRUM7CisgIGFzc2Vy
dF90aW1lc19lcXVhbChhbmltYXRpb24uY3VycmVudFRpbWUsIDEgKiBNU19QRVJfU0VDKTsKKyAg
YW5pbWF0aW9uLnBsYXkoKTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50
VGltZSwgMSAqIE1TX1BFUl9TRUMpOworfSwgJ1BsYXlpbmcgYSBydW5uaW5nIGFuaW1hdGlvbiBs
ZWF2ZXMgdGhlIGN1cnJlbnQgdGltZSB1bmNoYW5nZWQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgIHZhciBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19Q
RVJfU0VDKTsKKyAgYW5pbWF0aW9uLmZpbmlzaCgpOworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5p
bWF0aW9uLmN1cnJlbnRUaW1lLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLnBsYXko
KTsKKyAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMCk7Cit9LCAn
UGxheWluZyBhIGZpbmlzaGVkIGFuaW1hdGlvbiBzZWVrcyBiYWNrIHRvIHRoZSBzdGFydCcpOwor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmlt
YXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0g
LTE7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDA7CisgIGFzc2VydF90aW1lc19lcXVhbChh
bmltYXRpb24uY3VycmVudFRpbWUsIDApOworICBhbmltYXRpb24ucGxheSgpOworICBhc3NlcnRf
dGltZXNfZXF1YWwoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAxMDAgKiBNU19QRVJfU0VDKTsKK30s
ICdQbGF5aW5nIGEgZmluaXNoZWQgYW5kIHJldmVyc2VkIGFuaW1hdGlvbiBzZWVrcyB0byBlbmQn
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIGNvbnN0IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0
KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmltYXRpb24uY2FuY2VsKCk7
CisgIGNvbnN0IHByb21pc2UgPSBhbmltYXRpb24ucmVhZHk7CisgIGFuaW1hdGlvbi5wbGF5KCk7
CisgIGFzc2VydF9ub3RfZXF1YWxzKGFuaW1hdGlvbi5yZWFkeSwgcHJvbWlzZSk7Cit9LCAnVGhl
IHJlYWR5IHByb21pc2Ugc2hvdWxkIGJlIHJlcGxhY2VkIGlmIHRoZSBhbmltYXRpb24gaXMgbm90
IGFscmVhZHknCisgICArICcgcGVuZGluZycpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
eworICBjb25zdCBhbmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBN
U19QRVJfU0VDKTsKKyAgY29uc3QgcHJvbWlzZSA9IGFuaW1hdGlvbi5yZWFkeTsKKyAgcmV0dXJu
IHByb21pc2UudGhlbihwID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHAsIGFuaW1hdGlvbik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucmVhZHksIHByb21pc2UpOworICB9KTsKK30sICdB
IHBlbmRpbmcgcmVhZHkgcHJvbWlzZSBzaG91bGQgYmUgcmVzb2x2ZWQgYW5kIG5vdCByZXBsYWNl
ZCB3aGVuIHRoZScKKyAgICsgJyBhbmltYXRpb24gZW50ZXJzIHRoZSBydW5uaW5nIHN0YXRlJyk7
CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvcmV2ZXJzaW5nLWFuLWFuaW1h
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9yZXZlcnNpbmctYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZTkwMDhmOTEwMjViODM3NmUxODhlZWJmNGU4NWRjNDFiYjY1NGU3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGlt
aW5nLW1vZGVsL2FuaW1hdGlvbnMvcmV2ZXJzaW5nLWFuLWFuaW1hdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyNSBAQAorCitGQUlMIFJldmVyc2luZyBhbiBhbmltYXRpb24gaW52ZXJ0cyB0
aGUgcGxheWJhY2sgcmF0ZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7fSwge2R1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiBJbmZpbml0eX0pJywgJ2Rpdi5hbmltYXRl
JyBpcyB1bmRlZmluZWQpCitGQUlMIFJldmVyc2luZyBhbiBhbmltYXRpb24gcGxheXMgYSBwYXVz
aW5nIGFuaW1hdGlvbiBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5p
bWF0ZSh7fSwge2R1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiBJbmZpbml0eX0pJywgJ2Rpdi5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIFJldmVyc2luZyBhbiBhbmltYXRpb24gbWFpbnRhaW5zIHRoZSBz
YW1lIGN1cnJlbnQgdGltZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYu
YW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiBkb2VzIG5vdCBjYXVzZSBpdCB0byBsZWF2
ZSB0aGUgcGVuZGluZyBzdGF0ZSBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7fSwgeyBkdXJhdGlvbjogMjAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAtMTAwICogTVNfUEVSX1NFQyB9KScsICdk
aXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIGRv
ZXMgbm90IGNhdXNlIGl0IHRvIHJlc29sdmUgdGhlIHJlYWR5IHByb21pc2UgZGl2LmFuaW1hdGUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIHsgZHVyYXRpb246IDIwMCAq
IE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheTog
LTEwMCAqIE1TX1BFUl9TRUMgfSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
UmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiB3aGVuIHBsYXliYWNrUmF0ZSA+IDAgYW5kIGN1cnJlbnRU
aW1lID4gZWZmZWN0IGVuZCBzaG91bGQgbWFrZSBpdCBwbGF5IGZyb20gdGhlIGVuZCBkaXYuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVS
X1NFQyknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgUmV2ZXJzaW5nIGFuIGFu
aW1hdGlvbiB3aGVuIHBsYXliYWNrUmF0ZSA+IDAgYW5kIGN1cnJlbnRUaW1lIDwgMCBzaG91bGQg
bWFrZSBpdCBwbGF5IGZyb20gdGhlIGVuZCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdkaXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyknLCAnZGl2LmFuaW1hdGUnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiB3aGVuIHBsYXliYWNrUmF0
ZSA8IDAgYW5kIGN1cnJlbnRUaW1lIDwgMCBzaG91bGQgbWFrZSBpdCBwbGF5IGZyb20gdGhlIHN0
YXJ0IGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9LCAx
MDAgKiBNU19QRVJfU0VDKScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBSZXZl
cnNpbmcgYW4gYW5pbWF0aW9uIHdoZW4gcGxheWJhY2tSYXRlIDwgMCBhbmQgY3VycmVudFRpbWUg
PiBlZmZlY3QgZW5kIHNob3VsZCBtYWtlIGl0IHBsYXkgZnJvbSB0aGUgc3RhcnQgZGl2LmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAqIE1TX1BFUl9T
RUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJldmVyc2luZyBhbiBhbmlt
YXRpb24gd2hlbiBwbGF5YmFja1JhdGUgPiAwIGFuZCBjdXJyZW50VGltZSA8IDAgYW5kIHRoZSB0
YXJnZXQgZWZmZWN0IGVuZCBpcyBwb3NpdGl2ZSBpbmZpbml0eSBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uIGRpdi5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Rpdi5hbmltYXRlKHt9
LCB7ZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGl0ZXJhdGlvbnM6IEluZmluaXR5fSknLCAnZGl2LmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgV2hlbiByZXZlcnNpbmcgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgdGhlIHBsYXli
YWNrIHJhdGUgcmVtYWlucyB1bmNoYW5nZWQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUoe30sIHsgZHVyYXRpb246IDEwMCAq
IE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpdGVyYXRpb25zOiBJbmZpbml0eSB9KScsICdjcmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5k
ZWZpbmVkKQorRkFJTCBSZXZlcnNpbmcgYW5pbWF0aW9uIHdoZW4gcGxheWJhY2tSYXRlID0gMCBh
bmQgY3VycmVudFRpbWUgPCAwIGFuZCB0aGUgdGFyZ2V0IGVmZmVjdCBlbmQgaXMgcG9zaXRpdmUg
aW5maW5pdHkgc2hvdWxkIE5PVCB0aHJvdyBhbiBleGNlcHRpb24gZGl2LmFuaW1hdGUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIHtkdXJhdGlvbjogMTAwICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogSW5m
aW5pdHl9KScsICdkaXYuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBSZXZlcnNpbmcgYW4g
YW5pbWF0aW9uIHdoZW4gcGxheWJhY2tSYXRlIDwgMCBhbmQgY3VycmVudFRpbWUgPCAwIGFuZCB0
aGUgdGFyZ2V0IGVmZmVjdCBlbmQgaXMgcG9zaXRpdmUgaW5maW5pdHkgc2hvdWxkIG1ha2UgaXQg
cGxheSBmcm9tIHRoZSBzdGFydCBkaXYuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdk
aXYuYW5pbWF0ZSh7fSwge2R1cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiBJbmZpbml0eX0pJywgJ2Rpdi5hbmlt
YXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJldmVyc2luZyB3aGVuIHdoZW4gcGxheWJhY2tSYXRl
ID09IDAgc2hvdWxkIHByZXNlcnZlIHRoZSBjdXJyZW50IHRpbWUgYW5kIHBsYXliYWNrIHJhdGUg
ZGl2LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZGl2LmFuaW1hdGUoe30sIDEwMCAq
IE1TX1BFUl9TRUMpJywgJ2Rpdi5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFJldmVyc2lu
ZyBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUgdGhyb3dzIGFuIEludmFs
aWRTdGF0ZUVycm9yIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29u
c3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9ucy9yZXZlcnNpbmctYW4tYW5pbWF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9yZXZlcnNpbmctYW4t
YW5pbWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDIwOTNjOWM5OGRmZmZmNmQxYzA3ZmJjZTMyMzZk
ODFjNmJjNDBlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3JldmVyc2luZy1hbi1hbmltYXRpb24u
aHRtbApAQCAtMCwwICsxLDIxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04PgorPHRpdGxlPlJldmVyc2luZyBhbiBhbmltYXRpb248L3RpdGxlPgorPGxpbmsgcmVsPSJo
ZWxwIgorICAgICAgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNy
ZXZlcnNlLWFuLWFuaW1hdGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vdGVzdGNvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQp
OworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIHtkdXJhdGlvbjogMTAwICogTVNf
UEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczog
SW5maW5pdHl9KTsKKworICAvLyBXYWl0IGEgZnJhbWUgYmVjYXVzZSBpZiBjdXJyZW50VGltZSBp
cyBzdGlsbCAwIHdoZW4gd2UgY2FsbAorICAvLyByZXZlcnNlKCksIGl0IHdpbGwgdGhyb3cgKHBl
ciBzcGVjKS4KKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKHdhaXRGb3JBbmltYXRpb25G
cmFtZXMoMSkpLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVh
bChhbmltYXRpb24uY3VycmVudFRpbWUsIDAsCisgICAgICAnY3VycmVudFRpbWUgZXhwZWN0ZWQg
dG8gYmUgZ3JlYXRlciB0aGFuIDAsIG9uZSBmcmFtZSBhZnRlciBzdGFydGluZycpOworICAgIGFu
aW1hdGlvbi5jdXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgICB2YXIgcHJldmlvdXNQ
bGF5YmFja1JhdGUgPSBhbmltYXRpb24ucGxheWJhY2tSYXRlOworICAgIGFuaW1hdGlvbi5yZXZl
cnNlKCk7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheWJhY2tSYXRlLCAtcHJldmlv
dXNQbGF5YmFja1JhdGUsCisgICAgICAncGxheWJhY2tSYXRlIHNob3VsZCBiZSBpbnZlcnRlZCcp
OworICB9KTsKK30sICdSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIGludmVydHMgdGhlIHBsYXliYWNr
IHJhdGUnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0
ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCB7ZHVyYXRpb246IDEw
MCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJh
dGlvbnM6IEluZmluaXR5fSk7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IDUwICogTVNfUEVS
X1NFQzsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50
aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW1hdGlvbi5yZXZlcnNlKCk7CisgICAgcmV0dXJuIGFu
aW1hdGlvbi5yZWFkeTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5wbGF5U3RhdGUsICdydW5uaW5nJywKKyAgICAgICdBbmltYXRpb24ucGxheVN0
YXRlIHNob3VsZCBiZSAicnVubmluZyIgYWZ0ZXIgcmV2ZXJzZSgpJyk7CisgIH0pOworfSwgJ1Jl
dmVyc2luZyBhbiBhbmltYXRpb24gcGxheXMgYSBwYXVzaW5nIGFuaW1hdGlvbicpOworCit0ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlv
biA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLmN1cnJl
bnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOworICBhbmltYXRpb24ucmV2ZXJzZSgpOworCisgIGFz
c2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCA1MCAqIE1TX1BFUl9TRUMsCisgICAg
J1RoZSBjdXJyZW50IHRpbWUgc2hvdWxkIG5vdCBjaGFuZ2UgaXQgaXMgaW4gdGhlIG1pZGRsZSBv
ZiAnICsKKyAgICAndGhlIGFuaW1hdGlvbiBkdXJhdGlvbicpOworfSwgJ1JldmVyc2luZyBhbiBh
bmltYXRpb24gbWFpbnRhaW5zIHRoZSBzYW1lIGN1cnJlbnQgdGltZScpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRp
di5hbmltYXRlKHt9LCB7IGR1cmF0aW9uOiAyMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IC0xMDAgKiBNU19QRVJfU0VDIH0pOworICBh
c3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJywKKyAgICAnVGhlIHBs
YXlTdGF0ZSBpcyBwZW5kaW5nIGJlZm9yZSB3ZSBjYWxsIHJldmVyc2UnKTsKKworICBhbmltYXRp
b24ucmV2ZXJzZSgpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3Bl
bmRpbmcnLAorICAgICdUaGUgcGxheVN0YXRlIGlzIHN0aWxsIHBlbmRpbmcgYWZ0ZXIgY2FsbGlu
ZyByZXZlcnNlJyk7Cit9LCAnUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiBkb2VzIG5vdCBjYXVzZSBp
dCB0byBsZWF2ZSB0aGUgcGVuZGluZyBzdGF0ZScpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFu
aW1hdGUoe30sIHsgZHVyYXRpb246IDIwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZWxheTogLTEwMCAqIE1TX1BFUl9TRUMgfSk7CisgIHZhciBy
ZWFkeVJlc29sdmVkID0gZmFsc2U7CisgIGFuaW1hdGlvbi5yZWFkeS50aGVuKCgpID0+IHsgcmVh
ZHlSZXNvbHZlZCA9IHRydWU7IH0pOworCisgIGFuaW1hdGlvbi5yZXZlcnNlKCk7CisKKyAgcmV0
dXJuIFByb21pc2UucmVzb2x2ZSgoKSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKHJlYWR5UmVzb2x2
ZWQsCisgICAgICAgICAgICAgICAgICdyZWFkeSBwcm9taXNlIHNob3VsZCBub3QgaGF2ZSBiZWVu
IHJlc29sdmVkIHlldCcpOworICB9KTsKK30sICdSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIGRvZXMg
bm90IGNhdXNlIGl0IHRvIHJlc29sdmUgdGhlIHJlYWR5IHByb21pc2UnKTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBkaXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBk
aXYuYW5pbWF0ZSh7fSwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW1hdGlvbi5jdXJyZW50VGlt
ZSA9IDIwMCAqIE1TX1BFUl9TRUM7CisgIGFuaW1hdGlvbi5yZXZlcnNlKCk7CisKKyAgYXNzZXJ0
X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDEwMCAqIE1TX1BFUl9TRUMsCisgICAgJ3Jl
dmVyc2UoKSBzaG91bGQgc3RhcnQgcGxheWluZyBmcm9tIHRoZSBhbmltYXRpb24gZWZmZWN0IGVu
ZCAnICsKKyAgICAnaWYgdGhlIHBsYXliYWNrUmF0ZSA+IDAgYW5kIHRoZSBjdXJyZW50VGltZSA+
IGVmZmVjdCBlbmQnKTsKK30sICdSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIHdoZW4gcGxheWJhY2tS
YXRlID4gMCBhbmQgY3VycmVudFRpbWUgPiAnICsKKyAgICdlZmZlY3QgZW5kIHNob3VsZCBtYWtl
IGl0IHBsYXkgZnJvbSB0aGUgZW5kJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUoe30sIDEwMCAq
IE1TX1BFUl9TRUMpOworCisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IC0yMDAgKiBNU19QRVJf
U0VDOworICBhbmltYXRpb24ucmV2ZXJzZSgpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9u
LmN1cnJlbnRUaW1lLCAxMDAgKiBNU19QRVJfU0VDLAorICAgICdyZXZlcnNlKCkgc2hvdWxkIHN0
YXJ0IHBsYXlpbmcgZnJvbSB0aGUgYW5pbWF0aW9uIGVmZmVjdCBlbmQgJyArCisgICAgJ2lmIHRo
ZSBwbGF5YmFja1JhdGUgPiAwIGFuZCB0aGUgY3VycmVudFRpbWUgPCAwJyk7Cit9LCAnUmV2ZXJz
aW5nIGFuIGFuaW1hdGlvbiB3aGVuIHBsYXliYWNrUmF0ZSA+IDAgYW5kIGN1cnJlbnRUaW1lIDwg
MCAnICsKKyAgICdzaG91bGQgbWFrZSBpdCBwbGF5IGZyb20gdGhlIGVuZCcpOworCit0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9
IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLnBsYXliYWNr
UmF0ZSA9IC0xOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAtMjAwICogTVNfUEVSX1NFQzsK
KyAgYW5pbWF0aW9uLnJldmVyc2UoKTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJy
ZW50VGltZSwgMCwKKyAgICAncmV2ZXJzZSgpIHNob3VsZCBzdGFydCBwbGF5aW5nIGZyb20gdGhl
IHN0YXJ0IG9mIGFuaW1hdGlvbiB0aW1lICcgKworICAgICdpZiB0aGUgcGxheWJhY2tSYXRlIDwg
MCBhbmQgdGhlIGN1cnJlbnRUaW1lIDwgMCcpOworfSwgJ1JldmVyc2luZyBhbiBhbmltYXRpb24g
d2hlbiBwbGF5YmFja1JhdGUgPCAwIGFuZCBjdXJyZW50VGltZSA8IDAgJyArCisgICAnc2hvdWxk
IG1ha2UgaXQgcGxheSBmcm9tIHRoZSBzdGFydCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
dmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9
LCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IC0xOworICBh
bmltYXRpb24uY3VycmVudFRpbWUgPSAyMDAgKiBNU19QRVJfU0VDOworICBhbmltYXRpb24ucmV2
ZXJzZSgpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAwLAorICAg
ICdyZXZlcnNlKCkgc2hvdWxkIHN0YXJ0IHBsYXlpbmcgZnJvbSB0aGUgc3RhcnQgb2YgYW5pbWF0
aW9uIHRpbWUgJyArCisgICAgJ2lmIHRoZSBwbGF5YmFja1JhdGUgPCAwIGFuZCB0aGUgY3VycmVu
dFRpbWUgPiBlZmZlY3QgZW5kJyk7Cit9LCAnUmV2ZXJzaW5nIGFuIGFuaW1hdGlvbiB3aGVuIHBs
YXliYWNrUmF0ZSA8IDAgYW5kIGN1cnJlbnRUaW1lID4gZWZmZWN0ICcgKworICAgJ2VuZCBzaG91
bGQgbWFrZSBpdCBwbGF5IGZyb20gdGhlIHN0YXJ0Jyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgZGl2ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0gZGl2LmFuaW1hdGUo
e30sIHtkdXJhdGlvbjogMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaXRlcmF0aW9uczogSW5maW5pdHl9KTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRU
aW1lID0gLTIwMCAqIE1TX1BFUl9TRUM7CisKKyAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRl
RXJyb3InLAorICAgIGZ1bmN0aW9uICgpIHsgYW5pbWF0aW9uLnJldmVyc2UoKTsgfSwKKyAgICAn
cmV2ZXJzZSgpIHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciAnICsKKyAgICAnaWYgdGhl
IHBsYXliYWNrUmF0ZSA+IDAgYW5kIHRoZSBjdXJyZW50VGltZSA8IDAgJyArCisgICAgJ2FuZCB0
aGUgdGFyZ2V0IGVmZmVjdCBpcyBwb3NpdGl2ZSBpbmZpbml0eScpOworfSwgJ1JldmVyc2luZyBh
biBhbmltYXRpb24gd2hlbiBwbGF5YmFja1JhdGUgPiAwIGFuZCBjdXJyZW50VGltZSA8IDAgJyAr
CisgICAnYW5kIHRoZSB0YXJnZXQgZWZmZWN0IGVuZCBpcyBwb3NpdGl2ZSBpbmZpbml0eSBzaG91
bGQgdGhyb3cgYW4gZXhjZXB0aW9uJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5p
bWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUoe30sIHsgZHVyYXRpb246IDEwMCAqIE1TX1BF
Ul9TRUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVy
YXRpb25zOiBJbmZpbml0eSB9KTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gLTIwMCAqIE1T
X1BFUl9TRUM7CisKKyAgdHJ5IHsgYW5pbWF0aW9uLnJldmVyc2UoKTsgfSBjYXRjaChlKSB7IH0K
KworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5YmFja1JhdGUsIDEsICdwbGF5YmFja1Jh
dGUgcmVtYWlucyB1bmNoYW5nZWQnKTsKK30sICdXaGVuIHJldmVyc2luZyB0aHJvd3MgYW4gZXhj
ZXB0aW9uLCB0aGUgcGxheWJhY2sgcmF0ZSByZW1haW5zIHVuY2hhbmdlZCcpOworCit0ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNyZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9
IGRpdi5hbmltYXRlKHt9LCB7ZHVyYXRpb246IDEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbnM6IEluZmluaXR5fSk7CisgIGFuaW1h
dGlvbi5jdXJyZW50VGltZSA9IC0yMDAgKiBNU19QRVJfU0VDOworICBhbmltYXRpb24ucGxheWJh
Y2tSYXRlID0gMDsKKworICB0cnkgeworICAgIGFuaW1hdGlvbi5yZXZlcnNlKCk7CisgIH0gY2F0
Y2ggKGUpIHsKKyAgICBhc3NlcnRfdW5yZWFjaGVkKGBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVu
IGNhbGxpbmcgcmV2ZXJzZSgpOiAke2V9YCk7CisgIH0KK30sICdSZXZlcnNpbmcgYW5pbWF0aW9u
IHdoZW4gcGxheWJhY2tSYXRlID0gMCBhbmQgY3VycmVudFRpbWUgPCAwICcgKworICAgJ2FuZCB0
aGUgdGFyZ2V0IGVmZmVjdCBlbmQgaXMgcG9zaXRpdmUgaW5maW5pdHkgc2hvdWxkIE5PVCB0aHJv
dyBhbiAnICsKKyAgICdleGNlcHRpb24nKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBk
aXYgPSBjcmVhdGVEaXYodCk7CisgIHZhciBhbmltYXRpb24gPSBkaXYuYW5pbWF0ZSh7fSwge2R1
cmF0aW9uOiAxMDAgKiBNU19QRVJfU0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25zOiBJbmZpbml0eX0pOworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0g
LTE7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IC0yMDAgKiBNU19QRVJfU0VDOworICBhbmlt
YXRpb24ucmV2ZXJzZSgpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1l
LCAwLAorICAgICdyZXZlcnNlKCkgc2hvdWxkIHN0YXJ0IHBsYXlpbmcgZnJvbSB0aGUgc3RhcnQg
b2YgYW5pbWF0aW9uIHRpbWUgJyArCisgICAgJ2lmIHRoZSBwbGF5YmFja1JhdGUgPCAwIGFuZCB0
aGUgY3VycmVudFRpbWUgPCAwICcgKworICAgICdhbmQgdGhlIHRhcmdldCBlZmZlY3QgaXMgcG9z
aXRpdmUgaW5maW5pdHknKTsKK30sICdSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIHdoZW4gcGxheWJh
Y2tSYXRlIDwgMCBhbmQgY3VycmVudFRpbWUgPCAwICcgKworICAgJ2FuZCB0aGUgdGFyZ2V0IGVm
ZmVjdCBlbmQgaXMgcG9zaXRpdmUgaW5maW5pdHkgc2hvdWxkIG1ha2UgaXQgcGxheSAnICsKKyAg
ICdmcm9tIHRoZSBzdGFydCcpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGRpdiA9IGNy
ZWF0ZURpdih0KTsKKyAgdmFyIGFuaW1hdGlvbiA9IGRpdi5hbmltYXRlKHt9LCAxMDAgKiBNU19Q
RVJfU0VDKTsKKyAgYW5pbWF0aW9uLnBsYXliYWNrUmF0ZSA9IDA7CisgIGFuaW1hdGlvbi5jdXJy
ZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgYW5pbWF0aW9uLnJldmVyc2UoKTsKKworICBh
c3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5YmFja1JhdGUsIDAsCisgICAgJ3JldmVyc2UoKSBz
aG91bGQgcHJlc2VydmUgcGxheWJhY2tSYXRlIGlmIHRoZSBwbGF5YmFja1JhdGUgPT0gMCcpOwor
ICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgNTAgKiBNU19QRVJfU0VDLAor
ICAgICdyZXZlcnNlKCkgc2hvdWxkIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnRUaW1lIGlmIHRoZSBw
bGF5YmFja1JhdGUgPT0gMCcpOworICB0LmRvbmUoKTsKK30sICdSZXZlcnNpbmcgd2hlbiB3aGVu
IHBsYXliYWNrUmF0ZSA9PSAwIHNob3VsZCBwcmVzZXJ2ZSB0aGUgY3VycmVudCAnICsKKyAgICd0
aW1lIGFuZCBwbGF5YmFjayByYXRlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgZGl2
ID0gY3JlYXRlRGl2KHQpOworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5l
dyBLZXlmcmFtZUVmZmVjdChkaXYsIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLCBudWxsKTsKKwor
ICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsIGZ1bmN0aW9uKCkgeyBhbmltYXRp
b24ucmV2ZXJzZSgpOyB9KTsKK30sICdSZXZlcnNpbmcgYW4gYW5pbWF0aW9uIHdpdGhvdXQgYW4g
YWN0aXZlIHRpbWVsaW5lIHRocm93cyBhbiAnICsKKyAgICdJbnZhbGlkU3RhdGVFcnJvcicpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0
YXJ0LXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3RhcnQtdGltZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTExYWNmYmI0OWM3Mjg4ZWNlOGExOTM3OGQzOTk0YjA1
ZTZhNjI4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRp
bWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitGQUlMIFNldHRpbmcgdGhlIHN0YXJ0
IHRpbWUgb2YgYW4gYW5pbWF0aW9uIHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lIEFyZ3VtZW50
IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBTZXR0aW5nIGFuIHVucmVzb2x2ZWQg
c3RhcnQgdGltZSBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUgZG9lcyBu
b3QgY2xlYXIgdGhlIGN1cnJlbnQgdGltZSBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUg
QW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGlt
ZWxpbmUKK0ZBSUwgU2V0dGluZyB0aGUgc3RhcnQgdGltZSBjbGVhcnMgdGhlIGhvbGQgdGltZSBB
cmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgU2V0dGluZyBhbiB1bnJl
c29sdmVkIHN0YXJ0IHRpbWUgc2V0cyB0aGUgaG9sZCB0aW1lIEFyZ3VtZW50IDEgKCd0aW1lbGlu
ZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBB
bmltYXRpb25UaW1lbGluZQorRkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1lIHJlc29sdmVzIGEg
cGVuZGluZyByZWFkeSBwcm9taXNlIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmlt
YXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGlu
ZQorRkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1lIHJlc29sdmVzIGEgcGVuZGluZyBwYXVzZSB0
YXNrIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3Ig
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBTZXR0aW5nIHRo
ZSBzdGFydCB0aW1lIHVwZGF0ZXMgdGhlIGZpbmlzaGVkIHN0YXRlIEFyZ3VtZW50IDEgKCd0aW1l
bGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBBbmltYXRpb25UaW1lbGluZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlvbi1z
dGFydC10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1p
bmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOGI3NGM5MmE0NjlmMGExMDc2MmY1MDk1NjUwNjc2MWM4YTA4NmM0NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRpbWUuaHRtbApAQCAtMCww
ICsxLDIwNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxl
PlNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vd2ViLWFuaW1hdGlvbnMvI3NldC10aGUtYW5pbWF0
aW9uLXN0YXJ0LXRpbWUiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0Pgor
PGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKwor
dGVzdChmdW5jdGlvbih0KQoreworICAvLyBJdCBzaG91bGQgb25seSBiZSBwb3NzaWJsZSB0byBz
ZXQgKmVpdGhlciogdGhlIHN0YXJ0IHRpbWUgb3IgdGhlIGN1cnJlbnQKKyAgLy8gdGltZSBmb3Ig
YW4gYW5pbWF0aW9uIHRoYXQgZG9lcyBub3QgaGF2ZSBhbiBhY3RpdmUgdGltZWxpbmUuCisKKyAg
dmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoY3Jl
YXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAgICAgICAgICAgICAgICAgIG51
bGwpOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCBudWxsLCAnSW50
aWFsIGN1cnJlbnQgdGltZScpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5zdGFydFRpbWUs
IG51bGwsICdJbnRpYWwgc3RhcnQgdGltZScpOworCisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9
IDEwMDA7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCAxMDAwLAorICAg
ICAgICAgICAgICAgICdTZXR0aW5nIHRoZSBjdXJyZW50IHRpbWUgc3VjY2VlZHMnKTsKKyAgYXNz
ZXJ0X2VxdWFscyhhbmltYXRpb24uc3RhcnRUaW1lLCBudWxsLAorICAgICAgICAgICAgICAgICdT
dGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRlciBzZXR0aW5nIGN1cnJlbnQgdGltZScpOworCisg
IGFuaW1hdGlvbi5zdGFydFRpbWUgPSAxMDAwOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5z
dGFydFRpbWUsIDEwMDAsCisgICAgICAgICAgICAgICAgJ1NldHRpbmcgdGhlIHN0YXJ0IHRpbWUg
c3VjY2VlZHMnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIG51bGws
CisgICAgICAgICAgICAgICAgJ1NldHRpbmcgdGhlIHN0YXJ0IHRpbWUgY2xlYXJzIHRoZSBjdXJy
ZW50IHRpbWUnKTsKKworICBhbmltYXRpb24uc3RhcnRUaW1lID0gbnVsbDsKKyAgYXNzZXJ0X2Vx
dWFscyhhbmltYXRpb24uc3RhcnRUaW1lLCBudWxsLAorICAgICAgICAgICAgICAgICdTZXR0aW5n
IHRoZSBzdGFydCB0aW1lIHRvIGFuIHVucmVzb2x2ZWQgdGltZSBzdWNjZWVkcycpOworICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgbnVsbCwgJ1RoZSBjdXJyZW50IHRpbWUg
aXMgdW5hZmZlY3RlZCcpOworCit9LCAnU2V0dGluZyB0aGUgc3RhcnQgdGltZSBvZiBhbiBhbmlt
YXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUnKTsKKwordGVzdChmdW5jdGlvbih0KQor
eworICAvLyBTZXR0aW5nIGFuIHVucmVzb2x2ZWQgc3RhcnQgdGltZSBvbiBhbiBhbmltYXRpb24g
d2l0aG91dCBhbiBhY3RpdmUKKyAgLy8gdGltZWxpbmUgc2hvdWxkIG5vdCBjbGVhciB0aGUgY3Vy
cmVudCB0aW1lLgorCisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtl
eWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAg
ICAgICAgICAgICAgICBudWxsKTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50
VGltZSwgbnVsbCwgJ0ludGlhbCBjdXJyZW50IHRpbWUnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
YXRpb24uc3RhcnRUaW1lLCBudWxsLCAnSW50aWFsIHN0YXJ0IHRpbWUnKTsKKworICBhbmltYXRp
b24uY3VycmVudFRpbWUgPSAxMDAwOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5jdXJyZW50
VGltZSwgMTAwMCwKKyAgICAgICAgICAgICAgICAnU2V0dGluZyB0aGUgY3VycmVudCB0aW1lIHN1
Y2NlZWRzJyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnN0YXJ0VGltZSwgbnVsbCwKKyAg
ICAgICAgICAgICAgICAnU3RhcnQgdGltZSByZW1haW5zIG51bGwgYWZ0ZXIgc2V0dGluZyBjdXJy
ZW50IHRpbWUnKTsKKworICBhbmltYXRpb24uc3RhcnRUaW1lID0gbnVsbDsKKyAgYXNzZXJ0X2Vx
dWFscyhhbmltYXRpb24uc3RhcnRUaW1lLCBudWxsLCAnU3RhcnQgdGltZSByZW1haW5zIHVucmVz
b2x2ZWQnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uY3VycmVudFRpbWUsIDEwMDAsICdD
dXJyZW50IHRpbWUgaXMgdW5hZmZlY3RlZCcpOworCit9LCAnU2V0dGluZyBhbiB1bnJlc29sdmVk
IHN0YXJ0IHRpbWUgYW4gYW5pbWF0aW9uIHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lJworICAg
KyAnIGRvZXMgbm90IGNsZWFyIHRoZSBjdXJyZW50IHRpbWUnKTsKKwordGVzdChmdW5jdGlvbih0
KQoreworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVm
ZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAg
ICAgICAgZG9jdW1lbnQudGltZWxpbmUpOworCisgIC8vIFNvIGxvbmcgYXMgYSBob2xkIHRpbWUg
aXMgc2V0LCBxdWVyeWluZyB0aGUgY3VycmVudCB0aW1lIHdpbGwgcmV0dXJuCisgIC8vIHRoZSBo
b2xkIHRpbWUuCisKKyAgLy8gU2luY2UgdGhlIHN0YXJ0IHRpbWUgaXMgdW5yZXNvbHZlZCBhdCB0
aGlzIHBvaW50LCBzZXR0aW5nIHRoZSBjdXJyZW50IHRpbWUKKyAgLy8gd2lsbCBzZXQgdGhlIGhv
bGQgdGltZQorICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDAwOworICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMTAwMCwKKyAgICAgICAgICAgICAgICAnVGhlIGN1cnJl
bnQgdGltZSBpcyBjYWxjdWxhdGVkIGZyb20gdGhlIGhvbGQgdGltZScpOworCisgIC8vIElmIHdl
IHNldCB0aGUgc3RhcnQgdGltZSwgaG93ZXZlciwgd2Ugc2hvdWxkIGNsZWFyIHRoZSBob2xkIHRp
bWUuCisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSAtIDIwMDA7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltYXRpb24uY3VycmVudFRpbWUsIDIw
MDAsCisgICAgICAgICAgICAgICAgICAgICAnVGhlIGN1cnJlbnQgdGltZSBpcyBjYWxjdWxhdGVk
IGZyb20gdGhlIHN0YXJ0IHRpbWUsJworICAgICAgICAgICAgICAgICAgICAgKyAnIG5vdCB0aGUg
aG9sZCB0aW1lJyk7CisKKyAgLy8gU2FuaXR5IGNoZWNrCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0
aW9uLnBsYXlTdGF0ZSwgJ3J1bm5pbmcnLAorICAgICAgICAgICAgICAgICdBbmltYXRpb24gcmVw
b3J0cyBpdCBpcyBydW5uaW5nIGFmdGVyIHNldHRpbmcgYSByZXNvbHZlZCcKKyAgICAgICAgICAg
ICAgICArICcgc3RhcnQgdGltZScpOworfSwgJ1NldHRpbmcgdGhlIHN0YXJ0IHRpbWUgY2xlYXJz
IHRoZSBob2xkIHRpbWUnKTsKKwordGVzdChmdW5jdGlvbih0KQoreworICB2YXIgYW5pbWF0aW9u
ID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51
bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxp
bmUpOworCisgIC8vIFNldCB1cCBhIHJ1bm5pbmcgYW5pbWF0aW9uIChpLmUuIGJvdGggc3RhcnQg
dGltZSBhbmQgY3VycmVudCB0aW1lCisgIC8vIGFyZSByZXNvbHZlZCkuCisgIGFuaW1hdGlvbi5z
dGFydFRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSAtIDEwMDA7CisgIGFzc2Vy
dF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3J1bm5pbmcnKTsKKyAgYXNzZXJ0X3RpbWVz
X2VxdWFsKGFuaW1hdGlvbi5jdXJyZW50VGltZSwgMTAwMCwKKyAgICAgICAgICAgICAgICAgICAg
ICdDdXJyZW50IHRpbWUgaXMgcmVzb2x2ZWQgZm9yIGEgcnVubmluZyBhbmltYXRpb24nKQorCisg
IC8vIENsZWFyIHN0YXJ0IHRpbWUKKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IG51bGw7CisgIGFz
c2VydF90aW1lc19lcXVhbChhbmltYXRpb24uY3VycmVudFRpbWUsIDEwMDAsCisgICAgICAgICAg
ICAgICAgICAgICAnSG9sZCB0aW1lIGlzIHNldCBhZnRlciBzdGFydCB0aW1lIGlzIG1hZGUgdW5y
ZXNvbHZlZCcpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwYXVzZWQn
LAorICAgICAgICAgICAgICAgICdBbmltYXRpb24gcmVwb3J0cyBpdCBpcyBwYXVzZWQgYWZ0ZXIg
c2V0dGluZyBhbiB1bnJlc29sdmVkJworICAgICAgICAgICAgICAgICsgJyBzdGFydCB0aW1lJyk7
Cit9LCAnU2V0dGluZyBhbiB1bnJlc29sdmVkIHN0YXJ0IHRpbWUgc2V0cyB0aGUgaG9sZCB0aW1l
Jyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KQoreworICB2YXIgYW5pbWF0aW9uID0KKyAg
ICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEw
MCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxpbmUpOwor
CisgIHZhciByZWFkeVByb21pc2VDYWxsYmFja0NhbGxlZCA9IGZhbHNlOworICBhbmltYXRpb24u
cmVhZHkudGhlbihmdW5jdGlvbigpIHsgcmVhZHlQcm9taXNlQ2FsbGJhY2tDYWxsZWQgPSB0cnVl
OyB9ICk7CisKKyAgLy8gUHV0IHRoZSBhbmltYXRpb24gaW4gdGhlIHBsYXktcGVuZGluZyBzdGF0
ZQorICBhbmltYXRpb24ucGxheSgpOworCisgIC8vIFNhbml0eSBjaGVjaworICBhc3NlcnRfZXF1
YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJywKKyAgICAgICAgICAgICAgICAnQW5p
bWF0aW9uIGlzIGluIHBsYXktcGVuZGluZyBzdGF0ZScpOworCisgIC8vIFNldHRpbmcgdGhlIHN0
YXJ0IHRpbWUgc2hvdWxkIHJlc29sdmUgdGhlICdyZWFkeScgcHJvbWlzZSwgaS5lLgorICAvLyBp
dCBzaG91bGQgc2NoZWR1bGUgYSBtaWNyb3Rhc2sgdG8gcnVuIHRoZSBwcm9taXNlIGNhbGxiYWNr
cy4KKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1l
OworICBhc3NlcnRfZmFsc2UocmVhZHlQcm9taXNlQ2FsbGJhY2tDYWxsZWQsCisgICAgICAgICAg
ICAgICAnUmVhZHkgcHJvbWlzZSBjYWxsYmFjayBpcyBub3QgY2FsbGVkIHN5bmNocm9ub3VzbHkn
KTsKKworICAvLyBJZiB3ZSBzY2hlZHVsZSBhbm90aGVyIG1pY3JvdGFzayB0aGVuIGl0IHNob3Vs
ZCBydW4gaW1tZWRpYXRlbHkgYWZ0ZXIKKyAgLy8gdGhlIHJlYWR5IHByb21pc2UgcmVzb2x1dGlv
biBtaWNyb3Rhc2suCisgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCkg
eworICAgIGFzc2VydF90cnVlKHJlYWR5UHJvbWlzZUNhbGxiYWNrQ2FsbGVkLAorICAgICAgICAg
ICAgICAgICdSZWFkeSBwcm9taXNlIGNhbGxiYWNrIGNhbGxlZCBhZnRlciBzZXR0aW5nIHN0YXJ0
VGltZScpOworICB9KTsKK30sICdTZXR0aW5nIHRoZSBzdGFydCB0aW1lIHJlc29sdmVzIGEgcGVu
ZGluZyByZWFkeSBwcm9taXNlJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KQoreworICB2
YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVh
dGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQudGltZWxpbmUpOworCisgIHZhciByZWFkeVByb21pc2VDYWxsYmFja0NhbGxlZCA9IGZh
bHNlOworICBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsgcmVhZHlQcm9taXNlQ2Fs
bGJhY2tDYWxsZWQgPSB0cnVlOyB9ICk7CisKKyAgLy8gUHV0IHRoZSBhbmltYXRpb24gaW4gdGhl
IHBhdXNlLXBlbmRpbmcgc3RhdGUKKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRp
bWVsaW5lLmN1cnJlbnRUaW1lOworICBhbmltYXRpb24ucGF1c2UoKTsKKworICAvLyBTYW5pdHkg
Y2hlY2sKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVuZGluZycsCisg
ICAgICAgICAgICAgICAgJ0FuaW1hdGlvbiBpcyBpbiBwYXVzZS1wZW5kaW5nIHN0YXRlJyk7CisK
KyAgLy8gU2V0dGluZyB0aGUgc3RhcnQgdGltZSBzaG91bGQgcmVzb2x2ZSB0aGUgJ3JlYWR5JyBw
cm9taXNlIGFsdGhvdWdoCisgIC8vIHRoZSByZXNvbHV0aW9uIGNhbGxiYWNrcyB3aGVuIGJlIHJ1
biBpbiBhIHNlcGFyYXRlIG1pY3JvdGFzay4KKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IG51bGw7
CisgIGFzc2VydF9mYWxzZShyZWFkeVByb21pc2VDYWxsYmFja0NhbGxlZCwKKyAgICAgICAgICAg
ICAgICdSZWFkeSBwcm9taXNlIGNhbGxiYWNrIGlzIG5vdCBjYWxsZWQgc3luY2hyb25vdXNseScp
OworCisgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFz
c2VydF90cnVlKHJlYWR5UHJvbWlzZUNhbGxiYWNrQ2FsbGVkLAorICAgICAgICAgICAgICAgICdS
ZWFkeSBwcm9taXNlIGNhbGxiYWNrIGNhbGxlZCBhZnRlciBzZXR0aW5nIHN0YXJ0VGltZScpOwor
ICB9KTsKK30sICdTZXR0aW5nIHRoZSBzdGFydCB0aW1lIHJlc29sdmVzIGEgcGVuZGluZyBwYXVz
ZSB0YXNrJyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KQoreworICB2YXIgYW5pbWF0aW9u
ID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51
bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxp
bmUpOworCisgIC8vIFNldCBzdGFydCB0aW1lIHN1Y2ggdGhhdCB0aGUgY3VycmVudCB0aW1lIGlz
IHBhc3QgdGhlIGVuZCB0aW1lCisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBkb2N1bWVudC50aW1l
bGluZS5jdXJyZW50VGltZQorICAgICAgICAgICAgICAgICAgICAgICAgLSAxMTAgKiBNU19QRVJf
U0VDOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdmaW5pc2hlZCcsCisg
ICAgICAgICAgICAgICAgJ1NlZWtlZCB0byBmaW5pc2hlZCBzdGF0ZSB1c2luZyB0aGUgc3RhcnRU
aW1lJyk7CisKKyAgLy8gSWYgdGhlICdkaWQgc2VlaycgZmxhZyBpcyB0cnVlLCB0aGUgY3VycmVu
dCB0aW1lIHNob3VsZCBiZSBncmVhdGVyIHRoYW4KKyAgLy8gdGhlIGVmZmVjdCBlbmQuCisgIGFz
c2VydF9ncmVhdGVyX3RoYW4oYW5pbWF0aW9uLmN1cnJlbnRUaW1lLAorICAgICAgICAgICAgICAg
ICAgICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5lbmRUaW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICdTZXR0aW5nIHRoZSBzdGFydCB0aW1lIHVwZGF0ZWQgdGhlIGZp
bmlzaGVkIHN0YXRlIHdpdGgnCisgICAgICAgICAgICAgICAgICAgICAgKyAnIHRoZSBcJ2RpZCBz
ZWVrXCcgZmxhZyBzZXQgdG8gdHJ1ZScpOworCisgIC8vIEZ1cnRoZXJtb3JlLCB0aGF0IHRpbWUg
c2hvdWxkIHBlcnNpc3QgaWYgd2UgaGF2ZSBjb3JyZWN0bHkgdXBkYXRlZAorICAvLyB0aGUgaG9s
ZCB0aW1lCisgIHZhciBmaW5pc2hlZEN1cnJlbnRUaW1lID0gYW5pbWF0aW9uLmN1cnJlbnRUaW1l
OworICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygxKS50aGVuKGZ1bmN0aW9uKCkgewor
ICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCBmaW5pc2hlZEN1cnJlbnRU
aW1lLAorICAgICAgICAgICAgICAgICAgJ0N1cnJlbnQgdGltZSBkb2VzIG5vdCBjaGFuZ2UgYWZ0
ZXIgc2Vla2luZyBwYXN0IHRoZSBlZmZlY3QnCisgICAgICAgICAgICAgICAgICArICcgZW5kIHRp
bWUgYnkgc2V0dGluZyB0aGUgY3VycmVudCB0aW1lJyk7CisgIH0pOworfSwgJ1NldHRpbmcgdGhl
IHN0YXJ0IHRpbWUgdXBkYXRlcyB0aGUgZmluaXNoZWQgc3RhdGUnKTsKKworPC9zY3JpcHQ+Cis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLXRhcmdldC1lZmZlY3Qtb2YtYW4tYW5pbWF0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtdGFyZ2V0LWVmZmVjdC1vZi1hbi1hbmltYXRp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlZDkzYWEwNmQyYWE4YzI1NjU1ODNlZjFkMjYy
Njc4MzhjNmY5YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLXRhcmdldC1lZmZlY3Qt
b2YtYW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACisKK0ZBSUwgSWYg
bmV3IGVmZmVjdCBpcyBudWxsIGFuZCBvbGQgZWZmZWN0IGlzIG5vdCBudWxsLCB3ZSByZXNldCB0
aGUgcGVuZGluZyB0YXNrcyBhbmQgcmVhZHkgcHJvbWlzZSBpcyByZWplY3RlZCBjcmVhdGVEaXYo
dCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZSh7
IG1hcmdpbkxlZnQ6IFsgJzBweCcsICcxMDBweCcgXSB9LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBp
cyB1bmRlZmluZWQpCitGQUlMIElmIGFuaW1hdGlvbiBoYXMgYSBwZW5kaW5nIHBhdXNlIHRhc2ss
IHJlc2NoZWR1bGUgdGhhdCB0YXNrIHRvIHJ1biBhcyBzb29uIGFzIGFuaW1hdGlvbiBpcyByZWFk
eS4gYW5pbS5wYXVzZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLnBhdXNlKCknLCAnYW5p
bS5wYXVzZScgaXMgdW5kZWZpbmVkKQorRkFJTCBJZiBhbmltYXRpb24gaGFzIGEgcGVuZGluZyBw
bGF5IHRhc2ssIHJlc2NoZWR1bGUgdGhhdCB0YXNrIHRvIHJ1biBhcyBzb29uIGFzIGFuaW1hdGlv
biBpcyByZWFkeSB0byBwbGF5IG5ldyBlZmZlY3QuIGFuaW0ucGxheSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdhbmltLnBsYXkoKScsICdhbmltLnBsYXknIGlzIHVuZGVmaW5lZCkKK0ZBSUwgV2hl
biBzZXR0aW5nIHRoZSBlZmZlY3Qgb2YgYW4gYW5pbWF0aW9uIHRvIHRoZSBlZmZlY3Qgb2YgYW4g
ZXhpc3RpbmcgYW5pbWF0aW9uLCB0aGUgZXhpc3RpbmcgYW5pbWF0aW9uJ3MgdGFyZ2V0IGVmZmVj
dCBzaG91bGQgYmUgc2V0IHRvIG51bGwuIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKHsgbWFyZ2luTGVmdDogWyAnMHB4Jywg
JzEwMHB4JyBdIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCAqIE1T
X1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEFm
dGVyIHNldHRpbmcgdGhlIHRhcmdldCBlZmZlY3Qgb2YgYW5pbWF0aW9uIHRvIHRoZSB0YXJnZXQg
ZWZmZWN0IG9mIGFuIGV4aXN0aW5nIGFuaW1hdGlvbiwgdGhlIHRhcmdldCBlZmZlY3QncyB0aW1p
bmcgaXMgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBjdXJyZW50IHRpbWUgb2YgdGhlIG5ldyBhbmlt
YXRpb24uIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0
ZURpdih0KS5hbmltYXRlKHsgbWFyZ2luTGVmdDogWyAnMHB4JywgJzEwMHB4JyBdIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0
ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUt
dGFyZ2V0LWVmZmVjdC1vZi1hbi1hbmltYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtdGFyZ2V0LWVm
ZmVjdC1vZi1hbi1hbmltYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzUxZjAxNDFjMzliYmQ0NmM0
MDE5MjQ4MDU0OGQxYzdjMDljZTJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10YXJn
ZXQtZWZmZWN0LW9mLWFuLWFuaW1hdGlvbi5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5TZXR0aW5nIHRoZSB0YXJnZXQg
ZWZmZWN0IHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0naGVscCcgaHJlZj0naHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNzZXR0aW5nLXRoZS10YXJnZXQtZWZmZWN0Jz4KKzxz
Y3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPScuLi8uLi90ZXN0Y29tbW9uLmpzJz48L3NjcmlwdD4KKzxib2R5PgorPGRpdiBpZD0nbG9n
Jz48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUoeyBtYXJnaW5MZWZ0OiBb
ICcwcHgnLCAnMTAwcHgnIF0gfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
MDAgKiBNU19QRVJfU0VDKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLnBsYXlTdGF0ZSwgJ3BlbmRp
bmcnKTsKKworICB2YXIgcmV0UHJvbWlzZSA9IGFuaW0ucmVhZHkudGhlbihmdW5jdGlvbigpIHsK
KyAgICBhc3NlcnRfdW5yZWFjaGVkKCdyZWFkeSBwcm9taXNlIGlzIGZ1bGZpbGxlZCcpOworICB9
KS5jYXRjaChmdW5jdGlvbihlcnIpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGVyci5uYW1lLCAnQWJv
cnRFcnJvcicsCisgICAgICAgICAgICAgICAgICAncmVhZHkgcHJvbWlzZSBpcyByZWplY3RlZCB3
aXRoIEFib3J0RXJyb3InKTsKKyAgfSk7CisKKyAgYW5pbS5lZmZlY3QgPSBudWxsOworICBhc3Nl
cnRfZXF1YWxzKGFuaW0ucGxheVN0YXRlLCAncGF1c2VkJyk7CisKKyAgcmV0dXJuIHJldFByb21p
c2U7Cit9LCAnSWYgbmV3IGVmZmVjdCBpcyBudWxsIGFuZCBvbGQgZWZmZWN0IGlzIG5vdCBudWxs
LCB3ZSByZXNldCB0aGUgcGVuZGluZyAnICsKKyAgICd0YXNrcyBhbmQgcmVhZHkgcHJvbWlzZSBp
cyByZWplY3RlZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbSA9
IG5ldyBBbmltYXRpb24oKTsKKyAgYW5pbS5wYXVzZSgpOworICBhc3NlcnRfZXF1YWxzKGFuaW0u
cGxheVN0YXRlLCAncGVuZGluZycpOworCisgIGFuaW0uZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZm
ZWN0UmVhZE9ubHkoY3JlYXRlRGl2KHQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDogWyAnMHB4JywgJzEwMHB4JyBdIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwICogTVNfUEVSX1NFQyk7Cisg
IGFzc2VydF9lcXVhbHMoYW5pbS5wbGF5U3RhdGUsICdwZW5kaW5nJyk7CisKKyAgcmV0dXJuIGFu
aW0ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0ucGxheVN0
YXRlLCAncGF1c2VkJyk7CisgIH0pOworfSwgJ0lmIGFuaW1hdGlvbiBoYXMgYSBwZW5kaW5nIHBh
dXNlIHRhc2ssIHJlc2NoZWR1bGUgdGhhdCB0YXNrIHRvIHJ1biAnICsKKyAgICdhcyBzb29uIGFz
IGFuaW1hdGlvbiBpcyByZWFkeS4nKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
dmFyIGFuaW0gPSBuZXcgQW5pbWF0aW9uKCk7CisgIGFuaW0ucGxheSgpOworICBhc3NlcnRfZXF1
YWxzKGFuaW0ucGxheVN0YXRlLCAncGVuZGluZycpOworCisgIGFuaW0uZWZmZWN0ID0gbmV3IEtl
eWZyYW1lRWZmZWN0UmVhZE9ubHkoY3JlYXRlRGl2KHQpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgbWFyZ2luTGVmdDogWyAnMHB4JywgJzEwMHB4JyBdIH0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwICogTVNfUEVS
X1NFQyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5wbGF5U3RhdGUsICdwZW5kaW5nJyk7CisKKyAg
cmV0dXJuIGFuaW0ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFu
aW0ucGxheVN0YXRlLCAncnVubmluZycpOworICB9KTsKK30sICdJZiBhbmltYXRpb24gaGFzIGEg
cGVuZGluZyBwbGF5IHRhc2ssIHJlc2NoZWR1bGUgdGhhdCB0YXNrIHRvIHJ1biAnICsKKyAgICdh
cyBzb29uIGFzIGFuaW1hdGlvbiBpcyByZWFkeSB0byBwbGF5IG5ldyBlZmZlY3QuJyk7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltQSA9IGNyZWF0ZURpdih0KS5hbmlt
YXRlKHsgbWFyZ2luTGVmdDogWyAnMHB4JywgJzEwMHB4JyBdIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgYW5pbUIgPSBuZXcg
QW5pbWF0aW9uKCk7CisKKyAgcmV0dXJuIGFuaW1BLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7Cisg
ICAgYW5pbUIuZWZmZWN0ID0gYW5pbUEuZWZmZWN0OworICAgIGFzc2VydF9lcXVhbHMoYW5pbUEu
ZWZmZWN0LCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1BLnBsYXlTdGF0ZSwgJ2Zpbmlz
aGVkJyk7CisgIH0pOworfSwgJ1doZW4gc2V0dGluZyB0aGUgZWZmZWN0IG9mIGFuIGFuaW1hdGlv
biB0byB0aGUgZWZmZWN0IG9mIGFuIGV4aXN0aW5nICcgKworICAgJ2FuaW1hdGlvbiwgdGhlIGV4
aXN0aW5nIGFuaW1hdGlvblwncyB0YXJnZXQgZWZmZWN0IHNob3VsZCBiZSBzZXQgdG8gbnVsbC4n
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltQSA9IGNyZWF0ZURpdih0KS5hbmlt
YXRlKHsgbWFyZ2luTGVmdDogWyAnMHB4JywgJzEwMHB4JyBdIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEwMCAqIE1TX1BFUl9TRUMpOworICB2YXIgYW5pbUIgPSBuZXcg
QW5pbWF0aW9uKCk7CisgIHZhciBlZmZlY3QgPSBhbmltQS5lZmZlY3Q7CisgIGFuaW1BLmN1cnJl
bnRUaW1lID0gNTAgKiBNU19QRVJfU0VDOworICBhbmltQi5jdXJyZW50VGltZSA9IDIwICogTVNf
UEVSX1NFQzsKKyAgYXNzZXJ0X2VxdWFscyhlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5wcm9n
cmVzcywgMC41LAorICAgICAgICAgICAgICAgICdPcmlnaW5hbCB0aW1pbmcgY29tZXMgZnJvbSBm
aXJzdCBhbmltYXRpb24nKTsKKyAgYW5pbUIuZWZmZWN0ID0gZWZmZWN0OworICBhc3NlcnRfZXF1
YWxzKGVmZmVjdC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLCAwLjIsCisgICAgICAgICAg
ICAgICAgJ0FmdGVyIHNldHRpbmcgdGhlIGVmZmVjdCBvbiBhIGRpZmZlcmVudCBhbmltYXRpb24s
ICcgKworICAgICAgICAgICAgICAgICdpdCB1c2VzIHRoZSBuZXcgYW5pbWF0aW9uXCdzIHRpbWlu
ZycpOworfSwgJ0FmdGVyIHNldHRpbmcgdGhlIHRhcmdldCBlZmZlY3Qgb2YgYW5pbWF0aW9uIHRv
IHRoZSB0YXJnZXQgZWZmZWN0IG9mIGFuICcgKworICAgJ2V4aXN0aW5nIGFuaW1hdGlvbiwgdGhl
IHRhcmdldCBlZmZlY3RcJ3MgdGltaW5nIGlzIHVwZGF0ZWQgdG8gcmVmbGVjdCAnICsKKyAgICd0
aGUgY3VycmVudCB0aW1lIG9mIHRoZSBuZXcgYW5pbWF0aW9uLicpOworCis8L3NjcmlwdD4KKzwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtdGltZWxpbmUtb2YtYW4tYW5pbWF0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb25zL3NldC10aGUtdGltZWxpbmUtb2YtYW4tYW5pbWF0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YTNjNDdkN2M1YTk3MzlkNjE1OWFkOGU1NTUyOTU5ZDdlZmU5YWVi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS10aW1lbGluZS1vZi1hbi1hbmltYXRpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKKworRkFJTCBBZnRlciBzZXR0aW5nIHRpbWVs
aW5lIG9uIHBhdXNlZCBhbmltYXRpb24gaXQgaXMgc3RpbGwgcGF1c2VkIEFyZ3VtZW50IDEgKCd0
aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRlciBzZXR0aW5nIHRpbWVsaW5lIG9uIGFu
aW1hdGlvbiBwYXVzZWQgb3V0c2lkZSBhY3RpdmUgaW50ZXJ2YWwgaXQgaXMgc3RpbGwgcGF1c2Vk
IEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29uc3RydWN0b3IgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBBZnRlciBzZXR0aW5n
IHRpbWVsaW5lIG9uIGFuIGlkbGUgYW5pbWF0aW9uIHdpdGhvdXQgYSBzdGFydCB0aW1lIGl0IGlz
IHN0aWxsIGlkbGUgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25z
dHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIEFm
dGVyIHNldHRpbmcgdGltZWxpbmUgb24gYW4gaWRsZSBhbmltYXRpb24gd2l0aCBhIHN0YXJ0IHRp
bWUgaXQgaXMgcnVubmluZyBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9u
IGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZB
SUwgQWZ0ZXIgc2V0dGluZyB0aW1lbGluZSBvbiBhbiBpZGxlIGFuaW1hdGlvbiB3aXRoIGEgc3Vm
ZmljaWVudGx5IGFuY2llbnQgc3RhcnQgdGltZSBpdCBpcyBmaW5pc2hlZCBBcmd1bWVudCAxICgn
dGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgc2V0dGluZyB0aW1lbGluZSBvbiBh
IHBsYXktcGVuZGluZyBhbmltYXRpb24gaXQgaXMgc3RpbGwgcGVuZGluZyBBcmd1bWVudCAxICgn
dGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgc2V0dGluZyB0aW1lbGluZSBvbiBh
IHBsYXktcGVuZGluZyBhbmltYXRpb24gaXQgYmVnaW5zIHBsYXlpbmcgYWZ0ZXIgcGVuZGluZyBB
cmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgc2V0dGluZyB0
aW1lbGluZSBvbiBhIHBhdXNlLXBlbmRpbmcgYW5pbWF0aW9uIGl0IGlzIHN0aWxsIHBlbmRpbmcg
QXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIEFmdGVyIHNldHRpbmcg
dGltZWxpbmUgb24gYSBwYXVzZS1wZW5kaW5nIGFuaW1hdGlvbiBpdCBiZWNvbWVzIHBhdXNlZCBh
ZnRlciBwZW5kaW5nIEFyZ3VtZW50IDEgKCd0aW1lbGluZScpIHRvIHRoZSBBbmltYXRpb24gY29u
c3RydWN0b3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBbmltYXRpb25UaW1lbGluZQorRkFJTCBB
ZnRlciBjbGVhcmluZyB0aW1lbGluZSBvbiBwYXVzZWQgYW5pbWF0aW9uIGl0IGlzIHN0aWxsIHBh
dXNlZCBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9y
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgY2xl
YXJpbmcgdGltZWxpbmUgb24gZmluaXNoZWQgYW5pbWF0aW9uIGl0IGlzIGlkbGUgQXJndW1lbnQg
MSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5lCitGQUlMIEFmdGVyIGNsZWFyaW5nIHRpbWVsaW5l
IG9uIHJ1bm5pbmcgYW5pbWF0aW9uIGl0IGlzIGlkbGUgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykg
dG8gdGhlIEFuaW1hdGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1h
dGlvblRpbWVsaW5lCitGQUlMIEFmdGVyIGNsZWFyaW5nIHRpbWVsaW5lIG9uIGlkbGUgYW5pbWF0
aW9uIGl0IGlzIHN0aWxsIGlkbGUgQXJndW1lbnQgMSAoJ3RpbWVsaW5lJykgdG8gdGhlIEFuaW1h
dGlvbiBjb25zdHJ1Y3RvciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFuaW1hdGlvblRpbWVsaW5l
CitGQUlMIEFmdGVyIGNsZWFyaW5nIHRpbWVsaW5lIG9uIHBsYXktcGVuZGluZyBhbmltYXRpb24g
aXQgaXMgc3RpbGwgcGVuZGluZyBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdj
cmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBBZnRlciBjbGVhcmluZyBh
bmQgcmUtc2V0dGluZyB0aW1lbGluZSBvbiBwbGF5LXBlbmRpbmcgYW5pbWF0aW9uIGl0IGJlZ2lu
cyB0byBwbGF5IGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0
KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIEFmdGVyIGNsZWFyaW5nIHRpbWVsaW5lIG9u
IGEgcGF1c2UtcGVuZGluZyBhbmltYXRpb24gaXQgaXMgc3RpbGwgcGVuZGluZyBBcmd1bWVudCAx
ICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9yIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgY2xlYXJpbmcgYW5kIHJlLXNl
dHRpbmcgdGltZWxpbmUgb24gYSBwYXVzZS1wZW5kaW5nIGFuaW1hdGlvbiBpdCBiZWNvbWVzIHBh
dXNlZCBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNvbnN0cnVjdG9y
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKK0ZBSUwgQWZ0ZXIgY2xl
YXJpbmcgYW5kIHJlLXNldHRpbmcgdGltZWxpbmUgb24gYW4gYW5pbWF0aW9uIGluIHRoZSBtaWRk
bGUgb2YgYW4gYWJvcnRlZCBwYXVzZSwgaXQgY29udGludWVzIHBsYXlpbmcgdXNpbmcgdGhlIHNh
bWUgc3RhcnQgdGltZSBBcmd1bWVudCAxICgndGltZWxpbmUnKSB0byB0aGUgQW5pbWF0aW9uIGNv
bnN0cnVjdG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQW5pbWF0aW9uVGltZWxpbmUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVs
L2FuaW1hdGlvbnMvc2V0LXRoZS10aW1lbGluZS1vZi1hbi1hbmltYXRpb24uaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3Nl
dC10aGUtdGltZWxpbmUtb2YtYW4tYW5pbWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzU0MGZlMmNh
NzE4MTJlMzA1YjU3NTM3OGFmY2E3ZjcyY2U1MDJlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3Nl
dC10aGUtdGltZWxpbmUtb2YtYW4tYW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSwyNzYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5TZXR0aW5nIHRoZSB0
aW1lbGluZSB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNj
LmdpdGh1Yi5pby93ZWItYW5pbWF0aW9ucy8jc2V0dGluZy10aGUtdGltZWxpbmUiPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwv
ZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8g
VGVzdHMgZnJvbSBubyB0aW1lbGluZSB0byB0aW1lbGluZQorLy8KKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlv
bihuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VD
KSwKKyAgICAgICAgICAgICAgICAgIG51bGwpOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSA1
MCAqIE1TX1BFUl9TRUM7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3Bh
dXNlZCcpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IGRvY3VtZW50LnRpbWVsaW5lOworCisg
IGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BhdXNlZCcpOworICBhc3NlcnRf
dGltZXNfZXF1YWwoYW5pbWF0aW9uLmN1cnJlbnRUaW1lLCA1MCAqIE1TX1BFUl9TRUMpOworfSwg
J0FmdGVyIHNldHRpbmcgdGltZWxpbmUgb24gcGF1c2VkIGFuaW1hdGlvbiBpdCBpcyBzdGlsbCBw
YXVzZWQnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5l
dyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICog
TVNfUEVSX1NFQyksCisgICAgICAgICAgICAgICAgICBudWxsKTsKKyAgYW5pbWF0aW9uLmN1cnJl
bnRUaW1lID0gMjAwICogTVNfUEVSX1NFQzsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxh
eVN0YXRlLCAncGF1c2VkJyk7CisKKyAgYW5pbWF0aW9uLnRpbWVsaW5lID0gZG9jdW1lbnQudGlt
ZWxpbmU7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGF1c2VkJyk7
CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltYXRpb24uY3VycmVudFRpbWUsIDIwMCAqIE1TX1BF
Ul9TRUMpOworfSwgJ0FmdGVyIHNldHRpbmcgdGltZWxpbmUgb24gYW5pbWF0aW9uIHBhdXNlZCBv
dXRzaWRlIGFjdGl2ZSBpbnRlcnZhbCcKKyAgICsgJyBpdCBpcyBzdGlsbCBwYXVzZWQnKTsKKwor
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24o
bmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyks
CisgICAgICAgICAgICAgICAgICBudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxh
eVN0YXRlLCAnaWRsZScpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IGRvY3VtZW50LnRpbWVs
aW5lOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ2lkbGUnKTsKK30s
ICdBZnRlciBzZXR0aW5nIHRpbWVsaW5lIG9uIGFuIGlkbGUgYW5pbWF0aW9uIHdpdGhvdXQgYSBz
dGFydCB0aW1lJworICAgKyAnIGl0IGlzIHN0aWxsIGlkbGUnKTsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZm
ZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAgICAgICAg
ICAgICBudWxsKTsKKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1
cnJlbnRUaW1lOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdpZGxlJyk7
CisKKyAgYW5pbWF0aW9uLnRpbWVsaW5lID0gZG9jdW1lbnQudGltZWxpbmU7CisKKyAgYXNzZXJ0
X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncnVubmluZycpOworfSwgJ0FmdGVyIHNldHRp
bmcgdGltZWxpbmUgb24gYW4gaWRsZSBhbmltYXRpb24gd2l0aCBhIHN0YXJ0IHRpbWUnCisgICAr
ICcgaXQgaXMgcnVubmluZycpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlv
biA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBu
dWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAgICAgICAgICAgICAgICAgIG51bGwpOworICBhbmlt
YXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgLSAyMDAgKiBN
U19QRVJfU0VDOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdpZGxlJyk7
CisKKyAgYW5pbWF0aW9uLnRpbWVsaW5lID0gZG9jdW1lbnQudGltZWxpbmU7CisKKyAgYXNzZXJ0
X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAnZmluaXNoZWQnKTsKK30sICdBZnRlciBzZXR0
aW5nIHRpbWVsaW5lIG9uIGFuIGlkbGUgYW5pbWF0aW9uIHdpdGggYSBzdWZmaWNpZW50bHkgYW5j
aWVudCcKKyAgICsgJyBzdGFydCB0aW1lIGl0IGlzIGZpbmlzaGVkJyk7CisKK3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFt
ZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAg
ICAgICAgICAgbnVsbCk7CisgIGFuaW1hdGlvbi5wbGF5KCk7CisgIGFzc2VydF9lcXVhbHMoYW5p
bWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnKTsKKworICBhbmltYXRpb24udGltZWxpbmUgPSBk
b2N1bWVudC50aW1lbGluZTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUs
ICdwZW5kaW5nJyk7Cit9LCAnQWZ0ZXIgc2V0dGluZyB0aW1lbGluZSBvbiBhIHBsYXktcGVuZGlu
ZyBhbmltYXRpb24gaXQgaXMgc3RpbGwgcGVuZGluZycpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rp
b24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFt
ZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAg
ICAgICAgICAgbnVsbCk7CisgIGFuaW1hdGlvbi5wbGF5KCk7CisgIGFzc2VydF9lcXVhbHMoYW5p
bWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnKTsKKworICBhbmltYXRpb24udGltZWxpbmUgPSBk
b2N1bWVudC50aW1lbGluZTsKKworICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rp
b24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncnVubmluZycp
OworICB9KTsKK30sICdBZnRlciBzZXR0aW5nIHRpbWVsaW5lIG9uIGEgcGxheS1wZW5kaW5nIGFu
aW1hdGlvbiBpdCBiZWdpbnMgcGxheWluZycKKyAgICsgJyBhZnRlciBwZW5kaW5nJyk7CisKK3Rl
c3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5l
dyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAor
ICAgICAgICAgICAgICAgICAgbnVsbCk7CisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBkb2N1bWVu
dC50aW1lbGluZS5jdXJyZW50VGltZTsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisgIGFuaW1hdGlv
bi50aW1lbGluZSA9IG51bGw7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwg
J3BlbmRpbmcnKTsKKworICBhbmltYXRpb24udGltZWxpbmUgPSBkb2N1bWVudC50aW1lbGluZTsK
KworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJyk7Cit9LCAn
QWZ0ZXIgc2V0dGluZyB0aW1lbGluZSBvbiBhIHBhdXNlLXBlbmRpbmcgYW5pbWF0aW9uIGl0IGlz
IHN0aWxsIHBlbmRpbmcnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFu
aW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2
KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAgICAgICAgICAgICAgICAgIG51bGwpOwor
ICBhbmltYXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWU7Cisg
IGFuaW1hdGlvbi5wYXVzZSgpOworICBhbmltYXRpb24udGltZWxpbmUgPSBudWxsOworICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJyk7CisKKyAgYW5pbWF0aW9u
LnRpbWVsaW5lID0gZG9jdW1lbnQudGltZWxpbmU7CisKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFk
eS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0
ZSwgJ3BhdXNlZCcpOworICB9KTsKK30sICdBZnRlciBzZXR0aW5nIHRpbWVsaW5lIG9uIGEgcGF1
c2UtcGVuZGluZyBhbmltYXRpb24gaXQgYmVjb21lcyBwYXVzZWQnCisgICArICcgYWZ0ZXIgcGVu
ZGluZycpOworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBUZXN0cyBmcm9tIHRpbWVsaW5lIHRv
IG5vIHRpbWVsaW5lCisvLworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgYW5pbWF0aW9uID0KKyAgICBuZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChj
cmVhdGVEaXYodCksIG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQudGltZWxpbmUpOworICBhbmltYXRpb24uY3VycmVudFRpbWUgPSA1MCAqIE1TX1BF
Ul9TRUM7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BhdXNlZCcpOwor
CisgIGFuaW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRp
b24ucGxheVN0YXRlLCAncGF1c2VkJyk7CisgIGFzc2VydF90aW1lc19lcXVhbChhbmltYXRpb24u
Y3VycmVudFRpbWUsIDUwICogTVNfUEVSX1NFQyk7Cit9LCAnQWZ0ZXIgY2xlYXJpbmcgdGltZWxp
bmUgb24gcGF1c2VkIGFuaW1hdGlvbiBpdCBpcyBzdGlsbCBwYXVzZWQnKTsKKwordGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmltYXRpb24obmV3IEtleWZy
YW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVSX1NFQyksCisgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisgIHZhciBpbml0aWFsU3RhcnRUaW1lID0g
ZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgLSAyMDAgKiBNU19QRVJfU0VDOworICBhbmlt
YXRpb24uc3RhcnRUaW1lID0gaW5pdGlhbFN0YXJ0VGltZTsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
YXRpb24ucGxheVN0YXRlLCAnZmluaXNoZWQnKTsKKworICBhbmltYXRpb24udGltZWxpbmUgPSBu
dWxsOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ2lkbGUnKTsKKyAg
YXNzZXJ0X3RpbWVzX2VxdWFsKGFuaW1hdGlvbi5zdGFydFRpbWUsIGluaXRpYWxTdGFydFRpbWUp
OworfSwgJ0FmdGVyIGNsZWFyaW5nIHRpbWVsaW5lIG9uIGZpbmlzaGVkIGFuaW1hdGlvbiBpdCBp
cyBpZGxlJyk7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0KKyAgICBu
ZXcgQW5pbWF0aW9uKG5ldyBLZXlmcmFtZUVmZmVjdChjcmVhdGVEaXYodCksIG51bGwsIDEwMCAq
IE1TX1BFUl9TRUMpLAorICAgICAgICAgICAgICAgICAgZG9jdW1lbnQudGltZWxpbmUpOworICB2
YXIgaW5pdGlhbFN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIC0gNTAg
KiBNU19QRVJfU0VDOworICBhbmltYXRpb24uc3RhcnRUaW1lID0gaW5pdGlhbFN0YXJ0VGltZTsK
KyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncnVubmluZycpOworCisgIGFu
aW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxh
eVN0YXRlLCAnaWRsZScpOworICBhc3NlcnRfdGltZXNfZXF1YWwoYW5pbWF0aW9uLnN0YXJ0VGlt
ZSwgaW5pdGlhbFN0YXJ0VGltZSk7Cit9LCAnQWZ0ZXIgY2xlYXJpbmcgdGltZWxpbmUgb24gcnVu
bmluZyBhbmltYXRpb24gaXQgaXMgaWRsZScpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGFuaW1hdGlvbiA9CisgICAgbmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRl
RGl2KHQpLCBudWxsLCAxMDAgKiBNU19QRVJfU0VDKSwKKyAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LnRpbWVsaW5lKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAnaWRs
ZScpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisKKyAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb24ucGxheVN0YXRlLCAnaWRsZScpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5z
dGFydFRpbWUsIG51bGwpOworfSwgJ0FmdGVyIGNsZWFyaW5nIHRpbWVsaW5lIG9uIGlkbGUgYW5p
bWF0aW9uIGl0IGlzIHN0aWxsIGlkbGUnKTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBh
bmltYXRpb24gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsK
KyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVuZGluZycpOworCisgIGFu
aW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxh
eVN0YXRlLCAncGVuZGluZycpOworfSwgJ0FmdGVyIGNsZWFyaW5nIHRpbWVsaW5lIG9uIHBsYXkt
cGVuZGluZyBhbmltYXRpb24gaXQgaXMgc3RpbGwgcGVuZGluZycpOworCitwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVs
bCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0
ZSwgJ3BlbmRpbmcnKTsKKworICBhbmltYXRpb24udGltZWxpbmUgPSBudWxsOworICBhbmltYXRp
b24udGltZWxpbmUgPSBkb2N1bWVudC50aW1lbGluZTsKKworICBhc3NlcnRfZXF1YWxzKGFuaW1h
dGlvbi5wbGF5U3RhdGUsICdwZW5kaW5nJyk7CisgIHJldHVybiBhbmltYXRpb24ucmVhZHkudGhl
bihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5wbGF5U3RhdGUsICdy
dW5uaW5nJyk7CisgIH0pOworfSwgJ0FmdGVyIGNsZWFyaW5nIGFuZCByZS1zZXR0aW5nIHRpbWVs
aW5lIG9uIHBsYXktcGVuZGluZyBhbmltYXRpb24gaXQnCisgICArICcgYmVnaW5zIHRvIHBsYXkn
KTsKKwordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmlt
YXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVS
X1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisgIGFuaW1hdGlv
bi5zdGFydFRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZTsKKyAgYW5pbWF0aW9u
LnBhdXNlKCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcn
KTsKKworICBhbmltYXRpb24udGltZWxpbmUgPSBudWxsOworCisgIGFzc2VydF9lcXVhbHMoYW5p
bWF0aW9uLnBsYXlTdGF0ZSwgJ3BlbmRpbmcnKTsKK30sICdBZnRlciBjbGVhcmluZyB0aW1lbGlu
ZSBvbiBhIHBhdXNlLXBlbmRpbmcgYW5pbWF0aW9uIGl0IGlzIHN0aWxsIHBlbmRpbmcnKTsKKwor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9CisgICAgbmV3IEFu
aW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoY3JlYXRlRGl2KHQpLCBudWxsLCAxMDAgKiBNU19Q
RVJfU0VDKSwKKyAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnRpbWVsaW5lKTsKKyAgYW5pbWF0
aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lOworICBhbmltYXRp
b24ucGF1c2UoKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVuZGlu
ZycpOworCisgIGFuaW1hdGlvbi50aW1lbGluZSA9IG51bGw7CisgIGFuaW1hdGlvbi50aW1lbGlu
ZSA9IGRvY3VtZW50LnRpbWVsaW5lOworCisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlT
dGF0ZSwgJ3BlbmRpbmcnKTsKKyAgcmV0dXJuIGFuaW1hdGlvbi5yZWFkeS50aGVuKGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BhdXNlZCcpOwor
ICB9KTsKK30sICdBZnRlciBjbGVhcmluZyBhbmQgcmUtc2V0dGluZyB0aW1lbGluZSBvbiBhIHBh
dXNlLXBlbmRpbmcgYW5pbWF0aW9uIGl0JworICAgKyAnIGJlY29tZXMgcGF1c2VkJyk7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltYXRpb24gPQorICAgIG5ldyBBbmlt
YXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGNyZWF0ZURpdih0KSwgbnVsbCwgMTAwICogTVNfUEVS
X1NFQyksCisgICAgICAgICAgICAgICAgICBkb2N1bWVudC50aW1lbGluZSk7CisgIHZhciBpbml0
aWFsU3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgLSA1MCAqIE1TX1BF
Ul9TRUM7CisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBpbml0aWFsU3RhcnRUaW1lOworICBhbmlt
YXRpb24ucGF1c2UoKTsKKyAgYW5pbWF0aW9uLnBsYXkoKTsKKworICBhbmltYXRpb24udGltZWxp
bmUgPSBudWxsOworICBhbmltYXRpb24udGltZWxpbmUgPSBkb2N1bWVudC50aW1lbGluZTsKKyAg
YXNzZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGVuZGluZycpOworCisgIHJldHVy
biBhbmltYXRpb24ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFu
aW1hdGlvbi5wbGF5U3RhdGUsICdydW5uaW5nJyk7CisgICAgYXNzZXJ0X3RpbWVzX2VxdWFsKGFu
aW1hdGlvbi5zdGFydFRpbWUsIGluaXRpYWxTdGFydFRpbWUpOworICB9KTsKK30sICdBZnRlciBj
bGVhcmluZyBhbmQgcmUtc2V0dGluZyB0aW1lbGluZSBvbiBhbiBhbmltYXRpb24gaW4gdGhlIG1p
ZGRsZSBvZicKKyAgICsgJyBhbiBhYm9ydGVkIHBhdXNlLCBpdCBjb250aW51ZXMgcGxheWluZyB1
c2luZyB0aGUgc2FtZSBzdGFydCB0aW1lJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbnMvdXBkYXRpbmctdGhlLWZpbmlzaGVkLXN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3Vw
ZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM1N2Qz
Yjg1NGU4NTNjM2U2ZTE5MmQ3MWUwZDcyMTEzMDMwNzFiNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25z
L3VwZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBA
QAorCitGQUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHBsYXlpbmcgcGFzdCBl
bmQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2
KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1h
dGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4g
c2Vla2luZyBwYXN0IGVuZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVh
dGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBVcGRhdGluZyB0aGUgZmluaXNo
ZWQgc3RhdGUgd2hlbiBzZWVraW5nIGV4YWN0bHkgdG8gZW5kIGNyZWF0ZURpdih0KS5hbmltYXRl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAq
IE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHBsYXlpbmcgaW4gcmV2ZXJzZSBwYXN0
IHplcm8gY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRl
RGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFu
aW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdo
ZW4gc2Vla2luZyBhIHJldmVyc2VkIGFuaW1hdGlvbiBwYXN0IHplcm8gY3JlYXRlRGl2KHQpLmFu
aW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwg
MTAwICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gc2Vla2luZyBhIHJldmVyc2Vk
IGFuaW1hdGlvbiBleGFjdGx5IHRvIHplcm8gY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NF
QyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVXBkYXRpbmcg
dGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gcGxheWluZyBiZWZvcmUgZW5kIGNyZWF0ZURpdih0KS5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGws
IDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHNlZWtpbmcgYmVmb3JlIGVu
ZCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYo
dCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBVcGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBz
ZWVraW5nIGEgcmV2ZXJzZWQgYW5pbWF0aW9uIGJlZm9yZSBlbmQgY3JlYXRlRGl2KHQpLmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAw
ICogTVNfUEVSX1NFQyknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gcGxheWJhY2sgcmF0ZSBpcyB6ZXJv
IGFuZCB0aGUgY3VycmVudCB0aW1lIGlzIGxlc3MgdGhhbiB6ZXJvIGNyZWF0ZURpdih0KS5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEw
MCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHBsYXliYWNrIHJhdGUgaXMgemVy
byBhbmQgdGhlIGN1cnJlbnQgdGltZSBpcyBsZXNzIHRoYW4gZW5kIGNyZWF0ZURpdih0KS5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEw
MCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitG
QUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHBsYXliYWNrIHJhdGUgaXMgemVy
byBhbmQgdGhlIGN1cnJlbnQgdGltZSBpcyBncmVhdGVyIHRoYW4gZW5kIGNyZWF0ZURpdih0KS5h
bmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGws
IDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQp
CitGQUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIGN1cnJlbnQgdGltZSBpcyB1
bnJlc29sdmVkIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Ny
ZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpJywgJ2NyZWF0ZURpdih0
KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFVwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0
ZSB3aGVuIHRoZXJlIGlzIGEgcGVuZGluZyB0YXNrIGNyZWF0ZURpdih0KS5hbmltYXRlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2NyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BF
Ul9TRUMpJywgJ2NyZWF0ZURpdih0KS5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFVwZGF0
aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHN0YXJ0IHRpbWUgaXMgdW5yZXNvbHZlZCBhbmQg
ZGlkIHNlZWsgPSBmYWxzZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVh
dGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBVcGRhdGluZyB0aGUgZmluaXNo
ZWQgc3RhdGUgd2hlbiBzdGFydCB0aW1lIGlzIHVucmVzb2x2ZWQgYW5kIGRpZCBzZWVrID0gdHJ1
ZSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYo
dCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKScsICdjcmVhdGVEaXYodCkuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBGaW5pc2ggbm90aWZpY2F0aW9uIHN0ZXBzIGRvbid0IHJ1
biB3aGVuIHRoZSBhbmltYXRpb24gc2Vla3MgdG8gZmluaXNoIGFuZCB0aGVuIHNlZWtzIGJhY2sg
YWdhaW4gY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRl
RGl2KHQpLmFuaW1hdGUobnVsbCwgMSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgRmluaXNoIG5vdGlmaWNhdGlvbiBzdGVwcyBydW4gd2hlbiB0aGUgYW5pbWF0
aW9uIGNvbXBsZXRlcyBub3JtYWxseSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxKScsICdjcmVhdGVEaXYodCku
YW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBGaW5pc2ggbm90aWZpY2F0aW9uIHN0ZXBzIHJ1
biB3aGVuIHRoZSBhbmltYXRpb24gc2Vla3MgcGFzdCBmaW5pc2ggY3JlYXRlRGl2KHQpLmFuaW1h
dGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSkn
LCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmluaXNoIG5vdGlm
aWNhdGlvbiBzdGVwcyBydW4gd2hlbiB0aGUgYW5pbWF0aW9uIGNvbXBsZXRlcyB3aXRoIC5maW5p
c2goKSwgZXZlbiBpZiB3ZSB0aGVuIHNlZWsgYXdheSBjcmVhdGVEaXYodCkuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxKScsICdjcmVh
dGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBBbmltYXRpb24gZmluaXNoZWQg
cHJvbWlzZSBpcyByZXBsYWNlZCBhZnRlciBzZWVraW5nIGJhY2sgdG8gc3RhcnQgY3JlYXRlRGl2
KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUo
bnVsbCwgMSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQW5p
bWF0aW9uIGZpbmlzaGVkIHByb21pc2UgaXMgcmVwbGFjZWQgYWZ0ZXIgcmVwbGF5aW5nIGZyb20g
c3RhcnQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3JlYXRl
RGl2KHQpLmFuaW1hdGUobnVsbCwgMSknLCAnY3JlYXRlRGl2KHQpLmFuaW1hdGUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgQW5pbWF0aW9uIGZpbmlzaCBldmVudCBpcyBmaXJlZCBhZ2FpbiBhZnRlciBz
ZWVraW5nIGJhY2sgdG8gc3RhcnQgY3JlYXRlRGl2KHQpLmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSknLCAnY3JlYXRlRGl2KHQpLmFu
aW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQW5pbWF0aW9uIGZpbmlzaCBldmVudCBpcyBmaXJl
ZCBhZ2FpbiBhZnRlciByZXBsYXlpbmcgZnJvbSBzdGFydCBjcmVhdGVEaXYodCkuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxKScsICdj
cmVhdGVEaXYodCkuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy91cGRh
dGluZy10aGUtZmluaXNoZWQtc3RhdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3VwZGF0aW5nLXRoZS1maW5pc2hlZC1z
dGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiOWVmZWRiZjYzYzZjNTliMzE3YTJiOTQwMjM3MDBhOGQy
NGZhYmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy91cGRhdGluZy10aGUtZmluaXNoZWQtc3RhdGUu
aHRtbApAQCAtMCwwICsxLDQxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04PgorPHRpdGxlPlRlc3RzIGZvciB1cGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgb2YgYW4g
YW5pbWF0aW9uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3dlYi1hbmltYXRpb25zLyN1cGRhdGluZy10aGUtZmluaXNoZWQtc3RhdGUiPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ci
PjwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisv
LyBURVNUUyBGT1IgVVBEQVRJTkcgVEhFIEhPTEQgVElNRQorLy8KKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK
Ky8vIENBU0UgMTogcGxheWJhY2sgcmF0ZSA+IDAgYW5kIGN1cnJlbnQgdGltZSA+PSB0YXJnZXQg
ZWZmZWN0IGVuZAorLy8gKEFsc28gdGhlIHN0YXJ0IHRpbWUgaXMgcmVzb2x2ZWQgYW5kIHRoZXJl
IGlzIHBlbmRpbmcgdGFzaykKKworLy8gRGlkIHNlZWsgPSBmYWxzZQorcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAg
KiBNU19QRVJfU0VDKTsKKworICAvLyBIZXJlIGFuZCBpbiB0aGUgZm9sbG93aW5nIHRlc3RzIHdl
IHdhaXQgdW50aWwgcmVhZHkgcmVzb2x2ZXMgYXMKKyAgLy8gb3RoZXJ3aXNlIHdlIGRvbid0IGhh
dmUgYSByZXNvbHZlZCBzdGFydCB0aW1lLiBXZSB0ZXN0IHRoZSBjYXNlCisgIC8vIHdoZXJlIHRo
ZSBzdGFydCB0aW1lIGlzIHVucmVzb2x2ZWQgaW4gYSBzdWJzZXF1ZW50IHRlc3QuCisgIHJldHVy
biBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgLy8gU2VlayB0byAxbXMgYmVmb3Jl
IHRoZSB0YXJnZXQgZW5kIGFuZCB0aGVuIHdhaXQgMW1zCisgICAgYW5pbS5jdXJyZW50VGltZSA9
IDEwMCAqIE1TX1BFUl9TRUMgLSAxOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVz
V2l0aERlbGF5KDEpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMo
YW5pbS5jdXJyZW50VGltZSwgMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdI
b2xkIHRpbWUgaXMgc2V0IHRvIHRhcmdldCBlbmQgY2xhbXBpbmcgY3VycmVudCB0aW1lJyk7Cisg
IH0pOworfSwgJ1VwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHBsYXlpbmcgcGFzdCBl
bmQnKTsKKworLy8gRGlkIHNlZWsgPSB0cnVlCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgYW5pbSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMp
OworICByZXR1cm4gYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW0uY3VycmVu
dFRpbWUgPSAyMDAgKiBNU19QRVJfU0VDOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJh
bWVzKDEpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5j
dXJyZW50VGltZSwgMjAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdIb2xkIHRp
bWUgaXMgc2V0IHNvIGN1cnJlbnQgdGltZSBzaG91bGQgTk9UIGNoYW5nZScpOworICB9KTsKK30s
ICdVcGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBzZWVraW5nIHBhc3QgZW5kJyk7CisK
Ky8vIFRlc3QgY3VycmVudCB0aW1lID09IHRhcmdldCBlbmQKKy8vCisvLyBXZSBjYW4ndCByZWFs
bHkgd3JpdGUgYSB0ZXN0IGZvciBjdXJyZW50IHRpbWUgPT0gdGFyZ2V0IGVuZCB3aXRoCisvLyBk
aWQgc2VlayA9IGZhbHNlIHNpbmNlIHRoYXQgd291bGQgaW1wbHkgc2V0dGluZyB1cCBhbiBhbmlt
YXRpb24gd2hlcmUKKy8vIHRoZSBuZXh0IGFuaW1hdGlvbiBmcmFtZSB0aW1lIGhhcHBlbnMgdG8g
ZXhhY3RseSBhbGlnbiB3aXRoIHRoZSB0YXJnZXQgZW5kLgorLy8KKy8vIEZvcnR1bmF0ZWx5LCB3
ZSBkb24ndCBuZWVkIHRvIHRlc3QgdGhhdCBjYXNlIHNpbmNlIGV2ZW4gaWYgdGhlIGltcGxlbWVu
dGF0aW9uCisvLyBmYWlscyB0byBzZXQgdGhlIGhvbGQgdGltZSBvbiBzdWNoIGEgdGljaywgaXQg
c2hvdWxkIGJlIG1vc3RseSB1bm9ic2VydmFibGUKKy8vIChvbiB0aGUgc3Vic2VxdWVudCB0aWNr
IHRoZSBob2xkIHRpbWUgd2lsbCBiZSBzZXQgdG8gdGhlIHNhbWUgdmFsdWUgYW55d2F5KS4KKwor
Ly8gRGlkIHNlZWsgPSB0cnVlCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5p
bSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICByZXR1
cm4gYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW0uY3VycmVudFRpbWUgPSAx
MDAgKiBNU19QRVJfU0VDOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpOwor
ICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5jdXJyZW50VGlt
ZSwgMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdIb2xkIHRpbWUgaXMgc2V0
IHNvIGN1cnJlbnQgdGltZSBzaG91bGQgTk9UIGNoYW5nZScpOworICB9KTsKK30sICdVcGRhdGlu
ZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBzZWVraW5nIGV4YWN0bHkgdG8gZW5kJyk7CisKKwor
Ly8gQ0FTRSAyOiBwbGF5YmFjayByYXRlIDwgMCBhbmQgY3VycmVudCB0aW1lIDw9IDAKKy8vIChB
bHNvIHRoZSBzdGFydCB0aW1lIGlzIHJlc29sdmVkIGFuZCB0aGVyZSBpcyBwZW5kaW5nIHRhc2sp
CisKKy8vIERpZCBzZWVrID0gZmFsc2UKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7Cisg
IGFuaW0ucGxheWJhY2tSYXRlID0gLTE7CisgIGFuaW0ucGxheSgpOyAvLyBNYWtlIHN1cmUgYW5p
bWF0aW9uIGlzIG5vdCBpbml0aWFsbHkgZmluaXNoZWQKKyAgcmV0dXJuIGFuaW0ucmVhZHkudGhl
bihmdW5jdGlvbigpIHsKKyAgICAvLyBTZWVrIHRvIDFtcyBiZWZvcmUgMCBhbmQgdGhlbiB3YWl0
IDFtcworICAgIGFuaW0uY3VycmVudFRpbWUgPSAxOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0
aW9uRnJhbWVzV2l0aERlbGF5KDEpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2Vy
dF9lcXVhbHMoYW5pbS5jdXJyZW50VGltZSwgMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAg
ICAgICAnSG9sZCB0aW1lIGlzIHNldCB0byB6ZXJvIGNsYW1waW5nIGN1cnJlbnQgdGltZScpOwor
ICB9KTsKK30sICdVcGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBwbGF5aW5nIGluIHJl
dmVyc2UgcGFzdCB6ZXJvJyk7CisKKy8vIERpZCBzZWVrID0gdHJ1ZQorcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAg
KiBNU19QRVJfU0VDKTsKKyAgYW5pbS5wbGF5YmFja1JhdGUgPSAtMTsKKyAgYW5pbS5wbGF5KCk7
CisgIHJldHVybiBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5pbS5jdXJyZW50
VGltZSA9IC0xMDAgKiBNU19QRVJfU0VDOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJh
bWVzKDEpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5j
dXJyZW50VGltZSwgLTEwMCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAnSG9sZCB0
aW1lIGlzIHNldCBzbyBjdXJyZW50IHRpbWUgc2hvdWxkIE5PVCBjaGFuZ2UnKTsKKyAgfSk7Cit9
LCAnVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdoZW4gc2Vla2luZyBhIHJldmVyc2VkIGFu
aW1hdGlvbiBwYXN0IHplcm8nKTsKKworLy8gQXMgYmVmb3JlLCBpdCdzIGRpZmZpY3VsdCB0byB0
ZXN0IGN1cnJlbnQgdGltZSA9PSAwIGZvciBkaWQgc2VlayA9IGZhbHNlIGJ1dAorLy8gaXQgZG9l
c24ndCByZWFsbHkgbWF0dGVyLgorCisvLyBEaWQgc2VlayA9IHRydWUKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAw
ICogTVNfUEVSX1NFQyk7CisgIGFuaW0ucGxheWJhY2tSYXRlID0gLTE7CisgIGFuaW0ucGxheSgp
OworICByZXR1cm4gYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW0uY3VycmVu
dFRpbWUgPSAwOworICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpOworICB9KS50
aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5jdXJyZW50VGltZSwgMCAq
IE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAnSG9sZCB0aW1lIGlzIHNldCBzbyBjdXJy
ZW50IHRpbWUgc2hvdWxkIE5PVCBjaGFuZ2UnKTsKKyAgfSk7Cit9LCAnVXBkYXRpbmcgdGhlIGZp
bmlzaGVkIHN0YXRlIHdoZW4gc2Vla2luZyBhIHJldmVyc2VkIGFuaW1hdGlvbiBleGFjdGx5Jwor
ICAgKyAnIHRvIHplcm8nKTsKKworLy8gQ0FTRSAzOiBwbGF5YmFjayByYXRlID4gMCBhbmQgY3Vy
cmVudCB0aW1lIDwgdGFyZ2V0IGVuZCBPUgorLy8gICAgICAgICBwbGF5YmFjayByYXRlIDwgMCBh
bmQgY3VycmVudCB0aW1lID4gMAorLy8gKEFsc28gdGhlIHN0YXJ0IHRpbWUgaXMgcmVzb2x2ZWQg
YW5kIHRoZXJlIGlzIHBlbmRpbmcgdGFzaykKKworLy8gRGlkIHNlZWsgPSBmYWxzZTsgcGxheWJh
Y2sgcmF0ZSA+IDAKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3Jl
YXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisKKyAgLy8gV2Ugd2Fu
dCB0byB0ZXN0IHRoYXQgdGhlIGhvbGQgdGltZSBpcyBjbGVhcmVkIHNvIGZpcnN0IHdlIG5lZWQg
dG8KKyAgLy8gcHV0IHRoZSBhbmltYXRpb24gaW4gYSBzdGF0ZSB3aGVyZSB0aGUgaG9sZCB0aW1l
IGlzIHNldC4KKyAgYW5pbS5maW5pc2goKTsKKyAgcmV0dXJuIGFuaW0ucmVhZHkudGhlbihmdW5j
dGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0uY3VycmVudFRpbWUsIDEwMCAqIE1TX1BF
Ul9TRUMsCisgICAgICAgICAgICAgICAgICAnSG9sZCB0aW1lIGlzIGluaXRpYWxseSBzZXQnKTsK
KyAgICAvLyBUaGVuIGV4dGVuZCB0aGUgZHVyYXRpb24gc28gdGhhdCB0aGUgaG9sZCB0aW1lIGlz
IGNsZWFyZWQgYW5kIG9uCisgICAgLy8gdGhlIG5leHQgdGljayB0aGUgY3VycmVudCB0aW1lIHdp
bGwgaW5jcmVhc2UuCisgICAgYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uICo9IDI7CisgICAg
cmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7
CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihhbmltLmN1cnJlbnRUaW1lLCAxMDAgKiBNU19QRVJf
U0VDLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0hvbGQgdGltZSBpcyBub3Qgc2V0IHNvIGN1
cnJlbnQgdGltZSBzaG91bGQgaW5jcmVhc2UnKTsKKyAgfSk7Cit9LCAnVXBkYXRpbmcgdGhlIGZp
bmlzaGVkIHN0YXRlIHdoZW4gcGxheWluZyBiZWZvcmUgZW5kJyk7CisKKy8vIERpZCBzZWVrID0g
dHJ1ZTsgcGxheWJhY2sgcmF0ZSA+IDAKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZh
ciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7Cisg
IGFuaW0uZmluaXNoKCk7CisgIHJldHVybiBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7Cisg
ICAgYW5pbS5jdXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgICAvLyBXaGVuIGRpZCBz
ZWVrID0gdHJ1ZSwgdXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlOiAoaSkgdXBkYXRlcworICAg
IC8vIHRoZSBhbmltYXRpb24ncyBzdGFydCB0aW1lIGFuZCAoaWkpIGNsZWFycyB0aGUgaG9sZCB0
aW1lLgorICAgIC8vIFdlIGNhbiB0ZXN0IGJvdGggYnkgY2hlY2tpbmcgdGhhdCB0aGUgY3VycmVu
dFRpbWUgaXMgaW5pdGlhbGx5CisgICAgLy8gdXBkYXRlZCBhbmQgdGhlbiBpbmNyZWFzZXMuCisg
ICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRUaW1lLCA1MCAqIE1TX1BFUl9TRUMsICdTdGFy
dCB0aW1lIGlzIHVwZGF0ZWQnKTsKKyAgICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygx
KTsKKyAgfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGFuaW0u
Y3VycmVudFRpbWUsIDUwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICdI
b2xkIHRpbWUgaXMgbm90IHNldCBzbyBjdXJyZW50IHRpbWUgc2hvdWxkIGluY3JlYXNlJyk7Cisg
IH0pOworfSwgJ1VwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHNlZWtpbmcgYmVmb3Jl
IGVuZCcpOworCisvLyBEaWQgc2VlayA9IGZhbHNlOyBwbGF5YmFjayByYXRlIDwgMAorLy8KKy8v
IFVuZm9ydHVuYXRlbHkgaXQgaXMgbm90IHBvc3NpYmxlIHRvIHRlc3QgdGhpcyBjYXNlLiBXZSBu
ZWVkIHRvIGhhdmUKKy8vIGEgaG9sZCB0aW1lIHNldCwgYSByZXNvbHZlZCBzdGFydCB0aW1lLCBh
bmQgdGhlbiBwZXJmb3JtIHNvbWUKKy8vIG9wZXJhdGlvbiB0aGF0IHVwZGF0ZXMgdGhlIGZpbmlz
aGVkIHN0YXRlIHdpdGggZGlkIHNlZWsgc2V0IHRvIHRydWUuCisvLworLy8gSG93ZXZlciwgdGhl
IG9ubHkgc2l0dWF0aW9uIHdoZXJlIHRoaXMgY291bGQgYXJyaXZlIGlzIHdoZW4gd2UKKy8vIHJl
cGxhY2UgdGhlIHRpbWVsaW5lIGFuZCB0aGF0IHByb2NlZHVyZSBpcyBsaWtlbHkgdG8gY2hhbmdl
LiBGb3IgYWxsCisvLyBvdGhlciBjYXNlcyB3ZSBlaXRoZXIgaGF2ZSBhbiB1bnJlc29sdmVkIHN0
YXJ0IHRpbWUgKGUuZy4gd2hlbgorLy8gcGF1c2VkKSwgd2UgZG9uJ3QgaGF2ZSBhIHNldCBob2xk
IHRpbWUgKGUuZy4gcmVndWxhciBwbGF5YmFjayksIG9yCisvLyB0aGUgY3VycmVudCB0aW1lIGlz
IHplcm8gKGFuZCBhbnl0aGluZyB0aGF0IGdldHMgdXMgb3V0IG9mIHRoYXQgc3RhdGUKKy8vIHdp
bGwgc2V0IGRpZCBzZWVrID0gdHJ1ZSkuCisKKy8vIERpZCBzZWVrID0gdHJ1ZTsgcGxheWJhY2sg
cmF0ZSA8IDAKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRl
RGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW0ucGxheWJhY2tS
YXRlID0gLTE7CisgIHJldHVybiBhbmltLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYW5p
bS5jdXJyZW50VGltZSA9IDUwICogTVNfUEVSX1NFQzsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0u
Y3VycmVudFRpbWUsIDUwICogTVNfUEVSX1NFQywgJ1N0YXJ0IHRpbWUgaXMgdXBkYXRlZCcpOwor
ICAgIHJldHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDEpOworICB9KS50aGVuKGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF9sZXNzX3RoYW4oYW5pbS5jdXJyZW50VGltZSwgNTAgKiBNU19QRVJf
U0VDLAorICAgICAgICAgICAgICAgICAgICAgJ0hvbGQgdGltZSBpcyBub3Qgc2V0IHNvIGN1cnJl
bnQgdGltZSBzaG91bGQgZGVjcmVhc2UnKTsKKyAgfSk7Cit9LCAnVXBkYXRpbmcgdGhlIGZpbmlz
aGVkIHN0YXRlIHdoZW4gc2Vla2luZyBhIHJldmVyc2VkIGFuaW1hdGlvbiBiZWZvcmUgZW5kJyk7
CisKKy8vIENBU0UgNDogcGxheWJhY2sgcmF0ZSA9PSAwCisKKy8vIGN1cnJlbnQgdGltZSA8IDAK
K3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFu
aW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW0ucGxheWJhY2tSYXRlID0gMDsK
KyAgcmV0dXJuIGFuaW0ucmVhZHkudGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltLmN1cnJlbnRU
aW1lID0gLTEwMCAqIE1TX1BFUl9TRUM7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFt
ZXMoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhbmltLmN1
cnJlbnRUaW1lLCAtMTAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAgICdIb2xkIHRp
bWUgc2hvdWxkIG5vdCBiZSBjbGVhcmVkIHNvIGN1cnJlbnQgdGltZSBzaG91bGQnCisgICAgICAg
ICAgICAgICAgICArICcgTk9UIGNoYW5nZScpOworICB9KTsKK30sICdVcGRhdGluZyB0aGUgZmlu
aXNoZWQgc3RhdGUgd2hlbiBwbGF5YmFjayByYXRlIGlzIHplcm8gYW5kIHRoZScKKyAgICsgJyBj
dXJyZW50IHRpbWUgaXMgbGVzcyB0aGFuIHplcm8nKTsKKworLy8gY3VycmVudCB0aW1lIDwgdGFy
Z2V0IGVuZAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVhdGVE
aXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbS5wbGF5YmFja1Jh
dGUgPSAwOworICByZXR1cm4gYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFuaW0u
Y3VycmVudFRpbWUgPSA1MCAqIE1TX1BFUl9TRUM7CisgICAgcmV0dXJuIHdhaXRGb3JBbmltYXRp
b25GcmFtZXMoMSk7CisgIH0pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhh
bmltLmN1cnJlbnRUaW1lLCA1MCAqIE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgICAnSG9s
ZCB0aW1lIHNob3VsZCBub3QgYmUgY2xlYXJlZCBzbyBjdXJyZW50IHRpbWUgc2hvdWxkJworICAg
ICAgICAgICAgICAgICAgKyAnIE5PVCBjaGFuZ2UnKTsKKyAgfSk7Cit9LCAnVXBkYXRpbmcgdGhl
IGZpbmlzaGVkIHN0YXRlIHdoZW4gcGxheWJhY2sgcmF0ZSBpcyB6ZXJvIGFuZCB0aGUnCisgICAr
ICcgY3VycmVudCB0aW1lIGlzIGxlc3MgdGhhbiBlbmQnKTsKKworLy8gY3VycmVudCB0aW1lID4g
dGFyZ2V0IGVuZAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW0gPSBjcmVh
dGVEaXYodCkuYW5pbWF0ZShudWxsLCAxMDAgKiBNU19QRVJfU0VDKTsKKyAgYW5pbS5wbGF5YmFj
a1JhdGUgPSAwOworICByZXR1cm4gYW5pbS5yZWFkeS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFu
aW0uY3VycmVudFRpbWUgPSAyMDAgKiBNU19QRVJfU0VDOworICAgIHJldHVybiB3YWl0Rm9yQW5p
bWF0aW9uRnJhbWVzKDEpOworICB9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVh
bHMoYW5pbS5jdXJyZW50VGltZSwgMjAwICogTVNfUEVSX1NFQywKKyAgICAgICAgICAgICAgICAg
ICdIb2xkIHRpbWUgc2hvdWxkIG5vdCBiZSBjbGVhcmVkIHNvIGN1cnJlbnQgdGltZSBzaG91bGQn
CisgICAgICAgICAgICAgICAgICArICcgTk9UIGNoYW5nZScpOworICB9KTsKK30sICdVcGRhdGlu
ZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiBwbGF5YmFjayByYXRlIGlzIHplcm8gYW5kIHRoZScK
KyAgICsgJyBjdXJyZW50IHRpbWUgaXMgZ3JlYXRlciB0aGFuIGVuZCcpOworCisvLyBDQVNFIDU6
IGN1cnJlbnQgdGltZSB1bnJlc29sdmVkCisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciBhbmltID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7
CisgIGFuaW0uY2FuY2VsKCk7CisgIC8vIFRyaWdnZXIgYSBjaGFuZ2UgdGhhdCB3aWxsIGNhdXNl
IHRoZSAidXBkYXRlIHRoZSBmaW5pc2hlZCBzdGF0ZSIKKyAgLy8gcHJvY2VkdXJlIHRvIHJ1bi4K
KyAgYW5pbS5lZmZlY3QudGltaW5nLmR1cmF0aW9uID0gMjAwICogTVNfUEVSX1NFQzsKKyAgYXNz
ZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRUaW1lLCBudWxsLAorICAgICAgICAgICAgICAgICdUaGUg
YW5pbWF0aW9uIGhvbGQgdGltZSAvIHN0YXJ0IHRpbWUgc2hvdWxkIG5vdCBiZSB1cGRhdGVkJyk7
CisgIC8vIFRoZSAidXBkYXRlIHRoZSBmaW5pc2hlZCBzdGF0ZSIgcHJvY2VkdXJlIGlzIHN1cHBv
c2VkIHRvIHJ1biBhZnRlciBhbnkKKyAgLy8gY2hhbmdlIHRvIHRpbWluZywgYnV0IGp1c3QgaW4g
Y2FzZSBhbiBpbXBsZW1lbnRhdGlvbiBkZWZlcnMgdGhhdCwgbGV0J3MKKyAgLy8gd2FpdCBhIGZy
YW1lIGFuZCBjaGVjayB0aGF0IHRoZSBob2xkIHRpbWUgLyBzdGFydCB0aW1lIGhhcyBzdGlsbCBu
b3QgYmVlbgorICAvLyB1cGRhdGVkLgorICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygx
KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5jdXJyZW50VGltZSwg
bnVsbCwKKyAgICAgICAgICAgICAgICAgICdUaGUgYW5pbWF0aW9uIGhvbGQgdGltZSAvIHN0YXJ0
IHRpbWUgc2hvdWxkIG5vdCBiZSB1cGRhdGVkJyk7CisgIH0pOworfSwgJ1VwZGF0aW5nIHRoZSBm
aW5pc2hlZCBzdGF0ZSB3aGVuIGN1cnJlbnQgdGltZSBpcyB1bnJlc29sdmVkJyk7CisKKy8vIENB
U0UgNjogaGFzIGEgcGVuZGluZyB0YXNrCisKK3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5p
bSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmlt
LmNhbmNlbCgpOworICBhbmltLmN1cnJlbnRUaW1lID0gNzUgKiBNU19QRVJfU0VDOworICBhbmlt
LnBsYXkoKTsKKyAgLy8gV2Ugbm93IGhhdmUgYSBwZW5kaW5nIHRhc2sgYW5kIGEgcmVzb2x2ZWQg
Y3VycmVudCB0aW1lLgorICAvLworICAvLyBJbiB0aGUgbmV4dCBzdGVwIHdlIHdpbGwgYWRqdXN0
IHRoZSB0aW1pbmcgc28gdGhhdCB0aGUgY3VycmVudCB0aW1lCisgIC8vIGlzIGdyZWF0ZXIgdGhh
biB0aGUgdGFyZ2V0IGVuZC4gQXQgdGhpcyBwb2ludCB0aGUgInVwZGF0ZSB0aGUgZmluaXNoZWQK
KyAgLy8gc3RhdGUiIHByb2NlZHVyZSBzaG91bGQgcnVuIGFuZCBpZiB3ZSBmYWlsIHRvIGNoZWNr
IGZvciBhIHBlbmRpbmcgdGFzaworICAvLyB3ZSB3aWxsIHNldCB0aGUgaG9sZCB0aW1lIHRvIHRo
ZSB0YXJnZXQgZW5kLCBpLmUuIDUwbXMuCisgIGFuaW0uZWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9
IDUwICogTVNfUEVSX1NFQzsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLmN1cnJlbnRUaW1lLCA3NSAq
IE1TX1BFUl9TRUMsCisgICAgICAgICAgICAgICAgJ0hvbGQgdGltZSBzaG91bGQgbm90IGJlIHVw
ZGF0ZWQnKTsKK30sICdVcGRhdGluZyB0aGUgZmluaXNoZWQgc3RhdGUgd2hlbiB0aGVyZSBpcyBh
IHBlbmRpbmcgdGFzaycpOworCisvLyBDQVNFIDc6IHN0YXJ0IHRpbWUgdW5yZXNvbHZlZAorCisv
LyBEaWQgc2VlayA9IGZhbHNlCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5p
bSA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEwMCAqIE1TX1BFUl9TRUMpOworICBhbmlt
LmNhbmNlbCgpOworICAvLyBNYWtlIGl0IHNvIHRoYXQgb25seSB0aGUgc3RhcnQgdGltZSBpcyB1
bnJlc29sdmVkICh0byBhdm9pZCBvdmVybGFwcGluZworICAvLyB3aXRoIHRoZSB0ZXN0IGNhc2Ug
d2hlcmUgY3VycmVudCB0aW1lIGlzIHVucmVzb2x2ZWQpCisgIGFuaW0uY3VycmVudFRpbWUgPSAx
NTAgKiBNU19QRVJfU0VDOworICAvLyBUcmlnZ2VyIGEgY2hhbmdlIHRoYXQgd2lsbCBjYXVzZSB0
aGUgInVwZGF0ZSB0aGUgZmluaXNoZWQgc3RhdGUiCisgIC8vIHByb2NlZHVyZSB0byBydW4gKGRp
ZCBzZWVrID0gZmFsc2UpLgorICBhbmltLmVmZmVjdC50aW1pbmcuZHVyYXRpb24gPSAyMDAgKiBN
U19QRVJfU0VDOworICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygxKS50aGVuKGZ1bmN0
aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYW5pbS5jdXJyZW50VGltZSwgMTUwICogTVNfUEVS
X1NFQywKKyAgICAgICAgICAgICAgICAgICdUaGUgYW5pbWF0aW9uIGhvbGQgdGltZSBzaG91bGQg
bm90IGJlIHVwZGF0ZWQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuaW0uc3RhcnRUaW1lLCBudWxs
LAorICAgICAgICAgICAgICAgICAgJ1RoZSBhbmltYXRpb24gc3RhcnQgdGltZSBzaG91bGQgbm90
IGJlIHVwZGF0ZWQnKTsKKyAgfSk7Cit9LCAnVXBkYXRpbmcgdGhlIGZpbmlzaGVkIHN0YXRlIHdo
ZW4gc3RhcnQgdGltZSBpcyB1bnJlc29sdmVkIGFuZCcKKyAgICsgJyBkaWQgc2VlayA9IGZhbHNl
Jyk7CisKKy8vIERpZCBzZWVrID0gdHJ1ZQordGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBhbmlt
ID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMTAwICogTVNfUEVSX1NFQyk7CisgIGFuaW0u
Y2FuY2VsKCk7CisgIGFuaW0uY3VycmVudFRpbWUgPSAxNTAgKiBNU19QRVJfU0VDOworICAvLyBU
cmlnZ2VyIGEgY2hhbmdlIHRoYXQgd2lsbCBjYXVzZSB0aGUgInVwZGF0ZSB0aGUgZmluaXNoZWQg
c3RhdGUiCisgIC8vIHByb2NlZHVyZSB0byBydW4uCisgIGFuaW0uY3VycmVudFRpbWUgPSA1MCAq
IE1TX1BFUl9TRUM7CisgIGFzc2VydF9lcXVhbHMoYW5pbS5jdXJyZW50VGltZSwgNTAgKiBNU19Q
RVJfU0VDLAorICAgICAgICAgICAgICAgICdUaGUgYW5pbWF0aW9uIGhvbGQgdGltZSBzaG91bGQg
bm90IGJlIHVwZGF0ZWQnKTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltLnN0YXJ0VGltZSwgbnVsbCwK
KyAgICAgICAgICAgICAgICAnVGhlIGFuaW1hdGlvbiBzdGFydCB0aW1lIHNob3VsZCBub3QgYmUg
dXBkYXRlZCcpOworfSwgJ1VwZGF0aW5nIHRoZSBmaW5pc2hlZCBzdGF0ZSB3aGVuIHN0YXJ0IHRp
bWUgaXMgdW5yZXNvbHZlZCBhbmQnCisgICArICcgZGlkIHNlZWsgPSB0cnVlJyk7CisKKy8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisvLworLy8gVEVTVFMgRk9SIFJVTk5JTkcgRklOSVNIIE5PVElGSUNBVElPTiBT
VEVQUworLy8KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2Z1bmN0aW9uIHdhaXRGb3JGaW5pc2hFdmVudEFu
ZFByb21pc2UoYW5pbWF0aW9uKSB7CisgIHZhciBldmVudFByb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlKSB7CisgICAgYW5pbWF0aW9uLm9uZmluaXNoID0gZnVuY3Rpb24oKSB7
IHJlc29sdmUoKTsgfQorICB9KTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKFtldmVudFByb21pc2Us
IGFuaW1hdGlvbi5maW5pc2hlZF0pOworfQorCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7CisgIGFuaW1h
dGlvbi5vbmZpbmlzaCA9CisgICAgdC51bnJlYWNoZWRfZnVuYygnU2Vla2luZyB0byBmaW5pc2gg
c2hvdWxkIG5vdCBmaXJlIGZpbmlzaCBldmVudCcpOworICBhbmltYXRpb24uZmluaXNoZWQudGhl
bigKKyAgICB0LnVucmVhY2hlZF9mdW5jKCdTZWVraW5nIHRvIGZpbmlzaCBzaG91bGQgbm90IHJl
c29sdmUgZmluaXNoZWQgcHJvbWlzZScpKTsKKyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMTsK
KyAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMDsKKyAgYW5pbWF0aW9uLnBhdXNlKCk7CisgIHJl
dHVybiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKDMpOworfSwgJ0ZpbmlzaCBub3RpZmljYXRpb24g
c3RlcHMgZG9uXCd0IHJ1biB3aGVuIHRoZSBhbmltYXRpb24gc2Vla3MgdG8gZmluaXNoJworICAg
KyAnIGFuZCB0aGVuIHNlZWtzIGJhY2sgYWdhaW4nKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEpOwor
ICByZXR1cm4gYW5pbWF0aW9uLnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHdh
aXRGb3JGaW5pc2hFdmVudEFuZFByb21pc2UoYW5pbWF0aW9uKTsKKyAgfSk7Cit9LCAnRmluaXNo
IG5vdGlmaWNhdGlvbiBzdGVwcyBydW4gd2hlbiB0aGUgYW5pbWF0aW9uIGNvbXBsZXRlcyBub3Jt
YWxseScpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0g
Y3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7CisgIHJldHVybiBhbmltYXRpb24ucmVhZHku
dGhlbihmdW5jdGlvbigpIHsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUgPSAxMDsKKyAgICBy
ZXR1cm4gd2FpdEZvckZpbmlzaEV2ZW50QW5kUHJvbWlzZShhbmltYXRpb24pOworICB9KTsKK30s
ICdGaW5pc2ggbm90aWZpY2F0aW9uIHN0ZXBzIHJ1biB3aGVuIHRoZSBhbmltYXRpb24gc2Vla3Mg
cGFzdCBmaW5pc2gnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGFuaW1h
dGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEpOworICByZXR1cm4gYW5pbWF0aW9u
LnJlYWR5LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgLy8gUmVnaXN0ZXIgZm9yIG5vdGlmaWNhdGlv
bnMgbm93IHNpbmNlIG9uY2Ugd2Ugc2VlayBhd2F5IGZyb20gYmVpbmcKKyAgICAvLyBmaW5pc2hl
ZCB0aGUgJ2ZpbmlzaGVkJyBwcm9taXNlIHdpbGwgYmUgcmVwbGFjZWQuCisgICAgdmFyIGZpbmlz
aE5vdGlmaWNhdGlvblN0ZXBzID0gd2FpdEZvckZpbmlzaEV2ZW50QW5kUHJvbWlzZShhbmltYXRp
b24pOworICAgIGFuaW1hdGlvbi5maW5pc2goKTsKKyAgICBhbmltYXRpb24uY3VycmVudFRpbWUg
PSAwOworICAgIGFuaW1hdGlvbi5wYXVzZSgpOworICAgIHJldHVybiBmaW5pc2hOb3RpZmljYXRp
b25TdGVwczsKKyAgfSk7Cit9LCAnRmluaXNoIG5vdGlmaWNhdGlvbiBzdGVwcyBydW4gd2hlbiB0
aGUgYW5pbWF0aW9uIGNvbXBsZXRlcyB3aXRoIC5maW5pc2goKSwnCisgICArICcgZXZlbiBpZiB3
ZSB0aGVuIHNlZWsgYXdheScpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIg
YW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7CisgIHZhciBpbml0aWFs
RmluaXNoZWRQcm9taXNlID0gYW5pbWF0aW9uLmZpbmlzaGVkOworCisgIHJldHVybiBhbmltYXRp
b24uZmluaXNoZWQudGhlbihmdW5jdGlvbih0YXJnZXQpIHsKKyAgICBhbmltYXRpb24uY3VycmVu
dFRpbWUgPSAwOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGluaXRpYWxGaW5pc2hlZFByb21pc2Us
IGFuaW1hdGlvbi5maW5pc2hlZCk7CisgIH0pOworfSwgJ0FuaW1hdGlvbiBmaW5pc2hlZCBwcm9t
aXNlIGlzIHJlcGxhY2VkIGFmdGVyIHNlZWtpbmcgYmFjayB0byBzdGFydCcpOworCitwcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gY3JlYXRlRGl2KHQpLmFuaW1h
dGUobnVsbCwgMSk7CisgIHZhciBpbml0aWFsRmluaXNoZWRQcm9taXNlID0gYW5pbWF0aW9uLmZp
bmlzaGVkOworCisgIHJldHVybiBhbmltYXRpb24uZmluaXNoZWQudGhlbihmdW5jdGlvbih0YXJn
ZXQpIHsKKyAgICBhbmltYXRpb24ucGxheSgpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGluaXRp
YWxGaW5pc2hlZFByb21pc2UsIGFuaW1hdGlvbi5maW5pc2hlZCk7CisgIH0pOworfSwgJ0FuaW1h
dGlvbiBmaW5pc2hlZCBwcm9taXNlIGlzIHJlcGxhY2VkIGFmdGVyIHJlcGxheWluZyBmcm9tIHN0
YXJ0Jyk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgYW5pbWF0aW9uID0gY3Jl
YXRlRGl2KHQpLmFuaW1hdGUobnVsbCwgMSk7CisgIGFuaW1hdGlvbi5vbmZpbmlzaCA9IGZ1bmN0
aW9uKGV2ZW50KSB7CisgICAgYW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gMDsKKyAgICBhbmltYXRp
b24ub25maW5pc2ggPSBmdW5jdGlvbihldmVudCkgeworICAgICAgdC5kb25lKCk7CisgICAgfTsK
KyAgfTsKK30sICdBbmltYXRpb24gZmluaXNoIGV2ZW50IGlzIGZpcmVkIGFnYWluIGFmdGVyIHNl
ZWtpbmcgYmFjayB0byBzdGFydCcpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IGFuaW1hdGlvbiA9IGNyZWF0ZURpdih0KS5hbmltYXRlKG51bGwsIDEpOworICBhbmltYXRpb24u
b25maW5pc2ggPSBmdW5jdGlvbihldmVudCkgeworICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgICAg
YW5pbWF0aW9uLm9uZmluaXNoID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgIHQuZG9uZSgpOwor
ICAgIH07CisgIH07Cit9LCAnQW5pbWF0aW9uIGZpbmlzaCBldmVudCBpcyBmaXJlZCBhZ2FpbiBh
ZnRlciByZXBsYXlpbmcgZnJvbSBzdGFydCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC90
aW1lLXRyYW5zZm9ybWF0aW9ucy90cmFuc2Zvcm1lZC1wcm9ncmVzcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvdGltZS10cmFu
c2Zvcm1hdGlvbnMvdHJhbnNmb3JtZWQtcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAwOWMzYzQ0MGZmZTRlZDE2NjM4NTc2MWViYTY0MzA2YjU5NzdiNzQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvdGlt
ZS10cmFuc2Zvcm1hdGlvbnMvdHJhbnNmb3JtZWQtcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzAgQEAKKworRkFJTCBUcmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3Igc3RlcC1zdGFydCBm
dW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmlt
YXRlLi4uJykKK0ZBSUwgVHJhbnNmb3JtZWQgcHJvZ3Jlc3MgZm9yIHN0ZXBzKDEsIHN0YXJ0KSBm
dW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmlt
YXRlLi4uJykKK0ZBSUwgVHJhbnNmb3JtZWQgcHJvZ3Jlc3MgZm9yIHN0ZXBzKDIsIHN0YXJ0KSBm
dW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmlt
YXRlLi4uJykKK0ZBSUwgVHJhbnNmb3JtZWQgcHJvZ3Jlc3MgZm9yIHN0ZXAtZW5kIGZ1bmN0aW9u
IHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4n
KQorRkFJTCBUcmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3Igc3RlcHMoMSkgZnVuY3Rpb24gdW5kZWZp
bmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlM
IFRyYW5zZm9ybWVkIHByb2dyZXNzIGZvciBzdGVwcygxLCBlbmQpIGZ1bmN0aW9uIHVuZGVmaW5l
ZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJTCBU
cmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3Igc3RlcHMoMiwgZW5kKSBmdW5jdGlvbiB1bmRlZmluZWQg
aXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgVHJh
bnNmb3JtZWQgcHJvZ3Jlc3MgZm9yIGZyYW1lcyBmdW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEg
ZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgVHJhbnNmb3JtZWQg
cHJvZ3Jlc3MgZm9yIGxpbmVhciBmdW5jdGlvbiB1bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24g
KG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykKK0ZBSUwgVHJhbnNmb3JtZWQgcHJvZ3Jlc3Mg
Zm9yIGVhc2UgZnVuY3Rpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50
YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIFRyYW5zZm9ybWVkIHByb2dyZXNzIGZvciBlYXNlLWlu
IGZ1bmN0aW9uIHVuZGVmaW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFu
aW1hdGUuLi4nKQorRkFJTCBUcmFuc2Zvcm1lZCBwcm9ncmVzcyBmb3IgZWFzZS1pbi1vdXQgZnVu
Y3Rpb24gdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChuZWFyICcuLi50YXJnZXQuYW5pbWF0
ZS4uLicpCitGQUlMIFRyYW5zZm9ybWVkIHByb2dyZXNzIGZvciBlYXNlLW91dCBmdW5jdGlvbiB1
bmRlZmluZWQgaXMgbm90IGEgZnVuY3Rpb24gKG5lYXIgJy4uLnRhcmdldC5hbmltYXRlLi4uJykK
K0ZBSUwgVHJhbnNmb3JtZWQgcHJvZ3Jlc3MgZm9yIGVhc2luZyBmdW5jdGlvbiB3aGljaCBwcm9k
dWNlcyB2YWx1ZXMgZ3JlYXRlciB0aGFuIDEgdW5kZWZpbmVkIGlzIG5vdCBhIGZ1bmN0aW9uIChu
ZWFyICcuLi50YXJnZXQuYW5pbWF0ZS4uLicpCitGQUlMIFRyYW5zZm9ybWVkIHByb2dyZXNzIGZv
ciBlYXNpbmcgZnVuY3Rpb24gd2hpY2ggcHJvZHVjZXMgdmFsdWVzIGxlc3MgdGhhbiAxIHVuZGVm
aW5lZCBpcyBub3QgYSBmdW5jdGlvbiAobmVhciAnLi4udGFyZ2V0LmFuaW1hdGUuLi4nKQorRkFJ
TCBUZXN0IGJvdW5kcyBwb2ludCBvZiBzdGVwLXN0YXJ0IGVhc2luZyB0YXJnZXQuYW5pbWF0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYW5pbWF0ZShudWxsLCBvcHRpb25zLmVmZmVj
dCknLCAndGFyZ2V0LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBib3VuZHMgcG9p
bnQgb2Ygc3RlcC1zdGFydCBlYXNpbmcgd2l0aCByZXZlcnNlIGRpcmVjdGlvbiB0YXJnZXQuYW5p
bWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYW5pbWF0ZShudWxsLCBvcHRpb25z
LmVmZmVjdCknLCAndGFyZ2V0LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBib3Vu
ZHMgcG9pbnQgb2Ygc3RlcC1zdGFydCBlYXNpbmcgd2l0aCBpdGVyYXRpb25TdGFydCBub3QgYXQg
YSB0cmFuc2l0aW9uIHBvaW50IHRhcmdldC5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMuZWZmZWN0KScsICd0YXJnZXQuYW5pbWF0ZScg
aXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGJvdW5kcyBwb2ludCBvZiBzdGVwLXN0YXJ0IGVhc2lu
ZyB3aXRoIGl0ZXJhdGlvblN0YXJ0IGFuZCBkZWxheSB0YXJnZXQuYW5pbWF0ZSBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0YXJnZXQuYW5pbWF0ZShudWxsLCBvcHRpb25zLmVmZmVjdCknLCAndGFy
Z2V0LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBib3VuZHMgcG9pbnQgb2Ygc3Rl
cC1zdGFydCBlYXNpbmcgd2l0aCBpdGVyYXRpb25TdGFydCBhbmQgcmV2ZXJzZSBkaXJlY3Rpb24g
dGFyZ2V0LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0LmFuaW1hdGUobnVs
bCwgb3B0aW9ucy5lZmZlY3QpJywgJ3RhcmdldC5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlM
IFRlc3QgYm91bmRzIHBvaW50IG9mIHN0ZXAoNCwgc3RhcnQpIGVhc2luZyB3aXRoIGl0ZXJhdGlv
blN0YXJ0IDAuNzUgYW5kIGRlbGF5IHRhcmdldC5hbmltYXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMuZWZmZWN0KScsICd0YXJnZXQuYW5pbWF0
ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGJvdW5kcyBwb2ludCBvZiBzdGVwLXN0YXJ0IGVh
c2luZyB3aXRoIGFsdGVybmF0ZSBkaXJlY3Rpb24gdGFyZ2V0LmFuaW1hdGUgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAndGFyZ2V0LmFuaW1hdGUobnVsbCwgb3B0aW9ucy5lZmZlY3QpJywgJ3Rhcmdl
dC5hbmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgYm91bmRzIHBvaW50IG9mIHN0ZXAt
c3RhcnQgZWFzaW5nIHdpdGggYWx0ZXJuYXRlLXJldmVyc2UgZGlyZWN0aW9uIHRhcmdldC5hbmlt
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hbmltYXRlKG51bGwsIG9wdGlvbnMu
ZWZmZWN0KScsICd0YXJnZXQuYW5pbWF0ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBUZXN0IGJvdW5k
cyBwb2ludCBvZiBzdGVwLWVuZCBlYXNpbmcgdGFyZ2V0LmFuaW1hdGUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndGFyZ2V0LmFuaW1hdGUobnVsbCwgb3B0aW9ucy5lZmZlY3QpJywgJ3RhcmdldC5h
bmltYXRlJyBpcyB1bmRlZmluZWQpCitGQUlMIFRlc3QgYm91bmRzIHBvaW50IG9mIHN0ZXAtZW5k
IGVhc2luZyB3aXRoIGl0ZXJhdGlvblN0YXJ0IGFuZCBkZWxheSB0YXJnZXQuYW5pbWF0ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYW5pbWF0ZShudWxsLCBvcHRpb25zLmVmZmVjdCkn
LCAndGFyZ2V0LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBib3VuZHMgcG9pbnQg
b2Ygc3RlcC1lbmQgZWFzaW5nIHdpdGggaXRlcmF0aW9uU3RhcnQgbm90IGF0IGEgdHJhbnNpdGlv
biBwb2ludCB0YXJnZXQuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYW5p
bWF0ZShudWxsLCBvcHRpb25zLmVmZmVjdCknLCAndGFyZ2V0LmFuaW1hdGUnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgVGVzdCBib3VuZHMgcG9pbnQgb2YgZnJhbWVzIGVhc2luZyB0YXJnZXQuYW5pbWF0
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYW5pbWF0ZShudWxsLCBvcHRpb25zLmVm
ZmVjdCknLCAndGFyZ2V0LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgVGVzdCBib3VuZHMg
cG9pbnQgb2YgZnJhbWVzIGVhc2luZyB3aXRoIGl0ZXJhdGlvblN0YXJ0IGFuZCBkZWxheSB0YXJn
ZXQuYW5pbWF0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYW5pbWF0ZShudWxsLCBv
cHRpb25zLmVmZmVjdCknLCAndGFyZ2V0LmFuaW1hdGUnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL3Rp
bWUtdHJhbnNmb3JtYXRpb25zL3RyYW5zZm9ybWVkLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvdGltZS10cmFuc2Zvcm1hdGlv
bnMvdHJhbnNmb3JtZWQtcHJvZ3Jlc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Y2EyN2NmNWFmOGM2YWY5
NWI1ZmM4NTYzZDBkZjk4NmI5ZWQ2YjFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL3RpbWUtdHJhbnNmb3JtYXRpb25z
L3RyYW5zZm9ybWVkLXByb2dyZXNzLmh0bWwKQEAgLTAsMCArMSwzMDggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0cyBmb3IgdGhlIHRyYW5zZm9y
bWVkIHByb2dyZXNzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNjYWxjdWxhdGluZy10aGUtdHJhbnNmb3JtZWQtcHJv
Z3Jlc3MiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9lYXNpbmctdGVzdHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8
ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KKzxzY3JpcHQ+Cisn
dXNlIHN0cmljdCc7CisKK2dFYXNpbmdUZXN0cy5mb3JFYWNoKHBhcmFtcyA9PiB7CisgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgIGNvbnN0IHRhcmdldCA9IGNyZWF0ZURpdih0KTsKKyAgICBjb25z
dCBhbmltICAgPSB0YXJnZXQuYW5pbWF0ZShudWxsLCB7IGR1cmF0aW9uOiAxMDAwLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJ2ZvcndhcmRzJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2luZzogcGFyYW1zLmVh
c2luZyB9KTsKKworICAgIFsgMCwgMjUwLCA1MDAsIDc1MCwgMTAwMCBdLmZvckVhY2goc2FtcGxl
VGltZSA9PiB7CisgICAgICBhbmltLmN1cnJlbnRUaW1lID0gc2FtcGxlVGltZTsKKyAgICAgIGNv
bnN0IHBvcnRpb24gPSBzYW1wbGVUaW1lIC8gYW5pbS5lZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmco
KS5kdXJhdGlvbjsKKyAgICAgIGNvbnN0IGV4cGVjdGVkUHJvZ3Jlc3MgPSBwYXJhbXMuZWFzaW5n
RnVuY3Rpb24ocG9ydGlvbik7CisgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhhbmltLmVmZmVj
dC5nZXRDb21wdXRlZFRpbWluZygpLnByb2dyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWRQcm9ncmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDEsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIHByb2dyZXNzIHNob3VsZCBiZSBhcHByb3hp
bWF0ZWx5ICcgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRQcm9ncmVzcyAr
IGAgYXQgJHtzYW1wbGVUaW1lfW1zYCk7CisgICAgfSk7CisgIH0sICdUcmFuc2Zvcm1lZCBwcm9n
cmVzcyBmb3IgJyArIHBhcmFtcy5kZXNjKTsKK30pOworCisvLyBBZGRpdGlvbmFsIHRlc3RzIGZv
ciB2YXJpb3VzIGJvdW5kYXJ5IGNvbmRpdGlvbnMgb2Ygc3RlcCB0aW1pbmcgZnVuY3Rpb25zIGFu
ZAorLy8gZnJhbWVzIHRpbWluZyBmdW5jdGlvbnMuCisKK3ZhciBnU3RlcEFuZEZyYW1lc1RpbWlu
Z0Z1bmN0aW9uVGVzdHMgPSBbCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgYm91bmRzIHBv
aW50IG9mIHN0ZXAtc3RhcnQgZWFzaW5nJywKKyAgICBlZmZlY3Q6ICAgICB7CisgICAgICAgICAg
ICAgICAgICBkZWxheTogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwLAor
ICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgZWFzaW5n
OiAnc3RlcHMoMiwgc3RhcnQpJworICAgICAgICAgICAgICAgIH0sCisgICAgY29uZGl0aW9uczog
WworICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMCwgICAgcHJvZ3Jlc3M6IDAgfSwK
KyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDk5OSwgIHByb2dyZXNzOiAwIH0sCisg
ICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxMDAwLCBwcm9ncmVzczogMC41IH0sCisg
ICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNDk5LCBwcm9ncmVzczogMC41IH0sCisg
ICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNTAwLCBwcm9ncmVzczogMSB9LAorICAg
ICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjAwMCwgcHJvZ3Jlc3M6IDEgfQorICAgICAg
ICAgICAgICAgIF0KKyAgfSwKKyAgeworICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBib3VuZHMgcG9p
bnQgb2Ygc3RlcC1zdGFydCBlYXNpbmcgd2l0aCByZXZlcnNlIGRpcmVjdGlvbicsCisgICAgZWZm
ZWN0OiAgICAgeworICAgICAgICAgICAgICAgICAgZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAg
ICAgICBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAg
ICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ3JldmVyc2UnLAorICAgICAgICAgICAgICAgICAg
ZWFzaW5nOiAnc3RlcHMoMiwgc3RhcnQpJworICAgICAgICAgICAgICAgIH0sCisgICAgY29uZGl0
aW9uczogWworICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMCwgICAgcHJvZ3Jlc3M6
IDEgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDEsIHByb2dyZXNzOiAx
IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNTAwLCBwcm9ncmVzczogMSB9
LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTUwMSwgcHJvZ3Jlc3M6IDAuNSB9
LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjAwMCwgcHJvZ3Jlc3M6IDAgfSwK
KyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDI1MDAsIHByb2dyZXNzOiAwIH0KKyAg
ICAgICAgICAgICAgICBdCisgIH0sCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgYm91bmRz
IHBvaW50IG9mIHN0ZXAtc3RhcnQgZWFzaW5nICcgKworICAgICAgICAgICAgICAgICAnd2l0aCBp
dGVyYXRpb25TdGFydCBub3QgYXQgYSB0cmFuc2l0aW9uIHBvaW50JywKKyAgICBlZmZlY3Q6ICAg
ICB7CisgICAgICAgICAgICAgICAgICBkZWxheTogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGR1
cmF0aW9uOiAxMDAwLAorICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAg
ICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6IDAuMjUsCisgICAgICAgICAgICAgICAgICBlYXNpbmc6
ICdzdGVwcygyLCBzdGFydCknCisgICAgICAgICAgICAgICAgfSwKKyAgICBjb25kaXRpb25zOiBb
CisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVzczogMC41IH0s
CisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiA5OTksICBwcm9ncmVzczogMC41IH0s
CisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxMDAwLCBwcm9ncmVzczogMC41IH0s
CisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxMjQ5LCBwcm9ncmVzczogMC41IH0s
CisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxMjUwLCBwcm9ncmVzczogMSB9LAor
ICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTc0OSwgcHJvZ3Jlc3M6IDEgfSwKKyAg
ICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE3NTAsIHByb2dyZXNzOiAwLjUgfSwKKyAg
ICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDIwMDAsIHByb2dyZXNzOiAwLjUgfSwKKyAg
ICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDI1MDAsIHByb2dyZXNzOiAwLjUgfSwKKyAg
ICAgICAgICAgICAgICBdCisgIH0sCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgYm91bmRz
IHBvaW50IG9mIHN0ZXAtc3RhcnQgZWFzaW5nICcgKworICAgICAgICAgICAgICAgICAnd2l0aCBp
dGVyYXRpb25TdGFydCBhbmQgZGVsYXknLAorICAgIGVmZmVjdDogICAgIHsKKyAgICAgICAgICAg
ICAgICAgIGRlbGF5OiAxMDAwLAorICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDAsCisg
ICAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICBpdGVyYXRp
b25TdGFydDogMC41LAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnc3RlcHMoMiwgc3RhcnQp
JworICAgICAgICAgICAgICAgIH0sCisgICAgY29uZGl0aW9uczogWworICAgICAgICAgICAgICAg
ICAgeyBjdXJyZW50VGltZTogMCwgICAgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAg
ICAgeyBjdXJyZW50VGltZTogOTk5LCAgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAg
ICAgeyBjdXJyZW50VGltZTogMTAwMCwgcHJvZ3Jlc3M6IDEgfSwKKyAgICAgICAgICAgICAgICAg
IHsgY3VycmVudFRpbWU6IDE0OTksIHByb2dyZXNzOiAxIH0sCisgICAgICAgICAgICAgICAgICB7
IGN1cnJlbnRUaW1lOiAxNTAwLCBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7
IGN1cnJlbnRUaW1lOiAyMDAwLCBwcm9ncmVzczogMSB9CisgICAgICAgICAgICAgICAgXQorICB9
LAorICB7CisgICAgZGVzY3JpcHRpb246ICdUZXN0IGJvdW5kcyBwb2ludCBvZiBzdGVwLXN0YXJ0
IGVhc2luZyAnICsKKyAgICAgICAgICAgICAgICAgJ3dpdGggaXRlcmF0aW9uU3RhcnQgYW5kIHJl
dmVyc2UgZGlyZWN0aW9uJywKKyAgICBlZmZlY3Q6ICAgICB7CisgICAgICAgICAgICAgICAgICBk
ZWxheTogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwLAorICAgICAgICAg
ICAgICAgICAgZmlsbDogJ2JvdGgnLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uU3RhcnQ6
IDAuNSwKKyAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ3JldmVyc2UnLAorICAgICAgICAg
ICAgICAgICAgZWFzaW5nOiAnc3RlcHMoMiwgc3RhcnQpJworICAgICAgICAgICAgICAgIH0sCisg
ICAgY29uZGl0aW9uczogWworICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMCwgICAg
cHJvZ3Jlc3M6IDEgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDAsIHBy
b2dyZXNzOiAxIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxMDAxLCBwcm9n
cmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNDk5LCBwcm9n
cmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNTAwLCBwcm9n
cmVzczogMSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTk5OSwgcHJvZ3Jl
c3M6IDEgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDIwMDAsIHByb2dyZXNz
OiAwLjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDI1MDAsIHByb2dyZXNz
OiAwLjUgfQorICAgICAgICAgICAgICAgIF0KKyAgfSwKKyAgeworICAgIGRlc2NyaXB0aW9uOiAn
VGVzdCBib3VuZHMgcG9pbnQgb2Ygc3RlcCg0LCBzdGFydCkgZWFzaW5nICcgKworICAgICAgICAg
ICAgICAgICAnd2l0aCBpdGVyYXRpb25TdGFydCAwLjc1IGFuZCBkZWxheScsCisgICAgZWZmZWN0
OiAgICAgeworICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDAsCisgICAgICAgICAgICAg
ICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAgICAgICBkZWxheTogMTAwMCwKKyAgICAg
ICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLjc1LAorICAgICAgICAgICAgICAgICAgZWFz
aW5nOiAnc3RlcHMoNCwgc3RhcnQpJworICAgICAgICAgICAgICAgIH0sCisgICAgY29uZGl0aW9u
czogWworICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMCwgICAgcHJvZ3Jlc3M6IDAu
NzUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDk5OSwgIHByb2dyZXNzOiAw
Ljc1IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxMDAwLCBwcm9ncmVzczog
MSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjAwMCwgcHJvZ3Jlc3M6IDEg
fSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDI1MDAsIHByb2dyZXNzOiAxIH0K
KyAgICAgICAgICAgICAgICBdCisgIH0sCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgYm91
bmRzIHBvaW50IG9mIHN0ZXAtc3RhcnQgZWFzaW5nICcgKworICAgICAgICAgICAgICAgICAnd2l0
aCBhbHRlcm5hdGUgZGlyZWN0aW9uJywKKyAgICBlZmZlY3Q6ICAgICB7CisgICAgICAgICAgICAg
ICAgICBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAg
ICAgICAgICAgICAgICAgIGRlbGF5OiAxMDAwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0aW9u
czogMiwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAxLjUsCisgICAgICAgICAg
ICAgICAgICBkaXJlY3Rpb246ICdhbHRlcm5hdGUnLAorICAgICAgICAgICAgICAgICAgZWFzaW5n
OiAnc3RlcHMoMiwgc3RhcnQpJworICAgICAgICAgICAgICAgIH0sCisgICAgY29uZGl0aW9uczog
WworICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMCwgICAgcHJvZ3Jlc3M6IDEgfSwK
KyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDAsIHByb2dyZXNzOiAxIH0sCisg
ICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxMDAxLCBwcm9ncmVzczogMC41IH0sCisg
ICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAyOTk5LCBwcm9ncmVzczogMSB9LAorICAg
ICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMzAwMCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAg
ICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMzUwMCwgcHJvZ3Jlc3M6IDAuNSB9CisgICAg
ICAgICAgICAgICAgXQorICB9LAorICB7CisgICAgZGVzY3JpcHRpb246ICdUZXN0IGJvdW5kcyBw
b2ludCBvZiBzdGVwLXN0YXJ0IGVhc2luZyAnICsKKyAgICAgICAgICAgICAgICAgJ3dpdGggYWx0
ZXJuYXRlLXJldmVyc2UgZGlyZWN0aW9uJywKKyAgICBlZmZlY3Q6ICAgICB7CisgICAgICAgICAg
ICAgICAgICBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywK
KyAgICAgICAgICAgICAgICAgIGRlbGF5OiAxMDAwLAorICAgICAgICAgICAgICAgICAgaXRlcmF0
aW9uczogMiwKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAwLjUsCisgICAgICAg
ICAgICAgICAgICBkaXJlY3Rpb246ICdhbHRlcm5hdGUtcmV2ZXJzZScsCisgICAgICAgICAgICAg
ICAgICBlYXNpbmc6ICdzdGVwcygyLCBzdGFydCknCisgICAgICAgICAgICAgICAgfSwKKyAgICBj
b25kaXRpb25zOiBbCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9n
cmVzczogMSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTAwMCwgcHJvZ3Jl
c3M6IDEgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDEsIHByb2dyZXNz
OiAwLjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDI5OTksIHByb2dyZXNz
OiAxIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAzMDAwLCBwcm9ncmVzczog
MC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAzNTAwLCBwcm9ncmVzczog
MC41IH0KKyAgICAgICAgICAgICAgICBdCisgIH0sCisgIHsKKyAgICBkZXNjcmlwdGlvbjogJ1Rl
c3QgYm91bmRzIHBvaW50IG9mIHN0ZXAtZW5kIGVhc2luZycsCisgICAgZWZmZWN0OiAgICAgewor
ICAgICAgICAgICAgICAgICAgZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAgICAgICBkdXJhdGlv
bjogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAg
ICAgIGVhc2luZzogJ3N0ZXBzKDIsIGVuZCknCisgICAgICAgICAgICAgICAgfSwKKyAgICBjb25k
aXRpb25zOiBbCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAwLCAgICBwcm9ncmVz
czogMCB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogOTk5LCAgcHJvZ3Jlc3M6
IDAgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDAsIHByb2dyZXNzOiAw
IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAxNDk5LCBwcm9ncmVzczogMCB9
LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTUwMCwgcHJvZ3Jlc3M6IDAuNSB9
LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMjAwMCwgcHJvZ3Jlc3M6IDEgfQor
ICAgICAgICAgICAgICAgIF0KKyAgfSwKKyAgeworICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBib3Vu
ZHMgcG9pbnQgb2Ygc3RlcC1lbmQgZWFzaW5nICcgKworICAgICAgICAgICAgICAgICAnd2l0aCBp
dGVyYXRpb25TdGFydCBhbmQgZGVsYXknLAorICAgIGVmZmVjdDogICAgIHsKKyAgICAgICAgICAg
ICAgICAgIGR1cmF0aW9uOiAxMDAwLAorICAgICAgICAgICAgICAgICAgZmlsbDogJ2JvdGgnLAor
ICAgICAgICAgICAgICAgICAgZGVsYXk6IDEwMDAsCisgICAgICAgICAgICAgICAgICBpdGVyYXRp
b25TdGFydDogMC41LAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnc3RlcHMoMiwgZW5kKScK
KyAgICAgICAgICAgICAgICB9LAorICAgIGNvbmRpdGlvbnM6IFsKKyAgICAgICAgICAgICAgICAg
IHsgY3VycmVudFRpbWU6IDAsICAgIHByb2dyZXNzOiAwIH0sCisgICAgICAgICAgICAgICAgICB7
IGN1cnJlbnRUaW1lOiA5OTksICBwcm9ncmVzczogMCB9LAorICAgICAgICAgICAgICAgICAgeyBj
dXJyZW50VGltZTogMTAwMCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgICAgeyBj
dXJyZW50VGltZTogMTQ5OSwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgICAgeyBj
dXJyZW50VGltZTogMTUwMCwgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3Vy
cmVudFRpbWU6IDE5OTksIHByb2dyZXNzOiAwIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJl
bnRUaW1lOiAyMDAwLCBwcm9ncmVzczogMC41IH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJl
bnRUaW1lOiAyNTAwLCBwcm9ncmVzczogMC41IH0KKyAgICAgICAgICAgICAgICBdCisgIH0sCisg
IHsKKyAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgYm91bmRzIHBvaW50IG9mIHN0ZXAtZW5kIGVhc2lu
ZyAnICsKKyAgICAgICAgICAgICAgICAgJ3dpdGggaXRlcmF0aW9uU3RhcnQgbm90IGF0IGEgdHJh
bnNpdGlvbiBwb2ludCcsCisgICAgZWZmZWN0OiAgICAgeworICAgICAgICAgICAgICAgICAgZGVs
YXk6IDEwMDAsCisgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAg
ICAgICAgIGZpbGw6ICdib3RoJywKKyAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvblN0YXJ0OiAw
Ljc1LAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnc3RlcHMoMiwgZW5kKScKKyAgICAgICAg
ICAgICAgICB9LAorICAgIGNvbmRpdGlvbnM6IFsKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDAsICAgIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDk5OSwgIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDEwMDAsIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDEyNDksIHByb2dyZXNzOiAwLjUgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVu
dFRpbWU6IDEyNTAsIHByb2dyZXNzOiAwIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRU
aW1lOiAxNzQ5LCBwcm9ncmVzczogMCB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGlt
ZTogMTc1MCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGlt
ZTogMjAwMCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGlt
ZTogMjUwMCwgcHJvZ3Jlc3M6IDAuNSB9LAorICAgICAgICAgICAgICAgIF0KKyAgfSwKKyAgewor
ICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBib3VuZHMgcG9pbnQgb2YgZnJhbWVzIGVhc2luZycsCisg
ICAgZWZmZWN0OiAgICAgeworICAgICAgICAgICAgICAgICAgZGVsYXk6IDEwMDAsCisgICAgICAg
ICAgICAgICAgICBkdXJhdGlvbjogMTAwMCwKKyAgICAgICAgICAgICAgICAgIGZpbGw6ICdib3Ro
JywKKyAgICAgICAgICAgICAgICAgIGVhc2luZzogJ2ZyYW1lcygyKScKKyAgICAgICAgICAgICAg
ICB9LAorICAgIGNvbmRpdGlvbnM6IFsKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6
IDAsICAgIHByb2dyZXNzOiAwIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAx
MDAwLCBwcm9ncmVzczogMCB9LAorICAgICAgICAgICAgICAgICAgeyBjdXJyZW50VGltZTogMTQ5
OSwgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICAgIHsgY3VycmVudFRpbWU6IDE1MDAs
IHByb2dyZXNzOiAxIH0sCisgICAgICAgICAgICAgICAgICB7IGN1cnJlbnRUaW1lOiAyMDAwLCBw
cm9ncmVzczogMSB9CisgICAgICAgICAgICAgICAgXQorICB9LAorICB7CisgICAgZGVzY3JpcHRp
b246ICdUZXN0IGJvdW5kcyBwb2ludCBvZiBmcmFtZXMgZWFzaW5nICcgKworICAgICAgICAgICAg
ICAgICAnd2l0aCBpdGVyYXRpb25TdGFydCBhbmQgZGVsYXknLAorICAgIGVmZmVjdDogICAgIHsK
KyAgICAgICAgICAgICAgICAgIGRlbGF5OiAxMDAwLAorICAgICAgICAgICAgICAgICAgZHVyYXRp
b246IDEwMDAsCisgICAgICAgICAgICAgICAgICBmaWxsOiAnYm90aCcsCisgICAgICAgICAgICAg
ICAgICBpdGVyYXRpb25TdGFydDogMC41LAorICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnZnJh
bWVzKDIpJworICAgICAgICAgICAgICAgIH0sCisgICAgY29uZGl0aW9uczogWworICAgICAgICAg
ICAgICAgICAgeyBjdXJyZW50VGltZTogMCwgICAgcHJvZ3Jlc3M6IDEgfSwKKyAgICAgICAgICAg
ICAgICAgIHsgY3VycmVudFRpbWU6IDEwMDAsIHByb2dyZXNzOiAxIH0sCisgICAgICAgICAgICAg
ICAgICB7IGN1cnJlbnRUaW1lOiAxNDk5LCBwcm9ncmVzczogMSB9LAorICAgICAgICAgICAgICAg
ICAgeyBjdXJyZW50VGltZTogMTUwMCwgcHJvZ3Jlc3M6IDAgfSwKKyAgICAgICAgICAgICAgICAg
IHsgY3VycmVudFRpbWU6IDE5OTksIHByb2dyZXNzOiAwIH0sCisgICAgICAgICAgICAgICAgICB7
IGN1cnJlbnRUaW1lOiAyMDAwLCBwcm9ncmVzczogMSB9CisgICAgICAgICAgICAgICAgXQorICB9
CitdOworCitnU3RlcEFuZEZyYW1lc1RpbWluZ0Z1bmN0aW9uVGVzdHMuZm9yRWFjaChmdW5jdGlv
bihvcHRpb25zKSB7CisgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciB0YXJnZXQgPSBjcmVh
dGVEaXYodCk7CisgICAgdmFyIGFuaW1hdGlvbiA9IHRhcmdldC5hbmltYXRlKG51bGwsIG9wdGlv
bnMuZWZmZWN0KTsKKyAgICBvcHRpb25zLmNvbmRpdGlvbnMuZm9yRWFjaChmdW5jdGlvbihjb25k
aXRpb24pIHsKKyAgICAgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IGNvbmRpdGlvbi5jdXJyZW50
VGltZTsKKyAgICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdC5nZXRDb21wdXRlZFRp
bWluZygpLnByb2dyZXNzLAorICAgICAgICAgICAgICAgICAgICBjb25kaXRpb24ucHJvZ3Jlc3Ms
CisgICAgICAgICAgICAgICAgICAgICdQcm9ncmVzcyBhdCAnICsgYW5pbWF0aW9uLmN1cnJlbnRU
aW1lICsgJ21zJyk7CisgICAgfSk7CisgIH0sIG9wdGlvbnMuZGVzY3JpcHRpb24pOworfSk7CisK
Kzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>