<?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>214028</bug_id>
          
          <creation_ts>2020-07-06 20:41:43 -0700</creation_ts>
          <short_desc>Resync web-platform-tests/custom-elements from upstream</short_desc>
          <delta_ts>2020-07-16 09:08:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>213927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>achristensen</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>clopez</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1669313</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-06 20:41:43 -0700</bug_when>
    <thetext>Resync web-platform-tests/custom-elements from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669316</commentid>
    <comment_count>1</comment_count>
      <attachid>403660</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-06 20:43:11 -0700</bug_when>
    <thetext>Created attachment 403660
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669398</commentid>
    <comment_count>2</comment_count>
      <attachid>403660</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-07 08:03:38 -0700</bug_when>
    <thetext>Comment on attachment 403660
Patch

rs=me, but please fix the red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669410</commentid>
    <comment_count>3</comment_count>
      <attachid>403694</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-07 08:59:02 -0700</bug_when>
    <thetext>Created attachment 403694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669437</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-07 09:48:13 -0700</bug_when>
    <thetext>Committed r264020: &lt;https://trac.webkit.org/changeset/264020&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403694.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669438</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-07 09:49:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/65180416&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403660</attachid>
            <date>2020-07-06 20:43:11 -0700</date>
            <delta_ts>2020-07-07 08:59:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214028-20200706204310.patch</filename>
            <type>text/plain</type>
            <size>314819</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MDA3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBjNjk4ODcyMWIyNGZkZGE3ZmUzMzc5ZWEyYWFmZjE2YzY4ZmI3MDJhLi40ODEyOGNmM2Ni
OTliZTU3OWE3OGYyZTc3NzlmY2QwMGNiOWQ0NmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNy0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDAyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzIGZy
b20gdXBzdHJlYW0gMTQ1ODM5YzMyM2JhMWVjOGI5Ny4KKworICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvKjogVXBkYXRlZC4KKwogMjAyMC0wNy0wNiAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvQ3VzdG9t
RWxlbWVudFJlZ2lzdHJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0N1c3RvbUVsZW1lbnRSZWdpc3RyeS1l
eHBlY3RlZC50eHQKaW5kZXggMzVlYzVlZTQxZWNkMTE3OTU5NGViMWQ3YjBlOTBjZmRmOWZjNjBj
Yi4uYWI1YTk5OGU4OGZkODIzOGM2ZjM2MjJlZTY3NWQ2NzYzODUyYzZkZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9DdXN0b21FbGVt
ZW50UmVnaXN0cnktZXhwZWN0ZWQudHh0CkBAIC05LDIwICs5LDI3IEBAIFBBU1MgY3VzdG9tRWxl
bWVudHMuZGVmaW5lIG11c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciB3aGVuIGVsZW1lbnQg
ZGVmaW5pdGlvCiBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGNoZWNrIElzQ29uc3Ry
dWN0b3Igb24gdGhlIGNvbnN0cnVjdG9yIGJlZm9yZSBjaGVja2luZyB0aGUgZWxlbWVudCBkZWZp
bml0aW9uIGlzIHJ1bm5pbmcgZmxhZyAKIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3Qg
dmFsaWRhdGUgdGhlIGN1c3RvbSBlbGVtZW50IG5hbWUgYmVmb3JlIGNoZWNraW5nIHRoZSBlbGVt
ZW50IGRlZmluaXRpb24gaXMgcnVubmluZyBmbGFnIAogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZp
bmUgdW5zZXQgdGhlIGVsZW1lbnQgZGVmaW5pdGlvbiBpcyBydW5uaW5nIGZsYWcgYmVmb3JlIHVw
Z3JhZGluZyBjdXN0b20gZWxlbWVudHMgCi1QQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0
IG5vdCB0aHJvdyB3aGVuIGRlZmluaW5nIGFub3RoZXIgY3VzdG9tIGVsZW1lbnQgaW4gYSBkaWZm
ZXJlbnQgZ2xvYmFsIG9iamVjdCBkdXJpbmcgR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90eXBlIikg
CitGQUlMIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IG5vdCB0aHJvdyB3aGVuIGRlZmluaW5n
IGFub3RoZXIgY3VzdG9tIGVsZW1lbnQgaW4gYSBkaWZmZXJlbnQgZ2xvYmFsIG9iamVjdCBkdXJp
bmcgR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90eXBlIikgYXNzZXJ0X2FycmF5X2VxdWFsczogY3Vz
dG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiLCAiZGlzYWJsZWRGZWF0dXJl
cyIsIGFuZCAiZm9ybUFzc29jaWF0ZWQiIG9uIHRoZSBjb25zdHJ1Y3RvciBsZW5ndGhzIGRpZmZl
ciwgZXhwZWN0ZWQgYXJyYXkgWyJwcm90b3R5cGUiLCAiZGlzYWJsZWRGZWF0dXJlcyIsICJmb3Jt
QXNzb2NpYXRlZCJdIGxlbmd0aCAzLCBnb3QgWyJwcm90b3R5cGUiXSBsZW5ndGggMQogUEFTUyBD
dXN0b20gRWxlbWVudHM6IEN1c3RvbUVsZW1lbnRSZWdpc3RyeSBpbnRlcmZhY2UgCi1QQVNTIGN1
c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiB0aGUg
Y29uc3RydWN0b3IgCitGQUlMIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90
eXBlIiwgImRpc2FibGVkRmVhdHVyZXMiLCBhbmQgImZvcm1Bc3NvY2lhdGVkIiBwcm9wZXJ0eSBv
ZiB0aGUgY29uc3RydWN0b3IgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4
cGVjdGVkIGFycmF5IFsicHJvdG90eXBlIiwgImRpc2FibGVkRmVhdHVyZXMiLCAiZm9ybUFzc29j
aWF0ZWQiXSBsZW5ndGggMywgZ290IFsicHJvdG90eXBlIl0gbGVuZ3RoIDEKIFBBU1MgY3VzdG9t
RWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGdl
dHRpbmcgInByb3RvdHlwZSIgcHJvcGVydHkgb2YgdGhlIGNvbnN0cnVjdG9yIAogUEFTUyBjdXN0
b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyB3aGVuICJwcm90b3R5cGUiIHByb3BlcnR5IG9m
IHRoZSBjb25zdHJ1Y3RvciBpcyBub3QgYW4gb2JqZWN0IAogUEFTUyBjdXN0b21FbGVtZW50cy5k
ZWZpbmUgbXVzdCBnZXQgY2FsbGJhY2tzIG9mIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgCiBQ
QVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93
biB3aGlsZSBnZXR0aW5nIGNhbGxiYWNrcyBvbiB0aGUgY29uc3RydWN0b3IgcHJvdG90eXBlIAog
UEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJv
d24gd2hpbGUgY29udmVydGluZyBhIGNhbGxiYWNrIHZhbHVlIHRvIEZ1bmN0aW9uIGNhbGxiYWNr
IHR5cGUgCi1QQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAib2JzZXJ2ZWRBdHRy
aWJ1dGVzIiBwcm9wZXJ0eSBvbiB0aGUgY29uc3RydWN0b3IgcHJvdG90eXBlIHdoZW4gImF0dHJp
YnV0ZUNoYW5nZWRDYWxsYmFjayIgaXMgcHJlc2VudCAKK0ZBSUwgY3VzdG9tRWxlbWVudHMuZGVm
aW5lIG11c3QgZ2V0ICJvYnNlcnZlZEF0dHJpYnV0ZXMiIHByb3BlcnR5IG9uIHRoZSBjb25zdHJ1
Y3RvciBwcm90b3R5cGUgd2hlbiAiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIiBpcyBwcmVzZW50
IGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbMCwg
InByb3RvdHlwZSIsIDUsICJvYnNlcnZlZEF0dHJpYnV0ZXMiLCA2LCAiZGlzYWJsZWRGZWF0dXJl
cyIsIDcsICJmb3JtQXNzb2NpYXRlZCJdIGxlbmd0aCA4LCBnb3QgWzAsICJwcm90b3R5cGUiLCA1
LCAib2JzZXJ2ZWRBdHRyaWJ1dGVzIl0gbGVuZ3RoIDQKIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVm
aW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGdldHRpbmcgb2JzZXJ2
ZWRBdHRyaWJ1dGVzIG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgCiBQQVNTIGN1c3RvbUVs
ZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBjb252
ZXJ0aW5nIHRoZSB2YWx1ZSBvZiBvYnNlcnZlZEF0dHJpYnV0ZXMgdG8gc2VxdWVuY2U8RE9NU3Ry
aW5nPiAKIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRp
b24gdGhyb3duIHdoaWxlIGl0ZXJhdGluZyBvdmVyIG9ic2VydmVkQXR0cmlidXRlcyB0byBzZXF1
ZW5jZTxET01TdHJpbmc+IAogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93
IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgcmV0cmlldmluZyBTeW1ib2wuaXRlcmF0b3Igb24g
b2JzZXJ2ZWRBdHRyaWJ1dGVzIAogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBub3Qg
dGhyb3cgZXZlbiBpZiAib2JzZXJ2ZWRBdHRyaWJ1dGVzIiBmYWlscyB0byBjb252ZXJ0IGlmICJh
dHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siIGlzIG5vdCBkZWZpbmVkIAorRkFJTCBjdXN0b21FbGVt
ZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGlu
ZyBkaXNhYmxlZEZlYXR1cmVzIG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgYXNzZXJ0X3Ro
cm93c19leGFjdGx5OiBmdW5jdGlvbiAiKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVt
ZW50LXdpdGgtdGhyb3dpbmctZGlzYWJsZWQtZmVhdHVyZXMnLCBwcm94eSkiIGRpZCBub3QgdGhy
b3cKK0ZBSUwgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRpb24g
dGhyb3duIHdoaWxlIGNvbnZlcnRpbmcgdGhlIHZhbHVlIG9mIGRpc2FibGVkRmVhdHVyZXMgdG8g
c2VxdWVuY2U8RE9NU3RyaW5nPiBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiKCkgPT4gY3Vz
dG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtaW52YWxpZC1kaXNhYmxlZC1mZWF0dXJl
cycsIHByb3h5KSIgZGlkIG5vdCB0aHJvdworRkFJTCBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVz
dCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgaXRlcmF0aW5nIG92ZXIgZGlzYWJs
ZWRGZWF0dXJlcyB0byBzZXF1ZW5jZTxET01TdHJpbmc+IGFzc2VydF90aHJvd3NfZXhhY3RseTog
ZnVuY3Rpb24gIigpID0+IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLWdlbmVy
YXRvci1kaXNhYmxlZC1mZWF0dXJlcycsIGNvbnN0cnVjdG9yKSIgZGlkIG5vdCB0aHJvdworRkFJ
TCBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24g
d2hpbGUgcmV0cmlldmluZyBTeW1ib2wuaXRlcmF0b3Igb24gZGlzYWJsZWRGZWF0dXJlcyBhc3Nl
cnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVt
ZW50LXdpdGgtZGlzYWJsZWQtZmVhdHVyZXMtd2l0aC11bmNhbGxhYmxlLWl0ZXJhdG9yJywgY29u
c3RydWN0b3IpIiBkaWQgbm90IHRocm93CitGQUlMIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0
IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBnZXR0aW5nIGZvcm1Bc3NvY2lhdGVk
IG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgYXNzZXJ0X3Rocm93c19leGFjdGx5OiBmdW5j
dGlvbiAiKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtdGhyb3dpbmct
Zm9ybS1hc3NvY2lhdGVkJywgcHJveHkpIiBkaWQgbm90IHRocm93CitGQUlMIGN1c3RvbUVsZW1l
bnRzLmRlZmluZSBtdXN0IGdldCBmb3VyIGFkZGl0aW9uYWwgY2FsbGJhY2tzIG9uIHRoZSBwcm90
b3R5cGUgaWYgZm9ybUFzc29jaWF0ZWQgaXMgY29udmVydGVkIHRvIHRydWUgYXNzZXJ0X2FycmF5
X2VxdWFsczogY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiLCAiZGlz
YWJsZWRGZWF0dXJlcyIsIGFuZCAiZm9ybUFzc29jaWF0ZWQiIG9uIHRoZSBjb25zdHJ1Y3RvciBs
ZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJwcm90b3R5cGUiLCAiZGlzYWJsZWRGZWF0
dXJlcyIsICJmb3JtQXNzb2NpYXRlZCJdIGxlbmd0aCAzLCBnb3QgWyJwcm90b3R5cGUiXSBsZW5n
dGggMQorRkFJTCBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlv
biB0aHJvd24gd2hpbGUgZ2V0dGluZyBhZGRpdGlvbmFsIGZvcm1Bc3NvY2lhdGVkIGNhbGxiYWNr
cyBvbiB0aGUgY29uc3RydWN0b3IgcHJvdG90eXBlIGFzc2VydF90aHJvd3NfZXhhY3RseTogZnVu
Y3Rpb24gIigpID0+IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLXRocm93aW5n
LWNhbGxiYWNrLTInLCBwcm94eSkiIGRpZCBub3QgdGhyb3cKIFBBU1MgY3VzdG9tRWxlbWVudHMu
ZGVmaW5lIG11c3QgZGVmaW5lIGFuIGluc3RhbnRpYXRhYmxlIGN1c3RvbSBlbGVtZW50IAogUEFT
UyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB1cGdyYWRlIGVsZW1lbnRzIGluIHRoZSBzaGFk
b3ctaW5jbHVkaW5nIHRyZWUgb3JkZXIgCiBQQVNTIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSBpbnRl
cmZhY2UgbXVzdCBoYXZlIGdldCBhcyBhIG1ldGhvZCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0N1c3RvbUVs
ZW1lbnRSZWdpc3RyeS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5Lmh0bWwKaW5kZXgg
ZWNjNzgxMGU4ZGY4YWNmYjI1MWNmOTNiZDk5MmEzZTEyNjZkNTFkZC4uY2M4MWUzYTJjZDM5NDVj
ZWFjNGZmNDYxYjE0OTAzYzM5MDFiMWJhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvQ3VzdG9tRWxlbWVudFJl
Z2lzdHJ5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5Lmh0bWwKQEAgLTE3LDEz
ICsxNywxMyBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKIH0sICdDdXN0b21FbGVtZW50UmVnaXN0cnkg
aW50ZXJmYWNlIG11c3QgaGF2ZSBkZWZpbmUgYXMgYSBtZXRob2QnKTsKIAogdGVzdChmdW5jdGlv
biAoKSB7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9u
ICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdiYWRuYW1lJywgMSk7IH0sCisgICAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCdiYWRuYW1lJywgMSk7IH0sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0
aHJvdyBhIFR5cGVFcnJvciB3aGVuIHRoZSBlbGVtZW50IGludGVyZmFjZSBpcyBhIG51bWJlcicp
OwotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9LCBmdW5jdGlvbiAoKSB7
IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnYmFkbmFtZScsICcxMjMnKTsgfSwKKyAgICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUo
J2JhZG5hbWUnLCAnMTIzJyk7IH0sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVz
dCB0aHJvdyBhIFR5cGVFcnJvciB3aGVuIHRoZSBlbGVtZW50IGludGVyZmFjZSBpcyBhIHN0cmlu
ZycpOwotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9LCBmdW5jdGlvbiAo
KSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnYmFkbmFtZScsIHt9KTsgfSwKKyAgICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUo
J2JhZG5hbWUnLCB7fSk7IH0sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0
aHJvdyBhIFR5cGVFcnJvciB3aGVuIHRoZSBlbGVtZW50IGludGVyZmFjZSBpcyBhbiBvYmplY3Qn
KTsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24gKCkg
eyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2JhZG5hbWUnLCBbXSk7IH0sCisgICAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdi
YWRuYW1lJywgW10pOyB9LAogICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgdGhy
b3cgYSBUeXBlRXJyb3Igd2hlbiB0aGUgZWxlbWVudCBpbnRlcmZhY2UgaXMgYW4gYXJyYXknKTsK
IH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyB3aGVuIHRoZSBlbGVtZW50IGlu
dGVyZmFjZSBpcyBub3QgYSBjb25zdHJ1Y3RvcicpOwogCkBAIC0zNCwxMyArMzQsMTMgQEAgdGVz
dChmdW5jdGlvbiAoKSB7CiB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICBjbGFzcyBNeUN1c3RvbUVs
ZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7fTsKIAotICAgIGFzc2VydF90aHJvd3MoeyduYW1l
JzogJ1N5bnRheEVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKG51
bGwsIE15Q3VzdG9tRWxlbWVudCk7IH0sCisgICAgYXNzZXJ0X3Rocm93c19kb20oJ1N5bnRheEVy
cm9yJywgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUobnVsbCwgTXlDdXN0b21F
bGVtZW50KTsgfSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93IGEg
U3ludGF4RXJyb3IgaWYgdGhlIHRhZyBuYW1lIGlzIG51bGwnKTsKLSAgICBhc3NlcnRfdGhyb3dz
KHsnbmFtZSc6ICdTeW50YXhFcnJvcid9LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgnJywgTXlDdXN0b21FbGVtZW50KTsgfSwKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnU3lu
dGF4RXJyb3InLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnJywgTXlDdXN0
b21FbGVtZW50KTsgfSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93
IGEgU3ludGF4RXJyb3IgaWYgdGhlIHRhZyBuYW1lIGlzIGVtcHR5Jyk7Ci0gICAgYXNzZXJ0X3Ro
cm93cyh7J25hbWUnOiAnU3ludGF4RXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50
cy5kZWZpbmUoJ2FiYycsIE15Q3VzdG9tRWxlbWVudCk7IH0sCisgICAgYXNzZXJ0X3Rocm93c19k
b20oJ1N5bnRheEVycm9yJywgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2Fi
YycsIE15Q3VzdG9tRWxlbWVudCk7IH0sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUg
bXVzdCB0aHJvdyBhIFN5bnRheEVycm9yIGlmIHRoZSB0YWcgbmFtZSBkb2VzIG5vdCBjb250YWlu
ICItIicpOwotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1N5bnRheEVycm9yJ30sIGZ1bmN0
aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdhLUJjJywgTXlDdXN0b21FbGVtZW50KTsg
fSwKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnU3ludGF4RXJyb3InLCBmdW5jdGlvbiAoKSB7IGN1
c3RvbUVsZW1lbnRzLmRlZmluZSgnYS1CYycsIE15Q3VzdG9tRWxlbWVudCk7IH0sCiAgICAgICAg
ICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyBhIFN5bnRheEVycm9yIGlmIHRoZSB0
YWcgbmFtZSBjb250YWlucyBhbiB1cHBlciBjYXNlIGxldHRlcicpOwogCiAgICAgdmFyIGJ1aWx0
aW5UYWdOYW1lcyA9IFsKQEAgLTU1LDcgKzU1LDcgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAg
XTsKIAogICAgIGZvciAodmFyIHRhZ05hbWUgb2YgYnVpbHRpblRhZ05hbWVzKSB7Ci0gICAgICAg
IGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1N5bnRheEVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3Vz
dG9tRWxlbWVudHMuZGVmaW5lKHRhZ05hbWUsIE15Q3VzdG9tRWxlbWVudCk7IH0sCisgICAgICAg
IGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcicsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxl
bWVudHMuZGVmaW5lKHRhZ05hbWUsIE15Q3VzdG9tRWxlbWVudCk7IH0sCiAgICAgICAgICAgICAn
Y3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgdGhyb3cgYSBTeW50YXhFcnJvciBpZiB0aGUgdGFn
IG5hbWUgaXMgIicgKyB0YWdOYW1lICsgJyInKTsKICAgICB9CiAKQEAgLTczLDcgKzczLDcgQEAg
dGVzdChmdW5jdGlvbiAoKSB7CiAgICAgfSkKIAogICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgn
c29tZS1jdXN0b20tZWxlbWVudCcsIFNvbWVDdXN0b21FbGVtZW50KTsKLSAgICBhc3NlcnRfdGhy
b3dzKHsnbmFtZSc6ICdOb3RTdXBwb3J0ZWRFcnJvcid9LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVs
ZW1lbnRzLmRlZmluZSgnc29tZS1jdXN0b20tZWxlbWVudCcsIE90aGVyQ3VzdG9tRWxlbWVudCk7
IH0sCisgICAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgZnVuY3Rpb24g
KCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NvbWUtY3VzdG9tLWVsZW1lbnQnLCBPdGhlckN1
c3RvbUVsZW1lbnQpOyB9LAogICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgdGhy
b3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBpZiB0aGUgc3BlY2lmaWVkIHRhZyBuYW1lIGlzIGFscmVh
ZHkgdXNlZCcpOwogICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbHMsIFtdLCAnY3VzdG9tRWxl
bWVudHMuZGVmaW5lIG11c3QgdmFsaWRhdGUgdGhlIGN1c3RvbSBlbGVtZW50IG5hbWUgYmVmb3Jl
IGdldHRpbmcgdGhlIHByb3RvdHlwZSBvZiB0aGUgY29uc3RydWN0b3InKTsKIApAQCAtODMsNyAr
ODMsNyBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICBjbGFzcyBBbm90aGVyQ3VzdG9tRWxlbWVu
dCBleHRlbmRzIEhUTUxFbGVtZW50IHt9OwogCiAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdh
bm90aGVyLWN1c3RvbS1lbGVtZW50JywgQW5vdGhlckN1c3RvbUVsZW1lbnQpOwotICAgIGFzc2Vy
dF90aHJvd3MoeyduYW1lJzogJ05vdFN1cHBvcnRlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3Vz
dG9tRWxlbWVudHMuZGVmaW5lKCdzb21lLW90aGVyLWVsZW1lbnQnLCBBbm90aGVyQ3VzdG9tRWxl
bWVudCk7IH0sCisgICAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgZnVu
Y3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NvbWUtb3RoZXItZWxlbWVudCcsIEFu
b3RoZXJDdXN0b21FbGVtZW50KTsgfSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBt
dXN0IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgaWYgdGhlIHNwZWNpZmllZCBjbGFzcyBhbHJl
YWR5IGRlZmluZXMgYW4gZWxlbWVudCcpOwogCiB9LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11
c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciB3aGVuIHRoZXJlIGlzIGFscmVhZHkgYSBjdXN0
b20gZWxlbWVudCB3aXRoIHRoZSBzYW1lIGNsYXNzJyk7CkBAIC0xMDUsNyArMTA1LDcgQEAgdGVz
dChmdW5jdGlvbiAoKSB7CiAgICAgICAgIH0KICAgICB9KTsKIAotICAgIGFzc2VydF90aHJvd3Mo
eyduYW1lJzogJ05vdFN1cHBvcnRlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCdvdXRlci1jdXN0b20tZWxlbWVudCcsIE91dGVyQ3VzdG9tRWxlbWVudCk7IH0s
CisgICAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgZnVuY3Rpb24gKCkg
eyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ291dGVyLWN1c3RvbS1lbGVtZW50JywgT3V0ZXJDdXN0
b21FbGVtZW50KTsgfSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93
IGEgTm90U3VwcG9ydGVkRXJyb3IgaWYgdGhlIHNwZWNpZmllZCBjbGFzcyBhbHJlYWR5IGRlZmlu
ZXMgYW4gZWxlbWVudCcpOwogICAgIGFzc2VydF9hcnJheV9lcXVhbHMob3V0ZXJDYWxscywgWydw
cm90b3R5cGUnXSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIicp
OwogICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaW5uZXJDYWxscywgW10sCkBAIC0xMjQsNyArMTI0
LDcgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgICAgIH0KICAgICB9KTsKIAotICAgIGFzc2Vy
dF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9LCBmdW5jdGlvbiAoKSB7CisgICAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtYmFkLWlubmVyLWNvbnN0cnVjdG9yJywgRWxlbWVudFdp
dGhCYWRJbm5lckNvbnN0cnVjdG9yKTsKICAgICB9LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11
c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBpZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9y
KSBpcyBmYWxzZScpOwogCkBAIC0xNDEsNyArMTQxLDcgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAg
ICAgICAgIH0KICAgICB9KTsKIAotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1N5bnRheEVy
cm9yJ30sIGZ1bmN0aW9uICgpIHsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnU3ludGF4RXJyb3In
LCBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13
aXRoLWJhZC1pbm5lci1uYW1lJywgRWxlbWVudFdpdGhCYWRJbm5lck5hbWUpOwogICAgIH0sICdj
dXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyBhIFN5bnRheEVycm9yIGlmIHRoZSBzcGVj
aWZpZWQgbmFtZSBpcyBub3QgYSB2YWxpZCBjdXN0b20gZWxlbWVudCBuYW1lJyk7CiAKQEAgLTE3
NSw3ICsxNzUsNyBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKIAogKGZ1bmN0aW9uICgpIHsKICAgICB2
YXIgdGVzdENhc2UgPSBhc3luY190ZXN0KCdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBub3Qg
dGhyb3cnCi0gICAgICAgICsnIHdoZW4gZGVmaW5pbmcgYW5vdGhlciBjdXN0b20gZWxlbWVudCBp
biBhIGRpZmZlcmVudCBnbG9iYWwgb2JqZWN0IGR1cmluZyBHZXQoY29uc3RydWN0b3IsICJwcm90
b3R5cGUiKScsIHt0aW1lb3V0OiAxMDB9KTsKKyAgICAgICAgKycgd2hlbiBkZWZpbmluZyBhbm90
aGVyIGN1c3RvbSBlbGVtZW50IGluIGEgZGlmZmVyZW50IGdsb2JhbCBvYmplY3QgZHVyaW5nIEdl
dChjb25zdHJ1Y3RvciwgInByb3RvdHlwZSIpJyk7CiAKICAgICB2YXIgaWZyYW1lID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICAgaWZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9u
ICgpIHsKQEAgLTE4NSwxMiArMTg1LDE1IEBAIHRlc3QoZnVuY3Rpb24gKCkgewogICAgICAgICAg
ICAgdmFyIHByb3h5ID0gbmV3IFByb3h5KGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeyB9LCB7
CiAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7CiAgICAgICAg
ICAgICAgICAgICAgIGNhbGxzLnB1c2gobmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFt
ZS5jb250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnYW5vdGhlci1jdXN0b20tZWxl
bWVudCcsIElubmVyQ3VzdG9tRWxlbWVudCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChuYW1l
ID09PSAicHJvdG90eXBlIikgeworICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lLmNvbnRl
bnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdhbm90aGVyLWN1c3RvbS1lbGVtZW50Jywg
SW5uZXJDdXN0b21FbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdGFyZ2V0W25hbWVdOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0pCiAgICAgICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1p
bm5lci1lbGVtZW50LWRlZmluZScsIHByb3h5KTsKLSAgICAgICAgICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoY2FsbHMsIFsncHJvdG90eXBlJ10sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBn
ZXQgInByb3RvdHlwZSInKTsKKyAgICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbHMs
IFsncHJvdG90eXBlJywgJ2Rpc2FibGVkRmVhdHVyZXMnLCAnZm9ybUFzc29jaWF0ZWQnXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0
IGdldCAicHJvdG90eXBlIiwgImRpc2FibGVkRmVhdHVyZXMiLCBhbmQgImZvcm1Bc3NvY2lhdGVk
IiBvbiB0aGUgY29uc3RydWN0b3InKTsKICAgICAgICAgICAgIGFzc2VydF90cnVlKGlmcmFtZS5j
b250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYW5vdGhlci1jdXN0b20tZWxlbWVudCcpIGlu
c3RhbmNlb2YgSW5uZXJDdXN0b21FbGVtZW50KTsKICAgICAgICAgfSk7CiAgICAgICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKQEAgLTIxMCw3ICsyMTMsNyBAQCB0ZXN0KGZ1
bmN0aW9uICgpIHsKICAgICAgICAgfQogICAgIH0pOwogCi0gICAgYXNzZXJ0X3Rocm93cyh7J25h
bWUnOiAnU3ludGF4RXJyb3InfSwgZnVuY3Rpb24gKCkgeworICAgIGFzc2VydF90aHJvd3NfZG9t
KCdTeW50YXhFcnJvcicsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVm
aW5lKCdlbGVtZW50LXdpdGgtYmFkLWlubmVyLW5hbWUnLCBFbGVtZW50V2l0aEJhZElubmVyTmFt
ZSk7CiAgICAgfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93IGEgU3ludGF4RXJy
b3IgaWYgdGhlIHNwZWNpZmllZCBuYW1lIGlzIG5vdCBhIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5h
bWUnKTsKIApAQCAtMjI2LDE2ICsyMjksMTcgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgICAg
IH0KICAgICB9KTsKICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Byb3h5LWVsZW1lbnQnLCBw
cm94eSk7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjYWxscywgWydwcm90b3R5cGUnXSk7Ci19
LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiIHByb3BlcnR5IG9m
IHRoZSBjb25zdHJ1Y3RvcicpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbHMsIFsncHJv
dG90eXBlJywgJ2Rpc2FibGVkRmVhdHVyZXMnLCAnZm9ybUFzc29jaWF0ZWQnXSk7Cit9LCAnY3Vz
dG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiLCAiZGlzYWJsZWRGZWF0dXJl
cyIsIGFuZCAiZm9ybUFzc29jaWF0ZWQiIHByb3BlcnR5IG9mIHRoZSBjb25zdHJ1Y3RvcicpOwog
CiB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgZXJyID0ge25hbWU6ICdleHBlY3RlZEVycm9y
J30KICAgICB2YXIgcHJveHkgPSBuZXcgUHJveHkoY2xhc3MgZXh0ZW5kcyBIVE1MRWxlbWVudCB7
IH0sIHsKICAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7Ci0gICAgICAgICAg
ICB0aHJvdyB7bmFtZTogJ2V4cGVjdGVkRXJyb3InfTsKKyAgICAgICAgICAgIHRocm93IGVycjsK
ICAgICAgICAgfQogICAgIH0pOwotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ2V4cGVjdGVk
RXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0
aC1zdHJpbmctcHJvdG90eXBlJywgcHJveHkpOyB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2V4YWN0
bHkoZXJyLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRo
LXN0cmluZy1wcm90b3R5cGUnLCBwcm94eSk7IH0pOwogfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmlu
ZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBnZXR0aW5nICJwcm90b3R5
cGUiIHByb3BlcnR5IG9mIHRoZSBjb25zdHJ1Y3RvcicpOwogCiB0ZXN0KGZ1bmN0aW9uICgpIHsK
QEAgLTI0NSwxNiArMjQ5LDE2IEBAIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIH0pOwogCiAgICAg
cmV0dXJuZWRWYWx1ZSA9IG51bGw7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVy
cm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgt
c3RyaW5nLXByb3RvdHlwZScsIHByb3h5KTsgfSwKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVF
cnJvciwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1z
dHJpbmctcHJvdG90eXBlJywgcHJveHkpOyB9LAogICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVm
aW5lIG11c3QgdGhyb3cgd2hlbiAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiB0aGUgY29uc3RydWN0
b3IgaXMgbnVsbCcpOwogICAgIHJldHVybmVkVmFsdWUgPSB1bmRlZmluZWQ7Ci0gICAgYXNzZXJ0
X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtc3RyaW5nLXByb3RvdHlwZScsIHByb3h5KTsgfSwKKyAg
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50
cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1zdHJpbmctcHJvdG90eXBlJywgcHJveHkpOyB9LAogICAg
ICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgdGhyb3cgd2hlbiAicHJvdG90eXBlIiBw
cm9wZXJ0eSBvZiB0aGUgY29uc3RydWN0b3IgaXMgdW5kZWZpbmVkJyk7CiAgICAgcmV0dXJuZWRW
YWx1ZSA9ICdoZWxsbyc7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30s
IGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtc3RyaW5n
LXByb3RvdHlwZScsIHByb3h5KTsgfSwKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwg
ZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1zdHJpbmct
cHJvdG90eXBlJywgcHJveHkpOyB9LAogICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11
c3QgdGhyb3cgd2hlbiAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiB0aGUgY29uc3RydWN0b3IgaXMg
YSBzdHJpbmcnKTsKICAgICByZXR1cm5lZFZhbHVlID0gMTsKLSAgICBhc3NlcnRfdGhyb3dzKHsn
bmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUo
J2VsZW1lbnQtd2l0aC1zdHJpbmctcHJvdG90eXBlJywgcHJveHkpOyB9LAorICAgIGFzc2VydF90
aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgn
ZWxlbWVudC13aXRoLXN0cmluZy1wcm90b3R5cGUnLCBwcm94eSk7IH0sCiAgICAgICAgICdjdXN0
b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyB3aGVuICJwcm90b3R5cGUiIHByb3BlcnR5IG9m
IHRoZSBjb25zdHJ1Y3RvciBpcyBhIG51bWJlcicpOwogCiB9LCAnY3VzdG9tRWxlbWVudHMuZGVm
aW5lIG11c3QgdGhyb3cgd2hlbiAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiB0aGUgY29uc3RydWN0
b3IgaXMgbm90IGFuIG9iamVjdCcpOwpAQCAtMjc1LDE1ICsyNzksMTYgQEAgdGVzdChmdW5jdGlv
biAoKSB7CiB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICB2YXIgY29uc3RydWN0b3IgPSBmdW5jdGlv
biAoKSB7fQogICAgIHZhciBjYWxscyA9IFtdOworICAgIHZhciBlcnIgPSB7bmFtZTogJ2V4cGVj
dGVkRXJyb3InfQogICAgIGNvbnN0cnVjdG9yLnByb3RvdHlwZSA9IG5ldyBQcm94eShjb25zdHJ1
Y3Rvci5wcm90b3R5cGUsIHsKICAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7
CiAgICAgICAgICAgICBjYWxscy5wdXNoKG5hbWUpOwogICAgICAgICAgICAgaWYgKG5hbWUgPT0g
J2Rpc2Nvbm5lY3RlZENhbGxiYWNrJykKLSAgICAgICAgICAgICAgICB0aHJvdyB7bmFtZTogJ2V4
cGVjdGVkRXJyb3InfTsKKyAgICAgICAgICAgICAgICB0aHJvdyBlcnI7CiAgICAgICAgICAgICBy
ZXR1cm4gdGFyZ2V0W25hbWVdOwogICAgICAgICB9CiAgICAgfSk7Ci0gICAgYXNzZXJ0X3Rocm93
cyh7J25hbWUnOiAnZXhwZWN0ZWRFcnJvcid9LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRz
LmRlZmluZSgnZWxlbWVudC13aXRoLXRocm93aW5nLWNhbGxiYWNrJywgY29uc3RydWN0b3IpOyB9
KTsKKyAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJyLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVs
ZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLXRocm93aW5nLWNhbGxiYWNrJywgY29uc3RydWN0
b3IpOyB9KTsKICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxzLCBbJ2Nvbm5lY3RlZENhbGxi
YWNrJywgJ2Rpc2Nvbm5lY3RlZENhbGxiYWNrJ10sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5k
ZWZpbmUgbXVzdCBub3QgZ2V0IGNhbGxiYWNrcyBhZnRlciBvbmUgb2YgdGhlIGdldCB0aHJvd3Mn
KTsKIH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0
aHJvd24gd2hpbGUgZ2V0dGluZyBjYWxsYmFja3Mgb24gdGhlIGNvbnN0cnVjdG9yIHByb3RvdHlw
ZScpOwpAQCAtMjk5LDcgKzMwNCw3IEBAIHRlc3QoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAg
cmV0dXJuIHRhcmdldFtuYW1lXTsKICAgICAgICAgfQogICAgIH0pOwotICAgIGFzc2VydF90aHJv
d3MoeyduYW1lJzogJ1R5cGVFcnJvcid9LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgnZWxlbWVudC13aXRoLXRocm93aW5nLWNhbGxiYWNrJywgY29uc3RydWN0b3IpOyB9KTsK
KyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVt
ZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC10aHJvd2luZy1jYWxsYmFjaycsIGNvbnN0cnVjdG9y
KTsgfSk7CiAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjYWxscywgWydjb25uZWN0ZWRDYWxsYmFj
aycsICdkaXNjb25uZWN0ZWRDYWxsYmFjaycsICdhZG9wdGVkQ2FsbGJhY2snXSwKICAgICAgICAg
J2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IG5vdCBnZXQgY2FsbGJhY2tzIGFmdGVyIG9uZSBv
ZiB0aGUgY29udmVyc2lvbiB0aHJvd3MnKTsKIH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVz
dCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgY29udmVydGluZyBhIGNhbGxiYWNr
IHZhbHVlIHRvIEZ1bmN0aW9uIGNhbGxiYWNrIHR5cGUnKTsKQEAgLTMxMyw3ICszMTgsNyBAQCB0
ZXN0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7
CiAgICAgICAgICAgICBpZiAobmFtZSA9PSAncHJvdG90eXBlJyB8fCBuYW1lID09ICdvYnNlcnZl
ZEF0dHJpYnV0ZXMnKQogICAgICAgICAgICAgICAgIHRocm93ICdVbmV4cGVjdGVkIGFjY2VzcyB0
byBvYnNlcnZlZEF0dHJpYnV0ZXMnOwotICAgICAgICAgICAgcHJvdG90eXBlQ2FsbHMucHVzaChj
YWxsT3JkZXIrKyk7ICAgIAorICAgICAgICAgICAgcHJvdG90eXBlQ2FsbHMucHVzaChjYWxsT3Jk
ZXIrKyk7CiAgICAgICAgICAgICBwcm90b3R5cGVDYWxscy5wdXNoKG5hbWUpOwogICAgICAgICAg
ICAgcmV0dXJuIHRhcmdldFtuYW1lXTsKICAgICAgICAgfQpAQCAtMzIxLDI5ICszMjYsMzMgQEAg
dGVzdChmdW5jdGlvbiAoKSB7CiAgICAgdmFyIGNvbnN0cnVjdG9yQ2FsbHMgPSBbXTsKICAgICB2
YXIgcHJveHkgPSBuZXcgUHJveHkoY29uc3RydWN0b3IsIHsKICAgICAgICAgZ2V0OiBmdW5jdGlv
biAodGFyZ2V0LCBuYW1lKSB7Ci0gICAgICAgICAgICBjb25zdHJ1Y3RvckNhbGxzLnB1c2goY2Fs
bE9yZGVyKyspOyAgICAKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yQ2FsbHMucHVzaChjYWxsT3Jk
ZXIrKyk7CiAgICAgICAgICAgICBjb25zdHJ1Y3RvckNhbGxzLnB1c2gobmFtZSk7CiAgICAgICAg
ICAgICByZXR1cm4gdGFyZ2V0W25hbWVdOwogICAgICAgICB9CiAgICAgfSk7CiAgICAgY3VzdG9t
RWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtYXR0cmlidXRlLWNoYW5nZWQtY2FsbGJhY2sn
LCBwcm94eSk7CiAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhwcm90b3R5cGVDYWxscywgWzEsICdj
b25uZWN0ZWRDYWxsYmFjaycsIDIsICdkaXNjb25uZWN0ZWRDYWxsYmFjaycsIDMsICdhZG9wdGVk
Q2FsbGJhY2snLCA0LCAnYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrJ10pOwotICAgIGFzc2VydF9h
cnJheV9lcXVhbHMoY29uc3RydWN0b3JDYWxscywgWzAsICdwcm90b3R5cGUnLCA1LCAnb2JzZXJ2
ZWRBdHRyaWJ1dGVzJ10pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY29uc3RydWN0b3JDYWxs
cywgWzAsICdwcm90b3R5cGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDUsICdvYnNlcnZlZEF0dHJpYnV0ZXMnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDYsICdkaXNhYmxlZEZlYXR1cmVzJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LCAnZm9ybUFzc29jaWF0ZWQnXSk7CiB9LCAn
Y3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJvYnNlcnZlZEF0dHJpYnV0ZXMiIHByb3Bl
cnR5IG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgd2hlbiAiYXR0cmlidXRlQ2hhbmdlZENh
bGxiYWNrIiBpcyBwcmVzZW50Jyk7CiAKIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIHZhciBjb25z
dHJ1Y3RvciA9IGZ1bmN0aW9uICgpIHt9CiAgICAgY29uc3RydWN0b3IucHJvdG90eXBlLmF0dHJp
YnV0ZUNoYW5nZWRDYWxsYmFjayA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICB2YXIgY2FsbHMgPSBb
XTsKKyAgICB2YXIgZXJyID0ge25hbWU6ICdleHBlY3RlZEVycm9yJ307CiAgICAgdmFyIHByb3h5
ID0gbmV3IFByb3h5KGNvbnN0cnVjdG9yLCB7CiAgICAgICAgIGdldDogZnVuY3Rpb24gKHRhcmdl
dCwgbmFtZSkgewogICAgICAgICAgICAgY2FsbHMucHVzaChuYW1lKTsKICAgICAgICAgICAgIGlm
IChuYW1lID09ICdvYnNlcnZlZEF0dHJpYnV0ZXMnKQotICAgICAgICAgICAgICAgIHRocm93IHtu
YW1lOiAnZXhwZWN0ZWRFcnJvcid9OworICAgICAgICAgICAgICAgIHRocm93IGVycjsKICAgICAg
ICAgICAgIHJldHVybiB0YXJnZXRbbmFtZV07CiAgICAgICAgIH0KICAgICB9KTsKLSAgICBhc3Nl
cnRfdGhyb3dzKHsnbmFtZSc6ICdleHBlY3RlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9t
RWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtdGhyb3dpbmctb2JzZXJ2ZWQtYXR0cmlidXRl
cycsIHByb3h5KTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19leGFjdGx5KGVyciwgZnVuY3Rpb24g
KCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC10aHJvd2luZy1vYnNlcnZl
ZC1hdHRyaWJ1dGVzJywgcHJveHkpOyB9KTsKICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxz
LCBbJ3Byb3RvdHlwZScsICdvYnNlcnZlZEF0dHJpYnV0ZXMnXSwKICAgICAgICAgJ2N1c3RvbUVs
ZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIiBhbmQgIm9ic2VydmVkQXR0cmlidXRl
cyIgb24gdGhlIGNvbnN0cnVjdG9yJyk7CiB9LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3Qg
cmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGdldHRpbmcgb2JzZXJ2ZWRBdHRyaWJ1
dGVzIG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUnKTsKQEAgLTM2MCwyNiArMzY5LDI3IEBA
IHRlc3QoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtuYW1lXTsKICAg
ICAgICAgfQogICAgIH0pOwotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9
LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLWludmFs
aWQtb2JzZXJ2ZWQtYXR0cmlidXRlcycsIHByb3h5KTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50
LXdpdGgtaW52YWxpZC1vYnNlcnZlZC1hdHRyaWJ1dGVzJywgcHJveHkpOyB9KTsKICAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKGNhbGxzLCBbJ3Byb3RvdHlwZScsICdvYnNlcnZlZEF0dHJpYnV0ZXMn
XSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIiBh
bmQgIm9ic2VydmVkQXR0cmlidXRlcyIgb24gdGhlIGNvbnN0cnVjdG9yJyk7CiB9LCAnY3VzdG9t
RWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGNv
bnZlcnRpbmcgdGhlIHZhbHVlIG9mIG9ic2VydmVkQXR0cmlidXRlcyB0byBzZXF1ZW5jZTxET01T
dHJpbmc+Jyk7CiAKLXRlc3QoZnVuY3Rpb24gKCkgeworICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAg
ICB2YXIgZXJyID0ge25hbWU6ICdTb21lRXJyb3InfTsKICAgICB2YXIgY29uc3RydWN0b3IgPSBm
dW5jdGlvbiAoKSB7fQogICAgIGNvbnN0cnVjdG9yLnByb3RvdHlwZS5hdHRyaWJ1dGVDaGFuZ2Vk
Q2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgY29uc3RydWN0b3Iub2JzZXJ2ZWRBdHRy
aWJ1dGVzID0ge1tTeW1ib2wuaXRlcmF0b3JdOiBmdW5jdGlvbiAqKCkgewogICAgICAgICB5aWVs
ZCAnZm9vJzsKLSAgICAgICAgdGhyb3cge25hbWU6ICdTb21lRXJyb3InfTsKKyAgICAgICAgdGhy
b3cgZXJyOwogICAgIH19OwotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1NvbWVFcnJvcid9
LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLWdlbmVy
YXRvci1vYnNlcnZlZC1hdHRyaWJ1dGVzJywgY29uc3RydWN0b3IpOyB9KTsKKyAgICBhc3NlcnRf
dGhyb3dzX2V4YWN0bHkoZXJyLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgn
ZWxlbWVudC13aXRoLWdlbmVyYXRvci1vYnNlcnZlZC1hdHRyaWJ1dGVzJywgY29uc3RydWN0b3Ip
OyB9KTsKIH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlv
biB0aHJvd24gd2hpbGUgaXRlcmF0aW5nIG92ZXIgb2JzZXJ2ZWRBdHRyaWJ1dGVzIHRvIHNlcXVl
bmNlPERPTVN0cmluZz4nKTsKIAogdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgdmFyIGNvbnN0cnVj
dG9yID0gZnVuY3Rpb24gKCkge30KICAgICBjb25zdHJ1Y3Rvci5wcm90b3R5cGUuYXR0cmlidXRl
Q2hhbmdlZENhbGxiYWNrID0gZnVuY3Rpb24gKCkgeyB9OwogICAgIGNvbnN0cnVjdG9yLm9ic2Vy
dmVkQXR0cmlidXRlcyA9IHtbU3ltYm9sLml0ZXJhdG9yXTogMX07Ci0gICAgYXNzZXJ0X3Rocm93
cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVm
aW5lKCdlbGVtZW50LXdpdGgtb2JzZXJ2ZWQtYXR0cmlidXRlcy13aXRoLXVuY2FsbGFibGUtaXRl
cmF0b3InLCBjb25zdHJ1Y3Rvcik7IH0pOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9y
LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLW9ic2Vy
dmVkLWF0dHJpYnV0ZXMtd2l0aC11bmNhbGxhYmxlLWl0ZXJhdG9yJywgY29uc3RydWN0b3IpOyB9
KTsKIH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0
aHJvd24gd2hpbGUgcmV0cmlldmluZyBTeW1ib2wuaXRlcmF0b3Igb24gb2JzZXJ2ZWRBdHRyaWJ1
dGVzJyk7CiAKIHRlc3QoZnVuY3Rpb24gKCkgewpAQCAtMzg4LDYgKzM5OCwxNTMgQEAgdGVzdChm
dW5jdGlvbiAoKSB7CiAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGhvdXQt
Y2FsbGJhY2std2l0aC1pbnZhbGlkLW9ic2VydmVkLWF0dHJpYnV0ZXMnLCBjb25zdHJ1Y3Rvcik7
CiB9LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3Qgbm90IHRocm93IGV2ZW4gaWYgIm9ic2Vy
dmVkQXR0cmlidXRlcyIgZmFpbHMgdG8gY29udmVydCBpZiAiYXR0cmlidXRlQ2hhbmdlZENhbGxi
YWNrIiBpcyBub3QgZGVmaW5lZCcpOwogCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY29u
c3RydWN0b3IgPSBmdW5jdGlvbiAoKSB7fQorICAgIHZhciBjYWxscyA9IFtdOworICAgIHZhciBl
cnIgPSB7bmFtZTogJ2V4cGVjdGVkRXJyb3InfQorICAgIHZhciBwcm94eSA9IG5ldyBQcm94eShj
b25zdHJ1Y3RvciwgeworICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKKyAg
ICAgICAgICAgIGNhbGxzLnB1c2gobmFtZSk7CisgICAgICAgICAgICBpZiAobmFtZSA9PSAnZGlz
YWJsZWRGZWF0dXJlcycpCisgICAgICAgICAgICAgICAgdGhyb3cgZXJyOworICAgICAgICAgICAg
cmV0dXJuIHRhcmdldFtuYW1lXTsKKyAgICAgICAgfQorICAgIH0pOworICAgIGFzc2VydF90aHJv
d3NfZXhhY3RseShlcnIsICgpID0+IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRo
LXRocm93aW5nLWRpc2FibGVkLWZlYXR1cmVzJywgcHJveHkpKTsKKyAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKGNhbGxzLCBbJ3Byb3RvdHlwZScsICdkaXNhYmxlZEZlYXR1cmVzJ10sCisgICAgICAg
ICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgInByb3RvdHlwZSIgYW5kICJkaXNhYmxl
ZEZlYXR1cmVzIiBvbiB0aGUgY29uc3RydWN0b3InKTsKK30sICdjdXN0b21FbGVtZW50cy5kZWZp
bmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGluZyBkaXNhYmxl
ZEZlYXR1cmVzIG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUnKTsKKwordGVzdChmdW5jdGlv
biAoKSB7CisgICAgdmFyIGNvbnN0cnVjdG9yID0gZnVuY3Rpb24gKCkge30KKyAgICB2YXIgY2Fs
bHMgPSBbXTsKKyAgICB2YXIgcHJveHkgPSBuZXcgUHJveHkoY29uc3RydWN0b3IsIHsKKyAgICAg
ICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7CisgICAgICAgICAgICBjYWxscy5wdXNo
KG5hbWUpOworICAgICAgICAgICAgaWYgKG5hbWUgPT0gJ2Rpc2FibGVkRmVhdHVyZXMnKQorICAg
ICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtuYW1lXTsK
KyAgICAgICAgfQorICAgIH0pOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9
PiBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1pbnZhbGlkLWRpc2FibGVkLWZl
YXR1cmVzJywgcHJveHkpKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxzLCBbJ3Byb3Rv
dHlwZScsICdkaXNhYmxlZEZlYXR1cmVzJ10sCisgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZp
bmUgbXVzdCBnZXQgInByb3RvdHlwZSIgYW5kICJkaXNhYmxlZEZlYXR1cmVzIiBvbiB0aGUgY29u
c3RydWN0b3InKTsKK30sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4
Y2VwdGlvbiB0aHJvd24gd2hpbGUgY29udmVydGluZyB0aGUgdmFsdWUgb2YgZGlzYWJsZWRGZWF0
dXJlcyB0byBzZXF1ZW5jZTxET01TdHJpbmc+Jyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAg
IHZhciBjb25zdHJ1Y3RvciA9IGZ1bmN0aW9uICgpIHt9CisgICAgdmFyIGVyciA9IHtuYW1lOiAn
U29tZUVycm9yJ307CisgICAgY29uc3RydWN0b3IuZGlzYWJsZWRGZWF0dXJlcyA9IHtbU3ltYm9s
Lml0ZXJhdG9yXTogZnVuY3Rpb24gKigpIHsKKyAgICAgICAgeWllbGQgJ2Zvbyc7CisgICAgICAg
IHRocm93IGVycjsKKyAgICB9fTsKKyAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJyLCAoKSA9
PiBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1nZW5lcmF0b3ItZGlzYWJsZWQt
ZmVhdHVyZXMnLCBjb25zdHJ1Y3RvcikpOworfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0
IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBpdGVyYXRpbmcgb3ZlciBkaXNhYmxl
ZEZlYXR1cmVzIHRvIHNlcXVlbmNlPERPTVN0cmluZz4nKTsKKwordGVzdChmdW5jdGlvbiAoKSB7
CisgICAgdmFyIGNvbnN0cnVjdG9yID0gZnVuY3Rpb24gKCkge30KKyAgICBjb25zdHJ1Y3Rvci5k
aXNhYmxlZEZlYXR1cmVzID0ge1tTeW1ib2wuaXRlcmF0b3JdOiAxfTsKKyAgICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdp
dGgtZGlzYWJsZWQtZmVhdHVyZXMtd2l0aC11bmNhbGxhYmxlLWl0ZXJhdG9yJywgY29uc3RydWN0
b3IpKTsKK30sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlv
biB0aHJvd24gd2hpbGUgcmV0cmlldmluZyBTeW1ib2wuaXRlcmF0b3Igb24gZGlzYWJsZWRGZWF0
dXJlcycpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY29uc3RydWN0b3IgPSBmdW5j
dGlvbiAoKSB7fQorICAgIHZhciBjYWxscyA9IFtdOworICAgIHZhciBlcnIgPSB7bmFtZTogJ2V4
cGVjdGVkRXJyb3InfTsKKyAgICB2YXIgcHJveHkgPSBuZXcgUHJveHkoY29uc3RydWN0b3IsIHsK
KyAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7CisgICAgICAgICAgICBjYWxs
cy5wdXNoKG5hbWUpOworICAgICAgICAgICAgaWYgKG5hbWUgPT0gJ2Zvcm1Bc3NvY2lhdGVkJykK
KyAgICAgICAgICAgICAgICB0aHJvdyBlcnI7CisgICAgICAgICAgICByZXR1cm4gdGFyZ2V0W25h
bWVdOworICAgICAgICB9CisgICAgfSk7CisgICAgYXNzZXJ0X3Rocm93c19leGFjdGx5KGVyciwK
KyAgICAgICAgKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtdGhyb3dp
bmctZm9ybS1hc3NvY2lhdGVkJywgcHJveHkpKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNh
bGxzLCBbJ3Byb3RvdHlwZScsICdkaXNhYmxlZEZlYXR1cmVzJywgJ2Zvcm1Bc3NvY2lhdGVkJ10s
CisgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgInByb3RvdHlwZSIsICJk
aXNhYmxlZEZlYXR1cmVzIiwgYW5kICcgKworICAgICAgICAnImZvcm1Bc3NvY2lhdGVkIiBvbiB0
aGUgY29uc3RydWN0b3InKTsKK30sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93
IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGluZyAnICsKKyAgICdmb3JtQXNzb2NpYXRl
ZCBvbiB0aGUgY29uc3RydWN0b3IgcHJvdG90eXBlJyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgewor
ICAgIHZhciBjb25zdHJ1Y3RvciA9IGZ1bmN0aW9uICgpIHt9CisgICAgdmFyIHByb3RvdHlwZUNh
bGxzID0gW107CisgICAgY29uc3RydWN0b3IucHJvdG90eXBlID0gbmV3IFByb3h5KGNvbnN0cnVj
dG9yLnByb3RvdHlwZSwgeworICAgICAgICBnZXQ6IGZ1bmN0aW9uKHRhcmdldCwgbmFtZSkgewor
ICAgICAgICAgICAgcHJvdG90eXBlQ2FsbHMucHVzaChuYW1lKQorICAgICAgICAgICAgcmV0dXJu
IHRhcmdldFtuYW1lXTsKKyAgICAgICAgfQorICAgIH0pOworICAgIHZhciBjb25zdHJ1Y3RvckNh
bGxzID0gW107CisgICAgdmFyIHByb3h5ID0gbmV3IFByb3h5KGNvbnN0cnVjdG9yLCB7CisgICAg
ICAgIGdldDogZnVuY3Rpb24gKHRhcmdldCwgbmFtZSkgeworICAgICAgICAgICAgY29uc3RydWN0
b3JDYWxscy5wdXNoKG5hbWUpOworICAgICAgICAgICAgaWYgKG5hbWUgPT0gJ2Zvcm1Bc3NvY2lh
dGVkJykKKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgICAgIHJldHVybiB0YXJn
ZXRbbmFtZV07CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUo
J2VsZW1lbnQtd2l0aC1mb3JtLWFzc29jaWF0ZWQtdHJ1ZScsIHByb3h5KTsKKyAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKGNvbnN0cnVjdG9yQ2FsbHMsCisgICAgICAgIFsncHJvdG90eXBlJywgJ2Rp
c2FibGVkRmVhdHVyZXMnLCAnZm9ybUFzc29jaWF0ZWQnXSwKKyAgICAgICAgJ2N1c3RvbUVsZW1l
bnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIiwgImRpc2FibGVkRmVhdHVyZXMiLCBhbmQg
JyArCisgICAgICAgICciZm9ybUFzc29jaWF0ZWQiIG9uIHRoZSBjb25zdHJ1Y3RvcicpOworICAg
IGFzc2VydF9hcnJheV9lcXVhbHMoCisgICAgICAgIHByb3RvdHlwZUNhbGxzLAorICAgICAgICBb
J2Nvbm5lY3RlZENhbGxiYWNrJywgJ2Rpc2Nvbm5lY3RlZENhbGxiYWNrJywgJ2Fkb3B0ZWRDYWxs
YmFjaycsCisgICAgICAgICAnYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrJywgJ2Zvcm1Bc3NvY2lh
dGVkQ2FsbGJhY2snLAorICAgICAgICAgJ2Zvcm1SZXNldENhbGxiYWNrJywgJ2Zvcm1EaXNhYmxl
ZENhbGxiYWNrJywKKyAgICAgICAgICdmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2snXSwKKyAgICAg
ICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCA4IGNhbGxiYWNrcyBvbiB0aGUgcHJv
dG90eXBlJyk7Cit9LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0IGZvdXIgYWRkaXRp
b25hbCBjYWxsYmFja3Mgb24gdGhlIHByb3RvdHlwZScgKworICAgJyBpZiBmb3JtQXNzb2NpYXRl
ZCBpcyBjb252ZXJ0ZWQgdG8gdHJ1ZScpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIg
Y29uc3RydWN0b3IgPSBmdW5jdGlvbigpIHt9OworICAgIHZhciBwcm94eSA9IG5ldyBQcm94eShj
b25zdHJ1Y3RvciwgeworICAgICAgICBnZXQ6IGZ1bmN0aW9uKHRhcmdldCwgbmFtZSkgeworICAg
ICAgICAgICAgaWYgKG5hbWUgPT0gJ2Zvcm1Bc3NvY2lhdGVkJykKKyAgICAgICAgICAgICAgICBy
ZXR1cm4ge307ICAvLyBBbnkgb2JqZWN0IGlzIGNvbnZlcnRlZCB0byAndHJ1ZScuCisgICAgICAg
ICAgICByZXR1cm4gdGFyZ2V0W25hbWVdOworICAgICAgICB9CisgICAgfSk7CisgICAgdmFyIGNh
bGxzID0gW107CisgICAgdmFyIGVyciA9IHtuYW1lOiAnZXhwZWN0ZWRFcnJvcid9OworICAgIGNv
bnN0cnVjdG9yLnByb3RvdHlwZSA9IG5ldyBQcm94eShjb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHsK
KyAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7CisgICAgICAgICAgICBjYWxs
cy5wdXNoKG5hbWUpOworICAgICAgICAgICAgaWYgKG5hbWUgPT0gJ2Zvcm1EaXNhYmxlZENhbGxi
YWNrJykKKyAgICAgICAgICAgICAgICB0aHJvdyBlcnI7CisgICAgICAgICAgICByZXR1cm4gdGFy
Z2V0W25hbWVdOworICAgICAgICB9CisgICAgfSk7CisgICAgYXNzZXJ0X3Rocm93c19leGFjdGx5
KGVyciwKKyAgICAgICAgKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgt
dGhyb3dpbmctY2FsbGJhY2stMicsIHByb3h5KSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhj
YWxscywgWydjb25uZWN0ZWRDYWxsYmFjaycsICdkaXNjb25uZWN0ZWRDYWxsYmFjaycsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG9wdGVkQ2FsbGJhY2snLCAnYXR0cmlidXRl
Q2hhbmdlZENhbGxiYWNrJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1B
c3NvY2lhdGVkQ2FsbGJhY2snLCAnZm9ybVJlc2V0Q2FsbGJhY2snLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnZm9ybURpc2FibGVkQ2FsbGJhY2snXSwKKyAgICAgICAgJ2N1c3Rv
bUVsZW1lbnRzLmRlZmluZSBtdXN0IG5vdCBnZXQgY2FsbGJhY2tzIGFmdGVyIG9uZSBvZiB0aGUg
Z2V0IHRocm93cycpOworCisgICAgdmFyIGNhbGxzMiA9IFtdOworICAgIGNvbnN0cnVjdG9yLnBy
b3RvdHlwZSA9IG5ldyBQcm94eShjb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHsKKyAgICAgICAgZ2V0
OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7CisgICAgICAgICAgICBjYWxsczIucHVzaChuYW1l
KTsKKyAgICAgICAgICAgIGlmIChuYW1lID09ICdmb3JtUmVzZXRDYWxsYmFjaycpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIDQzOyAgLy8gQ2FuJ3QgY29udmVydCB0byBhIEZ1bmN0aW9uLgorICAg
ICAgICAgICAgcmV0dXJuIHRhcmdldFtuYW1lXTsKKyAgICAgICAgfQorICAgIH0pOworICAgIGFz
c2VydF90aHJvd3NfanMoVHlwZUVycm9yLAorICAgICAgICAoKSA9PiBjdXN0b21FbGVtZW50cy5k
ZWZpbmUoJ2VsZW1lbnQtd2l0aC10aHJvd2luZy1jYWxsYmFjay0zJywgcHJveHkpKTsKKyAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxzMiwgWydjb25uZWN0ZWRDYWxsYmFjaycsICdkaXNjb25u
ZWN0ZWRDYWxsYmFjaycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRvcHRl
ZENhbGxiYWNrJywgJ2F0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaycsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnZm9ybUFzc29jaWF0ZWRDYWxsYmFjaycsICdmb3JtUmVzZXRDYWxs
YmFjayddLAorICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3Qgbm90IGdldCBjYWxs
YmFja3MgYWZ0ZXIgb25lIG9mIHRoZSBnZXQgdGhyb3dzJyk7Cit9LCAnY3VzdG9tRWxlbWVudHMu
ZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGdldHRpbmcgJyAr
CisgICAnYWRkaXRpb25hbCBmb3JtQXNzb2NpYXRlZCBjYWxsYmFja3Mgb24gdGhlIGNvbnN0cnVj
dG9yIHByb3RvdHlwZScpOworCiB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICBjbGFzcyBNeUN1c3Rv
bUVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7fTsKICAgICBjdXN0b21FbGVtZW50cy5kZWZp
bmUoJ215LWN1c3RvbS1lbGVtZW50JywgTXlDdXN0b21FbGVtZW50KTsKQEAgLTQ4MSw3ICs2Mzgs
NyBAQCBwcm9taXNlX3Rlc3QoZnVuY3Rpb24gKCkgewogICAgIHJldHVybiBQcm9taXNlLnJlc29s
dmUoKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgYXNzZXJ0X2ZhbHNlKHJlc29sdmVkLCAn
VGhlIHByb21pc2UgcmV0dXJuZWQgYnkgIndoZW5EZWZpbmVkIiBtdXN0IG5vdCBiZSByZXNvbHZl
ZCB1bnRpbCBhIGN1c3RvbSBlbGVtZW50IGlzIGRlZmluZWQnKTsKICAgICAgICAgYXNzZXJ0X2Zh
bHNlKHJlamVjdGVkLCAnVGhlIHByb21pc2UgcmV0dXJuZWQgYnkgIndoZW5EZWZpbmVkIiBtdXN0
IG5vdCBiZSByZWplY3RlZCB1bnRpbCBhIGN1c3RvbSBlbGVtZW50IGlzIGRlZmluZWQnKTsKLSAg
ICB9KTsgICAgCisgICAgfSk7CiB9LCAnY3VzdG9tRWxlbWVudHMud2hlbkRlZmluZWQgbXVzdCBy
ZXR1cm4gYW4gdW5yZXNvbHZlZCBwcm9taXNlIHdoZW4gdGhlIHJlZ2lzdHJ5IGRvZXMgbm90IGNv
bnRhaW4gdGhlIGVudHJ5IHdpdGggdGhlIGdpdmVuIG5hbWUnKQogCiBwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24gKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC5odG1sCmluZGV4IDgxNzNjNzYxMzg4NmFhZjNiMjg5
MjcxMDI1ZGRmOGQ3ZjFkMTI1NzkuLjY0YjZmMjViNWU3YmM0ODlmNzRkY2VmZThjOGM2YmRjNWY2
Nzk2YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50Lmh0bWwKQEAgLTM1MCw3ICszNTAsNyBAQCB0ZXN0KGZ1
bmN0aW9uICgpIHsKICAgICB9OwogICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGhyb3ctY3Vz
dG9tLWVsZW1lbnQnLCBUaHJvd0N1c3RvbUVsZW1lbnQpOwogCi0gICAgYXNzZXJ0X3Rocm93cyhl
eGNlcHRpb25Ub1Rocm93LCBmdW5jdGlvbiAoKSB7IG5ldyBUaHJvd0N1c3RvbUVsZW1lbnQ7IH0p
OworICAgIGFzc2VydF90aHJvd3NfZXhhY3RseShleGNlcHRpb25Ub1Rocm93LCBmdW5jdGlvbiAo
KSB7IG5ldyBUaHJvd0N1c3RvbUVsZW1lbnQ7IH0pOwogICAgIHZhciBpbnN0YW5jZTsKICAgICBh
c3NlcnRfcmVwb3J0cyhleGNlcHRpb25Ub1Rocm93LCBmdW5jdGlvbiAoKSB7IGluc3RhbmNlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGhyb3ctY3VzdG9tLWVsZW1lbnQnKTsgfSk7CiAgICAg
YXNzZXJ0X2VxdWFscyhpbnN0YW5jZS5sb2NhbE5hbWUsICd0aHJvdy1jdXN0b20tZWxlbWVudCcp
OwpAQCAtMzc1LDcgKzM3NSw3IEBAIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIH07CiAgICAgY3Vz
dG9tRWxlbWVudHMuZGVmaW5lKCd0aHJvdy1jdXN0b20tYnVpbHRpbi1lbGVtZW50JywgVGhyb3dD
dXN0b21CdWlsdGluRWxlbWVudCwgeyBleHRlbmRzOiAnZGl2JyB9KTsKIAotICAgIGFzc2VydF90
aHJvd3MoZXhjZXB0aW9uVG9UaHJvdywgZnVuY3Rpb24gKCkgeyBuZXcgVGhyb3dDdXN0b21CdWls
dGluRWxlbWVudDsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19leGFjdGx5KGV4Y2VwdGlvblRvVGhy
b3csIGZ1bmN0aW9uICgpIHsgbmV3IFRocm93Q3VzdG9tQnVpbHRpbkVsZW1lbnQ7IH0pOwogICAg
IHZhciBpbnN0YW5jZTsKICAgICBhc3NlcnRfcmVwb3J0cyhleGNlcHRpb25Ub1Rocm93LCBmdW5j
dGlvbiAoKSB7IGluc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JywgeyBpczog
J3Rocm93LWN1c3RvbS1idWlsdGluLWVsZW1lbnQnIH0pOyB9KTsKICAgICBhc3NlcnRfZXF1YWxz
KGluc3RhbmNlLmxvY2FsTmFtZSwgJ2RpdicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQt
YXR0YWNoSW50ZXJuYWxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0hUTUxFbGVtZW50LWF0dGFjaEludGVy
bmFscy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTE1MTZlZGY0ZDEyMTU1Yjk0NjQ5YTQ3YjBl
MjBkODU3YjM5MGIyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0hUTUxFbGVtZW50LWF0dGFjaElu
dGVybmFscy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKK0ZBSUwgU3VjY2Vzc2Z1bCBh
dHRhY2hJbnRlcm5hbHMoKSBhbmQgdGhlIHNlY29uZCBjYWxsLiBlbGVtZW50LmF0dGFjaEludGVy
bmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlbGVtZW50LmF0dGFjaEludGVybmFscygpJywg
J2VsZW1lbnQuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitGQUlMIGF0dGFjaEludGVy
bmFscygpIHRocm93cyBhIE5vdFN1cHBvcnRlZEVycm9yIGlmIGl0IGlzIGNhbGxlZCBmb3IgYSBj
dXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCitGQUlMIElmIGEgY3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbiBmb3IgdGhlIGxvY2Fs
IG5hbWUgb2YgdGhlIGVsZW1lbnQgZG9lc24ndCBleGlzdCwgdGhyb3cgYW4gTm90U3VwcG9ydGVk
RXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiB7IGJ1aWx0aW4uYXR0YWNo
SW50ZXJuYWxzKCkgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGJ1aWx0aW4uYXR0YWNoSW50
ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2J1aWx0aW4uYXR0YWNoSW50ZXJuYWxzKCkn
LCAnYnVpbHRpbi5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEg
RE9NRXhjZXB0aW9uIE5vdFN1cHBvcnRlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwg
dG8gdW5kZWZpbmVkLCBleHBlY3RlZCA5CitGQUlMIElmIGEgY3VzdG9tIGVsZW1lbnQgZGVmaW5p
dGlvbiBmb3IgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQgaGFzIGRpc2FibGUgaW50ZXJu
YWxzIGZsYWcsIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1
bmN0aW9uICIoKSA9PiB7CisgICAgKG5ldyBNeUVsZW1lbnQyKS5hdHRhY2hJbnRlcm5hbHMoKTsK
KyAgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IChuZXcgTXlFbGVtZW50MikuYXR0YWNoSW50
ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJyhuZXcgTXlFbGVtZW50MikuYXR0YWNoSW50
ZXJuYWxzKCknLCAnKG5ldyBNeUVsZW1lbnQyKS5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5l
ZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdFN1cHBvcnRlZEVycm9yOiBwcm9wZXJ0
eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCA5CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL0hUTUxFbGVtZW50LWF0dGFjaEludGVybmFscy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtYXR0
YWNoSW50ZXJuYWxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNlYTU1YTY3ZTA4Y2UxYzMwODY3NzVmMGRm
ODlmNDY0ZTUwNWUwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0hUTUxFbGVtZW50LWF0dGFjaElu
dGVybmFscy5odG1sCkBAIC0wLDAgKzEsODIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8bGluayBy
ZWw9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2N1c3RvbS1lbGVtZW50cy5odG1sI2RvbS1hdHRhY2hpbnRlcm5hbHMiPgorPGRpdiBpZD0iY29u
dGFpbmVyIj48L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0KCgpID0+IHsKKyAgY2xhc3MgTXlFbGVtZW50
MSBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgfQorICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ215
LWVsZW1lbnQxJywgTXlFbGVtZW50MSk7CisgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJyNjb250YWluZXInKTsKKworICBsZXQgZWxlbWVudCA9IG5ldyBNeUVsZW1l
bnQxKCk7CisgIGFzc2VydF90cnVlKGVsZW1lbnQuYXR0YWNoSW50ZXJuYWxzKCkgaW5zdGFuY2Vv
ZiBFbGVtZW50SW50ZXJuYWxzLAorICAgICAgICAgICAgICAnTmV3IC0gMXN0IGNhbGwnKTsKKyAg
YXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4geyBlbGVtZW50LmF0
dGFjaEludGVybmFscygpOyB9LAorICAgICAgICAgICAgICAgICAgICAnTmV3IC0gMm5kIGNhbGwn
KTsKKworICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbXktZWxlbWVudDEnKTsK
KyAgYXNzZXJ0X3RydWUoZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMoKSBpbnN0YW5jZW9mIEVsZW1l
bnRJbnRlcm5hbHMsCisgICAgICAgICAgICAgICdjcmVhdGVFbGVtZW50IC0gMXN0IGNhbGwnKTsK
KyAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4geyBlbGVtZW50
LmF0dGFjaEludGVybmFscygpOyB9LAorICAgICAgICAgICAgICAgICAgICAnY3JlYXRlRWxlbWVu
dCAtIDJuZCBjYWxsJyk7CisKKyAgY29udGFpbmVyLmlubmVySFRNTCA9ICc8bXktZWxlbWVudDE+
PC9teS1lbGVtZW50MT4nOworICBhc3NlcnRfdHJ1ZShjb250YWluZXIuZmlyc3RDaGlsZC5hdHRh
Y2hJbnRlcm5hbHMoKSBpbnN0YW5jZW9mIEVsZW1lbnRJbnRlcm5hbHMsCisgICAgICAgICAgICAg
ICdQYXJzZXIgLSAxc3QgY2FsbCcpOworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVk
RXJyb3InLCAoKSA9PiB7CisgICAgY29udGFpbmVyLmZpcnN0Q2hpbGQuYXR0YWNoSW50ZXJuYWxz
KCk7CisgIH0sICdQYXJzZXIgLSAybmQgY2FsbCcpOworfSwgJ1N1Y2Nlc3NmdWwgYXR0YWNoSW50
ZXJuYWxzKCkgYW5kIHRoZSBzZWNvbmQgY2FsbC4nKTsKKwordGVzdCgoKSA9PiB7CisgIGNsYXNz
IE15RGl2IGV4dGVuZHMgSFRNTERpdkVsZW1lbnQge30KKyAgY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCdteS1kaXYnLCBNeURpdiwgeyBleHRlbmRzOiAnZGl2JyB9KTsKKyAgY29uc3QgY3VzdG9taXpl
ZEJ1aWx0aW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnLCB7IGlzOiAnbXktZGl2J30p
OworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiB7IGN1c3Rv
bWl6ZWRCdWlsdGluLmF0dGFjaEludGVybmFscygpIH0pOworfSwgJ2F0dGFjaEludGVybmFscygp
IHRocm93cyBhIE5vdFN1cHBvcnRlZEVycm9yIGlmIGl0IGlzIGNhbGxlZCBmb3IgJyArCisgICAg
ICdhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudCcpOworCit0ZXN0KCgpID0+IHsKKyAgY29u
c3QgYnVpbHRpbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICBhc3NlcnRfdGhy
b3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiB7IGJ1aWx0aW4uYXR0YWNoSW50ZXJu
YWxzKCkgfSk7CisKKyAgY29uc3QgZG9jID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRl
RG9jdW1lbnQoJ2ZvbycsIG51bGwpOworICBjb25zdCBzcGFuID0gZG9jLmFwcGVuZENoaWxkKGRv
Yy5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnaHRtbDpz
cGFuJykpOworICBhc3NlcnRfdHJ1ZShzcGFuIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpOworICBh
c3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiB7IHNwYW4uYXR0YWNo
SW50ZXJuYWxzKCk7IH0pOworCisgIGNvbnN0IHVuZGVmaW5lZEN1c3RvbSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3VuZGVmaW5lZC1lbGVtZW50Jyk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdO
b3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IHsgdW5kZWZpbmVkQ3VzdG9tLmF0dGFjaEludGVybmFs
cygpIH0pOworfSwgJ0lmIGEgY3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbiBmb3IgdGhlIGxvY2Fs
IG5hbWUgb2YgdGhlIGVsZW1lbnQgZG9lc25cJ3QnICsKKyAgICAgJyBleGlzdCwgdGhyb3cgYW4g
Tm90U3VwcG9ydGVkRXJyb3InKTsKKwordGVzdCgoKSA9PiB7CisgIGNsYXNzIE15RWxlbWVudDIg
ZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgc3RhdGljIGdldCBkaXNhYmxlZEZlYXR1cmVzKCkg
eyByZXR1cm4gWydpbnRlcm5hbHMnXTsgfQorICB9CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgn
bXktZWxlbWVudDInLCBNeUVsZW1lbnQyKTsKKyAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignI2NvbnRhaW5lcicpOworCisgIGFzc2VydF90aHJvd3NfZG9tKCdOb3RT
dXBwb3J0ZWRFcnJvcicsICgpID0+IHsKKyAgICAobmV3IE15RWxlbWVudDIpLmF0dGFjaEludGVy
bmFscygpOworICB9KTsKKyAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywg
KCkgPT4geworICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ215LWVsZW1lbnQyJykuYXR0YWNo
SW50ZXJuYWxzKCk7CisgIH0pOworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJy
b3InLCAoKSA9PiB7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICc8bXktZWxlbWVudDI+PC9t
eS1lbGVtZW50Mj4nOworICAgIGNvbnRhaW5lci5maXJzdENoaWxkLmF0dGFjaEludGVybmFscygp
OworICB9KTsKKworICBjbGFzcyBNeUVsZW1lbnQzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAg
IHN0YXRpYyBnZXQgZGlzYWJsZWRGZWF0dXJlcygpIHsgcmV0dXJuIFsnSU5URVJOQUxTJ107IH0K
KyAgfQorICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ215LWVsZW1lbnQzJywgTXlFbGVtZW50Myk7
CisgIGFzc2VydF90cnVlKChuZXcgTXlFbGVtZW50MykuYXR0YWNoSW50ZXJuYWxzKCkgaW5zdGFu
Y2VvZiBFbGVtZW50SW50ZXJuYWxzKTsKK30sICdJZiBhIGN1c3RvbSBlbGVtZW50IGRlZmluaXRp
b24gZm9yIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50IGhhcyAnICsKKyAgICAgJ2Rpc2Fi
bGUgaW50ZXJuYWxzIGZsYWcsIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3InKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CmluZGV4IDE0
ZTU1MGU4NDg3YmI0ZTY5YTJhNzU1ZTgyZWY3Y2YwYTAxNWE3MGYuLmFjNGVjNjM0NmM5ZjMzNWIy
NmIzMjYwNzY0Mzc2YzBkM2ZlMGUxZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0hUTUxFbGVtZW50LWNvbnN0
cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9IVE1MRWxlbWVudC1jb25zdHJ1Y3Rvci1leHBl
Y3RlZC50eHQKQEAgLTEwLDggKzEwLDggQEAgUEFTUyBIVE1MRWxlbWVudCBjb25zdHJ1Y3RvciBt
dXN0IGFsbG93IHN1YmNsYXNzaW5nIGFuIHVzZXItZGVmaW5lZCBzdWJjbGFzcyBvZgogUEFTUyBI
VE1MRWxlbWVudCBjb25zdHJ1Y3RvciBtdXN0IG9ubHkgZ2V0IC5wcm90b3R5cGUgb25jZSwgY2Fs
bGluZyBwcm94eSBjb25zdHJ1Y3RvciBkaXJlY3RseSAKIFBBU1MgSFRNTEVsZW1lbnQgY29uc3Ry
dWN0b3IgbXVzdCBvbmx5IGdldCAucHJvdG90eXBlIG9uY2UsIGNhbGxpbmcgcHJveHkgY29uc3Ry
dWN0b3IgdmlhIFJlZmxlY3QgCiBQQVNTIEhUTUxFbGVtZW50IGNvbnN0cnVjdG9yIG11c3Qgb25s
eSBnZXQgLnByb3RvdHlwZSBvbmNlLCBjYWxsaW5nIHByb3h5IGNvbnN0cnVjdG9yIHZpYSBSZWZs
ZWN0IHdpdGggbm8gaW5oZXJpdGFuY2UgCi1GQUlMIEhUTUxFbGVtZW50IGNvbnN0cnVjdG9yIG11
c3Qgbm90IGdldCAucHJvdG90eXBlIHVudGlsIGl0IGZpbmlzaGVzIGl0cyBleHRlbmRzIHNhbml0
eSBjaGVja3MsIGNhbGxpbmcgcHJveHkgY29uc3RydWN0b3IgZGlyZWN0bHkgYXNzZXJ0X3Rocm93
czogU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBhbiBIVE1MRWxlbWVudCBuYW1lZCAn
YnV0dG9uJyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgY291bnRpbmdQcm94eSgpIH0iIGRp
ZCBub3QgdGhyb3cKLUZBSUwgSFRNTEVsZW1lbnQgY29uc3RydWN0b3IgbXVzdCBub3QgZ2V0IC5w
cm90b3R5cGUgdW50aWwgaXQgZmluaXNoZXMgaXRzIGV4dGVuZHMgc2FuaXR5IGNoZWNrcywgY2Fs
bGluZyB2aWEgUmVmbGVjdCBhc3NlcnRfdGhyb3dzOiBTaG91bGQgbm90IGJlIGFibGUgdG8gY29u
c3RydWN0IGFuIEhUTUxFbGVtZW50IG5hbWVkICdidXR0b24nIGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7IFJlZmxlY3QuY29uc3RydWN0KEhUTUxFbGVtZW50LCBbXSwgY291bnRpbmdQcm94eSkgfSIg
ZGlkIG5vdCB0aHJvdworRkFJTCBIVE1MRWxlbWVudCBjb25zdHJ1Y3RvciBtdXN0IG5vdCBnZXQg
LnByb3RvdHlwZSB1bnRpbCBpdCBmaW5pc2hlcyBpdHMgZXh0ZW5kcyBzYW5pdHkgY2hlY2tzLCBj
YWxsaW5nIHByb3h5IGNvbnN0cnVjdG9yIGRpcmVjdGx5IGFzc2VydF90aHJvd3NfanM6IFNob3Vs
ZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1Y3QgYW4gSFRNTEVsZW1lbnQgbmFtZWQgJ2J1dHRvbicg
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgbmV3IGNvdW50aW5nUHJveHkoKSB9IiBkaWQgbm90IHRo
cm93CitGQUlMIEhUTUxFbGVtZW50IGNvbnN0cnVjdG9yIG11c3Qgbm90IGdldCAucHJvdG90eXBl
IHVudGlsIGl0IGZpbmlzaGVzIGl0cyBleHRlbmRzIHNhbml0eSBjaGVja3MsIGNhbGxpbmcgdmlh
IFJlZmxlY3QgYXNzZXJ0X3Rocm93c19qczogU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVj
dCBhbiBIVE1MRWxlbWVudCBuYW1lZCAnYnV0dG9uJyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBS
ZWZsZWN0LmNvbnN0cnVjdChIVE1MRWxlbWVudCwgW10sIGNvdW50aW5nUHJveHkpIH0iIGRpZCBu
b3QgdGhyb3cKIFBBU1MgSFRNTEVsZW1lbnQgY29uc3RydWN0b3IgbXVzdCBub3QgZ2V0IC5wcm90
b3R5cGUgdW50aWwgaXQgZmluaXNoZXMgaXRzIHJlZ2lzdHJhdGlvbiBzYW5pdHkgY2hlY2tzLCBj
YWxsaW5nIHByb3h5IGNvbnN0cnVjdG9yIGRpcmVjdGx5IAogUEFTUyBIVE1MRWxlbWVudCBjb25z
dHJ1Y3RvciBtdXN0IG5vdCBnZXQgLnByb3RvdHlwZSB1bnRpbCBpdCBmaW5pc2hlcyBpdHMgcmVn
aXN0cmF0aW9uICBzYW5pdHkgY2hlY2tzLCBjYWxsaW5nIHZpYSBSZWZsZWN0IAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9IVE1MRWxlbWVudC1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtY29u
c3RydWN0b3IuaHRtbAppbmRleCBhMGJmYTkwOWJhZTFlOThmZWJhYTVlZjhlYjMxNzBjYTMwYjU4
YzEzLi5iNTJjODQxNDcwOTdhNjBmZjg3ZTVhYTcyMTRkMmIzNDVhNWNmODkxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9IVE1MRWxlbWVudC1jb25zdHJ1Y3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0hUTUxFbGVtZW50LWNv
bnN0cnVjdG9yLmh0bWwKQEAgLTE0LDI5ICsxNCwyOSBAQAogCiB0ZXN0KGZ1bmN0aW9uICgpIHsK
ICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2h0bWwtY3VzdG9tLWVsZW1lbnQnLCBIVE1MRWxl
bWVudCk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9u
ICgpIHsgbmV3IEhUTUxFbGVtZW50KCk7IH0pOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVy
cm9yLCBmdW5jdGlvbiAoKSB7IG5ldyBIVE1MRWxlbWVudCgpOyB9KTsKIH0sICdIVE1MRWxlbWVu
dCBjb25zdHJ1Y3RvciBtdXN0IHRocm93IGEgVHlwZUVycm9yIHdoZW4gTmV3VGFyZ2V0IGlzIGVx
dWFsIHRvIGl0c2VsZicpOwogCiB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICBjdXN0b21FbGVtZW50
cy5kZWZpbmUoJ2h0bWwtcHJveHktY3VzdG9tLWVsZW1lbnQnLCBuZXcgUHJveHkoSFRNTEVsZW1l
bnQsIHt9KSk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0
aW9uICgpIHsgbmV3IEhUTUxFbGVtZW50KCk7IH0pOworICAgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCBmdW5jdGlvbiAoKSB7IG5ldyBIVE1MRWxlbWVudCgpOyB9KTsKIH0sICdIVE1MRWxl
bWVudCBjb25zdHJ1Y3RvciBtdXN0IHRocm93IGEgVHlwZUVycm9yIHdoZW4gTmV3VGFyZ2V0IGlz
IGVxdWFsIHRvIGl0c2VsZiB2aWEgYSBQcm94eSBvYmplY3QnKTsKIAogdGVzdChmdW5jdGlvbiAo
KSB7CiAgICAgY2xhc3MgU29tZUN1c3RvbUVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7fTsK
LSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24gKCkgeyBu
ZXcgU29tZUN1c3RvbUVsZW1lbnQ7IH0pOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9y
LCBmdW5jdGlvbiAoKSB7IG5ldyBTb21lQ3VzdG9tRWxlbWVudDsgfSk7CiB9LCAnSFRNTEVsZW1l
bnQgY29uc3RydWN0b3IgbXVzdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBpdCBoYXMgbm90IGJlZW4g
ZGVmaW5lZCBieSBjdXN0b21FbGVtZW50cy5kZWZpbmUnKTsKIAogdGVzdChmdW5jdGlvbiAoKSB7
CiAgICAgY2xhc3MgU29tZUN1c3RvbUVsZW1lbnQgZXh0ZW5kcyBIVE1MUGFyYWdyYXBoRWxlbWVu
dCB7fTsKICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NvbWUtY3VzdG9tLWVsZW1lbnQnLCBT
b21lQ3VzdG9tRWxlbWVudCk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9y
J30sIGZ1bmN0aW9uICgpIHsgbmV3IFNvbWVDdXN0b21FbGVtZW50KCk7IH0pOworICAgIGFzc2Vy
dF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbiAoKSB7IG5ldyBTb21lQ3VzdG9tRWxlbWVu
dCgpOyB9KTsKIH0sICdDdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciBtdXN0IHRocm93IFR5cGVF
cnJvciB3aGVuIGl0IGRvZXMgbm90IGV4dGVuZCBIVE1MRWxlbWVudCcpOwogCiB0ZXN0KGZ1bmN0
aW9uICgpIHsKICAgICBjbGFzcyBTb21lQ3VzdG9tQnV0dG9uRWxlbWVudCBleHRlbmRzIEhUTUxC
dXR0b25FbGVtZW50IHt9OwogICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnc29tZS1jdXN0b20t
YnV0dG9uLWVsZW1lbnQnLCBTb21lQ3VzdG9tQnV0dG9uRWxlbWVudCwgeyBleHRlbmRzOiAicCIg
fSk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9uICgp
IHsgbmV3IFNvbWVDdXN0b21CdXR0b25FbGVtZW50KCk7IH0pOworICAgIGFzc2VydF90aHJvd3Nf
anMoVHlwZUVycm9yLCBmdW5jdGlvbiAoKSB7IG5ldyBTb21lQ3VzdG9tQnV0dG9uRWxlbWVudCgp
OyB9KTsKIH0sICdDdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciBtdXN0IHRocm93IFR5cGVFcnJv
ciB3aGVuIGl0IGRvZXMgbm90IGV4dGVuZCB0aGUgcHJvcGVyIGVsZW1lbnQgaW50ZXJmYWNlJyk7
CiAKIHRlc3QoZnVuY3Rpb24gKCkgewpAQCAtMTc4LDkgKzE3OCw5IEBAIHRlc3QoZnVuY3Rpb24o
KSB7CiAgICAgLy8gZGVmaW5lKCkgZ2V0cyB0aGUgcHJvdG90eXBlIG9mIHRoZSBjb25zdHJ1Y3Rv
ciBpdCdzIHBhc3NlZCwgc28KICAgICAvLyByZXNldCB0aGUgY291bnRlci4KICAgICBnZXRDb3Vu
dCA9IDA7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sCi0gICAgICAg
ICAgICAgICAgICBmdW5jdGlvbiAoKSB7IG5ldyBjb3VudGluZ1Byb3h5KCkgfSwKLSAgICAgICAg
ICAgICAgICAgICJTaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0IGFuIEhUTUxFbGVtZW50
IG5hbWVkICdidXR0b24nIik7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsCisgICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7IG5ldyBjb3VudGluZ1Byb3h5KCkgfSwKKyAg
ICAgICAgICAgICAgICAgICAgICJTaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0IGFuIEhU
TUxFbGVtZW50IG5hbWVkICdidXR0b24nIik7CiAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb3VudCwg
MCwgIlNob3VsZCBuZXZlciBoYXZlIGdvdHRlbiAucHJvdG90eXBlIik7CiB9LCAnSFRNTEVsZW1l
bnQgY29uc3RydWN0b3IgbXVzdCBub3QgZ2V0IC5wcm90b3R5cGUgdW50aWwgaXQgZmluaXNoZXMg
aXRzIGV4dGVuZHMgc2FuaXR5IGNoZWNrcywgY2FsbGluZyBwcm94eSBjb25zdHJ1Y3RvciBkaXJl
Y3RseScpOwogCkBAIC0yMDAsOSArMjAwLDkgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICAvLyBk
ZWZpbmUoKSBnZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIGNvbnN0cnVjdG9yIGl0J3MgcGFzc2Vk
LCBzbwogICAgIC8vIHJlc2V0IHRoZSBjb3VudGVyLgogICAgIGdldENvdW50ID0gMDsKLSAgICBh
c3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwKLSAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uICgpIHsgUmVmbGVjdC5jb25zdHJ1Y3QoSFRNTEVsZW1lbnQsIFtdLCBjb3VudGluZ1By
b3h5KSB9LAotICAgICAgICAgICAgICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1
Y3QgYW4gSFRNTEVsZW1lbnQgbmFtZWQgJ2J1dHRvbiciKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pz
KFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsgUmVmbGVjdC5j
b25zdHJ1Y3QoSFRNTEVsZW1lbnQsIFtdLCBjb3VudGluZ1Byb3h5KSB9LAorICAgICAgICAgICAg
ICAgICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1Y3QgYW4gSFRNTEVsZW1lbnQg
bmFtZWQgJ2J1dHRvbiciKTsKICAgICBhc3NlcnRfZXF1YWxzKGdldENvdW50LCAwLCAiU2hvdWxk
IG5ldmVyIGhhdmUgZ290dGVuIC5wcm90b3R5cGUiKTsKIH0sICdIVE1MRWxlbWVudCBjb25zdHJ1
Y3RvciBtdXN0IG5vdCBnZXQgLnByb3RvdHlwZSB1bnRpbCBpdCBmaW5pc2hlcyBpdHMgZXh0ZW5k
cyBzYW5pdHkgY2hlY2tzLCBjYWxsaW5nIHZpYSBSZWZsZWN0Jyk7CiAKQEAgLTIxOSw5ICsyMTks
OSBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIH0pOwogCiAgICAgLy8gUHVycG9zZWZ1bGx5IGRv
bid0IHJlZ2lzdGVyIGl0LgotICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9
LAotICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgeyBuZXcgY291bnRpbmdQcm94eSgpIH0s
Ci0gICAgICAgICAgICAgICAgICAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBhbiBI
VE1MRWxlbWVudCBuYW1lZCAnYnV0dG9uJyIpOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVy
cm9yLAorICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgeyBuZXcgY291bnRpbmdQcm94
eSgpIH0sCisgICAgICAgICAgICAgICAgICAgICAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0
cnVjdCBhbiBIVE1MRWxlbWVudCBuYW1lZCAnYnV0dG9uJyIpOwogICAgIGFzc2VydF9lcXVhbHMo
Z2V0Q291bnQsIDAsICJTaG91bGQgbmV2ZXIgaGF2ZSBnb3R0ZW4gLnByb3RvdHlwZSIpOwogfSwg
J0hUTUxFbGVtZW50IGNvbnN0cnVjdG9yIG11c3Qgbm90IGdldCAucHJvdG90eXBlIHVudGlsIGl0
IGZpbmlzaGVzIGl0cyByZWdpc3RyYXRpb24gc2FuaXR5IGNoZWNrcywgY2FsbGluZyBwcm94eSBj
b25zdHJ1Y3RvciBkaXJlY3RseScpOwogCkBAIC0yMzgsOSArMjM4LDkgQEAgdGVzdChmdW5jdGlv
bigpIHsKICAgICB9KTsKIAogICAgIC8vIFB1cnBvc2VmdWxseSBkb24ndCByZWdpc3RlciBpdC4K
LSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwKLSAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uICgpIHsgUmVmbGVjdC5jb25zdHJ1Y3QoSFRNTEVsZW1lbnQsIFtdLCBjb3Vu
dGluZ1Byb3h5KSB9LAotICAgICAgICAgICAgICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byBj
b25zdHJ1Y3QgYW4gSFRNTEVsZW1lbnQgbmFtZWQgJ2J1dHRvbiciKTsKKyAgICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsgUmVm
bGVjdC5jb25zdHJ1Y3QoSFRNTEVsZW1lbnQsIFtdLCBjb3VudGluZ1Byb3h5KSB9LAorICAgICAg
ICAgICAgICAgICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1Y3QgYW4gSFRNTEVs
ZW1lbnQgbmFtZWQgJ2J1dHRvbiciKTsKICAgICBhc3NlcnRfZXF1YWxzKGdldENvdW50LCAwLCAi
U2hvdWxkIG5ldmVyIGhhdmUgZ290dGVuIC5wcm90b3R5cGUiKTsKIH0sICdIVE1MRWxlbWVudCBj
b25zdHJ1Y3RvciBtdXN0IG5vdCBnZXQgLnByb3RvdHlwZSB1bnRpbCBpdCBmaW5pc2hlcyBpdHMg
cmVnaXN0cmF0aW9uICBzYW5pdHkgY2hlY2tzLCBjYWxsaW5nIHZpYSBSZWZsZWN0Jyk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Fkb3B0ZWQtY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
YWRvcHRlZC1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggMGQ2NjdkMWIzYTI0NmE1ZWFiMDAw
OTYwYTMwNWZhZWQ2MzdkY2U0Mi4uZmZiZGJlZTljOTE0ZThlZTg4NTI3MjZjYTM2ZWRjOWQ5ZTRk
MzI1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvYWRvcHRlZC1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvYWRvcHRlZC1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTcsNiArNyw4IEBAIFBBU1MgTW92
aW5nIGFuIGFuY2VzdG9yIG9mIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50
IGludG8gdGhlIGRvY3VtCiBQQVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBz
aGFkb3cgdHJlZSBpbiB0aGUgZG9jdW1lbnQgb2YgdGhlIHRlbXBsYXRlIGVsZW1lbnRzIG11c3Qg
ZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIHRoZSBz
aGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGludG8gdGhlIGRvY3VtZW50IG9mIHRoZSB0
ZW1wbGF0ZSBlbGVtZW50cyBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sg
CiBQQVNTIE1vdmluZyB0aGUgc2hhZG93IGhvc3Qgb2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRo
ZSBvd25lciBkb2N1bWVudCBpbnRvIHRoZSBkb2N1bWVudCBvZiB0aGUgdGVtcGxhdGUgZWxlbWVu
dHMgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAorUEFTUyBNb3Zpbmcg
dGhlIHNoYWRvdyBob3N0J3Mgc2hhZG93IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3du
ZXIgZG9jdW1lbnQgaW50byB0aGUgZG9jdW1lbnQgb2YgdGhlIHRlbXBsYXRlIGVsZW1lbnRzIG11
c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BBU1MgTW92aW5nIHRoZSA8
dGVtcGxhdGU+J3MgY29udGVudCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRv
Y3VtZW50IGludG8gdGhlIGRvY3VtZW50IG9mIHRoZSB0ZW1wbGF0ZSBlbGVtZW50cyBtdXN0IGVu
cXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGluZyBhIGN1c3Rv
bSBlbGVtZW50IGludG8gYSBkZXRhY2hlZCBzaGFkb3cgdHJlZSB0aGF0IGJlbG9uZ3MgdG8gdGhl
IGRvY3VtZW50IG9mIHRoZSB0ZW1wbGF0ZSBlbGVtZW50cyBtdXN0IGVucXVldWUgYW5kIGludm9r
ZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8g
YSBuZXcgZG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAog
UEFTUyBNb3ZpbmcgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRv
IGEgbmV3IGRvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAK
QEAgLTE1LDYgKzE3LDggQEAgUEFTUyBNb3ZpbmcgYW4gYW5jZXN0b3Igb2YgY3VzdG9tIGVsZW1l
bnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byBhIG5ldyBkb2MKIFBBU1MgSW5zZXJ0aW5n
IGEgY3VzdG9tIGVsZW1lbnQgaW50byBhIHNoYWRvdyB0cmVlIGluIGEgbmV3IGRvY3VtZW50IG11
c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIHRo
ZSBzaGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBuZXcgZG9jdW1lbnQgbXVz
dCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBNb3ZpbmcgdGhlIHNo
YWRvdyBob3N0IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50
byBhIG5ldyBkb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sg
CitQQVNTIE1vdmluZyB0aGUgc2hhZG93IGhvc3QncyBzaGFkb3cgb2YgYSBjdXN0b20gZWxlbWVu
dCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGEgbmV3IGRvY3VtZW50IG11c3QgZW5xdWV1
ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BBU1MgTW92aW5nIHRoZSA8dGVtcGxhdGU+
J3MgY29udGVudCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGlu
dG8gYSBuZXcgZG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNr
IAogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCBpbnRvIGEgZGV0YWNoZWQgc2hhZG93
IHRyZWUgdGhhdCBiZWxvbmdzIHRvIGEgbmV3IGRvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52
b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQgaW50
byBhIGNsb25lZCBkb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJh
Y2sgCiBQQVNTIE1vdmluZyBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50
IGludG8gYSBjbG9uZWQgZG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENh
bGxiYWNrIApAQCAtMjMsNiArMjcsOCBAQCBQQVNTIE1vdmluZyBhbiBhbmNlc3RvciBvZiBjdXN0
b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGEgY2xvbmVkCiBQQVNTIElu
c2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBzaGFkb3cgdHJlZSBpbiBhIGNsb25lZCBk
b2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIElu
c2VydGluZyB0aGUgc2hhZG93IGhvc3Qgb2YgYSBjdXN0b20gZWxlbWVudCBpbnRvIGEgY2xvbmVk
IGRvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1Mg
TW92aW5nIHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVy
IGRvY3VtZW50IGludG8gYSBjbG9uZWQgZG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2Ug
YWRvcHRlZENhbGxiYWNrIAorUEFTUyBNb3ZpbmcgdGhlIHNoYWRvdyBob3N0J3Mgc2hhZG93IG9m
IGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byBhIGNsb25lZCBk
b2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCitQQVNTIE1v
dmluZyB0aGUgPHRlbXBsYXRlPidzIGNvbnRlbnQgb2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRo
ZSBvd25lciBkb2N1bWVudCBpbnRvIGEgY2xvbmVkIGRvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQg
aW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQg
aW50byBhIGRldGFjaGVkIHNoYWRvdyB0cmVlIHRoYXQgYmVsb25ncyB0byBhIGNsb25lZCBkb2N1
bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2Vy
dGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZUhU
TUxEb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNT
IE1vdmluZyBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYSBk
b2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZUhUTUxEb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGlu
dm9rZSBhZG9wdGVkQ2FsbGJhY2sgCkBAIC0zMSw2ICszNyw4IEBAIFBBU1MgTW92aW5nIGFuIGFu
Y2VzdG9yIG9mIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYSBk
b2N1bWVuCiBQQVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBzaGFkb3cgdHJl
ZSBpbiBhIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlSFRNTERvY3VtZW50IG11c3QgZW5xdWV1
ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIHRoZSBzaGFkb3cg
aG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0
ZUhUTUxEb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQ
QVNTIE1vdmluZyB0aGUgc2hhZG93IGhvc3Qgb2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBv
d25lciBkb2N1bWVudCBpbnRvIGEgZG9jdW1lbnQgY3JlYXRlZCBieSBjcmVhdGVIVE1MRG9jdW1l
bnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAorUEFTUyBNb3Zpbmcg
dGhlIHNoYWRvdyBob3N0J3Mgc2hhZG93IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3du
ZXIgZG9jdW1lbnQgaW50byBhIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlSFRNTERvY3VtZW50
IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BBU1MgTW92aW5nIHRo
ZSA8dGVtcGxhdGU+J3MgY29udGVudCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVy
IGRvY3VtZW50IGludG8gYSBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZUhUTUxEb2N1bWVudCBt
dXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGluZyBh
IGN1c3RvbSBlbGVtZW50IGludG8gYSBkZXRhY2hlZCBzaGFkb3cgdHJlZSB0aGF0IGJlbG9uZ3Mg
dG8gYSBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZUhUTUxEb2N1bWVudCBtdXN0IGVucXVldWUg
YW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVt
ZW50IGludG8gYW4gSFRNTCBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZURvY3VtZW50IG11c3Qg
ZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgTW92aW5nIGEgY3VzdG9t
IGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byBhbiBIVE1MIGRvY3VtZW50IGNy
ZWF0ZWQgYnkgY3JlYXRlRG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENh
bGxiYWNrIApAQCAtMzksNiArNDcsOCBAQCBQQVNTIE1vdmluZyBhbiBhbmNlc3RvciBvZiBjdXN0
b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGFuIEhUTUwgZAogUEFTUyBJ
bnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCBpbnRvIGEgc2hhZG93IHRyZWUgaW4gYW4gSFRNTCBk
b2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZURvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tl
IGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1
c3RvbSBlbGVtZW50IGludG8gYW4gSFRNTCBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZURvY3Vt
ZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgTW92aW5n
IHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3Vt
ZW50IGludG8gYW4gSFRNTCBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZURvY3VtZW50IG11c3Qg
ZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BBU1MgTW92aW5nIHRoZSBzaGFk
b3cgaG9zdCdzIHNoYWRvdyBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3Vt
ZW50IGludG8gYW4gSFRNTCBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZURvY3VtZW50IG11c3Qg
ZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BBU1MgTW92aW5nIHRoZSA8dGVt
cGxhdGU+J3MgY29udGVudCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3Vt
ZW50IGludG8gYW4gSFRNTCBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZURvY3VtZW50IG11c3Qg
ZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIGEgY3Vz
dG9tIGVsZW1lbnQgaW50byBhIGRldGFjaGVkIHNoYWRvdyB0cmVlIHRoYXQgYmVsb25ncyB0byBh
biBIVE1MIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlRG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFu
ZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVu
dCBpbnRvIHRoZSBkb2N1bWVudCBvZiBhbiBpZnJhbWUgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2Ug
YWRvcHRlZENhbGxiYWNrIAogUEFTUyBNb3ZpbmcgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBv
d25lciBkb2N1bWVudCBpbnRvIHRoZSBkb2N1bWVudCBvZiBhbiBpZnJhbWUgbXVzdCBlbnF1ZXVl
IGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIApAQCAtNDcsNiArNTcsOCBAQCBQQVNTIE1vdmlu
ZyBhbiBhbmNlc3RvciBvZiBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBp
bnRvIHRoZSBkb2N1bQogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCBpbnRvIGEgc2hh
ZG93IHRyZWUgaW4gdGhlIGRvY3VtZW50IG9mIGFuIGlmcmFtZSBtdXN0IGVucXVldWUgYW5kIGlu
dm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGluZyB0aGUgc2hhZG93IGhvc3Qgb2Yg
YSBjdXN0b20gZWxlbWVudCBpbnRvIHRoZSBkb2N1bWVudCBvZiBhbiBpZnJhbWUgbXVzdCBlbnF1
ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBNb3ZpbmcgdGhlIHNoYWRvdyBo
b3N0IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byB0aGUg
ZG9jdW1lbnQgb2YgYW4gaWZyYW1lIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxs
YmFjayAKK1BBU1MgTW92aW5nIHRoZSBzaGFkb3cgaG9zdCdzIHNoYWRvdyBvZiBhIGN1c3RvbSBl
bGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gdGhlIGRvY3VtZW50IG9mIGFuIGlm
cmFtZSBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCitQQVNTIE1vdmlu
ZyB0aGUgPHRlbXBsYXRlPidzIGNvbnRlbnQgb2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBv
d25lciBkb2N1bWVudCBpbnRvIHRoZSBkb2N1bWVudCBvZiBhbiBpZnJhbWUgbXVzdCBlbnF1ZXVl
IGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20gZWxl
bWVudCBpbnRvIGEgZGV0YWNoZWQgc2hhZG93IHRyZWUgdGhhdCBiZWxvbmdzIHRvIHRoZSBkb2N1
bWVudCBvZiBhbiBpZnJhbWUgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNr
IAogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCBpbnRvIGFuIEhUTUwgZG9jdW1lbnQg
ZmV0Y2hlZCBieSBYSFIgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAog
UEFTUyBNb3ZpbmcgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRv
IGFuIEhUTUwgZG9jdW1lbnQgZmV0Y2hlZCBieSBYSFIgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2Ug
YWRvcHRlZENhbGxiYWNrIApAQCAtNTUsNSArNjcsOSBAQCBQQVNTIE1vdmluZyBhbiBhbmNlc3Rv
ciBvZiBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGFuIEhUTUwg
ZAogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCBpbnRvIGEgc2hhZG93IHRyZWUgaW4g
YW4gSFRNTCBkb2N1bWVudCBmZXRjaGVkIGJ5IFhIUiBtdXN0IGVucXVldWUgYW5kIGludm9rZSBh
ZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGluZyB0aGUgc2hhZG93IGhvc3Qgb2YgYSBjdXN0
b20gZWxlbWVudCBpbnRvIGFuIEhUTUwgZG9jdW1lbnQgZmV0Y2hlZCBieSBYSFIgbXVzdCBlbnF1
ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBNb3ZpbmcgdGhlIHNoYWRvdyBo
b3N0IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byBhbiBI
VE1MIGRvY3VtZW50IGZldGNoZWQgYnkgWEhSIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0
ZWRDYWxsYmFjayAKK1BBU1MgTW92aW5nIHRoZSBzaGFkb3cgaG9zdCdzIHNoYWRvdyBvZiBhIGN1
c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYW4gSFRNTCBkb2N1bWVu
dCBmZXRjaGVkIGJ5IFhIUiBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sg
CitQQVNTIE1vdmluZyB0aGUgPHRlbXBsYXRlPidzIGNvbnRlbnQgb2YgYSBjdXN0b20gZWxlbWVu
dCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGFuIEhUTUwgZG9jdW1lbnQgZmV0Y2hlZCBi
eSBYSFIgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNl
cnRpbmcgYSBjdXN0b20gZWxlbWVudCBpbnRvIGEgZGV0YWNoZWQgc2hhZG93IHRyZWUgdGhhdCBi
ZWxvbmdzIHRvIGFuIEhUTUwgZG9jdW1lbnQgZmV0Y2hlZCBieSBYSFIgbXVzdCBlbnF1ZXVlIGFu
ZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYWRvcHRlZC1j
YWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvYWRvcHRlZC1jYWxsYmFjay5odG1sCmluZGV4IDVjMDhhMDRhNDIx
MGQ3ZjhiYzNkNzUyZmEzZTRkYjIyMGFhMjYxMTguLjFlZDQ2MzRkYmE5ZmY4MzgwYWUxMzJiYTQx
MTU4OTJjMGU1ZTMzN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Fkb3B0ZWQtY2FsbGJhY2suaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9hZG9wdGVkLWNhbGxiYWNrLmh0bWwKQEAgLTExNyw2ICsxMTcsMzggQEAgZG9jdW1lbnRf
dHlwZXMoKS5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgewogICAgICAgICB9KTsKICAgICB9LCAn
TW92aW5nIHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVy
IGRvY3VtZW50IGludG8gJyArIGRvY3VtZW50TmFtZSArICcgbXVzdCBlbnF1ZXVlIGFuZCBpbnZv
a2UgYWRvcHRlZENhbGxiYWNrJyk7CiAKKyAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24gKCkgewor
ICAgICAgICByZXR1cm4gZ2V0RG9jdW1lbnQoKS50aGVuKGZ1bmN0aW9uIChkb2MpIHsKKyAgICAg
ICAgICAgIGNvbnN0IGluc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbXktY3VzdG9t
LWVsZW1lbnQnKTsKKyAgICAgICAgICAgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNo
YWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICAgICAgICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hp
bGQoaW5zdGFuY2UpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChob3N0
KTsKKworICAgICAgICAgICAgY2FsbHMgPSBbXTsKKyAgICAgICAgICAgIGRvYy5kb2N1bWVudEVs
ZW1lbnQuYXBwZW5kQ2hpbGQoc2hhZG93Um9vdCk7CisgICAgICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKGNhbGxzLCBbJ2Rpc2Nvbm5lY3RlZCcsICdhZG9wdGVkJywgZG9jdW1lbnQsIGRvYywg
J2Nvbm5lY3RlZCddKTsKKyAgICAgICAgfSk7CisgICAgfSwgJ01vdmluZyB0aGUgc2hhZG93IGhv
c3RcJ3Mgc2hhZG93IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQg
aW50byAnICsgZG9jdW1lbnROYW1lICsgJyBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVk
Q2FsbGJhY2snKTsKKworICAgIHByb21pc2VfdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIHJl
dHVybiBnZXREb2N1bWVudCgpLnRoZW4oZnVuY3Rpb24gKGRvYykgeworICAgICAgICAgICAgY29u
c3QgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdteS1jdXN0b20tZWxlbWVudCcp
OworICAgICAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0
ZW1wbGF0ZScpOworICAgICAgICAgICAgY29uc3QgdGVtcGxhdGVDb250ZW50ID0gdGVtcGxhdGUu
Y29udGVudDsKKyAgICAgICAgICAgIHRlbXBsYXRlQ29udGVudC5hcHBlbmRDaGlsZChpbnN0YW5j
ZSk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlbXBsYXRlKTsKKwor
ICAgICAgICAgICAgY2FsbHMgPSBbXTsKKyAgICAgICAgICAgIGRvYy5kb2N1bWVudEVsZW1lbnQu
YXBwZW5kQ2hpbGQodGVtcGxhdGVDb250ZW50KTsKKyAgICAgICAgICAgIGlmIChkb2MgPT09IHRl
bXBsYXRlQ29udGVudC5vd25lckRvY3VtZW50KSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhjYWxscywgWydjb25uZWN0ZWQnXSk7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbHMsIFsnYWRvcHRlZCcsIHRl
bXBsYXRlQ29udGVudC5vd25lckRvY3VtZW50LCBkb2MsICdjb25uZWN0ZWQnXSk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0pOworICAgIH0sICdNb3ZpbmcgdGhlIDx0ZW1wbGF0ZT5cJ3MgY29u
dGVudCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gJyAr
IGRvY3VtZW50TmFtZSArICcgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNr
Jyk7CisKICAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24gKCkgewogICAgICAgICByZXR1cm4gZ2V0
RG9jdW1lbnQoKS50aGVuKGZ1bmN0aW9uIChkb2MpIHsKICAgICAgICAgICAgIHZhciBpbnN0YW5j
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ215LWN1c3RvbS1lbGVtZW50Jyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9hdHRyaWJ1dGUtY2hhbmdlZC1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9hdHRy
aWJ1dGUtY2hhbmdlZC1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggYzMzZDVmOTU4MTVlYzNm
OTU5YTAxNmE2MzQ0YTEwNmJiMjRhN2QyYS4uZGIwYWZjYWY5OTE5NzZjZjMwNjFmZGZlZGMwODdj
NTRhN2IwZTJlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYXR0cmlidXRlLWNoYW5nZWQtY2FsbGJhY2stZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL2F0dHJpYnV0ZS1jaGFuZ2VkLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApAQCAtMyw2ICszLDcgQEAgUEFTUyBzZXRBdHRyaWJ1dGUgYW5kIHJlbW92ZUF0dHJpYnV0ZSBt
dXN0IGVucXVldWUgYW5kIGludm9rZSBhdHRyaWJ1dGVDaGFuZ2VkQ2EKIFBBU1Mgc2V0QXR0cmli
dXRlTlMgYW5kIHJlbW92ZUF0dHJpYnV0ZU5TIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGF0dHJp
YnV0ZUNoYW5nZWRDYWxsYmFjayAKIFBBU1Mgc2V0QXR0cmlidXRlTm9kZSBhbmQgcmVtb3ZlQXR0
cmlidXRlTm9kZSBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJh
Y2sgZm9yIGFuIEhUTUwgYXR0cmlidXRlIAogUEFTUyBzZXRBdHRyaWJ1dGVOb2RlIGFuZCByZW1v
dmVBdHRyaWJ1dGVOUyBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhdHRyaWJ1dGVDaGFuZ2VkQ2Fs
bGJhY2sgZm9yIGFuIFNWRyBhdHRyaWJ1dGUgCitQQVNTIHRvZ2dsZUF0dHJpYnV0ZSBtdXN0IGVu
cXVldWUgYW5kIGludm9rZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgCiBQQVNTIE11dGF0aW5n
IGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayBhZnRlciBjYWxsaW5nIGN1c3RvbUVsZW1lbnRzLmRl
ZmluZSBtdXN0IG5vdCBhZmZlY3QgdGhlIGNhbGxiYWNrIGJlaW5nIGludm9rZWQgCiBQQVNTIGF0
dHJpYnV0ZWRDaGFuZ2VkQ2FsbGJhY2sgbXVzdCBub3QgYmUgaW52b2tlZCB3aGVuIHRoZSBvYnNl
cnZlZCBhdHRyaWJ1dGVzIGRvZXMgbm90IGNvbnRhaW4gdGhlIGF0dHJpYnV0ZSAKIFBBU1MgTXV0
YXRpbmcgb2JzZXJ2ZWRBdHRyaWJ1dGVzIGFmdGVyIGNhbGxpbmcgY3VzdG9tRWxlbWVudHMuZGVm
aW5lIG11c3Qgbm90IGFmZmVjdCB0aGUgc2V0IG9mIGF0dHJpYnV0ZXMgZm9yIHdoaWNoIGF0dHJp
YnV0ZWRDaGFuZ2VkQ2FsbGJhY2sgaXMgaW52b2tlZCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2F0dHJpYnV0
ZS1jaGFuZ2VkLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9hdHRyaWJ1dGUtY2hhbmdlZC1jYWxsYmFjay5o
dG1sCmluZGV4IDUwOTBiZmJmYmZlY2RmYmZiZmI3YzUyNTc5ODI0Y2QzMzNjOTNjZGMuLmRiMmEw
MTE5NmE3MjJhMDFkMjI5Nzk4NmE1Mjg4MTU2MWEyMzA1OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2F0dHJp
YnV0ZS1jaGFuZ2VkLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYXR0cmlidXRlLWNoYW5nZWQtY2Fs
bGJhY2suaHRtbApAQCAtOTAsNiArOTAsMjMgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgYXNz
ZXJ0X2F0dHJpYnV0ZV9sb2dfZW50cnkobG9nRW50cmllcy5sYXN0KCksIHtuYW1lOiAncicsIG9s
ZFZhbHVlOiAnMTAwJywgbmV3VmFsdWU6IG51bGwsIG5hbWVzcGFjZTogJ2h0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnJ30pOwogfSwgJ3NldEF0dHJpYnV0ZU5vZGUgYW5kIHJlbW92ZUF0dHJpYnV0
ZU5TIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayBmb3Ig
YW4gU1ZHIGF0dHJpYnV0ZScpOwogCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCBpbnN0
YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY3VzdG9tRWxlbWVudC5uYW1lKTsKKyAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGN1c3RvbUVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29u
c3RydWN0ZWQnXSk7CisKKyAgICBpbnN0YW5jZS50b2dnbGVBdHRyaWJ1dGUoJ3RpdGxlJywgdHJ1
ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhpbnN0YW5jZS5oYXNBdHRyaWJ1dGUoJ3RpdGxlJyksIHRy
dWUpOworICAgIHZhciBsb2dFbnRyaWVzID0gY3VzdG9tRWxlbWVudC50YWtlTG9nKCk7CisgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhsb2dFbnRyaWVzLnR5cGVzKCksIFsnYXR0cmlidXRlQ2hhbmdl
ZCddKTsKKyAgICBhc3NlcnRfYXR0cmlidXRlX2xvZ19lbnRyeShsb2dFbnRyaWVzLmxhc3QoKSwg
e25hbWU6ICd0aXRsZScsIG9sZFZhbHVlOiBudWxsLCBuZXdWYWx1ZTogJycsIG5hbWVzcGFjZTog
bnVsbH0pOworCisgICAgaW5zdGFuY2UudG9nZ2xlQXR0cmlidXRlKCd0aXRsZScpOworICAgIGFz
c2VydF9lcXVhbHMoaW5zdGFuY2UuaGFzQXR0cmlidXRlKCd0aXRsZScpLCBmYWxzZSk7CisgICAg
dmFyIGxvZ0VudHJpZXMgPSBjdXN0b21FbGVtZW50LnRha2VMb2coKTsKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGxvZ0VudHJpZXMudHlwZXMoKSwgWydhdHRyaWJ1dGVDaGFuZ2VkJ10pOworICAg
IGFzc2VydF9hdHRyaWJ1dGVfbG9nX2VudHJ5KGxvZ0VudHJpZXMubGFzdCgpLCB7bmFtZTogJ3Rp
dGxlJywgb2xkVmFsdWU6ICcnLCBuZXdWYWx1ZTogbnVsbCwgbmFtZXNwYWNlOiBudWxsfSk7Cit9
LCAndG9nZ2xlQXR0cmlidXRlIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGF0dHJpYnV0ZUNoYW5n
ZWRDYWxsYmFjaycpOworCiB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICBjb25zdCBjYWxsc1RvT2xk
ID0gW107CiAgICAgY29uc3QgY2FsbHNUb05ldyA9IFtdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9t
LWVsZW1lbnQtcmVhY3Rpb24tcXVldWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQt
cmVhY3Rpb24tcXVldWUtZXhwZWN0ZWQudHh0CmluZGV4IDViNTBkNGZjMmEyYTMwY2QyZjlmOGUx
NjQ4ZTgyZTFkNmRhYmRjNjIuLjE2Y2Y4YTc5NjIyNmYzNzA4NzIxNWY3ZTY1Mzk2N2ViY2ZhNzJh
OTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlYWN0aW9uLXF1ZXVlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWFjdGlvbi1xdWV1ZS1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw2IEBACiAKIFBBU1MgVXBncmFkaW5nIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBp
bnZva2UgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIGFuZCBjb25uZWN0ZWRDYWxsYmFjayBiZWZv
cmUgc3RhcnQgdXBncmFkaW5nIGFub3RoZXIgZWxlbWVudCAKK1BBU1MgVXBncmFkaW5nIGEgY3Vz
dG9tIGVsZW1lbnQgbXVzdCBub3QgaW52b2tlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayBmb3Ig
dGhlIGF0dHJpYnV0ZSB0aGF0IGlzIGNoYW5nZWQgZHVyaW5nIHVwZ3JhZGluZyAKIFBBU1MgTXV0
YXRpbmcgYSB1bmRlZmluZWQgY3VzdG9tIGVsZW1lbnQgd2hpbGUgdXBncmFkaW5nIGEgY3VzdG9t
IGVsZW1lbnQgbXVzdCBub3QgZW5xdWV1ZSBvciBpbnZva2UgcmVhY3Rpb25zIG9uIHRoZSBtdXRh
dGVkIGVsZW1lbnQgCiBQQVNTIE11dGF0aW5nIGFub3RoZXIgY3VzdG9tIGVsZW1lbnQgaW5zaWRl
IGFkb3B0ZWQgY2FsbGJhY2sgbXVzdCBpbnZva2UgYWxsIHBlbmRpbmcgY2FsbGJhY2tzIG9uIHRo
ZSBtdXRhdGVkIGVsZW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlYWN0
aW9uLXF1ZXVlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWFjdGlvbi1xdWV1ZS5odG1sCmlu
ZGV4IDczN2RhYjExN2QzYmQ4ZDI5NmNhNjIzNWQwNGU3NjY0ZTM1NzQwYzAuLjI0NmIxNWEwYWYz
NmNmZmEwYjY0ZjFkNTdlNDIwODUzOGI5MmJkZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVt
ZW50LXJlYWN0aW9uLXF1ZXVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVhY3Rpb24t
cXVldWUuaHRtbApAQCAtNTAsNiArNTAsMzkgQEAgdGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAo
Y29udGVudFdpbmRvdykgewogICAgIGFzc2VydF9jb25uZWN0ZWRfbG9nX2VudHJ5KGxvZ1s1XSwg
ZWxlbWVudDIpOwogfSwgJ1VwZ3JhZGluZyBhIGN1c3RvbSBlbGVtZW50IG11c3QgaW52b2tlIGF0
dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayBhbmQgY29ubmVjdGVkQ2FsbGJhY2sgYmVmb3JlIHN0YXJ0
IHVwZ3JhZGluZyBhbm90aGVyIGVsZW1lbnQnKTsKIAordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlv
biAoY29udGVudFdpbmRvdykgeworICAgIGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRlbnRX
aW5kb3cuZG9jdW1lbnQ7CisgICAgY29udGVudERvY3VtZW50LndyaXRlKCc8dGVzdC1lbGVtZW50
PicpOworCisgICAgY29uc3QgZWxlbWVudCA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCd0ZXN0LWVsZW1lbnQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihlbGVtZW50KSwgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUpOworCisgICAg
bGV0IGxvZyA9IFtdOworICAgIGNsYXNzIFRlc3RFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRv
dy5IVE1MRWxlbWVudCB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgc3Vw
ZXIoKTsKKyAgICAgICAgICAgIHRoaXMuaWQgPSAiZm9vIjsKKyAgICAgICAgICAgIHRoaXMuc2V0
QXR0cmlidXRlKCdpZCcsICdmb28nKTsKKyAgICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRl
KCdpZCcpOworICAgICAgICAgICAgdGhpcy5zdHlsZS5mb250U2l6ZSA9ICcxMHB4JzsKKyAgICAg
ICAgICAgIGxvZy5wdXNoKGNyZWF0ZV9jb25zdHJ1Y3Rvcl9sb2codGhpcykpOworICAgICAgICB9
CisgICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKC4uLmFyZ3MpIHsKKyAgICAgICAgICAgIGxvZy5w
dXNoKGNyZWF0ZV9jb25uZWN0ZWRfY2FsbGJhY2tfbG9nKHRoaXMsIC4uLmFyZ3MpKTsKKyAgICAg
ICAgfQorICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soLi4uYXJncykgeworICAgICAg
ICAgICAgbG9nLnB1c2goY3JlYXRlX2F0dHJpYnV0ZV9jaGFuZ2VkX2NhbGxiYWNrX2xvZyh0aGlz
LCAuLi5hcmdzKSk7CisgICAgICAgIH0KKyAgICAgICAgc3RhdGljIGdldCBvYnNlcnZlZEF0dHJp
YnV0ZXMoKSB7IHJldHVybiBbJ2lkJywgJ3N0eWxlJ107IH0KKyAgICB9CisgICAgY29udGVudFdp
bmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZWxlbWVudCcsIFRlc3RFbGVtZW50KTsK
KyAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihlbGVtZW50KSwgVGVzdEVs
ZW1lbnQucHJvdG90eXBlKTsKKworICAgIGFzc2VydF9lcXVhbHMobG9nLmxlbmd0aCwgMik7Cisg
ICAgYXNzZXJ0X2NvbnN0cnVjdG9yX2xvZ19lbnRyeShsb2dbMF0sIGVsZW1lbnQpOworICAgIGFz
c2VydF9jb25uZWN0ZWRfbG9nX2VudHJ5KGxvZ1sxXSwgZWxlbWVudCk7Cit9LCAnVXBncmFkaW5n
IGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBub3QgaW52b2tlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFj
ayBmb3IgdGhlIGF0dHJpYnV0ZSB0aGF0IGlzIGNoYW5nZWQgZHVyaW5nIHVwZ3JhZGluZycpOwor
CiB0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CiAgICAgY29uc3Qg
Y29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKICAgICBjb250ZW50RG9j
dW1lbnQud3JpdGUoJzx0ZXN0LWVsZW1lbnQgaWQ9ImZpcnN0LWVsZW1lbnQiPicpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVnaXN0cnkvZGVmaW5lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5L2RlZmluZS1leHBlY3RlZC50eHQKaW5kZXggOTc3NzYw
YzY5YzRjZDk3OTJhODZjZTRlMDRjZWQ1NzFiZmJlNWQzMy4uZGFmZDcyNGY0MTNhODZiZWNkYzdk
ZTc1OTZkZDU2ZTJiNTM5ZTQ3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVnaXN0
cnkvZGVmaW5lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9k
ZWZpbmUtZXhwZWN0ZWQudHh0CkBAIC00Miw3ICs0Miw3IEBAIFBBU1MgRWxlbWVudCBuYW1lczog
ZGVmaW5pbmcgYW4gZWxlbWVudCBuYW1lZCBmb250LWZhY2UtbmFtZSBzaG91bGQgdGhyb3cgYSBT
eW50CiBQQVNTIEVsZW1lbnQgbmFtZXM6IGRlZmluaW5nIGFuIGVsZW1lbnQgbmFtZWQgbWlzc2lu
Zy1nbHlwaCBzaG91bGQgdGhyb3cgYSBTeW50YXhFcnJvciAKIFBBU1MgSWYgdGhlIG5hbWUgaXMg
YWxyZWFkeSBkZWZpbmVkLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciAKIFBBU1Mg
SWYgdGhlIGNvbnN0cnVjdG9yIGlzIGFscmVhZHkgZGVmaW5lZCwgc2hvdWxkIHRocm93IGEgTm90
U3VwcG9ydGVkRXJyb3IgCi1GQUlMIElmIGV4dGVuZHMgaXMgYS0sIHNob3VsZCB0aHJvdyBhIE5v
dFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiAgeworRkFJTCBJ
ZiBleHRlbmRzIGlzIGEtLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRf
dGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+ICB7CiAgICAgICAgIGN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgndGVzdC1kZWZpbmUtZXh0ZW5kLXZhbGlkLW5hbWUnLCBjbGFzcyB7fSwgeyBleHRlbmRz
OiBuYW1lIH0pOwogICAgICAgfSIgZGlkIG5vdCB0aHJvdwogUEFTUyBJZiBleHRlbmRzIGlzIGEt
YSwgc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgCkBAIC01MiwyNSArNTIsMjUgQEAg
UEFTUyBJZiBleHRlbmRzIGlzIGEtLi1fLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJv
cgogUEFTUyBJZiBleHRlbmRzIGlzIGEtMDEyMzQ1Njc4OSwgc2hvdWxkIHRocm93IGEgTm90U3Vw
cG9ydGVkRXJyb3IgCiBQQVNTIElmIGV4dGVuZHMgaXMgYS3mvKLlrZcsIHNob3VsZCB0aHJvdyBh
IE5vdFN1cHBvcnRlZEVycm9yIAogUEFTUyBJZiBleHRlbmRzIGlzIGEt8KCAiywgc2hvdWxkIHRo
cm93IGEgTm90U3VwcG9ydGVkRXJyb3IgCi1GQUlMIElmIGV4dGVuZHMgaXMgYmdzb3VuZCwgc2hv
dWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigp
ID0+ICB7CitGQUlMIElmIGV4dGVuZHMgaXMgYmdzb3VuZCwgc2hvdWxkIHRocm93IGEgTm90U3Vw
cG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiAgewogICAgICAg
ICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5lLWV4dGVuZC0nICsgbmFtZSwgY2xh
c3Mge30sIHsgZXh0ZW5kczogbmFtZSB9KTsKICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwg
SWYgZXh0ZW5kcyBpcyBibGluaywgc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+ICB7CitGQUlMIElmIGV4dGVuZHMgaXMgYmxpbmss
IHNob3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3NfZG9tOiBmdW5j
dGlvbiAiKCkgPT4gIHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRlZmlu
ZS1leHRlbmQtJyArIG5hbWUsIGNsYXNzIHt9LCB7IGV4dGVuZHM6IG5hbWUgfSk7CiAgICAgICB9
IiBkaWQgbm90IHRocm93Ci1GQUlMIElmIGV4dGVuZHMgaXMgaXNpbmRleCwgc2hvdWxkIHRocm93
IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+ICB7CitG
QUlMIElmIGV4dGVuZHMgaXMgaXNpbmRleCwgc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJy
b3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiAgewogICAgICAgICBjdXN0b21F
bGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5lLWV4dGVuZC0nICsgbmFtZSwgY2xhc3Mge30sIHsg
ZXh0ZW5kczogbmFtZSB9KTsKICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSWYgZXh0ZW5k
cyBpcyBtdWx0aWNvbCwgc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gIigpID0+ICB7CitGQUlMIElmIGV4dGVuZHMgaXMgbXVsdGljb2wsIHNo
b3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlv
biAiKCkgPT4gIHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRlZmluZS1l
eHRlbmQtJyArIG5hbWUsIGNsYXNzIHt9LCB7IGV4dGVuZHM6IG5hbWUgfSk7CiAgICAgICB9IiBk
aWQgbm90IHRocm93Ci1GQUlMIElmIGV4dGVuZHMgaXMgbmV4dGlkLCBzaG91bGQgdGhyb3cgYSBO
b3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gIHsKK0ZBSUwg
SWYgZXh0ZW5kcyBpcyBuZXh0aWQsIHNob3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGFz
c2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4gIHsKICAgICAgICAgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCd0ZXN0LWRlZmluZS1leHRlbmQtJyArIG5hbWUsIGNsYXNzIHt9LCB7IGV4dGVu
ZHM6IG5hbWUgfSk7CiAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIElmIGV4dGVuZHMgaXMg
c3BhY2VyLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiKCkgPT4gIHsKK0ZBSUwgSWYgZXh0ZW5kcyBpcyBzcGFjZXIsIHNob3VsZCB0aHJv
dyBhIE5vdFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4g
IHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRlZmluZS1leHRlbmQtJyAr
IG5hbWUsIGNsYXNzIHt9LCB7IGV4dGVuZHM6IG5hbWUgfSk7CiAgICAgICB9IiBkaWQgbm90IHRo
cm93Ci1GQUlMIElmIGV4dGVuZHMgaXMgZWxlbWVudG5hbWV0b2JldW5rbm93bmVsZW1lbnQsIHNo
b3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIo
KSA9PiAgeworRkFJTCBJZiBleHRlbmRzIGlzIGVsZW1lbnRuYW1ldG9iZXVua25vd25lbGVtZW50
LCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRfdGhyb3dzX2RvbTogZnVu
Y3Rpb24gIigpID0+ICB7CiAgICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1kZWZp
bmUtZXh0ZW5kLScgKyBuYW1lLCBjbGFzcyB7fSwgeyBleHRlbmRzOiBuYW1lIH0pOwogICAgICAg
fSIgZGlkIG5vdCB0aHJvdwogUEFTUyBJZiBjb25zdHJ1Y3Rvci5wcm90b3R5cGUgdGhyb3dzLCBz
aG91bGQgcmV0aHJvdyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5L2Rl
ZmluZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVnaXN0cnkvZGVmaW5lLmh0bWwKaW5kZXgg
ZTVkNzFlYzZlYWIxZmIwNmQzOWQ5NDdhZThkMTFmOGQzMGE5ODg5YS4uMmFhZDFjMTgwMjVhZjZm
NjMyMmMwZDdlNmNlNGM2MDg5ZjFhYzkwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQt
cmVnaXN0cnkvZGVmaW5lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVnaXN0cnkvZGVm
aW5lLmh0bWwKQEAgLTI1LDcgKzI1LDcgQEAKICAgaWYgKCF0ZXN0YWJsZSkKICAgICByZXR1cm47
CiAKLSAgY29uc3QgZXhwZWN0VHlwZUVycm9yID0gVHlwZUVycm9yLnByb3RvdHlwZTsKKyAgY29u
c3QgZXhwZWN0VHlwZUVycm9yID0gdGVzdFdpbmRvdy5UeXBlRXJyb3I7CiAgIC8vIEZvbGxvd2lu
ZyBlcnJvcnMgYXJlIERPTUV4Y2VwdGlvbiwgbm90IEphdmFTY3JpcHQgZXJyb3JzLgogICBjb25z
dCBleHBlY3RTeW50YXhFcnJvciA9ICdTWU5UQVhfRVJSJzsKICAgY29uc3QgZXhwZWN0Tm90U3Vw
cG9ydGVkRXJyb3IgPSAnTk9UX1NVUFBPUlRFRF9FUlInOwpAQCAtMzMsMTIgKzMzLDEyIEBACiAg
IC8vIDEuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLAogICAvLyB0aGVu
IHRocm93IGEgVHlwZUVycm9yIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgdGVzdCgoKSA9PiAg
ewotICAgIGFzc2VydF90aHJvd3MoZXhwZWN0VHlwZUVycm9yLCAoKSA9PiAgeworICAgIGFzc2Vy
dF90aHJvd3NfanMoZXhwZWN0VHlwZUVycm9yLCAoKSA9PiAgewogICAgICAgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCk7CiAgICAgfSk7CiAgIH0sICdJZiBubyBhcmd1bWVudHMsIHNob3VsZCB0aHJv
dyBhIFR5cGVFcnJvcicpOwogICB0ZXN0KCgpID0+ICB7Ci0gICAgYXNzZXJ0X3Rocm93cyhleHBl
Y3RUeXBlRXJyb3IsICgpID0+ICB7CisgICAgYXNzZXJ0X3Rocm93c19qcyhleHBlY3RUeXBlRXJy
b3IsICgpID0+ICB7CiAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5lLW9u
ZS1hcmcnKTsKICAgICB9KTsKICAgfSwgJ0lmIG9uZSBhcmd1bWVudCwgc2hvdWxkIHRocm93IGEg
VHlwZUVycm9yJyk7CkBAIC01MSw3ICs1MSw3IEBACiAgICAgWyAnbWV0aG9kJywgKHsgbSgpIHsg
fSB9KS5tIF0sIC8vIElzQ29uc3RydWN0b3IgcmV0dXJucyBmYWxzZSBmb3IgbWV0aG9kcwogICBd
LmZvckVhY2godCA9PiAgewogICAgIHRlc3QoKCkgPT4gIHsKLSAgICAgIGFzc2VydF90aHJvd3Mo
ZXhwZWN0VHlwZUVycm9yLCAoKSA9PiAgeworICAgICAgYXNzZXJ0X3Rocm93c19qcyhleHBlY3RU
eXBlRXJyb3IsICgpID0+ICB7CiAgICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZShgdGVzdC1k
ZWZpbmUtY29uc3RydWN0b3ItJHt0WzBdfWAsIHRbMV0pOwogICAgICAgfSk7CiAgICAgfSwgYElm
IGNvbnN0cnVjdG9yIGlzICR7dFswXX0sIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvcmApOwpAQCAt
MTA1LDcgKzEwNSw3IEBACiAgIH0pOwogICBpbnZhbGlkQ3VzdG9tRWxlbWVudE5hbWVzLmZvckVh
Y2gobmFtZSA9PiAgewogICAgIHRlc3QoKCkgPT4gIHsKLSAgICAgIGFzc2VydF90aHJvd3MoZXhw
ZWN0U3ludGF4RXJyb3IsICgpID0+ICB7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbShleHBlY3RT
eW50YXhFcnJvciwgdGVzdFdpbmRvdy5ET01FeGNlcHRpb24sICgpID0+ICB7CiAgICAgICAgIGN1
c3RvbUVsZW1lbnRzLmRlZmluZShuYW1lLCBjbGFzcyB7fSk7CiAgICAgICB9KTsKICAgICB9LCBg
RWxlbWVudCBuYW1lczogZGVmaW5pbmcgYW4gZWxlbWVudCBuYW1lZCAke25hbWV9IHNob3VsZCB0
aHJvdyBhIFN5bnRheEVycm9yYCk7CkBAIC0xMTUsNyArMTE1LDcgQEAKICAgLy8gdGhlbiB0aHJv
dyBhIE5vdFN1cHBvcnRlZEVycm9yIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgdGVzdCgoKSA9
PiAgewogICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1kZWZpbmUtZHVwLW5hbWUnLCBj
bGFzcyB7fSk7Ci0gICAgYXNzZXJ0X3Rocm93cyhleHBlY3ROb3RTdXBwb3J0ZWRFcnJvciwgKCkg
PT4gIHsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbShleHBlY3ROb3RTdXBwb3J0ZWRFcnJvciwgdGVz
dFdpbmRvdy5ET01FeGNlcHRpb24sICgpID0+ICB7CiAgICAgICBjdXN0b21FbGVtZW50cy5kZWZp
bmUoJ3Rlc3QtZGVmaW5lLWR1cC1uYW1lJywgY2xhc3Mge30pOwogICAgIH0pOwogICB9LCAnSWYg
dGhlIG5hbWUgaXMgYWxyZWFkeSBkZWZpbmVkLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRF
cnJvcicpOwpAQCAtMTI1LDcgKzEyNSw3IEBACiAgIHRlc3QoKCkgPT4gIHsKICAgICBjbGFzcyBU
ZXN0RHVwQ29uc3RydWN0b3Ige307CiAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRl
ZmluZS1kdXAtY29uc3RydWN0b3InLCBUZXN0RHVwQ29uc3RydWN0b3IpOwotICAgIGFzc2VydF90
aHJvd3MoZXhwZWN0Tm90U3VwcG9ydGVkRXJyb3IsICgpID0+ICB7CisgICAgYXNzZXJ0X3Rocm93
c19kb20oZXhwZWN0Tm90U3VwcG9ydGVkRXJyb3IsIHRlc3RXaW5kb3cuRE9NRXhjZXB0aW9uLCAo
KSA9PiAgewogICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRlZmluZS1kdXAtY3Rv
cjInLCBUZXN0RHVwQ29uc3RydWN0b3IpOwogICAgIH0pOwogICB9LCAnSWYgdGhlIGNvbnN0cnVj
dG9yIGlzIGFscmVhZHkgZGVmaW5lZCwgc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3In
KTsKQEAgLTEzNCw3ICsxMzQsNyBAQAogICAvLyB0aGVuIHRocm93IGEgTm90U3VwcG9ydGVkRXJy
b3IuCiAgIHZhbGlkQ3VzdG9tRWxlbWVudE5hbWVzLmZvckVhY2gobmFtZSA9PiAgewogICAgIHRl
c3QoKCkgPT4gIHsKLSAgICAgIGFzc2VydF90aHJvd3MoZXhwZWN0Tm90U3VwcG9ydGVkRXJyb3Is
ICgpID0+ICB7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbShleHBlY3ROb3RTdXBwb3J0ZWRFcnJv
ciwgdGVzdFdpbmRvdy5ET01FeGNlcHRpb24sICgpID0+ICB7CiAgICAgICAgIGN1c3RvbUVsZW1l
bnRzLmRlZmluZSgndGVzdC1kZWZpbmUtZXh0ZW5kLXZhbGlkLW5hbWUnLCBjbGFzcyB7fSwgeyBl
eHRlbmRzOiBuYW1lIH0pOwogICAgICAgfSk7CiAgICAgfSwgYElmIGV4dGVuZHMgaXMgJHtuYW1l
fSwgc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3JgKTsKQEAgLTE1NCwyMCArMTU0LDIw
IEBACiAgICAgJ2VsZW1lbnRuYW1ldG9iZXVua25vd25lbGVtZW50JywKICAgXS5mb3JFYWNoKG5h
bWUgPT4gIHsKICAgICB0ZXN0KCgpID0+ICB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKGV4cGVjdE5v
dFN1cHBvcnRlZEVycm9yLCAoKSA9PiAgeworICAgICAgYXNzZXJ0X3Rocm93c19kb20oZXhwZWN0
Tm90U3VwcG9ydGVkRXJyb3IsIHRlc3RXaW5kb3cuRE9NRXhjZXB0aW9uLCAoKSA9PiAgewogICAg
ICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5lLWV4dGVuZC0nICsgbmFtZSwg
Y2xhc3Mge30sIHsgZXh0ZW5kczogbmFtZSB9KTsKICAgICAgIH0pOwogICAgIH0sIGBJZiBleHRl
bmRzIGlzICR7bmFtZX0sIHNob3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yYCk7CiAgIH0p
OwogCiAgIC8vIDEyLjEuIExldCBwcm90b3R5cGUgYmUgR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90
eXBlIikuIFJldGhyb3cgYW55IGV4Y2VwdGlvbnMuCisgIGNvbnN0IGVyciA9IG5ldyBFcnJvcign
Y2hlY2sgdGhpcyBpcyByZXRocm93bicpOworICBlcnIubmFtZSA9ICdyZXRocm93bic7CiAgIGZ1
bmN0aW9uIGFzc2VydF9yZXRocm93bihmdW5jLCBkZXNjcmlwdGlvbikgewotICAgIGFzc2VydF90
aHJvd3MoeyBuYW1lOiAncmV0aHJvd24nIH0sIGZ1bmMsIGRlc2NyaXB0aW9uKTsKKyAgICBhc3Nl
cnRfdGhyb3dzX2V4YWN0bHkoZXJyLCBmdW5jLCBkZXNjcmlwdGlvbik7CiAgIH0KICAgZnVuY3Rp
b24gdGhyb3dfcmV0aHJvd25fZXJyb3IoKSB7Ci0gICAgY29uc3QgZSA9IG5ldyBFcnJvcignY2hl
Y2sgdGhpcyBpcyByZXRocm93bicpOwotICAgIGUubmFtZSA9ICdyZXRocm93bic7Ci0gICAgdGhy
b3cgZTsKKyAgICB0aHJvdyBlcnI7CiAgIH0KICAgdGVzdCgoKSA9PiAgewogICAgIC8vIEhhY2sg
Zm9yIHByb3RvdHlwZSB0byB0aHJvdyB3aGlsZSBJc0NvbnN0cnVjdG9yIGlzIHRydWUuCkBAIC0x
ODQsMTQgKzE4NCwxNCBAQAogICAvLyB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
ICAgdGVzdCgoKSA9PiAgewogICAgIGNvbnN0IGMgPSAoZnVuY3Rpb24gKCkgeyB9KS5iaW5kKHt9
KTsgLy8gcHJvdG90eXBlIGlzIHVuZGVmaW5lZC4KLSAgICBhc3NlcnRfdGhyb3dzKGV4cGVjdFR5
cGVFcnJvciwgKCkgPT4gIHsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKGV4cGVjdFR5cGVFcnJvciwg
KCkgPT4gIHsKICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1kZWZpbmUtY29uc3Ry
dWN0b3ItcHJvdG90eXBlLXVuZGVmaW5lZCcsIGMpOwogICAgIH0pOwogICB9LCAnSWYgVHlwZShj
b25zdHJ1Y3Rvci5wcm90b3R5cGUpIGlzIHVuZGVmaW5lZCwgc2hvdWxkIHRocm93IGEgVHlwZUVy
cm9yJyk7CiAgIHRlc3QoKCkgPT4gIHsKICAgICBmdW5jdGlvbiBjKCkge307CiAgICAgYy5wcm90
b3R5cGUgPSAnc3RyaW5nJzsKLSAgICBhc3NlcnRfdGhyb3dzKGV4cGVjdFR5cGVFcnJvciwgKCkg
PT4gIHsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKGV4cGVjdFR5cGVFcnJvciwgKCkgPT4gIHsKICAg
ICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1kZWZpbmUtY29uc3RydWN0b3ItcHJvdG90
eXBlLXN0cmluZycsIGMpOwogICAgIH0pOwogICB9LCAnSWYgVHlwZShjb25zdHJ1Y3Rvci5wcm90
b3R5cGUpIGlzIHN0cmluZywgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yJyk7CkBAIC0yMzIsNyAr
MjMyLDcgQEAKICAgICAgICAgaWYgKGRhdGEuc3VjY2VzcykgewogICAgICAgICAgIGN1c3RvbUVs
ZW1lbnRzLmRlZmluZShgdGVzdC1kZWZpbmUtJHtuYW1lLnRvTG93ZXJDYXNlKCl9LSR7ZGF0YS5u
YW1lfWAsIEMpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgIGFzc2VydF90aHJvd3MoZXhw
ZWN0VHlwZUVycm9yLCAoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19qcyhleHBlY3RU
eXBlRXJyb3IsICgpID0+IHsKICAgICAgICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZShgdGVz
dC1kZWZpbmUtJHtuYW1lLnRvTG93ZXJDYXNlKCl9LSR7ZGF0YS5uYW1lfWAsIEMpOwogICAgICAg
ICAgIH0pOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b21pemVkLWJ1aWx0LWluLWNv
bnN0cnVjdG9yLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9taXplZC1idWlsdC1p
bi1jb25zdHJ1Y3Rvci1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTZhNGM2
N2Q1OTU4YjUxMWMwZGFlYzQ0MzFiZjY1NTQxMTczYWU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
Y3VzdG9taXplZC1idWlsdC1pbi1jb25zdHJ1Y3Rvci1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogVGhlIHN1cGVyY2xh
c3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogVGhl
IHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitDT05TT0xFIE1FU1NBR0U6IFR5cGVF
cnJvcjogVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitDT05TT0xFIE1FU1NB
R0U6IFR5cGVFcnJvcjogVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitDT05T
T0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0
b3IuCisKKworICAKKworRkFJTCBBcHBlbmRpbmcgY2hpbGRyZW4gaW4gY3VzdG9taXplZCBidWls
dC1pbiBjb25zdHJ1Y3RvciBzaG91bGQgd29yayBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQg
dmFyaWFibGUuCitGQUlMIFRocm93aW5nIGV4Y2VwdGlvbiBpbiBjdXN0b21pemVkIGJ1aWx0LWlu
IGNvbnN0cnVjdG9yIHNob3VsZCBub3QgY3Jhc2ggYW5kIHNob3VsZCByZXR1cm4gY29ycmVjdCBl
bGVtZW50IHR5cGUgKHZpZGVvKSBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUu
CitGQUlMIFRocm93aW5nIGV4Y2VwdGlvbiBpbiBjdXN0b21pemVkIGJ1aWx0LWluIGNvbnN0cnVj
dG9yIHNob3VsZCBub3QgY3Jhc2ggYW5kIHNob3VsZCByZXR1cm4gY29ycmVjdCBlbGVtZW50IHR5
cGUgKGZvcm0pIENhbm5vdCBhY2Nlc3MgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KK0ZBSUwgTWFr
ZSBzdXJlIGN1c3RvbWl6ZWQgPGlucHV0PiBlbGVtZW50IGRvZXNudCBjcmFzaCBDYW5ub3QgYWNj
ZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCitGQUlMIE1ha2Ugc3VyZSBjdXN0b21pemVkIDxp
bnB1dD4gZWxlbWVudCB0aGF0IHNldHMgYXR0cmlidXRlcyBkb2VzbnQgY3Jhc2ggQ2Fubm90IGFj
Y2VzcyB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b21pemVk
LWJ1aWx0LWluLWNvbnN0cnVjdG9yLWV4Y2VwdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbWl6ZWQtYnVp
bHQtaW4tY29uc3RydWN0b3ItZXhjZXB0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5YzQ0MGZlNTk0
M2RhNDg1ODRjM2VlM2UyMDE2NTM5ZmEzMjkxMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0
b21pemVkLWJ1aWx0LWluLWNvbnN0cnVjdG9yLWV4Y2VwdGlvbnMuaHRtbApAQCAtMCwwICsxLDEw
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50
IGNvbnN0cnVjdG9yIGJlaGF2aW9yPC90aXRsZT4KKzxtZXRhIG5hbWU9J2F1dGhvcicgdGl0bGU9
J01hc29uIEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1bS5vcmcnPgorPGxp
bmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQt
Y3JlYXRlLWVsZW1lbnQnPgorPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMn
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMn
Pjwvc2NyaXB0PgorCis8c2NyaXB0Pgorc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbiA6
IHRydWV9KTsKKworY2xhc3MgTXlDdXN0b21QYXJhZ3JhcGggZXh0ZW5kcyBIVE1MUGFyYWdyYXBo
RWxlbWVudCB7CisgIGNvbnN0cnVjdG9yKCkgeworICAgIHN1cGVyKCk7CisgICAgdGhpcy50ZXh0
Q29udGVudCA9ICdQQVNTJzsKKyAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20t
cCcsIE15Q3VzdG9tUGFyYWdyYXBoLCB7IGV4dGVuZHM6ICdwJyB9KTsKKzwvc2NyaXB0PgorPHAg
aWQ9dGFyZ2V0cCBpcz0nY3VzdG9tLXAnPjwvcD4KKzxzY3JpcHQ+Cit0ZXN0KHQgPT4geworICBs
ZXQgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldHAnKTsKKyAgYXNzZXJ0
X3RydWUoISF0YXJnZXQpOworICBhc3NlcnRfZXF1YWxzKHRhcmdldC5sb2NhbE5hbWUsICdwJyk7
CisgIGFzc2VydF90cnVlKHRhcmdldCBpbnN0YW5jZW9mIE15Q3VzdG9tUGFyYWdyYXBoKTsKKyAg
YXNzZXJ0X3RydWUodGFyZ2V0IGluc3RhbmNlb2YgSFRNTFBhcmFncmFwaEVsZW1lbnQpOworICBh
c3NlcnRfZXF1YWxzKHRhcmdldC5jaGlsZE5vZGVzLmxlbmd0aCwgMSk7CisgIGFzc2VydF9lcXVh
bHModGFyZ2V0LnRleHRDb250ZW50LCAnUEFTUycpOworfSwgJ0FwcGVuZGluZyBjaGlsZHJlbiBp
biBjdXN0b21pemVkIGJ1aWx0LWluIGNvbnN0cnVjdG9yIHNob3VsZCB3b3JrJyk7Cis8L3Njcmlw
dD4KKworCis8c2NyaXB0PgorY2xhc3MgTXlDdXN0b21WaWRlbyBleHRlbmRzIEhUTUxWaWRlb0Vs
ZW1lbnQgeworICBjb25zdHJ1Y3RvcigpIHsKKyAgc3VwZXIoKTsKKyAgdGhyb3cgbmV3IEVycm9y
KCk7CisgIH0KK30KK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgnY3VzdG9tLXZpZGVvJywgTXlDdXN0
b21WaWRlbywgeyBleHRlbmRzOiAndmlkZW8nIH0pOworPC9zY3JpcHQ+Cis8dmlkZW8gaWQ9dGFy
Z2V0dmlkZW8gaXM9J2N1c3RvbS12aWRlbyc+IDxzb3VyY2U+PC9zb3VyY2U+IDwvdmlkZW8+Cis8
c2NyaXB0PgordGVzdCh0ID0+IHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0YXJnZXR2aWRlbycpOworICBhc3NlcnRfdHJ1ZSghIXRhcmdldCk7CisgIGFzc2VydF9l
cXVhbHModGFyZ2V0LmxvY2FsTmFtZSwgJ3ZpZGVvJyk7CisgIGFzc2VydF90cnVlKHRhcmdldCBp
bnN0YW5jZW9mIE15Q3VzdG9tVmlkZW8pOworICBhc3NlcnRfdHJ1ZSh0YXJnZXQgaW5zdGFuY2Vv
ZiBIVE1MVmlkZW9FbGVtZW50KTsKKyAgYXNzZXJ0X2VxdWFscyh0YXJnZXQuY2hpbGRyZW4ubGVu
Z3RoLCAxKTsKK30sICdUaHJvd2luZyBleGNlcHRpb24gaW4gY3VzdG9taXplZCBidWlsdC1pbiBj
b25zdHJ1Y3RvciBzaG91bGQgbm90IGNyYXNoIGFuZCBzaG91bGQgcmV0dXJuIGNvcnJlY3QgZWxl
bWVudCB0eXBlICh2aWRlbyknKTsKKzwvc2NyaXB0PgorCisKKzxzY3JpcHQ+CitjbGFzcyBNeUN1
c3RvbUZvcm0gZXh0ZW5kcyBIVE1MRm9ybUVsZW1lbnQgeworICBjb25zdHJ1Y3RvcigpIHsKKyAg
c3VwZXIoKTsKKyAgdGhyb3cgbmV3IEVycm9yKCk7CisgIH0KK30KK2N1c3RvbUVsZW1lbnRzLmRl
ZmluZSgnY3VzdG9tLWZvcm0nLCBNeUN1c3RvbUZvcm0sIHsgZXh0ZW5kczogJ2Zvcm0nIH0pOwor
PC9zY3JpcHQ+Cis8Zm9ybSBpZD10YXJnZXRmb3JtIGlzPSdjdXN0b20tZm9ybSc+IDxsYWJlbD48
L2xhYmVsPjxpbnB1dD4gPC9mb3JtPgorPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIGxldCB0YXJn
ZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Zm9ybScpOworICBhc3NlcnRfdHJ1
ZSghIXRhcmdldCk7CisgIGFzc2VydF9lcXVhbHModGFyZ2V0LmxvY2FsTmFtZSwgJ2Zvcm0nKTsK
KyAgYXNzZXJ0X3RydWUodGFyZ2V0IGluc3RhbmNlb2YgTXlDdXN0b21Gb3JtKTsKKyAgYXNzZXJ0
X3RydWUodGFyZ2V0IGluc3RhbmNlb2YgSFRNTEZvcm1FbGVtZW50KTsKKyAgYXNzZXJ0X2VxdWFs
cyh0YXJnZXQuY2hpbGRyZW4ubGVuZ3RoLCAyKTsKK30sICdUaHJvd2luZyBleGNlcHRpb24gaW4g
Y3VzdG9taXplZCBidWlsdC1pbiBjb25zdHJ1Y3RvciBzaG91bGQgbm90IGNyYXNoIGFuZCBzaG91
bGQgcmV0dXJuIGNvcnJlY3QgZWxlbWVudCB0eXBlIChmb3JtKScpOworPC9zY3JpcHQ+CisKKzxz
Y3JpcHQ+CitjbGFzcyBNeUlucHV0IGV4dGVuZHMgSFRNTElucHV0RWxlbWVudCB7IH07CitjdXN0
b21FbGVtZW50cy5kZWZpbmUoJ215LWlucHV0JywgTXlJbnB1dCwgeyBleHRlbmRzOiAnaW5wdXQn
IH0pOworPC9zY3JpcHQ+Cis8aW5wdXQgaWQ9Y3VzdG9taXplZC1pbnB1dCBpcz0nbXktaW5wdXQn
PgorPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2N1c3RvbWl6ZWQtaW5wdXQnKTsKKyAgYXNzZXJ0X3RydWUoaW5wdXQgaW5zdGFu
Y2VvZiBNeUlucHV0KTsKKyAgYXNzZXJ0X3RydWUoaW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRF
bGVtZW50KTsKK30sICdNYWtlIHN1cmUgY3VzdG9taXplZCA8aW5wdXQ+IGVsZW1lbnQgZG9lc250
IGNyYXNoJyk7Cis8L3NjcmlwdD4KKworCis8c2NyaXB0PgorY2xhc3MgTXlJbnB1dEF0dHJzIGV4
dGVuZHMgSFRNTElucHV0RWxlbWVudCB7CisgIGNvbnN0cnVjdG9yKCkgeworICAgIHN1cGVyKCk7
CisgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2ZvbycsICdiYXInKTsKKyAgfQorfQorY3VzdG9tRWxl
bWVudHMuZGVmaW5lKCdteS1pbnB1dC1hdHRyJywgTXlJbnB1dEF0dHJzLCB7IGV4dGVuZHM6ICdp
bnB1dCcgfSk7Cis8L3NjcmlwdD4KKzxpbnB1dCBpZD1jdXN0b21pemVkLWlucHV0LWF0dHIgaXM9
J215LWlucHV0LWF0dHInPgorPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIGNvbnN0IGlucHV0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1c3RvbWl6ZWQtaW5wdXQtYXR0cicpOworICBhc3Nl
cnRfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE15SW5wdXRBdHRycyk7CisgIGFzc2VydF90cnVlKGlu
cHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCk7CisgIGFzc2VydF9lcXVhbHMoaW5wdXQu
Z2V0QXR0cmlidXRlKCdmb28nKSwnYmFyJyk7Cit9LCAnTWFrZSBzdXJlIGN1c3RvbWl6ZWQgPGlu
cHV0PiBlbGVtZW50IHRoYXQgc2V0cyBhdHRyaWJ1dGVzIGRvZXNudCBjcmFzaCcpOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9lbnF1ZXVlLWN1c3RvbS1lbGVtZW50LWNhbGxiYWNrLXJlYWN0
aW9ucy1pbnNpZGUtYW5vdGhlci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9lbnF1ZXVlLWN1
c3RvbS1lbGVtZW50LWNhbGxiYWNrLXJlYWN0aW9ucy1pbnNpZGUtYW5vdGhlci1jYWxsYmFjay1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzUxODk4YzU4MzYzMmNkMjA0NjgzNjMzYTdjZWFiYmJi
MTA2M2JmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2VucXVldWUtY3VzdG9tLWVsZW1lbnQtY2Fs
bGJhY2stcmVhY3Rpb25zLWluc2lkZS1hbm90aGVyLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEwIEBACisKK1BBU1MgRGlzY29ubmVjdGluZyBhbiBlbGVtZW50IHdpdGggZGlzY29u
bmVjdGVkQ2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgY29ubmVjdGVkQ2FsbGJhY2sgaW4gaXRzIGN1
c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3QgcmVzdWx0IGluIGNvbm5lY3RlZENhbGxi
YWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIHJlbW92YWwgY29tcGxldGVzIAorUEFTUyBE
aXNjb25uZWN0aW5nIGFuIGVsZW1lbnQgd2l0aG91dCBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGls
ZSBpdCBoYXMgYSBjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rp
b24gcXVldWUgbXVzdCBub3QgcmVzdWx0IGluIGNvbm5lY3RlZENhbGxiYWNrIGdldHRpbmcgaW52
b2tlZCBiZWZvcmUgdGhlIHJlbW92YWwgY29tcGxldGVzIAorUEFTUyBDb25uZWN0aW5nIGEgZWxl
bWVudCB3aXRoIGNvbm5lY3RlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGRpc2Nvbm5lY3RlZENh
bGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IHJlc3VsdCBp
biBkaXNjb25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBpbnNlcnRp
b24gY29tcGxldGVzIAorUEFTUyBDb25uZWN0aW5nIGFuIGVsZW1lbnQgd2l0aG91dCBjb25uZWN0
ZWRDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBkaXNjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3Vz
dG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCBub3QgcmVzdWx0IGluIGRpc2Nvbm5lY3Rl
ZENhbGxiYWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIGluc2VydGlvbiBjb21wbGV0ZXMg
CitQQVNTIEFkb3B0aW5nIGFuIGVsZW1lbnQgd2l0aCBhZG9wdGluZ0NhbGxiYWNrIHdoaWxlIGl0
IGhhcyBhIGNvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBx
dWV1ZSBtdXN0IHJlc3VsdCBpbiBjb25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVm
b3JlIHRoZSBhZG9wdGlvbiBjb21wbGV0ZXMgCitQQVNTIEFkb3B0aW5nIGFuIGVsZW1lbnQgd2l0
aG91dCBhZG9wdGluZ0NhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGNvbm5lY3RlZENhbGxiYWNrIGlu
IGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IG5vdCByZXN1bHQgaW4gY29u
bmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgYWRvcHRpb24gY29tcGxl
dGVzIAorUEFTUyBTZXR0aW5nIGFuIG9ic2VydmVkIGF0dHJpYnV0ZSBvbiBhbiBlbGVtZW50IHdp
dGggYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGNvbm5lY3RlZENhbGxi
YWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IHJlc3VsdCBpbiBj
b25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBhdHRyaWJ1dGUgY2hh
bmdlIGNvbXBsZXRlcyAKK1BBU1MgU2V0dGluZyBhbiBvYnNlcnZlZCBhdHRyaWJ1dGUgb24gYW4g
ZWxlbWVudCB3aXRoIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBjb25u
ZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCBu
b3QgcmVzdWx0IGluIGNvbm5lY3RlZENhbGxiYWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhl
IGF0dHJpYnV0ZSBjaGFuZ2UgY29tcGxldGVzIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9lbnF1ZXVlLWN1
c3RvbS1lbGVtZW50LWNhbGxiYWNrLXJlYWN0aW9ucy1pbnNpZGUtYW5vdGhlci1jYWxsYmFjay5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvZW5xdWV1ZS1jdXN0b20tZWxlbWVudC1jYWxsYmFjay1yZWFjdGlvbnMtaW5zaWRl
LWFub3RoZXItY2FsbGJhY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmQ5MzJmMjlhM2JhZTNlODBlZTkw
YTE5OTZjMWQyNWVhNzkzNGNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZW5xdWV1ZS1jdXN0b20t
ZWxlbWVudC1jYWxsYmFjay1yZWFjdGlvbnMtaW5zaWRlLWFub3RoZXItY2FsbGJhY2suaHRtbApA
QCAtMCwwICsxLDIyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxl
PkN1c3RvbSBFbGVtZW50czogbXVzdCBlbnF1ZXVlIGFuIGVsZW1lbnQgb24gdGhlIGFwcHJvcHJp
YXRlIGVsZW1lbnQgcXVldWUgYWZ0ZXIgY2hlY2tpbmcgY2FsbGJhY2sgaXMgbnVsbCBhbmQgdGhl
IGF0dHJpYnV0ZSBuYW1lPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1
a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgorPG1ldGEgbmFtZT0iYXNz
ZXJ0IiBjb250ZW50PSJUbyBlbnF1ZXVlIGEgY3VzdG9tIGVsZW1lbnQgY2FsbGJhY2sgcmVhY3Rp
b24sIHRoZSBjYWxsYmFjayBtdXN0IGJlIGNoZWNrZWQgb2YgYmVpbmcgbnVsbCBhbmQgd2hldGhl
ciB0aGUgYXR0cmlidXRlIG5hbWUgaXMgb2JzZXJ2ZWQgb3Igbm90Ij4KKzxsaW5rIHJlbD0iaGVs
cCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvY3VzdG9t
LWVsZW1lbnRzLmh0bWwjZW5xdWV1ZS1hLWN1c3RvbS1lbGVtZW50LWNhbGxiYWNrLXJlYWN0aW9u
Ij4KKzxsaW5rIHJlbD0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJj
b21wb25lbnRzL2lzc3Vlcy83NjAiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jdXN0b20tZWxlbWVudHMt
aGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3Rlc3Rf
d2l0aF93aW5kb3coKGNvbnRlbnRXaW5kb3csIGNvbnRlbnREb2N1bWVudCkgPT4geworICAgIGNs
YXNzIFBhcmVudEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKKyAg
ICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAgICBsb2dzLnB1
c2goJ2JlZ2luJyk7CisgICAgICAgICAgICBjb25zdCBjaGlsZCA9IHRoaXMuZmlyc3RDaGlsZDsK
KyAgICAgICAgICAgIGNoaWxkLnJlbW92ZSgpOworICAgICAgICAgICAgbG9ncy5wdXNoKCdlbmQn
KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBjb250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgncGFyZW50LWVsZW1lbnQnLCBQYXJlbnRFbGVtZW50KTsKKworICAgIGNvbnN0IGxvZ3Mg
PSBbXTsKKyAgICBjbGFzcyBDaGlsZEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxF
bGVtZW50IHsKKyAgICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnY29ubmVj
dGVkJyk7IH0KKyAgICAgICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnZGlz
Y29ubmVjdGVkJyk7IH0KKyAgICB9CisgICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5k
ZWZpbmUoJ2NoaWxkLWVsZW1lbnQnLCBDaGlsZEVsZW1lbnQpOworCisgICAgY29uc3QgcGFyZW50
ID0gbmV3IFBhcmVudEVsZW1lbnQ7CisgICAgY29uc3QgY2hpbGQgPSBuZXcgQ2hpbGRFbGVtZW50
OworICAgIHBhcmVudC5hcHBlbmRDaGlsZChjaGlsZCk7CisKKyAgICBjb250ZW50RG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9ncywg
WydiZWdpbicsICdjb25uZWN0ZWQnLCAnZGlzY29ubmVjdGVkJywgJ2VuZCddKTsKK30sICdEaXNj
b25uZWN0aW5nIGFuIGVsZW1lbnQgd2l0aCBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGlsZSBpdCBo
YXMgYSBjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVl
dWUgbXVzdCByZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9y
ZSB0aGUgcmVtb3ZhbCBjb21wbGV0ZXMnKTsKKwordGVzdF93aXRoX3dpbmRvdygoY29udGVudFdp
bmRvdywgY29udGVudERvY3VtZW50KSA9PiB7CisgICAgY2xhc3MgUGFyZW50RWxlbWVudCBleHRl
bmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1lbnQgeworICAgICAgICBjb25uZWN0ZWRDYWxsYmFj
aygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxvZ3MucHVzaCgnYmVnaW4nKTsKKyAgICAgICAg
ICAgIGNvbnN0IGNoaWxkID0gdGhpcy5maXJzdENoaWxkOworICAgICAgICAgICAgY2hpbGQucmVt
b3ZlKCk7CisgICAgICAgICAgICBsb2dzLnB1c2goJ2VuZCcpOworICAgICAgICB9CisgICAgfQor
ICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdwYXJlbnQtZWxlbWVudCcs
IFBhcmVudEVsZW1lbnQpOworCisgICAgY29uc3QgbG9ncyA9IFtdOworICAgIGNsYXNzIENoaWxk
RWxlbWVudCBleHRlbmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1lbnQgeworICAgICAgICBjb25u
ZWN0ZWRDYWxsYmFjaygpIHsgbG9ncy5wdXNoKCdjb25uZWN0ZWQnKTsgfQorICAgIH0KKyAgICBj
b250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnY2hpbGQtZWxlbWVudCcsIENoaWxk
RWxlbWVudCk7CisKKyAgICBjb25zdCBwYXJlbnQgPSBuZXcgUGFyZW50RWxlbWVudDsKKyAgICBj
b25zdCBjaGlsZCA9IG5ldyBDaGlsZEVsZW1lbnQ7CisgICAgcGFyZW50LmFwcGVuZENoaWxkKGNo
aWxkKTsKKworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Cisg
ICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dzLCBbJ2JlZ2luJywgJ2VuZCcsICdjb25uZWN0ZWQn
XSk7Cit9LCAnRGlzY29ubmVjdGluZyBhbiBlbGVtZW50IHdpdGhvdXQgZGlzY29ubmVjdGVkQ2Fs
bGJhY2sgd2hpbGUgaXQgaGFzIGEgY29ubmVjdGVkQ2FsbGJhY2sgaW4gaXRzIGN1c3RvbSBlbGVt
ZW50IHJlYWN0aW9uIHF1ZXVlIG11c3Qgbm90IHJlc3VsdCBpbiBjb25uZWN0ZWRDYWxsYmFjayBn
ZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSByZW1vdmFsIGNvbXBsZXRlcycpOworCit0ZXN0X3dp
dGhfd2luZG93KChjb250ZW50V2luZG93LCBjb250ZW50RG9jdW1lbnQpID0+IHsKKyAgICBjbGFz
cyBQYXJlbnRFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAg
ICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkKKyAgICAgICAgeworICAgICAgICAgICAgbG9ncy5w
dXNoKCdiZWdpbicpOworICAgICAgICAgICAgY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQodGhpcy5maXJzdENoaWxkKTsKKyAgICAgICAgICAgIGxvZ3MucHVzaCgnZW5kJyk7CisgICAg
ICAgIH0KKyAgICB9CisgICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Bh
cmVudC1lbGVtZW50JywgUGFyZW50RWxlbWVudCk7CisKKyAgICBjb25zdCBsb2dzID0gW107Cisg
ICAgY2xhc3MgQ2hpbGRFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7
CisgICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgeyBsb2dzLnB1c2goJ2Nvbm5lY3RlZCcpOyB9
CisgICAgICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgeyBsb2dzLnB1c2goJ2Rpc2Nvbm5lY3Rl
ZCcpOyB9CisgICAgfQorICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdj
aGlsZC1lbGVtZW50JywgQ2hpbGRFbGVtZW50KTsKKworICAgIGNvbnN0IHBhcmVudCA9IG5ldyBQ
YXJlbnRFbGVtZW50OworICAgIGNvbnN0IGNoaWxkID0gbmV3IENoaWxkRWxlbWVudDsKKyAgICBw
YXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHBhcmVudCk7CisgICAgcGFyZW50LnJlbW92ZSgpOworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMobG9ncywgWydjb25uZWN0ZWQnLCAnYmVnaW4nLCAnZGlzY29ubmVjdGVkJywgJ2Nvbm5l
Y3RlZCcsICdlbmQnXSk7Cit9LCAnQ29ubmVjdGluZyBhIGVsZW1lbnQgd2l0aCBjb25uZWN0ZWRD
YWxsYmFjayB3aGlsZSBpdCBoYXMgYSBkaXNjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9t
IGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCByZXN1bHQgaW4gZGlzY29ubmVjdGVkQ2FsbGJh
Y2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgaW5zZXJ0aW9uIGNvbXBsZXRlcycpOworCit0
ZXN0X3dpdGhfd2luZG93KChjb250ZW50V2luZG93LCBjb250ZW50RG9jdW1lbnQpID0+IHsKKyAg
ICBjbGFzcyBQYXJlbnRFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7
CisgICAgICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkKKyAgICAgICAgeworICAgICAgICAgICAg
bG9ncy5wdXNoKCdiZWdpbicpOworICAgICAgICAgICAgY29udGVudERvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQodGhpcy5maXJzdENoaWxkKTsKKyAgICAgICAgICAgIGxvZ3MucHVzaCgnZW5kJyk7
CisgICAgICAgIH0KKyAgICB9CisgICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZp
bmUoJ3BhcmVudC1lbGVtZW50JywgUGFyZW50RWxlbWVudCk7CisKKyAgICBjb25zdCBsb2dzID0g
W107CisgICAgY2xhc3MgQ2hpbGRFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxl
bWVudCB7CisgICAgICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgeyBsb2dzLnB1c2goJ2Rpc2Nv
bm5lY3RlZCcpOyB9CisgICAgfQorICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVm
aW5lKCdjaGlsZC1lbGVtZW50JywgQ2hpbGRFbGVtZW50KTsKKworICAgIGNvbnN0IHBhcmVudCA9
IG5ldyBQYXJlbnRFbGVtZW50OworICAgIGNvbnN0IGNoaWxkID0gbmV3IENoaWxkRWxlbWVudDsK
KyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHBhcmVudCk7CisgICAgcGFyZW50LnJlbW92ZSgpOworICAgIGFzc2VydF9h
cnJheV9lcXVhbHMobG9ncywgWydiZWdpbicsICdlbmQnLCAnZGlzY29ubmVjdGVkJ10pOworfSwg
J0Nvbm5lY3RpbmcgYW4gZWxlbWVudCB3aXRob3V0IGNvbm5lY3RlZENhbGxiYWNrIHdoaWxlIGl0
IGhhcyBhIGRpc2Nvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlv
biBxdWV1ZSBtdXN0IG5vdCByZXN1bHQgaW4gZGlzY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBp
bnZva2VkIGJlZm9yZSB0aGUgaW5zZXJ0aW9uIGNvbXBsZXRlcycpOworCit0ZXN0X3dpdGhfd2lu
ZG93KChjb250ZW50V2luZG93LCBjb250ZW50RG9jdW1lbnQpID0+IHsKKyAgICBjbGFzcyBQYXJl
bnRFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAgICAgIGNv
bm5lY3RlZENhbGxiYWNrKCkKKyAgICAgICAgeworICAgICAgICAgICAgbG9ncy5wdXNoKCdiZWdp
bicpOworICAgICAgICAgICAgZG9jdW1lbnQuYWRvcHROb2RlKHRoaXMuZmlyc3RDaGlsZCk7Cisg
ICAgICAgICAgICBsb2dzLnB1c2goJ2VuZCcpOworICAgICAgICB9CisgICAgfQorICAgIGNvbnRl
bnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdwYXJlbnQtZWxlbWVudCcsIFBhcmVudEVs
ZW1lbnQpOworCisgICAgY29uc3QgbG9ncyA9IFtdOworICAgIGNsYXNzIENoaWxkRWxlbWVudCBl
eHRlbmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1lbnQgeworICAgICAgICBhZG9wdGVkQ2FsbGJh
Y2soKSB7IGxvZ3MucHVzaCgnYWRvcHRlZCcpOyB9CisgICAgICAgIGNvbm5lY3RlZENhbGxiYWNr
KCkgeyBsb2dzLnB1c2goJ2Nvbm5lY3RlZCcpOyB9CisgICAgfQorICAgIGNvbnRlbnRXaW5kb3cu
Y3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjaGlsZC1lbGVtZW50JywgQ2hpbGRFbGVtZW50KTsKKwor
ICAgIGNvbnN0IHBhcmVudCA9IG5ldyBQYXJlbnRFbGVtZW50OworICAgIGNvbnN0IGNoaWxkID0g
bmV3IENoaWxkRWxlbWVudDsKKyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOworICAgIGNv
bnRlbnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhsb2dzLCBbJ2JlZ2luJywgJ2Nvbm5lY3RlZCcsICdhZG9wdGVkJywgJ2VuZCddKTsK
K30sICdBZG9wdGluZyBhbiBlbGVtZW50IHdpdGggYWRvcHRpbmdDYWxsYmFjayB3aGlsZSBpdCBo
YXMgYSBjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVl
dWUgbXVzdCByZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9y
ZSB0aGUgYWRvcHRpb24gY29tcGxldGVzJyk7CisKK3Rlc3Rfd2l0aF93aW5kb3coKGNvbnRlbnRX
aW5kb3csIGNvbnRlbnREb2N1bWVudCkgPT4geworICAgIGNsYXNzIFBhcmVudEVsZW1lbnQgZXh0
ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKKyAgICAgICAgY29ubmVjdGVkQ2FsbGJh
Y2soKQorICAgICAgICB7CisgICAgICAgICAgICBsb2dzLnB1c2goJ2JlZ2luJyk7CisgICAgICAg
ICAgICBkb2N1bWVudC5hZG9wdE5vZGUodGhpcy5maXJzdENoaWxkKTsKKyAgICAgICAgICAgIGxv
Z3MucHVzaCgnZW5kJyk7CisgICAgICAgIH0KKyAgICB9CisgICAgY29udGVudFdpbmRvdy5jdXN0
b21FbGVtZW50cy5kZWZpbmUoJ3BhcmVudC1lbGVtZW50JywgUGFyZW50RWxlbWVudCk7CisKKyAg
ICBjb25zdCBsb2dzID0gW107CisgICAgY2xhc3MgQ2hpbGRFbGVtZW50IGV4dGVuZHMgY29udGVu
dFdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgeyBsb2dz
LnB1c2goJ2Nvbm5lY3RlZCcpOyB9CisgICAgfQorICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxl
bWVudHMuZGVmaW5lKCdjaGlsZC1lbGVtZW50JywgQ2hpbGRFbGVtZW50KTsKKworICAgIGNvbnN0
IHBhcmVudCA9IG5ldyBQYXJlbnRFbGVtZW50OworICAgIGNvbnN0IGNoaWxkID0gbmV3IENoaWxk
RWxlbWVudDsKKyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOworICAgIGNvbnRlbnREb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhs
b2dzLCBbJ2JlZ2luJywgJ2VuZCcsICdjb25uZWN0ZWQnXSk7Cit9LCAnQWRvcHRpbmcgYW4gZWxl
bWVudCB3aXRob3V0IGFkb3B0aW5nQ2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgY29ubmVjdGVkQ2Fs
bGJhY2sgaW4gaXRzIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3Qgbm90IHJlc3Vs
dCBpbiBjb25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBhZG9wdGlv
biBjb21wbGV0ZXMnKTsKKwordGVzdF93aXRoX3dpbmRvdygoY29udGVudFdpbmRvdywgY29udGVu
dERvY3VtZW50KSA9PiB7CisgICAgY2xhc3MgUGFyZW50RWxlbWVudCBleHRlbmRzIGNvbnRlbnRX
aW5kb3cuSFRNTEVsZW1lbnQgeworICAgICAgICBjb25uZWN0ZWRDYWxsYmFjaygpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGxvZ3MucHVzaCgnYmVnaW4nKTsKKyAgICAgICAgICAgIHRoaXMuZmly
c3RDaGlsZC5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgJ2ZvbycpOworICAgICAgICAgICAgbG9ncy5w
dXNoKCdlbmQnKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBjb250ZW50V2luZG93LmN1c3RvbUVs
ZW1lbnRzLmRlZmluZSgncGFyZW50LWVsZW1lbnQnLCBQYXJlbnRFbGVtZW50KTsKKworICAgIGNv
bnN0IGxvZ3MgPSBbXTsKKyAgICBjbGFzcyBDaGlsZEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2lu
ZG93LkhUTUxFbGVtZW50IHsKKyAgICAgICAgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKCkgeyBs
b2dzLnB1c2goJ2F0dHJpYnV0ZUNoYW5nZWQnKTsgfQorICAgICAgICBjb25uZWN0ZWRDYWxsYmFj
aygpIHsgbG9ncy5wdXNoKCdjb25uZWN0ZWQnKTsgfQorICAgICAgICBzdGF0aWMgZ2V0IG9ic2Vy
dmVkQXR0cmlidXRlcygpIHsgcmV0dXJuIFsndGl0bGUnXTsgfQorICAgIH0KKyAgICBjb250ZW50
V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnY2hpbGQtZWxlbWVudCcsIENoaWxkRWxlbWVu
dCk7CisKKyAgICBjb25zdCBwYXJlbnQgPSBuZXcgUGFyZW50RWxlbWVudDsKKyAgICBjb25zdCBj
aGlsZCA9IG5ldyBDaGlsZEVsZW1lbnQ7CisgICAgcGFyZW50LmFwcGVuZENoaWxkKGNoaWxkKTsK
KyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMobG9ncywgWydiZWdpbicsICdjb25uZWN0ZWQnLCAnYXR0cmlidXRlQ2hh
bmdlZCcsICdlbmQnXSk7Cit9LCAnU2V0dGluZyBhbiBvYnNlcnZlZCBhdHRyaWJ1dGUgb24gYW4g
ZWxlbWVudCB3aXRoIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBjb25u
ZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCBy
ZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgYXR0
cmlidXRlIGNoYW5nZSBjb21wbGV0ZXMnKTsKKwordGVzdF93aXRoX3dpbmRvdygoY29udGVudFdp
bmRvdywgY29udGVudERvY3VtZW50KSA9PiB7CisgICAgY2xhc3MgUGFyZW50RWxlbWVudCBleHRl
bmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1lbnQgeworICAgICAgICBjb25uZWN0ZWRDYWxsYmFj
aygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxvZ3MucHVzaCgnYmVnaW4nKTsKKyAgICAgICAg
ICAgIHRoaXMuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoJ2xhbmcnLCAnZW4nKTsKKyAgICAgICAg
ICAgIGxvZ3MucHVzaCgnZW5kJyk7CisgICAgICAgIH0KKyAgICB9CisgICAgY29udGVudFdpbmRv
dy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3BhcmVudC1lbGVtZW50JywgUGFyZW50RWxlbWVudCk7
CisKKyAgICBjb25zdCBsb2dzID0gW107CisgICAgY2xhc3MgQ2hpbGRFbGVtZW50IGV4dGVuZHMg
Y29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAgICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxs
YmFjaygpIHsgbG9ncy5wdXNoKCdhdHRyaWJ1dGVDaGFuZ2VkJyk7IH0KKyAgICAgICAgY29ubmVj
dGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnY29ubmVjdGVkJyk7IH0KKyAgICAgICAgc3RhdGlj
IGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKSB7IHJldHVybiBbJ3RpdGxlJ107IH0KKyAgICB9Cisg
ICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2NoaWxkLWVsZW1lbnQnLCBD
aGlsZEVsZW1lbnQpOworCisgICAgY29uc3QgcGFyZW50ID0gbmV3IFBhcmVudEVsZW1lbnQ7Cisg
ICAgY29uc3QgY2hpbGQgPSBuZXcgQ2hpbGRFbGVtZW50OworICAgIHBhcmVudC5hcHBlbmRDaGls
ZChjaGlsZCk7CisgICAgY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsK
KyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ3MsIFsnYmVnaW4nLCAnZW5kJywgJ2Nvbm5lY3Rl
ZCddKTsKK30sICdTZXR0aW5nIGFuIG9ic2VydmVkIGF0dHJpYnV0ZSBvbiBhbiBlbGVtZW50IHdp
dGggYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGNvbm5lY3RlZENhbGxi
YWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IG5vdCByZXN1bHQg
aW4gY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgYXR0cmlidXRl
IGNoYW5nZSBjb21wbGV0ZXMnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1Ob3RTdXBwb3J0ZWRF
cnJvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1O
b3RTdXBwb3J0ZWRFcnJvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE2NzI1MTNkYWI2ODky
N2ExNzI2NmI4N2Q4ZjIzNjRmNDk4MGU2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNz
b2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLU5vdFN1cHBvcnRlZEVycm9yLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDMgQEAKKworRkFJTCBGb3JtLXJlbGF0ZWQgb3BlcmF0aW9ucyBhbmQgYXR0cmli
dXRlcyBzaG91bGQgdGhyb3cgTm90U3VwcG9ydGVkRXJyb3JzIGZvciBub24tZm9ybS1hc3NvY2lh
dGVkIGN1c3RvbSBlbGVtZW50cy4gZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMoKScsICdlbGVtZW50LmF0dGFjaElu
dGVybmFscycgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQv
RWxlbWVudEludGVybmFscy1Ob3RTdXBwb3J0ZWRFcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lh
dGVkL0VsZW1lbnRJbnRlcm5hbHMtTm90U3VwcG9ydGVkRXJyb3IuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
MWJlNzE4M2MxZTBhODQ1NmFkZTQ2ZGUzZWNlYTQxNjZmODk4OGQxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtTm90U3VwcG9ydGVkRXJyb3Iu
aHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3Qo
KCkgPT4geworICBjbGFzcyBOb3RGb3JtQXNzb2NpYXRlZEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxl
bWVudCB7fQorICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ215LWVsZW1lbnQxJywgTm90Rm9ybUFz
c29jaWF0ZWRFbGVtZW50KTsKKyAgY29uc3QgZWxlbWVudCA9IG5ldyBOb3RGb3JtQXNzb2NpYXRl
ZEVsZW1lbnQoKTsKKyAgY29uc3QgaSA9IGVsZW1lbnQuYXR0YWNoSW50ZXJuYWxzKCk7CisKKyAg
YXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4gaS5zZXRGb3JtVmFs
dWUoJycpKTsKKyAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4g
aS5mb3JtKTsKKyAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4g
aS5zZXRWYWxpZGl0eSh7fSkpOworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJy
b3InLCAoKSA9PiBpLndpbGxWYWxpZGF0ZSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdOb3RTdXBw
b3J0ZWRFcnJvcicsICgpID0+IGkudmFsaWRpdHkpOworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90
U3VwcG9ydGVkRXJyb3InLCAoKSA9PiBpLnZhbGlkYXRpb25NZXNzYWdlKTsKKyAgYXNzZXJ0X3Ro
cm93c19kb20oJ05vdFN1cHBvcnRlZEVycm9yJywgKCkgPT4gaS5jaGVja1ZhbGlkaXR5KCkpOwor
ICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiBpLnJlcG9ydFZh
bGlkaXR5KCkpOworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9
PiBpLmxhYmVscyk7Cit9LCAnRm9ybS1yZWxhdGVkIG9wZXJhdGlvbnMgYW5kIGF0dHJpYnV0ZXMg
c2hvdWxkIHRocm93IE5vdFN1cHBvcnRlZEVycm9ycycgKworICAgICAnIGZvciBub24tZm9ybS1h
c3NvY2lhdGVkIGN1c3RvbSBlbGVtZW50cy4nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtYWNjZXNzaWJpbGl0eS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1hY2Nlc3Np
YmlsaXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmVlZGQwMmQyMDQ1MGZmYzlmNzU4ODQw
YWViN2JkYWYyYzhmMjdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0Vs
ZW1lbnRJbnRlcm5hbHMtYWNjZXNzaWJpbGl0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaElu
dGVybmFscycgaXMgdW5kZWZpbmVkKQorCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9
IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZp
bmVkKQorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxz
LWFjY2Vzc2liaWxpdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxz
LWFjY2Vzc2liaWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDczMjBiYjg3OTgyMGJmZGU0Nzc5Mzdm
MzU5ZDFlMTEzMmFjNzRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0Vs
ZW1lbnRJbnRlcm5hbHMtYWNjZXNzaWJpbGl0eS5odG1sCkBAIC0wLDAgKzEsNzggQEAKKzwhRE9D
VFlQRSBIVE1MPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2NsYXNzIFRlc3RFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQgewor
ICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcigpOworICAgIHRoaXMuX2ludGVybmFscyA9IHRo
aXMuYXR0YWNoSW50ZXJuYWxzKCk7CisgIH0KKworICBnZXQgaW50ZXJuYWxzKCkgeworICAgIHJl
dHVybiB0aGlzLl9pbnRlcm5hbHM7CisgIH0KKworICBzZXQgaW50ZXJuYWxzKHZhbCkgeworICAg
IHRocm93ICJDYW4ndCBzZXQgaW50ZXJuYWxzISI7CisgIH0KK30KK2N1c3RvbUVsZW1lbnRzLmRl
ZmluZSgidGVzdC1lbGVtZW50IiwgVGVzdEVsZW1lbnQpOworPC9zY3JpcHQ+CisKKzx0ZXN0LWVs
ZW1lbnQgaWQ9ICJ0ZXN0RWxlbWVudCI+PC90ZXN0LWVsZW1lbnQ+CisKKzxzY3JpcHQ+Citjb25z
dCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RFbGVtZW50Iik7Citjb25z
dCBwcm9wZXJ0aWVzID0gWworICAicm9sZSIsCisgICJhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1l
bnQiLAorICAiYXJpYUF0b21pYyIsCisgICJhcmlhQXV0b0NvbXBsZXRlIiwKKyAgImFyaWFCdXN5
IiwKKyAgImFyaWFDaGVja2VkIiwKKyAgImFyaWFDb2xDb3VudCIsCisgICJhcmlhQ29sSW5kZXgi
LAorICAiYXJpYUNvbFNwYW4iLAorICAiYXJpYUNvbnRyb2xzRWxlbWVudHMiLAorICAiYXJpYUN1
cnJlbnQiLAorICAiYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMiLAorICAiYXJpYURldGFpbHNFbGVt
ZW50cyIsCisgICJhcmlhRGlzYWJsZWQiLAorICAiYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQiLAor
ICAiYXJpYUV4cGFuZGVkIiwKKyAgImFyaWFGbG93VG9FbGVtZW50cyIsCisgICJhcmlhSGFzUG9w
dXAiLAorICAiYXJpYUhpZGRlbiIsCisgICJhcmlhS2V5U2hvcnRjdXRzIiwKKyAgImFyaWFMYWJl
bCIsCisgICJhcmlhTGFiZWxsZWRCeUVsZW1lbnRzIiwKKyAgImFyaWFMZXZlbCIsCisgICJhcmlh
TGl2ZSIsCisgICJhcmlhTW9kYWwiLAorICAiYXJpYU11bHRpTGluZSIsCisgICJhcmlhTXVsdGlT
ZWxlY3RhYmxlIiwKKyAgImFyaWFPcmllbnRhdGlvbiIsCisgICJhcmlhT3duc0VsZW1lbnRzIiwK
KyAgImFyaWFQbGFjZWhvbGRlciIsCisgICJhcmlhUG9zSW5TZXQiLAorICAiYXJpYVByZXNzZWQi
LAorICAiYXJpYVJlYWRPbmx5IiwKKyAgImFyaWFSZWxldmFudCIsCisgICJhcmlhUmVxdWlyZWQi
LAorICAiYXJpYVJvbGVEZXNjcmlwdGlvbiIsCisgICJhcmlhUm93Q291bnQiLAorICAiYXJpYVJv
d0luZGV4IiwKKyAgImFyaWFSb3dTcGFuIiwKKyAgImFyaWFTZWxlY3RlZCIsCisgICJhcmlhU29y
dCIsCisgICJhcmlhVmFsdWVNYXgiLAorICAiYXJpYVZhbHVlTWluIiwKKyAgImFyaWFWYWx1ZU5v
dyIsCisgICJhcmlhVmFsdWVUZXh0IgorXTsKK2ZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVy
dGllcykgeworICB0ZXN0KCgpID0+IHsKKyAgICBhc3NlcnRfaW5oZXJpdHMoZWxlbWVudC5pbnRl
cm5hbHMsIHByb3BlcnR5KTsKKyAgfSwgcHJvcGVydHkgKyAiIGlzIGRlZmluZWQgaW4gRWxlbWVu
dEludGVybmFscyIpOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0
ZWQvRWxlbWVudEludGVybmFscy1sYWJlbHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lh
dGVkL0VsZW1lbnRJbnRlcm5hbHMtbGFiZWxzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYmVj
NjQwOTllYTZmN2JjMTNkOGYxNjhkNjgxYjNhMGFjYzdkYzJiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtbGFiZWxzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaElu
dGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywg
J3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5
cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVk
KQorCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5cGVFcnJvcjogdGhpcy5hdHRh
Y2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMo
KScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorCitGQUlMIExBQkVMIGFz
c29jaWF0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8bXktY29udHJv
bD48L215LWNvbnRyb2w+IGJ1dCBnb3QgbnVsbAorRkFJTCBMQUJFTCBjbGljayBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0
ZWQvRWxlbWVudEludGVybmFscy1sYWJlbHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVt
ZW50SW50ZXJuYWxzLWxhYmVscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0ZTBhMDQ1N2VmMzViYmYzZGU3
ZTJjZmYwOTY1MGE1YjQ4MWI1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0
ZWQvRWxlbWVudEludGVybmFscy1sYWJlbHMuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzx0aXRsZT5sYWJlbHMgYXR0cmlidXRlIG9mIEVsZW1lbnRJbnRlcm5hbHMsIGFu
ZCBsYWJlbCBhc3NvY2lhdGlvbjwvdGl0bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+
Cis8c2NyaXB0PgorY2xhc3MgTXlDb250cm9sIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICBzdGF0
aWMgZ2V0IGZvcm1Bc3NvY2lhdGVkKCkgeyByZXR1cm4gdHJ1ZTsgfQorCisgIGNvbnN0cnVjdG9y
KCkgeworICAgIHN1cGVyKCk7CisgICAgdGhpcy5pbnRlcm5hbHNfID0gdGhpcy5hdHRhY2hJbnRl
cm5hbHMoKTsKKyAgfQorICBnZXQgaSgpIHsgcmV0dXJuIHRoaXMuaW50ZXJuYWxzXzsgfQorfQor
Y3VzdG9tRWxlbWVudHMuZGVmaW5lKCdteS1jb250cm9sJywgTXlDb250cm9sKTsKK2NvbnN0IGNv
bnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb250YWluZXInKTsKKwordGVzdCgo
KSA9PiB7CisgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnPGxhYmVsPjxzcGFuPjxteS1jb250cm9s
PjwvbXktY29udHJvbD48L3NwYW4+PC9sYWJlbD4nOworICBsZXQgbGFiZWwgPSBjb250YWluZXIu
cXVlcnlTZWxlY3RvcignbGFiZWwnKTsKKyAgbGV0IGNvbnRyb2wgPSBjb250YWluZXIucXVlcnlT
ZWxlY3RvcignbXktY29udHJvbCcpOworICBhc3NlcnRfZXF1YWxzKGxhYmVsLmNvbnRyb2wsIGNv
bnRyb2wpOworICBhc3NlcnRfdHJ1ZShjb250cm9sLmkubGFiZWxzIGluc3RhbmNlb2YgTm9kZUxp
c3QpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNvbnRyb2wuaS5sYWJlbHMsIFtsYWJlbF0pOwor
CisgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnPGxhYmVsIGZvcj0ibWMiPjwvbGFiZWw+PGZvcm0+
PG15LWNvbnRyb2wgaWQ9Im1jIj48L215LWNvbnRyb2w+PC9mb3JtPic7CisgIGxhYmVsID0gY29u
dGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk7CisgIGNvbnRyb2wgPSBjb250YWluZXIucXVl
cnlTZWxlY3RvcignbXktY29udHJvbCcpOworICBhc3NlcnRfZXF1YWxzKGxhYmVsLmNvbnRyb2ws
IGNvbnRyb2wpOworICBhc3NlcnRfZXF1YWxzKGxhYmVsLmZvcm0sIGNvbnRyb2wuaS5mb3JtKTsK
KyAgYXNzZXJ0X2FycmF5X2VxdWFscyhjb250cm9sLmkubGFiZWxzLCBbbGFiZWxdKTsKKworICBj
b250YWluZXIuaW5uZXJIVE1MID0gJzxsYWJlbCBmb3I9Im1jIj48L2xhYmVsPjxsYWJlbCBmb3I9
Im1jIj48bXktY29udHJvbCBpZD0ibWMiPic7CisgIGNvbnN0IGxhYmVscyA9IGNvbnRhaW5lci5x
dWVyeVNlbGVjdG9yQWxsKCdsYWJlbCcpOworICBjb250cm9sID0gY29udGFpbmVyLnF1ZXJ5U2Vs
ZWN0b3IoJ215LWNvbnRyb2wnKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhjb250cm9sLmkubGFi
ZWxzLCBsYWJlbHMpOworfSwgJ0xBQkVMIGFzc29jaWF0aW9uJyk7CisKK3Rlc3QoKCkgPT4gewor
ICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxsYWJlbCBmb3I9Im1jIj48L2xhYmVsPjxmb3JtPjxt
eS1jb250cm9sIGlkPSJtYyI+PC9teS1jb250cm9sPjwvZm9ybT4nOworICBjb25zdCBjb250cm9s
ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ215LWNvbnRyb2wnKTsKKyAgbGV0IGNsaWNrQ291
bnQgPSAwOworICBjb250cm9sLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9PiB7ICsrY2xp
Y2tDb3VudDsgfSk7CisgIGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdsYWJlbCcpLmNsaWNrKCk7
CisgIGFzc2VydF9lcXVhbHMoY2xpY2tDb3VudCwgMSk7Cit9LCAnTEFCRUwgY2xpY2snKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJ
bnRlcm5hbHMtc2V0Rm9ybVZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9F
bGVtZW50SW50ZXJuYWxzLXNldEZvcm1WYWx1ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E4
ZDk1NmEyMjU2MTUyMDhjOGNiMTZhMzhkZmE2MzE4OGRjNmQ1MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLXNldEZvcm1WYWx1ZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyMCBAQAorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMu
YXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJu
YWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVT
U0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1
bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5h
bHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlz
LmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJy
b3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0
YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0NP
TlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJu
YWxzJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRh
Y2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMo
KScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdF
OiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVm
aW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0
YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjog
dGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorCisKK0hh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVy
bmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCisKK1BBU1MgU2luZ2xlIHZhbHVlIC0g
bmFtZSBpcyBtaXNzaW5nIAorRkFJTCBTaW5nbGUgdmFsdWUgLSBlbXB0eSBuYW1lIGV4aXN0cyB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNl
dEZvcm1WYWx1ZScpCitGQUlMIFNpbmdsZSB2YWx1ZSAtIE5vbi1lbXB0eSBuYW1lIGV4aXN0cyB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNl
dEZvcm1WYWx1ZScpCitGQUlMIE51bGwgdmFsdWUgc2hvdWxkIHN1Ym1pdCBub3RoaW5nIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9y
bVZhbHVlJykKK0ZBSUwgTXVsdGlwbGUgdmFsdWVzIC0gbmFtZSBjb250ZW50IGF0dHJpYnV0ZSBp
cyBpZ25vcmVkIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmlu
dGVybmFsc18uc2V0Rm9ybVZhbHVlJykKK0ZBSUwgc2V0Rm9ybVZhbHVlIHdpdGggYW4gZW1wdHkg
Rm9ybURhdGEgc2hvdWxkIHN1Ym1pdCBub3RoaW5nIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtc2V0Rm9ybVZhbHVlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1zZXRGb3JtVmFsdWUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yOGNmM2VjM2QwYTYxMTdhZmRlMDE0MjUzYTlhNjhmOGRlMGViN2YyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtc2V0Rm9y
bVZhbHVlLmh0bWwKQEAgLTAsMCArMSwxMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0iY29udGFp
bmVyIj48L2Rpdj4KKzxzY3JpcHQ+CitjbGFzcyBNeUNvbnRyb2wgZXh0ZW5kcyBIVE1MRWxlbWVu
dCB7CisgIHN0YXRpYyBnZXQgZm9ybUFzc29jaWF0ZWQoKSB7IHJldHVybiB0cnVlOyB9CisKKyAg
Y29uc3RydWN0b3IoKSB7CisgICAgc3VwZXIoKTsKKyAgICB0aGlzLmludGVybmFsc18gPSB0aGlz
LmF0dGFjaEludGVybmFscygpOworICAgIHRoaXMudmFsdWVfID0gJyc7CisgIH0KKworICBnZXQg
dmFsdWUoKSB7CisgICAgcmV0dXJuIHRoaXMudmFsdWVfOworICB9CisgIHNldCB2YWx1ZSh2KSB7
CisgICAgdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSh2KTsKKyAgICB0aGlzLnZhbHVlXyA9
IHY7CisgIH0KKyAgc2V0VmFsdWVzKG5hbWVWYWx1ZXMpIHsKKyAgICBjb25zdCBmb3JtRGF0YSA9
IG5ldyBGb3JtRGF0YSgpOworICAgIGZvciAobGV0IHAgb2YgbmFtZVZhbHVlcykgeworICAgICAg
Zm9ybURhdGEuYXBwZW5kKHBbMF0sIHBbMV0pOworICAgIH0KKyAgICB0aGlzLmludGVybmFsc18u
c2V0Rm9ybVZhbHVlKGZvcm1EYXRhKTsKKyAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdt
eS1jb250cm9sJywgTXlDb250cm9sKTsKK2NvbnN0ICQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
LmJpbmQoZG9jdW1lbnQpOworCitmdW5jdGlvbiBzdWJtaXRQcm9taXNlKHQpIHsKKyAgcmV0dXJu
IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICBjb25zdCBpZnJhbWUgPSAk
KCdpZnJhbWUnKTsKKyAgICBpZnJhbWUub25sb2FkID0gKCkgPT4gcmVzb2x2ZShpZnJhbWUuY29u
dGVudFdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpOworICAgIGlmcmFtZS5vbmVycm9yID0gKCkgPT4g
cmVqZWN0KG5ldyBFcnJvcignaWZyYW1lIG9uZXJyb3IgZmlyZWQnKSk7CisgICAgJCgnZm9ybScp
LnN1Ym1pdCgpOworICB9KTsKK30KKworcHJvbWlzZV90ZXN0KHQgPT4geworICAkKCcjY29udGFp
bmVyJykuaW5uZXJIVE1MID0gJzxmb3JtIGFjdGlvbj0iL2NvbW1vbi9ibGFuay5odG1sIiB0YXJn
ZXQ9ImlmMSI+JyArCisgICAgICAnPGlucHV0IG5hbWU9bmFtZS1wZDEgdmFsdWU9InZhbHVlLXBk
MSI+JyArCisgICAgICAnPG15LWNvbnRyb2w+PC9teS1jb250cm9sPicgKworICAgICAgJzwvZm9y
bT4nICsKKyAgICAgICc8aWZyYW1lIG5hbWU9ImlmMSI+PC9pZnJhbWU+JzsKKyAgcmV0dXJuIHN1
Ym1pdFByb21pc2UodCkudGhlbihxdWVyeSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhxdWVyeSwg
Jz9uYW1lLXBkMT12YWx1ZS1wZDEnKTsKKyAgfSk7Cit9LCAnU2luZ2xlIHZhbHVlIC0gbmFtZSBp
cyBtaXNzaW5nJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgJCgnI2NvbnRhaW5lcicpLmlu
bmVySFRNTCA9ICc8Zm9ybSBhY3Rpb249Ii9jb21tb24vYmxhbmsuaHRtbCIgdGFyZ2V0PSJpZjEi
PicgKworICAgICAgJzxpbnB1dCBuYW1lPW5hbWUtcGQxIHZhbHVlPSJ2YWx1ZS1wZDEiPicgKwor
ICAgICAgJzxteS1jb250cm9sIG5hbWU9IiI+PC9teS1jb250cm9sPicgKworICAgICAgJzxpbnB1
dCBuYW1lPW5hbWUtcGQyIHZhbHVlPSJ2YWx1ZS1wZDIiPicgKworICAgICAgJzwvZm9ybT4nICsK
KyAgICAgICc8aWZyYW1lIG5hbWU9ImlmMSI+PC9pZnJhbWU+JzsKKyAgJCgnbXktY29udHJvbCcp
LnZhbHVlID0gJ3ZhbHVlLWNlMSc7CisgIHJldHVybiBzdWJtaXRQcm9taXNlKHQpLnRoZW4ocXVl
cnkgPT4geworICAgIGFzc2VydF9lcXVhbHMocXVlcnksICc/bmFtZS1wZDE9dmFsdWUtcGQxJm5h
bWUtcGQyPXZhbHVlLXBkMicpOworICB9KTsKK30sICdTaW5nbGUgdmFsdWUgLSBlbXB0eSBuYW1l
IGV4aXN0cycpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICQoJyNjb250YWluZXInKS5pbm5l
ckhUTUwgPSAnPGZvcm0gYWN0aW9uPSIvY29tbW9uL2JsYW5rLmh0bWwiIHRhcmdldD0iaWYxIiBh
Y2NlcHQtY2hhcnNldD11dGYtOD4nICsKKyAgICAgICc8aW5wdXQgbmFtZT1uYW1lLXBkMSB2YWx1
ZT0idmFsdWUtcGQxIj4nICsKKyAgICAgICc8bXktY29udHJvbCBuYW1lPSJuYW1lLWNlMSI+PC9t
eS1jb250cm9sPicgKworICAgICAgJzxteS1jb250cm9sIG5hbWU9Im5hbWUtdXN2Ij48L215LWNv
bnRyb2w+JyArCisgICAgICAnPG15LWNvbnRyb2wgbmFtZT0ibmFtZS1maWxlIj48L215LWNvbnRy
b2w+JyArCisgICAgICAnPC9mb3JtPicgKworICAgICAgJzxpZnJhbWUgbmFtZT0iaWYxIj48L2lm
cmFtZT4nOworICBjb25zdCBVU1ZfSU5QVVQgPSAnYWJjXHVEQzAwXHVEODAwZGVmJzsKKyAgY29u
c3QgVVNWX09VVFBVVCA9ICdhYmNcdUZGRkRcdUZGRkRkZWYnOworICBjb25zdCBGSUxFX05BTUUg
PSAndGVzdF9maWxlLnR4dCc7CisgICQoJ1tuYW1lPW5hbWUtdXN2XScpLnZhbHVlID0gVVNWX0lO
UFVUOworICAkKCdbbmFtZT1uYW1lLWZpbGVdJykudmFsdWUgPSBuZXcgRmlsZShbJ2ZpbGUgY29u
dGVudCddLCBGSUxFX05BTUUpOworICByZXR1cm4gc3VibWl0UHJvbWlzZSh0KS50aGVuKHF1ZXJ5
ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHF1ZXJ5LCBgP25hbWUtcGQxPXZhbHVlLXBkMSZuYW1l
LXVzdj0ke2VuY29kZVVSSUNvbXBvbmVudChVU1ZfT1VUUFVUKX0mbmFtZS1maWxlPSR7RklMRV9O
QU1FfWApOworICB9KTsKK30sICdTaW5nbGUgdmFsdWUgLSBOb24tZW1wdHkgbmFtZSBleGlzdHMn
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAkKCcjY29udGFpbmVyJykuaW5uZXJIVE1MID0g
Jzxmb3JtIGFjdGlvbj0iL2NvbW1vbi9ibGFuay5odG1sIiB0YXJnZXQ9ImlmMSI+JyArCisgICAg
ICAnPGlucHV0IG5hbWU9bmFtZS1wZDEgdmFsdWU9InZhbHVlLXBkMSI+JyArCisgICAgICAnPG15
LWNvbnRyb2wgbmFtZT0ibmFtZS1jZTEiPjwvbXktY29udHJvbD4nICsKKyAgICAgICc8bXktY29u
dHJvbCBuYW1lPSJuYW1lLWNlMiI+PC9teS1jb250cm9sPicgKworICAgICAgJzwvZm9ybT4nICsK
KyAgICAgICc8aWZyYW1lIG5hbWU9ImlmMSI+PC9pZnJhbWU+JzsKKyAgJCgnbXktY29udHJvbCcp
LnZhbHVlID0gbnVsbDsKKyAgcmV0dXJuIHN1Ym1pdFByb21pc2UodCkudGhlbihxdWVyeSA9PiB7
CisgICAgYXNzZXJ0X2VxdWFscyhxdWVyeSwgJz9uYW1lLXBkMT12YWx1ZS1wZDEnKTsKKyAgfSk7
Cit9LCAnTnVsbCB2YWx1ZSBzaG91bGQgc3VibWl0IG5vdGhpbmcnKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICAkKCcjY29udGFpbmVyJykuaW5uZXJIVE1MID0gJzxmb3JtIGFjdGlvbj0iL2Nv
bW1vbi9ibGFuay5odG1sIiB0YXJnZXQ9ImlmMSI+JyArCisgICAgICAnPGlucHV0IG5hbWU9bmFt
ZS1wZDEgdmFsdWU9InZhbHVlLXBkMSI+JyArCisgICAgICAnPG15LWNvbnRyb2wgbmFtZT1uYW1l
LWNlMT48L215LWNvbnRyb2w+JyArCisgICAgICAnPC9mb3JtPicgKworICAgICAgJzxpZnJhbWUg
bmFtZT0iaWYxIj48L2lmcmFtZT4nOworICAkKCdteS1jb250cm9sJykudmFsdWUgPSAndmFsdWUt
Y2UxJzsKKyAgJCgnbXktY29udHJvbCcpLnNldFZhbHVlcyhbXSk7CisgICQoJ215LWNvbnRyb2wn
KS5zZXRWYWx1ZXMoW1snc3ViMScsICdzdWJ2YWx1ZTEnXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWydzdWIyJywgJ3N1YnZhbHVlMiddLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbJ3N1YjInLCAnc3VidmFsdWUzJ11dKTsKKyAgcmV0dXJuIHN1Ym1pdFByb21pc2UodCku
dGhlbihxdWVyeSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhxdWVyeSwgJz9uYW1lLXBkMT12YWx1
ZS1wZDEmc3ViMT1zdWJ2YWx1ZTEmc3ViMj1zdWJ2YWx1ZTImc3ViMj1zdWJ2YWx1ZTMnKTsKKyAg
fSk7Cit9LCAnTXVsdGlwbGUgdmFsdWVzIC0gbmFtZSBjb250ZW50IGF0dHJpYnV0ZSBpcyBpZ25v
cmVkJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgJCgnI2NvbnRhaW5lcicpLmlubmVySFRN
TCA9ICc8Zm9ybSBhY3Rpb249Ii9jb21tb24vYmxhbmsuaHRtbCIgdGFyZ2V0PSJpZjEiPicgKwor
ICAgICAgJzxpbnB1dCBuYW1lPW5hbWUtcGQxIHZhbHVlPSJ2YWx1ZS1wZDEiPicgKworICAgICAg
JzxteS1jb250cm9sIG5hbWU9bmFtZS1jZTE+PC9teS1jb250cm9sPicgKworICAgICAgJzwvZm9y
bT4nICsKKyAgICAgICc8aWZyYW1lIG5hbWU9ImlmMSI+PC9pZnJhbWU+JzsKKyAgJCgnbXktY29u
dHJvbCcpLnZhbHVlID0gJ3ZhbHVlLWNlMSc7CisgICQoJ215LWNvbnRyb2wnKS5zZXRWYWx1ZXMo
W10pOworICByZXR1cm4gc3VibWl0UHJvbWlzZSh0KS50aGVuKHF1ZXJ5ID0+IHsKKyAgICBhc3Nl
cnRfZXF1YWxzKHF1ZXJ5LCAnP25hbWUtcGQxPXZhbHVlLXBkMScpOworICB9KTsKK30sICdzZXRG
b3JtVmFsdWUgd2l0aCBhbiBlbXB0eSBGb3JtRGF0YSBzaG91bGQgc3VibWl0IG5vdGhpbmcnKTsK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5h
bHMtdmFsaWRhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudElu
dGVybmFscy12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTkxMDY4ZGM4NmNj
ZTlmN2E0ZDRmOWY5N2Y0NDI5OWRkMGJmZDAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1h
c3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtdmFsaWRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyMCBAQAorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJu
YWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhp
cy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVy
cm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0
dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitD
T05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVy
bmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0
YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
KCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FH
RTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRl
ZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0
dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorIAorCitIYXJuZXNzIEVycm9yIChGQUlMKSwg
bWVzc2FnZSA9IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycg
aXMgdW5kZWZpbmVkKQorCitGQUlMIHdpbGxWYWxpZGF0ZSB0aGlzLmF0dGFjaEludGVybmFscyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0
YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitGQUlMIHZhbGlkaXR5IGFuZCBzZXRWYWxpZGl0
eSgpIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdjb250cm9sLmkudmFs
aWRpdHknKQorRkFJTCAiYW5jaG9yIiBhcmd1bWVudCBvZiBzZXRWYWxpZGl0eSgpIGFzc2VydF90
aHJvd3NfZG9tOiBOb3QgYSBkZXNjZW5kYW50IGZ1bmN0aW9uICIoKSA9PiB7CisgICAgY29udHJv
bC5pLnNldFZhbGlkaXR5KGZsYWdzLCBtLCBkb2N1bWVudC5ib2R5KTsKKyAgfSIgdGhyZXcgb2Jq
ZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdj
b250cm9sLmkuc2V0VmFsaWRpdHknKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTm90Rm91
bmRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQg
OAorRkFJTCBjaGVja1ZhbGlkaXR5KCkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ2NvbnRyb2wuaS5jaGVja1ZhbGlkaXR5JykKK0ZBSUwgcmVwb3J0VmFsaWRpdHkoKSB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnY29udHJvbC5pLnJlcG9ydFZh
bGlkaXR5JykKK0ZBSUwgQ3VzdG9tIGNvbnRyb2wgYWZmZWN0cyB2YWxpZGF0aW9uIGF0IHRoZSBv
d25lciBmb3JtIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdjb250cm9s
LmkuY2hlY2tWYWxpZGl0eScpCitGQUlMIEN1c3RvbSBjb250cm9sIGFmZmVjdHMgOnZhbGlkIDpp
bnZhbGlkIGZvciBGT1JNIGFuZCBGSUVMRFNFVCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5h
bHMtdmFsaWRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMt
dmFsaWRhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2N2U5NjQ2NWJkNjI2NzUwZWI1MGViYTE3NjYy
MjhlZWNhYjk2NDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVu
dEludGVybmFscy12YWxpZGF0aW9uLmh0bWwKQEAgLTAsMCArMSwyNTUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHRpdGxlPkZvcm0gdmFsaWRhdGlvbiBmZWF0dXJlcyBvZiBFbGVtZW50SW50ZXJuYWxz
LCBhbmQgOnZhbGlkIDppbnZhbGlkIHBzZXVkbyBjbGFzc2VzPC90aXRsZT4KKzxib2R5PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
Y29udGFpbmVyIj48L2Rpdj4KKzxzY3JpcHQ+CitjbGFzcyBNeUNvbnRyb2wgZXh0ZW5kcyBIVE1M
RWxlbWVudCB7CisgIHN0YXRpYyBnZXQgZm9ybUFzc29jaWF0ZWQoKSB7IHJldHVybiB0cnVlOyB9
CisKKyAgY29uc3RydWN0b3IoKSB7CisgICAgc3VwZXIoKTsKKyAgICB0aGlzLmludGVybmFsc18g
PSB0aGlzLmF0dGFjaEludGVybmFscygpOworICB9CisgIGdldCBpKCkgeyByZXR1cm4gdGhpcy5p
bnRlcm5hbHNfOyB9Cit9CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ215LWNvbnRyb2wnLCBNeUNv
bnRyb2wpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgY29udHJvbCA9IG5ldyBNeUNvbnRyb2wo
KTsKKyAgYXNzZXJ0X3RydWUoY29udHJvbC5pLndpbGxWYWxpZGF0ZSwgJ2RlZmF1bHQgdmFsdWUg
aXMgdHJ1ZScpOworCisgIGNvbnN0IGRhdGFsaXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGF0YWxpc3QnKTsKKyAgZGF0YWxpc3QuYXBwZW5kQ2hpbGQoY29udHJvbCk7CisgIGFzc2VydF9m
YWxzZShjb250cm9sLmkud2lsbFZhbGlkYXRlLCAnZmFsc2UgaW4gREFUQUxJU1QnKTsKKworICBj
b25zdCBmaWVsZHNldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ZpZWxkc2V0Jyk7CisgIGZp
ZWxkc2V0LmFwcGVuZENoaWxkKGNvbnRyb2wpOworICBhc3NlcnRfdHJ1ZShjb250cm9sLmkud2ls
bFZhbGlkYXRlLCAnSW4gZW5hYmxlZCBGSUVMRFNFVCcpOworICBmaWVsZHNldC5kaXNhYmxlZCA9
IHRydWU7CisgIGFzc2VydF9mYWxzZShjb250cm9sLmkud2lsbFZhbGlkYXRlLCAnSW4gZGlzYWJs
ZWQgRklFTERTRVQnKTsKKyAgZmllbGRzZXQucmVtb3ZlQ2hpbGQoY29udHJvbCk7CisKKyAgY29u
dHJvbC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJycpOworICBhc3NlcnRfZmFsc2UoY29udHJv
bC5pLndpbGxWYWxpZGF0ZSwgJ3dpdGggZGlzYWJsZWQgYXR0cmlidXRlJyk7Cit9LCAnd2lsbFZh
bGlkYXRlJyk7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBjb250cm9sID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnbXktY29udHJvbCcpOworICBjb25zdCB2YWxpZGl0eSA9IGNvbnRyb2wuaS52
YWxpZGl0eTsKKyAgYXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LnZhbHVlTWlzc2luZywgJ2RlZmF1bHQg
dmFsdWVNaXNzaW5nJyk7CisgIGFzc2VydF9mYWxzZSh2YWxpZGl0eS50eXBlTWlzbWF0Y2gsICdk
ZWZhdWx0IHR5cGVNaXNtYXRjaCcpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkucGF0dGVybk1p
c21hdGNoLCAnZGVmYXVsdCBwYXR0ZXJuTWlzbWF0Y2gnKTsKKyAgYXNzZXJ0X2ZhbHNlKHZhbGlk
aXR5LnRvb0xvbmcsICdkZWZhdWx0IHRvb0xvbmcnKTsKKyAgYXNzZXJ0X2ZhbHNlKHZhbGlkaXR5
LnRvb1Nob3J0LCAnZGVmYXVsdCB0b29TaG9ydCcpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHku
cmFuZ2VVbmRlcmZsb3csICdkZWZhdWx0IHJhbmdlVW5kZXJmbG93Jyk7CisgIGFzc2VydF9mYWxz
ZSh2YWxpZGl0eS5yYW5nZU92ZXJmbG93LCAnZGVmYXVsdCByYW5nZU92ZXJmbG93Jyk7CisgIGFz
c2VydF9mYWxzZSh2YWxpZGl0eS5zdGVwTWlzbWF0Y2gsICdkZWZhdWx0IHN0ZXBNaXNtYXRjaCcp
OworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkuYmFkSW5wdXQsICdkZWZhdWx0IGJhZElucHV0Jyk7
CisgIGFzc2VydF9mYWxzZSh2YWxpZGl0eS5jdXN0b21FcnJvciwgJ2RlZmF1bHQgY3VzdG9tRXJy
b3InKTsKKyAgYXNzZXJ0X3RydWUodmFsaWRpdHkudmFsaWQsICdkZWZhdWx0IHZhbGlkJyk7CisK
KyAgY29udHJvbC5pLnNldFZhbGlkaXR5KHt2YWx1ZU1pc3Npbmc6IHRydWV9LCAndmFsdWVNaXNz
aW5nIG1lc3NhZ2UnKTsKKyAgYXNzZXJ0X3RydWUodmFsaWRpdHkudmFsdWVNaXNzaW5nKTsKKyAg
YXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LnZhbGlkKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sLmku
dmFsaWRhdGlvbk1lc3NhZ2UsICd2YWx1ZU1pc3NpbmcgbWVzc2FnZScpOworCisgIGNvbnRyb2wu
aS5zZXRWYWxpZGl0eSh7dHlwZU1pc21hdGNoOiB0cnVlfSwgJ3R5cGVNaXNtYXRjaCBtZXNzYWdl
Jyk7CisgIGFzc2VydF90cnVlKHZhbGlkaXR5LnR5cGVNaXNtYXRjaCk7CisgIGFzc2VydF9mYWxz
ZSh2YWxpZGl0eS52YWx1ZU1pc3NpbmcpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkudmFsaWQp
OworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2wuaS52YWxpZGF0aW9uTWVzc2FnZSwgJ3R5cGVNaXNt
YXRjaCBtZXNzYWdlJyk7CisKKyAgY29udHJvbC5pLnNldFZhbGlkaXR5KHtwYXR0ZXJuTWlzbWF0
Y2g6IHRydWV9LCAncGF0dGVybk1pc21hdGNoIG1lc3NhZ2UnKTsKKyAgYXNzZXJ0X3RydWUodmFs
aWRpdHkucGF0dGVybk1pc21hdGNoKTsKKyAgYXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LnZhbGlkKTsK
KyAgYXNzZXJ0X2VxdWFscyhjb250cm9sLmkudmFsaWRhdGlvbk1lc3NhZ2UsICdwYXR0ZXJuTWlz
bWF0Y2ggbWVzc2FnZScpOworCisgIGNvbnRyb2wuaS5zZXRWYWxpZGl0eSh7dG9vTG9uZzogdHJ1
ZX0sICd0b29Mb25nIG1lc3NhZ2UnKTsKKyAgYXNzZXJ0X3RydWUodmFsaWRpdHkudG9vTG9uZyk7
CisgIGFzc2VydF9mYWxzZSh2YWxpZGl0eS52YWxpZCk7CisgIGFzc2VydF9lcXVhbHMoY29udHJv
bC5pLnZhbGlkYXRpb25NZXNzYWdlLCAndG9vTG9uZyBtZXNzYWdlJyk7CisKKyAgY29udHJvbC5p
LnNldFZhbGlkaXR5KHt0b29TaG9ydDogdHJ1ZX0sICd0b29TaG9ydCBtZXNzYWdlJyk7CisgIGFz
c2VydF90cnVlKHZhbGlkaXR5LnRvb1Nob3J0KTsKKyAgYXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LnZh
bGlkKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sLmkudmFsaWRhdGlvbk1lc3NhZ2UsICd0b29T
aG9ydCBtZXNzYWdlJyk7CisKKyAgY29udHJvbC5pLnNldFZhbGlkaXR5KHtyYW5nZVVuZGVyZmxv
dzogdHJ1ZX0sICdyYW5nZVVuZGVyZmxvdyBtZXNzYWdlJyk7CisgIGFzc2VydF90cnVlKHZhbGlk
aXR5LnJhbmdlVW5kZXJmbG93KTsKKyAgYXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LnZhbGlkKTsKKyAg
YXNzZXJ0X2VxdWFscyhjb250cm9sLmkudmFsaWRhdGlvbk1lc3NhZ2UsICdyYW5nZVVuZGVyZmxv
dyBtZXNzYWdlJyk7CisKKyAgY29udHJvbC5pLnNldFZhbGlkaXR5KHtyYW5nZU92ZXJmbG93OiB0
cnVlfSwgJ3JhbmdlT3ZlcmZsb3cgbWVzc2FnZScpOworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0eS5y
YW5nZU92ZXJmbG93KTsKKyAgYXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LnZhbGlkKTsKKyAgYXNzZXJ0
X2VxdWFscyhjb250cm9sLmkudmFsaWRhdGlvbk1lc3NhZ2UsICdyYW5nZU92ZXJmbG93IG1lc3Nh
Z2UnKTsKKworICBjb250cm9sLmkuc2V0VmFsaWRpdHkoe3N0ZXBNaXNtYXRjaDogdHJ1ZX0sICdz
dGVwTWlzbWF0Y2ggbWVzc2FnZScpOworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0eS5zdGVwTWlzbWF0
Y2gpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkudmFsaWQpOworICBhc3NlcnRfZXF1YWxzKGNv
bnRyb2wuaS52YWxpZGF0aW9uTWVzc2FnZSwgJ3N0ZXBNaXNtYXRjaCBtZXNzYWdlJyk7CisKKyAg
Y29udHJvbC5pLnNldFZhbGlkaXR5KHtiYWRJbnB1dDogdHJ1ZX0sICdiYWRJbnB1dCBtZXNzYWdl
Jyk7CisgIGFzc2VydF90cnVlKHZhbGlkaXR5LmJhZElucHV0KTsKKyAgYXNzZXJ0X2ZhbHNlKHZh
bGlkaXR5LnZhbGlkKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sLmkudmFsaWRhdGlvbk1lc3Nh
Z2UsICdiYWRJbnB1dCBtZXNzYWdlJyk7CisKKyAgY29udHJvbC5pLnNldFZhbGlkaXR5KHtjdXN0
b21FcnJvcjogdHJ1ZX0sICdjdXN0b21FcnJvciBtZXNzYWdlJyk7CisgIGFzc2VydF90cnVlKHZh
bGlkaXR5LmN1c3RvbUVycm9yLCAnY3VzdG9tRXJyb3Igc2hvdWxkIGJlIHRydWUuJyk7CisgIGFz
c2VydF9mYWxzZSh2YWxpZGl0eS52YWxpZCk7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbC5pLnZh
bGlkYXRpb25NZXNzYWdlLCAnY3VzdG9tRXJyb3IgbWVzc2FnZScpOworCisgIC8vIFNldCBtdWx0
aXBsZSBmbGFncworICBjb250cm9sLmkuc2V0VmFsaWRpdHkoe2JhZElucHV0OiB0cnVlLCBjdXN0
b21FcnJvcjogdHJ1ZX0sICdtdWx0aXBsZSBlcnJvcnMnKTsKKyAgYXNzZXJ0X3RydWUodmFsaWRp
dHkuYmFkSW5wdXQpOworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0eS5jdXN0b21FcnJvcik7CisgIGFz
c2VydF9mYWxzZSh2YWxpZGl0eS52YWxpZCk7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbC5pLnZh
bGlkYXRpb25NZXNzYWdlLCAnbXVsdGlwbGUgZXJyb3JzJyk7CisKKyAgLy8gQ2xlYXIgZmxhZ3MK
KyAgY29udHJvbC5pLnNldFZhbGlkaXR5KHt9LCAndW5uZWNlc3NhcnkgbWVzc2FnZScpOworICBh
c3NlcnRfZmFsc2UodmFsaWRpdHkuYmFkSW5wdXQpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHku
Y3VzdG9tRXJyb3IpOworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0eS52YWxpZCk7CisgIGFzc2VydF9l
cXVhbHMoY29udHJvbC5pLnZhbGlkYXRpb25NZXNzYWdlLCAnJyk7CisKKyAgYXNzZXJ0X3Rocm93
c19qcyhUeXBlRXJyb3IsICgpID0+IHsgY29udHJvbC5pLnNldFZhbGlkaXR5KHt2YWx1ZU1pc3Np
bmc6IHRydWV9KTsgfSwKKyAgICAgICdzZXRWYWxpZGl0eSgpIHJlcXVpcmVzIHRoZSBzZWNvbmQg
YXJndW1lbnQgaWYgdGhlIGZpcnN0IGFyZ3VtZW50IGNvbnRhaW5zIHRydWUnKTsKK30sICd2YWxp
ZGl0eSBhbmQgc2V0VmFsaWRpdHkoKScpOworCit0ZXN0KCgpID0+IHsKKyAgZG9jdW1lbnQuYm9k
eS5pbnNlcnRBZGphY2VudEhUTUwoJ2FmdGVyYmVnaW4nLCAnPG15LWNvbnRyb2w+PGxpZ2h0LWNo
aWxkPjwvbXktY29udHJvbD4nKTsKKyAgbGV0IGNvbnRyb2wgPSBkb2N1bWVudC5ib2R5LmZpcnN0
Q2hpbGQ7CisgIGNvbnN0IGZsYWdzID0ge3ZhbHVlTWlzc2luZzogdHJ1ZX07CisgIGNvbnN0IG0g
PSAnbm9uLWVtcHR5IG1lc3NhZ2UnOworCisgIGFzc2VydF90aHJvd3NfZG9tKCdOb3RGb3VuZEVy
cm9yJywgKCkgPT4geworICAgIGNvbnRyb2wuaS5zZXRWYWxpZGl0eShmbGFncywgbSwgZG9jdW1l
bnQuYm9keSk7CisgIH0sICdOb3QgYSBkZXNjZW5kYW50Jyk7CisKKyAgYXNzZXJ0X3Rocm93c19k
b20oJ05vdEZvdW5kRXJyb3InLCAoKSA9PiB7CisgICAgY29udHJvbC5pLnNldFZhbGlkaXR5KGZs
YWdzLCBtLCBjb250cm9sKTsKKyAgfSwgJ1NlbGYnKTsKKworICAvLyBBIGRlc2NlbmRhbnQKKyAg
Y29udHJvbC5pLnNldFZhbGlkaXR5KGZsYWdzLCBtLCBjb250cm9sLnF1ZXJ5U2VsZWN0b3IoJ2xp
Z2h0LWNoaWxkJykpOworCisgIC8vIEFuIGVsZW1lbnQgaW4gdGhlIGRpcmVjdCBzaGFkb3cgdHJl
ZQorICBsZXQgc2hhZG93MSA9IGNvbnRyb2wuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsK
KyAgbGV0IHNoYWRvd0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgIHNo
YWRvdzEuYXBwZW5kQ2hpbGQoc2hhZG93Q2hpbGQpOworICBjb250cm9sLmkuc2V0VmFsaWRpdHko
ZmxhZ3MsIG0sIHNoYWRvd0NoaWxkKTsKKworICAvLyBBbiBlbGVtZW50IGluIGFuIG5lc3RlZCBz
aGFkb3cgdHJlZXMKKyAgbGV0IHNoYWRvdzIgPSBzaGFkb3dDaGlsZC5hdHRhY2hTaGFkb3coe21v
ZGU6ICdjbG9zZWQnfSk7CisgIGxldCBuZXN0ZWRTaGFkb3dDaGlsZCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3NwYW4nKTsKKyAgc2hhZG93Mi5hcHBlbmRDaGlsZChuZXN0ZWRTaGFkb3dDaGls
ZCk7CisgIGNvbnRyb2wuaS5zZXRWYWxpZGl0eShmbGFncywgbSwgbmVzdGVkU2hhZG93Q2hpbGQp
OworfSwgJyJhbmNob3IiIGFyZ3VtZW50IG9mIHNldFZhbGlkaXR5KCknKTsKKwordGVzdCgoKSA9
PiB7CisgIGNvbnN0IGNvbnRyb2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdteS1jb250cm9s
Jyk7CisgIGxldCBpbnZhbGlkQ291bnQgPSAwOworICBjb250cm9sLmFkZEV2ZW50TGlzdGVuZXIo
J2ludmFsaWQnLCBlID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGUudGFyZ2V0LCBjb250cm9sKTsK
KyAgICBhc3NlcnRfdHJ1ZShlLmNhbmNlbGFibGUpOworICAgICsraW52YWxpZENvdW50OworICB9
KTsKKworICBhc3NlcnRfdHJ1ZShjb250cm9sLmkuY2hlY2tWYWxpZGl0eSgpLCAnZGVmYXVsdCBz
dGF0ZScpOworICBhc3NlcnRfZXF1YWxzKGludmFsaWRDb3VudCwgMCk7CisKKyAgY29udHJvbC5p
LnNldFZhbGlkaXR5KHtjdXN0b21FcnJvcjp0cnVlfSwgJ2ZvbycpOworICBhc3NlcnRfZmFsc2Uo
Y29udHJvbC5pLmNoZWNrVmFsaWRpdHkoKSk7CisgIGFzc2VydF9lcXVhbHMoaW52YWxpZENvdW50
LCAxKTsKK30sICdjaGVja1ZhbGlkaXR5KCknKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGNv
bnRyb2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdteS1jb250cm9sJyk7CisgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoY29udHJvbCk7CisgIGNvbnRyb2wudGFiSW5kZXggPSAwOworICBs
ZXQgaW52YWxpZENvdW50ID0gMDsKKyAgY29udHJvbC5hZGRFdmVudExpc3RlbmVyKCdpbnZhbGlk
JywgZSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhlLnRhcmdldCwgY29udHJvbCk7CisgICAgYXNz
ZXJ0X3RydWUoZS5jYW5jZWxhYmxlKTsKKyAgICArK2ludmFsaWRDb3VudDsKKyAgfSk7CisKKyAg
YXNzZXJ0X3RydWUoY29udHJvbC5pLnJlcG9ydFZhbGlkaXR5KCksICdkZWZhdWx0IHN0YXRlJyk7
CisgIGFzc2VydF9lcXVhbHMoaW52YWxpZENvdW50LCAwKTsKKworICBjb250cm9sLmkuc2V0VmFs
aWRpdHkoe2N1c3RvbUVycm9yOnRydWV9LCAnZm9vJyk7CisgIGFzc2VydF9mYWxzZShjb250cm9s
LmkucmVwb3J0VmFsaWRpdHkoKSk7CisgIGFzc2VydF9lcXVhbHMoaW52YWxpZENvdW50LCAxKTsK
KworICBjb250cm9sLmJsdXIoKTsKKyAgY29udHJvbC5hZGRFdmVudExpc3RlbmVyKCdpbnZhbGlk
JywgZSA9PiBlLnByZXZlbnREZWZhdWx0KCkpOworICBhc3NlcnRfZmFsc2UoY29udHJvbC5pLnJl
cG9ydFZhbGlkaXR5KCkpOworfSwgJ3JlcG9ydFZhbGlkaXR5KCknKTsKKwordGVzdCgoKSA9PiB7
CisgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXIn
KTsKKyAgY29udGFpbmVyLmlubmVySFRNTCA9ICc8Zm9ybT48aW5wdXQgdHlwZT1zdWJtaXQ+PG15
LWNvbnRyb2w+JzsKKyAgY29uc3QgZm9ybSA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdmb3Jt
Jyk7CisgIGNvbnN0IGNvbnRyb2wgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignbXktY29udHJv
bCcpOworICBjb250cm9sLnRhYkluZGV4ID0gMDsKKyAgbGV0IGludmFsaWRDb3VudCA9IDA7Cisg
IGNvbnRyb2wuYWRkRXZlbnRMaXN0ZW5lcignaW52YWxpZCcsIGUgPT4geyArK2ludmFsaWRDb3Vu
dDsgfSk7CisKKyAgYXNzZXJ0X3RydWUoY29udHJvbC5pLmNoZWNrVmFsaWRpdHkoKSk7CisgIGFz
c2VydF90cnVlKGZvcm0uY2hlY2tWYWxpZGl0eSgpKTsKKyAgY29udHJvbC5pLnNldFZhbGlkaXR5
KHt2YWx1ZU1pc3Npbmc6IHRydWV9LCAnUGxlYXNlIGZpbGwgb3V0IHRoaXMgZmllbGQnKTsKKyAg
YXNzZXJ0X2ZhbHNlKGZvcm0uY2hlY2tWYWxpZGl0eSgpKTsKKyAgYXNzZXJ0X2VxdWFscyhpbnZh
bGlkQ291bnQsIDEpOworCisgIGFzc2VydF9mYWxzZShmb3JtLnJlcG9ydFZhbGlkaXR5KCkpOwor
ICBhc3NlcnRfZXF1YWxzKGludmFsaWRDb3VudCwgMik7CisKKyAgY29udGFpbmVyLnF1ZXJ5U2Vs
ZWN0b3IoJ2lucHV0W3R5cGU9c3VibWl0XScpLmNsaWNrKCk7CisgIGFzc2VydF9lcXVhbHMoaW52
YWxpZENvdW50LCAzKTsKK30sICdDdXN0b20gY29udHJvbCBhZmZlY3RzIHZhbGlkYXRpb24gYXQg
dGhlIG93bmVyIGZvcm0nKTsKKworZnVuY3Rpb24gaXNWYWxpZEFjY29yZGluZ1RvQ1NTKGVsZW1l
bnQsIGNvbW1lbnQpIHsKKyAgYXNzZXJ0X3RydWUoZWxlbWVudC5tYXRjaGVzKCc6dmFsaWQnKSwg
Y29tbWVudCA/IChjb21tZW50ICsgJyAtIDp2YWxpZCcpIDogdW5kZWZpbmVkKTsKKyAgYXNzZXJ0
X2ZhbHNlKGVsZW1lbnQubWF0Y2hlcygnOmludmFsaWQnKSwgY29tbWVudCA/IChjb21tZW50ICsg
JyAtIDppbnZhbGlkJykgOiB1bmRlZmluZWQpOworfQorCitmdW5jdGlvbiBpc0ludmFsaWRBY2Nv
cmRpbmdUb0NTUyhlbGVtZW50LCBjb21tZW50KSB7CisgIGFzc2VydF9mYWxzZShlbGVtZW50Lm1h
dGNoZXMoJzp2YWxpZCcpLCBjb21tZW50ID8gKGNvbW1lbnQgKyAnIC0gOnZhbGlkJykgOiB1bmRl
ZmluZWQpOworICBhc3NlcnRfdHJ1ZShlbGVtZW50Lm1hdGNoZXMoJzppbnZhbGlkJyksIGNvbW1l
bnQgPyAoY29tbWVudCArICcgLSA6aW52YWxpZCcpIDogdW5kZWZpbmVkKTsKK30KKwordGVzdCgo
KSA9PiB7CisgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250
YWluZXInKTsKKyAgY29udGFpbmVyLmlubmVySFRNTCA9ICc8Zm9ybT48ZmllbGRzZXQ+PG15LWNv
bnRyb2w+JzsKKyAgY29uc3QgZm9ybSA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdmb3JtJyk7
CisgIGNvbnN0IGZpZWxkc2V0ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ2ZpZWxkc2V0Jyk7
CisgIGNvbnN0IGNvbnRyb2wgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignbXktY29udHJvbCcp
OworCisgIGlzVmFsaWRBY2NvcmRpbmdUb0NTUyhjb250cm9sKTsKKyAgaXNWYWxpZEFjY29yZGlu
Z1RvQ1NTKGZvcm0pOworICBpc1ZhbGlkQWNjb3JkaW5nVG9DU1MoZmllbGRzZXQpOworCisgIGNv
bnRyb2wuaS5zZXRWYWxpZGl0eSh7dHlwZU1pc21hdGNoOiB0cnVlfSwgJ0ludmFsaWQgZm9ybWF0
Jyk7CisgIGlzSW52YWxpZEFjY29yZGluZ1RvQ1NTKGNvbnRyb2wpOworICBpc0ludmFsaWRBY2Nv
cmRpbmdUb0NTUyhmb3JtKTsKKyAgaXNJbnZhbGlkQWNjb3JkaW5nVG9DU1MoZmllbGRzZXQpOwor
CisgIGNvbnRyb2wucmVtb3ZlKCk7CisgIGlzSW52YWxpZEFjY29yZGluZ1RvQ1NTKGNvbnRyb2wp
OworICBpc1ZhbGlkQWNjb3JkaW5nVG9DU1MoZm9ybSk7CisgIGlzVmFsaWRBY2NvcmRpbmdUb0NT
UyhmaWVsZHNldCk7CisKKyAgZmllbGRzZXQuYXBwZW5kQ2hpbGQoY29udHJvbCk7CisgIGlzSW52
YWxpZEFjY29yZGluZ1RvQ1NTKGZvcm0pOworICBpc0ludmFsaWRBY2NvcmRpbmdUb0NTUyhmaWVs
ZHNldCk7CisKKyAgY29udHJvbC5pLnNldFZhbGlkaXR5KHt9KTsKKyAgaXNWYWxpZEFjY29yZGlu
Z1RvQ1NTKGNvbnRyb2wpOworICBpc1ZhbGlkQWNjb3JkaW5nVG9DU1MoZm9ybSk7CisgIGlzVmFs
aWRBY2NvcmRpbmdUb0NTUyhmaWVsZHNldCk7Cit9LCAnQ3VzdG9tIGNvbnRyb2wgYWZmZWN0cyA6
dmFsaWQgOmludmFsaWQgZm9yIEZPUk0gYW5kIEZJRUxEU0VUJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLWFzc29jaWF0ZWQtY2FsbGJh
Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tYXNzb2NpYXRlZC1jYWxs
YmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNlNWRkY2RhNDFlNDRkMzMwMTNjZGUyMzU0
NjM2NDBmMWI4MzNjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3Jt
LWFzc29jaWF0ZWQtY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0NPTlNP
TEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
JyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJ
bnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScs
ICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdFOiBU
eXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5l
ZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCisKKyAgCisKKyAKKyAKKworCisKK0hhcm5lc3MgRXJy
b3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lh
dGVkL2Zvcm0tYXNzb2NpYXRlZC1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zv
cm0tYXNzb2NpYXRlZC1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhNmE4NmRkMGQwMGE0MTJi
NDIwODcxZjRkODU5ZTNjZjVjYjM4NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29j
aWF0ZWQvZm9ybS1hc3NvY2lhdGVkLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSwxOTUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPHRpdGxlPmZvcm1Bc3NvY2lhdGVkQ2FsbGJhY2ssIGFuZCBmb3JtIElE
TCBhdHRyaWJ1dGUgb2YgRWxlbWVudEludGVybmFsczwvdGl0bGU+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitjbGFz
cyBQcmVEZWZpbmVkIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICBzdGF0aWMgZ2V0IGZvcm1Bc3Nv
Y2lhdGVkKCkgeyByZXR1cm4gdHJ1ZTsgfQorCisgIGNvbnN0cnVjdG9yKCkgeworICAgIHN1cGVy
KCk7CisgICAgdGhpcy5pbnRlcm5hbHNfID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTsKKyAgICB0
aGlzLmZvcm1IaXN0b3J5XyA9IFtdOworICB9CisKKyAgZm9ybUFzc29jaWF0ZWRDYWxsYmFjayhu
dWxsYWJsZUZvcm0pIHsKKyAgICB0aGlzLmZvcm1IaXN0b3J5Xy5wdXNoKG51bGxhYmxlRm9ybSk7
CisgIH0KKyAgZm9ybUhpc3RvcnkoKSB7CisgICAgcmV0dXJuIHRoaXMuZm9ybUhpc3RvcnlfOwor
ICB9CisKKyAgZ2V0IGZvcm0oKSB7CisgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzXy5mb3JtOwor
ICB9Cit9CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3ByZS1kZWZpbmVkJywgUHJlRGVmaW5lZCk7
Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisKKzxmaWVsZHNldCBpZD0iZnMxIj4K
Kzxmb3JtIGlkPSJmb3JtMSI+Cis8aW5wdXQ+Cis8cHJlLWRlZmluZWQgaWQ9InBkMSI+PC9wcmUt
ZGVmaW5lZD4KKzxzZWxlY3Q+PC9zZWxlY3Q+Cis8L2Zvcm0+Cis8L2ZpZWxkc2V0PgorCis8Zmll
bGRzZXQgaWQ9ImZzMiI+Cis8cHJlLWRlZmluZWQgaWQ9InBkMiIgZm9ybT0iZm9ybTIiPjwvcHJl
LWRlZmluZWQ+Cis8Zm9ybSBpZD0iZm9ybTIiPgorPGlucHV0PgorPHNlbGVjdD48L3NlbGVjdD4K
KzwvZm9ybT4KKzwvZmllbGRzZXQ+Cis8cHJlLWRlZmluZWQgaWQ9InBkMyIgZm9ybT0iZm9ybTIi
PjwvcHJlLWRlZmluZWQ+CisKKzx0YWJsZT4KKzxmaWVsZHNldCBpZD0iZnMzIj4KKzxmb3JtIGlk
PSJmb3JtMyI+Cis8dHI+PHRkPjxzZWxlY3Q+PC9zZWxlY3Q+PC90cj4KKzx0cj48dGQ+PHByZS1k
ZWZpbmVkIGlkPSJwZDQiPjwvcHJlLWRlZmluZWQ+PC90cj4KKzx0cj48dGQ+PGlucHV0PjwvdHI+
Cis8L2Zvcm0+ICA8IS0tIFRoZSBlbmQgdGFnIGlzIGJvZ3VzLiAtLT4KKzwvZmllbGRzZXQ+ICA8
IS0tIFRoZSBlbmQgdGFnIGlzIGJvZ3VzLiAtLT4KKzx0YWJsZT4KKworPC9kaXY+CisKKzxzY3Jp
cHQ+Citjb25zdCAkID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvci5iaW5kKGRvY3VtZW50KTsKKwor
dGVzdCgoKSA9PiB7CisgIGxldCBjb250cm9scyA9ICQoJyNmb3JtMScpLmVsZW1lbnRzOworICBh
c3NlcnRfZXF1YWxzKGNvbnRyb2xzLmxlbmd0aCwgMyk7CisgIGFzc2VydF9lcXVhbHMoY29udHJv
bHNbMV0sICQoJyNwZDEnKSwgJ2Zvcm0uZWxlbWVudHMnKTsKKyAgYXNzZXJ0X2VxdWFscygkKCcj
cGQxJykuZm9ybSwgJCgnI2Zvcm0xJykpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKCQoJyNwZDEn
KS5mb3JtSGlzdG9yeSgpLCBbJCgnI2Zvcm0xJyldKTsKKyAgYXNzZXJ0X2VxdWFscygkKCcjZnMx
JykuZWxlbWVudHNbMV0sICQoJyNwZDEnKSwgJ2ZpZWxkc2V0LmVsZW1lbnRzJyk7CisKKyAgY29u
dHJvbHMgPSAkKCcjZm9ybTInKS5lbGVtZW50czsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9scy5s
ZW5ndGgsIDQpOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xzWzBdLCAkKCcjcGQyJyksICdmb3Jt
LmVsZW1lbnRzJyk7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbHNbM10sICQoJyNwZDMnKSk7Cisg
IGFzc2VydF9lcXVhbHMoJCgnI3BkMicpLmZvcm0sICQoJyNmb3JtMicpKTsKKyAgYXNzZXJ0X2Vx
dWFscygkKCcjcGQzJykuZm9ybSwgJCgnI2Zvcm0yJykpOworICBhc3NlcnRfYXJyYXlfZXF1YWxz
KCQoJyNwZDInKS5mb3JtSGlzdG9yeSgpLCBbJCgnI2Zvcm0yJyldKTsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscygkKCcjcGQzJykuZm9ybUhpc3RvcnkoKSwgWyQoJyNmb3JtMicpXSk7CisgIGNvbnRy
b2xzID0gJCgnI2ZzMicpLmVsZW1lbnRzOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xzLmxlbmd0
aCwgMyk7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbHNbMF0sICQoJyNwZDInKSwgJ2ZpZWxkc2V0
LmVsZW1lbnRzJyk7CisKKyAgY29udHJvbHMgPSAkKCcjZm9ybTMnKS5lbGVtZW50czsKKyAgYXNz
ZXJ0X2VxdWFscyhjb250cm9scy5sZW5ndGgsIDIpOworICBhc3NlcnRfbm90X2VxdWFscyhjb250
cm9sc1sxXSwgJCgnI3BkNCcpKTsKKyAgYXNzZXJ0X2VxdWFscygkKCcjZnMzJykuZWxlbWVudHMu
bGVuZ3RoLCAwKTsKK30sICdBc3NvY2lhdGUgYnkgcGFyc2VyLCBjdXN0b21pemVkIGF0IGVsZW1l
bnQgY3JlYXRpb24nKTsKKwordGVzdCgoKSA9PiB7CisgICQoJyNjb250YWluZXInKS5pbm5lckhU
TUwgPSAnPGZpZWxkc2V0IGlkPSJmczEiPjxmb3JtIGlkPSJmb3JtMSI+PGlucHV0Pjx3aWxsLWJl
LWRlZmluZWQgaWQ9IndiZDEiPicgKworICAgICAgJzwvd2lsbC1iZS1kZWZpbmVkPjxzZWxlY3Q+
PC9zZWxlY3Q+PC9mb3JtPjwvZmllbGRzZXQ+JyArCisgICAgICAnPGZpZWxkc2V0IGlkPSJmczIi
Pjx3aWxsLWJlLWRlZmluZWQgaWQ9IndiZDIiIGZvcm09ImZvcm0yIj48L3dpbGwtYmUtZGVmaW5l
ZD4nICsKKyAgICAgICc8Zm9ybSBpZD0iZm9ybTIiPjwvZm9ybT48L2ZpZWxkc2V0Pjx3aWxsLWJl
LWRlZmluZWQgaWQ9IndiZDMiIGZvcm09ImZvcm0yIj48L3dpbGwtYmUtZGVmaW5lZD4nOworICBs
ZXQgY29udHJvbHMgPSAkKCcjZm9ybTEnKS5lbGVtZW50czsKKyAgYXNzZXJ0X2VxdWFscyhjb250
cm9scy5sZW5ndGgsIDIpOworICBhc3NlcnRfbm90X2VxdWFscyhjb250cm9sc1sxXSwgJCgnI3di
ZDEnKSk7CisgIGNvbnRyb2xzID0gJCgnI2ZzMScpLmVsZW1lbnRzOworICBhc3NlcnRfZXF1YWxz
KGNvbnRyb2xzLmxlbmd0aCwgMik7CisgIGFzc2VydF9ub3RfZXF1YWxzKGNvbnRyb2xzWzFdLCAk
KCcjd2JkMScpKTsKKworICBhc3NlcnRfZXF1YWxzKCQoJyNmb3JtMicpLmVsZW1lbnRzLmxlbmd0
aCwgMCk7CisgIGFzc2VydF9lcXVhbHMoJCgnI2ZzMicpLmVsZW1lbnRzLmxlbmd0aCwgMCk7CisK
KyAgY2xhc3MgV2lsbEJlRGVmaW5lZCBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICBzdGF0aWMg
Z2V0IGZvcm1Bc3NvY2lhdGVkKCkgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgY29uc3RydWN0b3Io
KSB7CisgICAgICBzdXBlcigpOworICAgICAgdGhpcy5pbnRlcm5hbHNfID0gdGhpcy5hdHRhY2hJ
bnRlcm5hbHMoKTsKKyAgICAgIHRoaXMuZm9ybUhpc3RvcnlfID0gW107CisgICAgfQorCisgICAg
Zm9ybUFzc29jaWF0ZWRDYWxsYmFjayhudWxsYWJsZUZvcm0pIHsKKyAgICAgIHRoaXMuZm9ybUhp
c3RvcnlfLnB1c2gobnVsbGFibGVGb3JtKTsKKyAgICB9CisgICAgZm9ybUhpc3RvcnkoKSB7Cisg
ICAgICByZXR1cm4gdGhpcy5mb3JtSGlzdG9yeV87CisgICAgfQorCisgICAgZ2V0IGZvcm0oKSB7
CisgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHNfLmZvcm07CisgICAgfQorICB9CisgIGN1c3Rv
bUVsZW1lbnRzLmRlZmluZSgnd2lsbC1iZS1kZWZpbmVkJywgV2lsbEJlRGVmaW5lZCk7CisgIGN1
c3RvbUVsZW1lbnRzLnVwZ3JhZGUoY29udGFpbmVyKTsKKworICBjb250cm9scyA9ICQoJyNmb3Jt
MScpLmVsZW1lbnRzOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xzLmxlbmd0aCwgMywgJ2Zvcm0u
ZWxlbWVudHMubGVuZ3RoJyk7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbHNbMV0sICQoJyN3YmQx
JykpOworICBhc3NlcnRfZXF1YWxzKCQoJyN3YmQxJykuZm9ybSwgJCgnI2Zvcm0xJykpOworICBj
b250cm9scyA9ICQoJyNmczEnKS5lbGVtZW50czsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9scy5s
ZW5ndGgsIDMsICdmaWVsZHNldC5lbGVtZW50cy5sZW5ndGgnKTsKKyAgYXNzZXJ0X2VxdWFscyhj
b250cm9sc1sxXSwgJCgnI3diZDEnKSk7CisKKyAgY29udHJvbHMgPSAkKCcjZm9ybTInKS5lbGVt
ZW50czsKKyAgYXNzZXJ0X2VxdWFscygkKCcjd2JkMicpLmZvcm0sICQoJyNmb3JtMicpKTsKKyAg
YXNzZXJ0X2VxdWFscygkKCcjd2JkMycpLmZvcm0sICQoJyNmb3JtMicpKTsKKyAgYXNzZXJ0X2Fy
cmF5X2VxdWFscygkKCcjd2JkMicpLmZvcm1IaXN0b3J5KCksIFskKCcjZm9ybTInKV0pOworICBh
c3NlcnRfYXJyYXlfZXF1YWxzKCQoJyN3YmQzJykuZm9ybUhpc3RvcnkoKSwgWyQoJyNmb3JtMicp
XSk7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbHMubGVuZ3RoLCAyLCAnZm9ybS5lbGVtZW50cy5s
ZW5ndGgnKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sc1swXSwgJCgnI3diZDInKSk7CisgIGFz
c2VydF9lcXVhbHMoY29udHJvbHNbMV0sICQoJyN3YmQzJykpOworICBjb250cm9scyA9ICQoJyNm
czInKS5lbGVtZW50czsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9scy5sZW5ndGgsIDEsICdmaWVs
ZHNldC5lbGVtZW50cy5sZW5ndGgnKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sc1swXSwgJCgn
I3diZDInKSk7Cit9LCAnUGFyc2VkLCBjb25uZWN0ZWQsIHRoZW4gdXBncmFkZWQnKTsKKwordGVz
dCgoKSA9PiB7CisgICQoJyNjb250YWluZXInKS5pbm5lckhUTUwgPSAnPGZpZWxkc2V0IGlkPSJm
czEiPjxmb3JtIGlkPSJmb3JtMSI+PGlucHV0PjxwcmUtZGVmaW5lZCBpZD0icGQxIj4nICsKKyAg
ICAgICc8L3ByZS1kZWZpbmVkPjxzZWxlY3Q+PC9zZWxlY3Q+PC9mb3JtPjwvZmllbGRzZXQ+JyAr
CisgICAgICAnPGZpZWxkc2V0IGlkPSJmczIiPjxwcmUtZGVmaW5lZCBpZD0icGQyIiBmb3JtPSJm
b3JtMiI+PC9wcmUtZGVmaW5lZD4nICsKKyAgICAgICc8Zm9ybSBpZD0iZm9ybTIiPjwvZm9ybT48
L2ZpZWxkc2V0PjxwcmUtZGVmaW5lZCBpZD0icGQzIiBmb3JtPSJmb3JtMiI+PC9wcmUtZGVmaW5l
ZD4nOworCisgIGNvbnN0IHBkMSA9ICQoJyNwZDEnKTsKKyAgYXNzZXJ0X2VxdWFscygkKCcjZm9y
bTEnKS5lbGVtZW50cy5sZW5ndGgsIDMsICdmb3JtLmVsZW1lbnRzLmxlbmd0aCBiZWZvcmUgcmVt
b3ZhbCcpOworICBhc3NlcnRfZXF1YWxzKCQoJyNmczEnKS5lbGVtZW50cy5sZW5ndGgsIDMsICdm
aWxkc2V0LmVsZW1lbnRzLmxlbmd0aCBiZWZvcmUgcmVtb3ZhbCcpOworICBwZDEucmVtb3ZlKCk7
CisgIGFzc2VydF9lcXVhbHMocGQxLmZvcm0sIG51bGwpOworICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHBkMS5mb3JtSGlzdG9yeSgpLCBbJCgnI2Zvcm0xJyksIG51bGxdKTsKKyAgYXNzZXJ0X2VxdWFs
cygkKCcjZm9ybTEnKS5lbGVtZW50cy5sZW5ndGgsIDIsICdmb3JtLmVsZW1lbnRzLmxlbmd0aCBh
ZnRlciByZW1vdmFsJyk7CisgIGFzc2VydF9lcXVhbHMoJCgnI2ZzMScpLmVsZW1lbnRzLmxlbmd0
aCwgMiwgJ2ZpbGRzZXQuZWxlbWVudHMubGVuZ3RoIGFmdGVyIHJlbW92YWwnKTsKKworICBjb25z
dCBwZDIgPSAkKCcjcGQyJyk7CisgIGNvbnN0IHBkMyA9ICQoJyNwZDMnKTsKKyAgYXNzZXJ0X2Vx
dWFscygkKCcjZm9ybTInKS5lbGVtZW50cy5sZW5ndGgsIDIsICdmb3JtLmVsZW1lbnRzLmxlbmd0
aCBiZWZvcmUgcmVtb3ZhbCcpOworICBhc3NlcnRfZXF1YWxzKCQoJyNmczInKS5lbGVtZW50cy5s
ZW5ndGgsIDEsICdmaWVsZHNldC5lbGVtZW50cy5sZW5ndGggYmVmb3JlIHJlbW92YWwnKTsKKyAg
cGQyLnJlbW92ZSgpOworICBwZDMucmVtb3ZlKCk7CisgIGFzc2VydF9lcXVhbHMocGQyLmZvcm0s
IG51bGwpOworICBhc3NlcnRfZXF1YWxzKHBkMy5mb3JtLCBudWxsKTsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyhwZDIuZm9ybUhpc3RvcnkoKSwgWyQoJyNmb3JtMicpLCBudWxsXSk7CisgIGFzc2Vy
dF9hcnJheV9lcXVhbHMocGQzLmZvcm1IaXN0b3J5KCksIFskKCcjZm9ybTInKSwgbnVsbF0pOwor
ICBhc3NlcnRfZXF1YWxzKCQoJyNmb3JtMicpLmVsZW1lbnRzLmxlbmd0aCwgMCwgJ2Zvcm0uZWxl
bWVudHMubGVuZ3RoIGFmdGVyIHJlbW92YWwnKTsKKyAgYXNzZXJ0X2VxdWFscygkKCcjZnMyJyku
ZWxlbWVudHMubGVuZ3RoLCAwLCAnZmllbGRzZXQuZWxlbWVudHMubGVuZ3RoIGFmdGVyIHJlbW92
YWwnKTsKK30sICdEaXNhc3NvY2lhdGlvbicpOworCit0ZXN0KCgpID0+IHsKKyAgJCgnI2NvbnRh
aW5lcicpLmlubmVySFRNTCA9ICc8Zm9ybSBpZD0iZm9ybTEiPjwvZm9ybT4nICsKKyAgICAgICc8
cHJlLWRlZmluZWQgaWQ9InBkMSI+PC9wcmUtZGVmaW5lZD48Zm9ybSBpZD0iZm9ybTIiPjwvZm9y
bT4nOworICBjb25zdCBwZDEgPSAkKCcjcGQxJyk7CisgIGNvbnN0IGZvcm0xID0gJCgnI2Zvcm0x
Jyk7CisgIGNvbnN0IGZvcm0yID0gJCgnI2Zvcm0yJyk7CisgIGFzc2VydF9lcXVhbHMocGQxLmZv
cm0sIG51bGwpOworCisgIHBkMS5zZXRBdHRyaWJ1dGUoJ2Zvcm0nLCAnZm9ybTEnKTsKKyAgYXNz
ZXJ0X2VxdWFscyhwZDEuZm9ybSwgZm9ybTEpOworCisgIHBkMS5zZXRBdHRyaWJ1dGUoJ2Zvcm0n
LCAnZm9ybTInKTsKKyAgYXNzZXJ0X2VxdWFscyhwZDEuZm9ybSwgZm9ybTIpOworCisgICQoJyNj
b250YWluZXInKS5pbm5lckhUTUwgPSAnJzsKKyAgYXNzZXJ0X2VxdWFscyhwZDEuZm9ybSwgbnVs
bCk7Cit9LCAnVXBkYXRpbmcgImZvcm0iIGNvbnRlbnQgYXR0cmlidXRlJyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLWRpc2FibGVkLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLWRpc2FibGVkLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjAzOWFlZWU0YTdiOGQxZjM4MzE1ODk0
NTg1MDFmNmQwMjJmYjk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zv
cm0tZGlzYWJsZWQtY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0NPTlNP
TEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
JyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJ
bnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScs
ICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdFOiBU
eXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5l
ZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhp
cy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRl
cm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorCisKKworSGFy
bmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJu
YWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhp
cy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKKworRkFJTCBBZGRpbmcvcmVtb3Zpbmcg
ZGlzYWJsZWQgY29udGVudCBhdHRyaWJ1dGUgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVy
bmFscycgaXMgdW5kZWZpbmVkKQorRkFJTCBSZWxhdGlvbnNoaXAgd2l0aCBGSUVMRFNFVCBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgQSBkaXNhYmxlZCBmb3JtLWFz
c29jaWF0ZWQgY3VzdG9tIGVsZW1lbnQgc2hvdWxkIG5vdCBwcm92aWRlIGFuIGVudHJ5IGZvciBp
dCAKK0ZBSUwgQSBkaXNhYmxlZCBmb3JtLWFzc29jaWF0ZWQgY3VzdG9tIGVsZW1lbnQgc2hvdWxk
IG5vdCBzdWJtaXQgYW4gZW50cnkgZm9yIGl0IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAtMQorRkFJTCBEaXNhYmxlZCBhdHRyaWJ1dGUgYWZmZWN0cyBmb2N1cy1jYXBh
YmlsaXR5IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMu
YXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgVXBncmFkaW5nIGFuIGVsZW1lbnQgd2l0aCBkaXNhYmxlZCBjb250ZW50IGF0dHJpYnV0
ZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLWRpc2FibGVkLWNhbGxiYWNr
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1kaXNhYmxlZC1jYWxsYmFjay5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk1NGMzZjNmNmVlY2M5NWIxMmZmYjIzNWZmZTI4NzY3NWY3MzQ0MjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1kaXNhYmxlZC1jYWxsYmFjay5o
dG1sCkBAIC0wLDAgKzEsMTE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5mb3JtRGlzYWJs
ZWRDYWxsYmFjaywgYW5kIDpkaXNhYmxlZCA6ZW5hYmxlZCBwc2V1ZG8gY2xhc3NlczwvdGl0bGU+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvaHRtbC9zZW1hbnRpY3MvZm9ybXMvZm9ybS1zdWJtaXNzaW9uLTAv
cmVzb3VyY2VzL3RhcmdldHRlZC1mb3JtLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitjbGFzcyBN
eUNvbnRyb2wgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgIHN0YXRpYyBnZXQgZm9ybUFzc29jaWF0
ZWQoKSB7IHJldHVybiB0cnVlOyB9CisKKyAgY29uc3RydWN0b3IoKSB7CisgICAgc3VwZXIoKTsK
KyAgICB0aGlzLmludGVybmFsc18gPSB0aGlzLmF0dGFjaEludGVybmFscygpOworICAgIHRoaXMu
aW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUoJ215LWNvbnRyb2wtdmFsdWUnKTsKKyAgICB0aGlzLmRp
c2FibGVkSGlzdG9yeV8gPSBbXTsKKyAgfQorCisgIGZvcm1EaXNhYmxlZENhbGxiYWNrKGlzRGlz
YWJsZWQpIHsKKyAgICB0aGlzLmRpc2FibGVkSGlzdG9yeV8ucHVzaChpc0Rpc2FibGVkKTsKKyAg
fQorICBkaXNhYmxlZEhpc3RvcnkoKSB7CisgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRIaXN0b3J5
XzsKKyAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdteS1jb250cm9sJywgTXlDb250cm9s
KTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGNvbnRyb2wgPSBuZXcgTXlDb250cm9sKCk7Cisg
IGFzc2VydF90cnVlKGNvbnRyb2wubWF0Y2hlcygnOmVuYWJsZWQnKSk7CisgIGFzc2VydF9mYWxz
ZShjb250cm9sLm1hdGNoZXMoJzpkaXNhYmxlZCcpKTsKKworICBjb250cm9sLnNldEF0dHJpYnV0
ZSgnZGlzYWJsZWQnLCAnJyk7CisgIGFzc2VydF9mYWxzZShjb250cm9sLm1hdGNoZXMoJzplbmFi
bGVkJykpOworICBhc3NlcnRfdHJ1ZShjb250cm9sLm1hdGNoZXMoJzpkaXNhYmxlZCcpKTsKKwor
ICBjb250cm9sLnJlbW92ZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnJyk7CisgIGFzc2VydF90cnVl
KGNvbnRyb2wubWF0Y2hlcygnOmVuYWJsZWQnKSk7CisgIGFzc2VydF9mYWxzZShjb250cm9sLm1h
dGNoZXMoJzpkaXNhYmxlZCcpKTsKKworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNvbnRyb2wuZGlz
YWJsZWRIaXN0b3J5KCksIFt0cnVlLCBmYWxzZV0pOworfSwgJ0FkZGluZy9yZW1vdmluZyBkaXNh
YmxlZCBjb250ZW50IGF0dHJpYnV0ZScpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgY29udGFp
bmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZmllbGRzZXQnKTsKKyAgY29udGFpbmVyLmlu
bmVySFRNTCA9ICc8ZmllbGRzZXQ+PGZpZWxkc2V0PjxteS1jb250cm9sPjwvbXktY29udHJvbD48
L2ZpZWxkc2V0PjwvZmllbGRzZXQ+JzsKKyAgY29uc3QgbWlkZGxlRmllbGRzZXQgPSBjb250YWlu
ZXIuZmlyc3RDaGlsZDsKKyAgY29uc3QgY29udHJvbCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9y
KCdteS1jb250cm9sJyk7CisKKyAgYXNzZXJ0X3RydWUoY29udHJvbC5tYXRjaGVzKCc6ZW5hYmxl
ZCcpKTsKKyAgYXNzZXJ0X2ZhbHNlKGNvbnRyb2wubWF0Y2hlcygnOmRpc2FibGVkJykpOworCisg
IG1pZGRsZUZpZWxkc2V0LmRpc2FibGVkID0gdHJ1ZTsKKyAgYXNzZXJ0X2ZhbHNlKGNvbnRyb2wu
bWF0Y2hlcygnOmVuYWJsZWQnKSk7CisgIGFzc2VydF90cnVlKGNvbnRyb2wubWF0Y2hlcygnOmRp
c2FibGVkJykpOworCisgIG1pZGRsZUZpZWxkc2V0LmRpc2FibGVkID0gZmFsc2U7CisgIGFzc2Vy
dF90cnVlKGNvbnRyb2wubWF0Y2hlcygnOmVuYWJsZWQnKSk7CisgIGFzc2VydF9mYWxzZShjb250
cm9sLm1hdGNoZXMoJzpkaXNhYmxlZCcpKTsKKworICBjb250YWluZXIuZGlzYWJsZWQgPSB0cnVl
OworICBhc3NlcnRfZmFsc2UoY29udHJvbC5tYXRjaGVzKCc6ZW5hYmxlZCcpKTsKKyAgYXNzZXJ0
X3RydWUoY29udHJvbC5tYXRjaGVzKCc6ZGlzYWJsZWQnKSk7CisgIGNvbnRyb2wucmVtb3ZlKCk7
CisgIGFzc2VydF90cnVlKGNvbnRyb2wubWF0Y2hlcygnOmVuYWJsZWQnKSk7CisgIGFzc2VydF9m
YWxzZShjb250cm9sLm1hdGNoZXMoJzpkaXNhYmxlZCcpKTsKKworICBtaWRkbGVGaWVsZHNldC5h
cHBlbmRDaGlsZChjb250cm9sKTsKKyAgYXNzZXJ0X2ZhbHNlKGNvbnRyb2wubWF0Y2hlcygnOmVu
YWJsZWQnKSk7CisgIGFzc2VydF90cnVlKGNvbnRyb2wubWF0Y2hlcygnOmRpc2FibGVkJykpOwor
CisgIGFzc2VydF9hcnJheV9lcXVhbHMoY29udHJvbC5kaXNhYmxlZEhpc3RvcnkoKSwgW3RydWUs
IGZhbHNlLCB0cnVlLCBmYWxzZSwgdHJ1ZV0pOworfSwgJ1JlbGF0aW9uc2hpcCB3aXRoIEZJRUxE
U0VUJyk7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZm9ybScpOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pOworICBmb3Jt
LmlubmVySFRNTCA9ICc8bXktY29udHJvbCBuYW1lPSJuMSIgZGlzYWJsZWQ+PC9teS1jb250cm9s
PjxpbnB1dCBuYW1lPSJuMiI+JworICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YShmb3Jt
KTsKKyAgYXNzZXJ0X2VxdWFscyhmb3JtRGF0YS5nZXQoJ24xJyksIG51bGwpOworfSwgJ0EgZGlz
YWJsZWQgZm9ybS1hc3NvY2lhdGVkIGN1c3RvbSBlbGVtZW50IHNob3VsZCBub3QgcHJvdmlkZSBh
biBlbnRyeSBmb3IgaXQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBsZXQgZm9y
bSA9IHBvcHVsYXRlRm9ybSgnPG15LWNvbnRyb2wgbmFtZT1kIGRpc2FibGVkPjwvbXktY29udHJv
bD4nICsKKyAgICAgICc8bXktY29udHJvbCBuYW1lPWU+PC9teS1jb250cm9sPicpOworICBsZXQg
cXVlcnkgPSBhd2FpdCBzdWJtaXRQcm9taXNlKGZvcm0sIGZvcm0ucHJldmlvdXNTaWJsaW5nKTsK
KyAgYXNzZXJ0X2VxdWFscyhxdWVyeS5pbmRleE9mKCdkPW15LWNvbnRyb2wtdmFsdWUnKSwgLTEp
OworICBhc3NlcnRfbm90X2VxdWFscyhxdWVyeS5pbmRleE9mKCdlPW15LWNvbnRyb2wtdmFsdWUn
KSwgLTEpOworfSwgJ0EgZGlzYWJsZWQgZm9ybS1hc3NvY2lhdGVkIGN1c3RvbSBlbGVtZW50IHNo
b3VsZCBub3Qgc3VibWl0IGFuIGVudHJ5IGZvciBpdCcpOworCit0ZXN0KCgpID0+IHsKKyAgY29u
c3QgY29udHJvbCA9IG5ldyBNeUNvbnRyb2woKTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChjb250cm9sKTsKKyAgY29udHJvbC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTsKKyAg
Y29udHJvbC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJycpOworICBjb250cm9sLmZvY3VzKCk7
CisgIGFzc2VydF9ub3RfZXF1YWxzKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsIGNvbnRyb2wpOwor
CisgIGNvbnRyb2wucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpOworICBjb250cm9sLmZvY3Vz
KCk7CisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCwgY29udHJvbCk7Cit9
LCAnRGlzYWJsZWQgYXR0cmlidXRlIGFmZmVjdHMgZm9jdXMtY2FwYWJpbGl0eScpOworCit0ZXN0
KCgpID0+IHsKKyAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKyAgLy8gaW5uZUhU
TUwgdXBncmFkZXMgbXktY29udHJvbCBhdCBpdHMgQ0VSZWFjaW9ucyB0aW1pbmcuCisgIGNvbnRh
aW5lci5pbm5lckhUTUwgPSAnPG15LWNvbnRyb2wgZGlzYWJsZWQ+JzsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyhjb250YWluZXIuZmlyc3RDaGlsZC5kaXNhYmxlZEhpc3RvcnkoKSwgW3RydWVdKTsK
KworICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxmaWVsZHNldCBkaXNhYmxlZD48bXktY29udHJv
bD4nOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdteS1j
b250cm9sJykuZGlzYWJsZWRIaXN0b3J5KCksIFt0cnVlXSk7Cit9LCAnVXBncmFkaW5nIGFuIGVs
ZW1lbnQgd2l0aCBkaXNhYmxlZCBjb250ZW50IGF0dHJpYnV0ZScpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1yZXNldC1jYWxsYmFjay1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1yZXNldC1jYWxsYmFjay1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODcxYmEyZDI4NzM3YWJlZGNmMDFjYTRiZmJjODE0ZGI0MmI4
MzhiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLXJlc2V0LWNh
bGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKKworCisKK0ZBSUwgZm9ybS5yZXNl
dCgpIHNob3VsZCB0cmlnZ2VyIGZvcm1SZXNldENhbGxiYWNrIGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBmb3JtLnJlc2V0KCk6IGZvcm1SZXNldENhbGxiYWNrIGlz
IGNhbGxlZCBhZnRlciByZXNldCBvZiB0aGUgbGFzdCBidWlsdC1pbiBmb3JtIGNvbnRyb2wgYW5k
IGJlZm9yZSB0aGUgbmV4dCBzdGF0ZW1lbnQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBDbGlja2luZyBhIHJlc2V0IGJ1dHRvbiBpbnZva2VzIGZvcm1SZXNldENh
bGxiYWNrIGluIGEgbWljcm90YXNrIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1yZXNldC1jYWxsYmFjay5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tcmVzZXQtY2FsbGJhY2suaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44Yjg0OTdmOGI2YzQyNjhhMGZjZDEwYmFlYjM5YmRhMTVhMDlhYzBlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tcmVzZXQtY2FsbGJhY2suaHRtbApAQCAt
MCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NsYXNzIE15Q29udHJv
bCBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgc3RhdGljIGdldCBmb3JtQXNzb2NpYXRlZCgpIHsg
cmV0dXJuIHRydWU7IH0KKworICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcigpOworICAgIHRo
aXMucmVzZXRDYWxsZWRfID0gZmFsc2U7CisgIH0KKworICBmb3JtUmVzZXRDYWxsYmFjaygpIHsK
KyAgICB0aGlzLnJlc2V0Q2FsbGVkXyA9IHRydWU7CisgIH0KKyAgZ2V0IHJlc2V0Q2FsbGVkKCkg
eyByZXR1cm4gdGhpcy5yZXNldENhbGxlZF87IH0KK30KK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgn
bXktY29udHJvbCcsIE15Q29udHJvbCk7CisKK3Rlc3QoKCkgPT4geworICBkb2N1bWVudC5ib2R5
Lmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywKKyAgICAgICc8Zm9ybT48bXktY29udHJv
bD48L215LWNvbnRyb2w+PC9mb3JtPicpOworICBsZXQgZm9ybSA9IGRvY3VtZW50LmJvZHkubGFz
dENoaWxkOworICBsZXQgY3VzdG9tID0gZm9ybS5maXJzdENoaWxkOworICBmb3JtLnJlc2V0KCk7
CisgIGFzc2VydF90cnVlKGN1c3RvbS5yZXNldENhbGxlZCk7Cit9LCAnZm9ybS5yZXNldCgpIHNo
b3VsZCB0cmlnZ2VyIGZvcm1SZXNldENhbGxiYWNrJyk7CisKK3Rlc3QoKCkgPT4geworICBkb2N1
bWVudC5ib2R5Lmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywKKyAgICAgICc8Zm9ybT48
bXktY29udHJvbD48L215LWNvbnRyb2w+PG91dHB1dD5kZWZhdWx0PC9vdXRwdXQ+PC9mb3JtPicp
OworICBsZXQgZm9ybSA9IGRvY3VtZW50LmJvZHkubGFzdENoaWxkOworICBsZXQgY3VzdG9tID0g
Zm9ybS5maXJzdENoaWxkOworICBsZXQgb3V0cHV0ID0gZm9ybS5sYXN0Q2hpbGQ7CisgIG91dHB1
dC52YWx1ZSA9ICd1cGRhdGVkJzsKKyAgb3V0cHV0LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTVN1YnRy
ZWVNb2RpZmllZCcsICgpID0+IHsKKyAgICBhc3NlcnRfZmFsc2UoY3VzdG9tLnJlc2V0Q2FsbGVk
LCAnZm9ybVJlc2V0Q2FsbGJhY2sgc2hvdWxkIG5vdCBiZSAnICsKKyAgICAgICAgICAgICAgICAg
J2NhbGxlZCBiZWZvcmUgYnVpbHQtaW4gY29udHJvbFwncyByZXNldCcpOworICB9KTsKKyAgZm9y
bS5yZXNldCgpOworICBhc3NlcnRfdHJ1ZShjdXN0b20ucmVzZXRDYWxsZWQpOworfSwgJ2Zvcm0u
cmVzZXQoKTogZm9ybVJlc2V0Q2FsbGJhY2sgaXMgY2FsbGVkIGFmdGVyIHJlc2V0IG9mIHRoZSBs
YXN0ICcgKworICAgJ2J1aWx0LWluIGZvcm0gY29udHJvbCBhbmQgYmVmb3JlIHRoZSBuZXh0IHN0
YXRlbWVudC4nKTsKKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgZG9jdW1lbnQuYm9keS5pbnNl
cnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsCisgICAgICAnPGZvcm0+PG15LWNvbnRyb2w+PC9t
eS1jb250cm9sPjxpbnB1dCB0eXBlPXJlc2V0PjwvZm9ybT4nKTsKKyAgbGV0IGZvcm0gPSBkb2N1
bWVudC5ib2R5Lmxhc3RDaGlsZDsKKyAgbGV0IGN1c3RvbSA9IGZvcm0uZmlyc3RDaGlsZDsKKyAg
bGV0IHJlc2V0QnV0dG9uID0gZm9ybS5sYXN0Q2hpbGQ7CisgIGFzc2VydF9mYWxzZShjdXN0b20u
cmVzZXRDYWxsZWQpOworICByZXNldEJ1dHRvbi5jbGljaygpOworICBhc3NlcnRfZmFsc2UoY3Vz
dG9tLnJlc2V0Q2FsbGVkKTsKKyAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4g
YXNzZXJ0X3RydWUoY3VzdG9tLnJlc2V0Q2FsbGVkKSk7Cit9LCAnQ2xpY2tpbmcgYSByZXNldCBi
dXR0b24gaW52b2tlcyBmb3JtUmVzZXRDYWxsYmFjayBpbiBhIG1pY3JvdGFzaycpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmM1ZTk5
MDM0NjAxNDcyZWM3ZjNlMjZiNjFiM2Q0MWQ3NGE1NjJiNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2Zvcm0tYXNzb2NpYXRlZC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDI0IEBACitUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1Ob3RTdXBwb3J0ZWRFcnJvci5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtYWNjZXNzaWJpbGl0eS5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtbGFiZWxzLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1zZXRGb3JtVmFsdWUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLXZhbGlkYXRpb24uaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zv
cm0tYXNzb2NpYXRlZC9mb3JtLWFzc29jaWF0ZWQtY2FsbGJhY2suaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNz
b2NpYXRlZC9mb3JtLWRpc2FibGVkLWNhbGxiYWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQv
Zm9ybS1yZXNldC1jYWxsYmFjay5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9oaXN0b3JpY2FsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9oaXN0b3JpY2FsLmh0bWwKaW5kZXggNzA5ODFjZTU5YzQxZGQzNTJiY2NmMWI3MGExY2I3
YzhjZWNmMzBlYy4uNWE5NjFiMTNhZDdmNDRmNjRiM2RmNmRhZmVlYjkzMjFlOGJmNjc2MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvaGlzdG9yaWNhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2hpc3RvcmljYWwuaHRtbApAQCAt
MTcsNyArMTcsNyBAQCB0ZXN0KCgpID0+IHsKICAgICBhc3NlcnRfZmFsc2UoZWxlbWVudC5oYXNB
dHRyaWJ1dGUoJ2lzJykpCiAgIH0gY2F0Y2ggKGUpIHsKICAgICAvLyBJZiB2MSBpcyBzdXBwb3J0
ZWQsIHRoZW4gY29udmVydGluZyBzdHJpbmcgdG8gZGljdGlvbmFyeSBzaG91bGQgdGhyb3cuCi0g
ICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9KQor
ICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9KQog
ICB9CiB9LCAnZG9jdW1lbnQuY3JlYXRlRWxlbWVudChsb2NhbE5hbWUsICJzdHJpbmciKSBzaG91
bGQgbm90IHdvcmsnKQogCkBAIC0yOSw3ICsyOSw3IEBAIHRlc3QoKCkgPT4gewogICAgIGFzc2Vy
dF9mYWxzZShlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnaXMnKSkKICAgfSBjYXRjaCAoZSkgewogICAg
IC8vIElmIHYxIGlzIHN1cHBvcnRlZCwgdGhlbiBjb252ZXJ0aW5nIHN0cmluZyB0byBkaWN0aW9u
YXJ5IHNob3VsZCB0aHJvdy4KLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsIGZ1bmN0
aW9uKCkgeyB0aHJvdyBlIH0pCisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0
aW9uKCkgeyB0aHJvdyBlIH0pCiAgIH0KIH0sICdkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobmFt
ZXNwYWNlLCBxdWFsaWZpZWROYW1lLCAic3RyaW5nIikgc2hvdWxkIG5vdCB3b3JrJykKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1jdXN0b20tZWxlbWVudC1pbi1mb3Jl
aWduLWNvbnRlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1jdXN0b20tZWxlbWVu
dC1pbi1mb3JlaWduLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0OGI2NjlhZmE5
Njc5YjVjNTA3OTJmNzcxYmY1NTcxMWQ5YzhmMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJz
ZXIvcGFyc2VyLWN1c3RvbS1lbGVtZW50LWluLWZvcmVpZ24tY29udGVudC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgSFRNTCBwYXJzZXIgc2hvdWxkIG5vdCBjcmVhdGUgY3Vz
dG9tIGVsZW1lbnRzIGluIG5vbi1IVE1MIG5hbWVzcGFjZXMgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Bh
cnNlci9wYXJzZXItY3VzdG9tLWVsZW1lbnQtaW4tZm9yZWlnbi1jb250ZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9w
YXJzZXIvcGFyc2VyLWN1c3RvbS1lbGVtZW50LWluLWZvcmVpZ24tY29udGVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJhZTBmMTMwOWM2MmI0MmJhODI1M2U0MGZiMDQ1ZjNiYTc3NDg4OTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWN1c3RvbS1lbGVtZW50LWluLWZvcmVpZ24tY29u
dGVudC5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkN1c3Rv
bSBFbGVtZW50czogQ3VzdG9tIGVsZW1lbnQgaW4gZm9yZWlnbiBjb250ZW50PC90aXRsZT4KKzxt
ZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iSFRNTCBwYXJzZXIgc2hvdWxkIG5vdCBjcmVhdGUg
bm9uLUhUTUwgbmFtZXNwYWNlIGN1c3RvbSBlbGVtZW50cyI+Cis8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2NyZWF0ZS1hbi1lbGVtZW50LWZvci10
aGUtdG9rZW4iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RvbS5zcGVjLndoYXR3
Zy5vcmcvI2NvbmNlcHQtY3JlYXRlLWVsZW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NsYXNzIFRocm93c0V4Y2VwdGlv
biBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgY29uc3RydWN0b3IoKSB7CisgICAgdGhyb3cgJ0Jh
ZCc7CisgIH0KK307CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rocm93cy1leGNlcHRpb24nLCBU
aHJvd3NFeGNlcHRpb24pOworPC9zY3JpcHQ+Cis8c3ZnPgorICA8dGhyb3dzLWV4Y2VwdGlvbi8+
Cis8L3N2Zz4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgdmFyIGluc3RhbmNlID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGhyb3dzLWV4Y2VwdGlvbicpOworICBhc3NlcnRfZmFs
c2UoaW5zdGFuY2UgaW5zdGFuY2VvZiBUaHJvd3NFeGNlcHRpb24sCisgICAgICAgICAgICAgICAn
VGhlIEhUTUwgcGFyc2VyIG11c3QgTk9UIGluc3RhbnRpYXRlIGEgY3VzdG9tIGVsZW1lbnQgaW4g
bm9uLUhUTUwgbmFtZXNwYWNlcycpOworICBhc3NlcnRfZmFsc2UoaW5zdGFuY2UgaW5zdGFuY2Vv
ZiBIVE1MVW5rbm93bkVsZW1lbnQsICdUaGUgSFRNTCBwYXJzZXIgc2hvdWxkIG5vdCBmYWxsYmFj
aycpOworICBhc3NlcnRfdHJ1ZShpbnN0YW5jZSBpbnN0YW5jZW9mIFNWR0VsZW1lbnQsCisgICAg
ICAgICAgICAgICdUaGUgZWxlbWVudCBjcmVhdGVkIGJ5IHRoZSBIVE1MIHBhcnNlciBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFNWR0VsZW1lbnQnKTsKK30sICdIVE1MIHBhcnNlciBzaG91bGQgbm90
IGNyZWF0ZSBjdXN0b20gZWxlbWVudHMgaW4gbm9uLUhUTUwgbmFtZXNwYWNlcycpOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVzZXMtcmVnaXN0cnktb2Ytb3duZXIt
ZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci11c2VzLXJlZ2lzdHJ5LW9m
LW93bmVyLWRvY3VtZW50LWV4cGVjdGVkLnR4dAppbmRleCAxMzBlZDFmMjgzZjViNTU5YTZkZDYx
ZmU2YmVlNGVhNThkM2YwMDNlLi4wMGU4OTM3MDE1NTBiZDkzNTEzOTI2MGRmMjkyNGI5NjA5MGQ3
NjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVzZXMtcmVnaXN0cnktb2Ytb3duZXIt
ZG9jdW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItdXNlcy1yZWdpc3Ry
eS1vZi1vd25lci1kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTcsNiArNyw2IEBAIFBBU1MgSFRN
TCBwYXJzZXIgbXVzdCB1c2UgdGhlIHJlZ2lzdHJ5IG9mIHdpbmRvdy5kb2N1bWVudCBpbiBhIGRv
Y3VtZW50IGNyZWF0ZWQKIFBBU1MgSFRNTCBwYXJzZXIgbXVzdCB1c2UgdGhlIHJlZ2lzdHJ5IG9m
IHdpbmRvdy5kb2N1bWVudCBpbiBhIGRvY3VtZW50IGNyZWF0ZWQgYnkgZG9jdW1lbnQuaW1wbGVt
ZW50YXRpb24uY3JlYXRlWEhUTUxEb2N1bWVudCgpIAogUEFTUyBIVE1MIHBhcnNlciBtdXN0IHVz
ZSB0aGUgcmVnaXN0cnkgb2Ygd2luZG93LmRvY3VtZW50IGluIGEgZG9jdW1lbnQgY3JlYXRlZCBi
eSBuZXcgRG9jdW1lbnQgCiBQQVNTIEhUTUwgcGFyc2VyIG11c3QgdXNlIHRoZSByZWdpc3RyeSBv
ZiB3aW5kb3cuZG9jdW1lbnQgaW4gYSBkb2N1bWVudCBjcmVhdGVkIGJ5IFhNTEh0dHBSZXF1ZXN0
IAotRkFJTCBkb2N1bWVudC53cml0ZSgpIG11c3Qgbm90IGluc3RhbnRpYXRlIGEgY3VzdG9tIGVs
ZW1lbnQgd2l0aG91dCBhIGRlZmluZWQgaW5zZXJ0aW9uIHBvaW50IGFzc2VydF9mYWxzZTogZXhw
ZWN0ZWQgZmFsc2UgZ290IHRydWUKLUZBSUwgZG9jdW1lbnQud3JpdGVsbigpIG11c3Qgbm90IGlu
c3RhbnRpYXRlIGEgY3VzdG9tIGVsZW1lbnQgd2l0aG91dCBhIGRlZmluZWQgaW5zZXJ0aW9uIHBv
aW50IGFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1MgZG9jdW1lbnQu
d3JpdGUoKSBtdXN0IG5vdCBpbnN0YW50aWF0ZSBhIGN1c3RvbSBlbGVtZW50IHdpdGhvdXQgYSBk
ZWZpbmVkIGluc2VydGlvbiBwb2ludCAKK1BBU1MgZG9jdW1lbnQud3JpdGVsbigpIG11c3Qgbm90
IGluc3RhbnRpYXRlIGEgY3VzdG9tIGVsZW1lbnQgd2l0aG91dCBhIGRlZmluZWQgaW5zZXJ0aW9u
IHBvaW50IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVzZXMtcmVnaXN0cnktb2Yt
b3duZXItZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItdXNlcy1yZWdpc3RyeS1vZi1v
d25lci1kb2N1bWVudC5odG1sCmluZGV4IDUxZTNlNWRkZmIxYzkyZTZjMmIzOWNmZDNkNGI4NTFl
YWJlMDg3NzUuLmJiMjU2ZGEyOTUxNjVmMGZlZTczMjE0NDYwYWE1MTk2MDEwNDZjNGUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3BhcnNlci9wYXJzZXItdXNlcy1yZWdpc3RyeS1vZi1vd25lci1kb2N1bWVudC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItdXNlcy1yZWdpc3RyeS1vZi1vd25lci1kb2N1bWVu
dC5odG1sCkBAIC0xMjUsMjkgKzEyNSwyNyBAQCBwcm9taXNlX3Rlc3QoZnVuY3Rpb24gKCkgewog
CiB0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93LCBjb250ZW50RG9jdW1l
bnQpIHsKICAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRv
dyhjb250ZW50V2luZG93LCAnbXktY3VzdG9tLWVsZW1lbnQnLCBbXSk7Ci0gICAgLy8gZG9jdW1l
bnQtb3Blbi1zdGVwcyBzcGVjIGRvZXNuJ3QgbWF0Y2ggbW9zdCBicm93c2Vyczsgc2VlIGh0dHBz
Oi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9pc3N1ZXMvMTY5OC4KLSAgICAvLyBIb3dldmVyLCBh
cyBleHBsYWluZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL2lzc3Vlcy8xNjk4
I2lzc3VlY29tbWVudC0yOTg3NDg2NDEKLSAgICAvLyB0aGUgY3VzdG9tIGVsZW1lbnQgcmVnaXN0
cnkgd2lsbCBiZSByZXBsYWNlZCBhZnRlciBkb2N1bWVudC1vcGVuLXN0ZXBzLgorICAgIC8vIGRv
Y3VtZW50LW9wZW4tc3RlcHMgc3BlYyBkb2Vzbid0IGRvIGFueXRoaW5nIHdpdGggdGhlIGN1c3Rv
bSBlbGVtZW50CisgICAgLy8gcmVnaXN0cnksIHNvIGl0IHNob3VsZCBqdXN0IHN0aWNrIGFyb3Vu
ZC4KICAgICBjb250ZW50RG9jdW1lbnQud3JpdGUoJzxteS1jdXN0b20tZWxlbWVudD48L215LWN1
c3RvbS1lbGVtZW50PicpOwogCiAgICAgdmFyIGluc3RhbmNlID0gY29udGVudERvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ215LWN1c3RvbS1lbGVtZW50Jyk7CiAKICAgICBhc3NlcnRfdHJ1ZShpbnN0
YW5jZSBpbnN0YW5jZW9mIGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1lbnQpOwotICAgIGFzc2VydF9m
YWxzZShpbnN0YW5jZSBpbnN0YW5jZW9mIGVsZW1lbnQuY2xhc3MpOworICAgIGFzc2VydF90cnVl
KGluc3RhbmNlIGluc3RhbmNlb2YgZWxlbWVudC5jbGFzcyk7CiAKIH0sICdkb2N1bWVudC53cml0
ZSgpIG11c3Qgbm90IGluc3RhbnRpYXRlIGEgY3VzdG9tIGVsZW1lbnQgd2l0aG91dCBhIGRlZmlu
ZWQgaW5zZXJ0aW9uIHBvaW50Jyk7CiAKIHRlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRl
bnRXaW5kb3csIGNvbnRlbnREb2N1bWVudCkgewogICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVf
Y3VzdG9tX2VsZW1lbnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdteS1jdXN0b20tZWxlbWVu
dCcsIFtdKTsKLSAgICAvLyBkb2N1bWVudC1vcGVuLXN0ZXBzIHNwZWMgZG9lc24ndCBtYXRjaCBt
b3N0IGJyb3dzZXJzOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL2lzc3Vlcy8x
Njk4LgotICAgIC8vIEhvd2V2ZXIsIGFzIGV4cGxhaW5lZCBpbiBodHRwczovL2dpdGh1Yi5jb20v
d2hhdHdnL2h0bWwvaXNzdWVzLzE2OTgjaXNzdWVjb21tZW50LTI5ODc0ODY0MQotICAgIC8vIHRo
ZSBjdXN0b20gZWxlbWVudCByZWdpc3RyeSB3aWxsIGJlIHJlcGxhY2VkIGFmdGVyIGRvY3VtZW50
LW9wZW4tc3RlcHMuCisgICAgLy8gZG9jdW1lbnQtb3Blbi1zdGVwcyBzcGVjIGRvZXNuJ3QgZG8g
YW55dGhpbmcgd2l0aCB0aGUgY3VzdG9tIGVsZW1lbnQKKyAgICAvLyByZWdpc3RyeSwgc28gaXQg
c2hvdWxkIGp1c3Qgc3RpY2sgYXJvdW5kLgogICAgIGNvbnRlbnREb2N1bWVudC53cml0ZWxuKCc8
bXktY3VzdG9tLWVsZW1lbnQ+PC9teS1jdXN0b20tZWxlbWVudD4nKTsKIAogICAgIHZhciBpbnN0
YW5jZSA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdteS1jdXN0b20tZWxlbWVudCcp
OwogCiAgICAgYXNzZXJ0X3RydWUoaW5zdGFuY2UgaW5zdGFuY2VvZiBjb250ZW50V2luZG93LkhU
TUxFbGVtZW50KTsKLSAgICBhc3NlcnRfZmFsc2UoaW5zdGFuY2UgaW5zdGFuY2VvZiBlbGVtZW50
LmNsYXNzKTsKKyAgICBhc3NlcnRfdHJ1ZShpbnN0YW5jZSBpbnN0YW5jZW9mIGVsZW1lbnQuY2xh
c3MpOwogCiB9LCAnZG9jdW1lbnQud3JpdGVsbigpIG11c3Qgbm90IGluc3RhbnRpYXRlIGEgY3Vz
dG9tIGVsZW1lbnQgd2l0aG91dCBhIGRlZmluZWQgaW5zZXJ0aW9uIHBvaW50Jyk7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3BhcnNlci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci93M2MtaW1wb3J0Lmxv
ZwppbmRleCBlZjAxYmUzM2ViMjY2NGZkZjBiNTk2ZGIzZjk1NjIzMDI2YTk1N2U0Li40ZmJkZTI0
NzMyNDE2YTg1OWNkYjE3ZmU1NzdlZjRjNGVmM2U3OTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3czYy1pbXBvcnQubG9nCkBAIC0xOCw2ICsx
OCw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1jb25zdHJ1Y3RzLWN1c3Rv
bS1lbGVtZW50LXN5bmNocm9ub3VzbHkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItY29uc3RydWN0
cy1jdXN0b20tZWxlbWVudHMtd2l0aC1pcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1jb25zdHJ1
Y3RzLWN1c3RvbS1lbGVtZW50cy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1jdXN0b20tZWxlbWVu
dC1pbi1mb3JlaWduLWNvbnRlbnQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItZmFsbHNiYWNrLXRv
LXVua25vd24tZWxlbWVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1zZXRzLWF0dHJpYnV0ZXMt
YW5kLWNoaWxkcmVuLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVzZXMtY29uc3RydWN0ZWQtZWxl
bWVudC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wZXJmb3JtLW1pY3JvdGFzay1jaGVja3BvaW50LWJl
Zm9yZS1jb25zdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGVyZm9ybS1taWNyb3Rhc2stY2hl
Y2twb2ludC1iZWZvcmUtY29uc3RydWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NjU2
YmYyYmMzZDg3M2Y2YzRhZjJlMDdmYjViYzZkNTc0ZjQzMmYzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcGVyZm9ybS1taWNyb3Rhc2stY2hlY2twb2ludC1iZWZvcmUtY29uc3RydWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBIVE1MIHBhcnNlciBtdXN0IHBlcmZvcm0g
YSBtaWNyb3Rhc2sgY2hlY2twb2ludCBiZWZvcmUgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1l
bnQgCitQQVNTIEhUTUwgcGFyc2VyIG11c3QgcGVyZm9ybSBhIG1pY3JvdGFzayBjaGVja3BvaW50
IGJlZm9yZSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCBkdXJpbmcgdGhlIGFkb3B0aW9u
IGFnZW5jeSBhbGdvcml0aG0gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BlcmZvcm0tbWljcm90YXNrLWNo
ZWNrcG9pbnQtYmVmb3JlLWNvbnN0cnVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGVyZm9ybS1taWNyb3Rhc2st
Y2hlY2twb2ludC1iZWZvcmUtY29uc3RydWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODNkODIzYWQ5
ZjFiNjlkYWQwMGI3ZWI4NDU3YzBkNDkwYmNmMjQ4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Bl
cmZvcm0tbWljcm90YXNrLWNoZWNrcG9pbnQtYmVmb3JlLWNvbnN0cnVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsMTQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q3Vz
dG9tIEVsZW1lbnRzOiBjcmVhdGUgYW4gZWxlbWVudCBmb3IgYSB0b2tlbiBtdXN0IHBlcmZvcm0g
YSBtaWNyb3Rhc2sgY2hlY2twb2ludDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxl
PSJSeW9zdWtlIE5pd2EiIGhyZWY9Im1haWx0bzpybml3YUB3ZWJraXQub3JnIj4KKzxtZXRhIG5h
bWU9ImFzc2VydCIgY29udGVudD0iV2hlbiB0aGUgSFRNTCBwYXJzZXIgY3JlYXRlcyBhbiBlbGVt
ZW50IGZvciBhIHRva2VuLCBpdCBtdXN0IHBlcmZvcm0gYSBtaWNyb3Rhc2sgY2hlY2twb2ludCBi
ZWZvcmUgaW52b2tpbmcgdGhlIGNvbnN0cnVjdG9yIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRl
bnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCNj
cmVhdGUtYW4tZWxlbWVudC1mb3ItdGhlLXRva2VuIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRl
bnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRt
bCNwZXJmb3JtLWEtbWljcm90YXNrLWNoZWNrcG9pbnQiPgorPG1ldGEgbmFtZT0iaGVscCIgY29u
dGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvcGFyc2luZy5odG1s
I2Fkb3B0aW9uLWFnZW5jeS1hbGdvcml0aG0iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jdXN0b20tZWxl
bWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Cis8c2NyaXB0PgorCithc3luYyBmdW5jdGlvbiBjb25zdHJ1Y3RfY3VzdG9tX2Vs
ZW1lbnRfaW5fcGFyc2VyKHRlc3QsIG1hcmt1cCkKK3sKKyAgICBjb25zdCB3aW5kb3cgPSBhd2Fp
dCBjcmVhdGVfd2luZG93X2luX3Rlc3QodGVzdCwgYAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
Kzxib2R5PjxzY3JpcHQ+CitjbGFzcyBTb21lRWxlbWVudCBleHRlbmRzIEhUTUxFbGVtZW50IHsK
KyAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgd2luZG93LnJl
Y29yZHNMaXN0SW5Db25zdHJ1Y3RvciA9IHJlY29yZHNMaXN0Lm1hcCgocmVjb3JkcykgPT4gcmVj
b3Jkcy5zbGljZSgwKSk7CisgICAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdzb21lLWVs
ZW1lbnQnLCBTb21lRWxlbWVudCk7CisKK2NvbnN0IHJlY29yZHNMaXN0ID0gW107Citjb25zdCBv
YnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChyZWNvcmRzKSA9PiB7CisgICAgcmVjb3Jk
c0xpc3QucHVzaChyZWNvcmRzKTsKK30pOworb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5
LCB7Y2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlfSk7CisKK3dpbmRvdy5vbmxvYWQgPSAo
KSA9PiB7CisgICAgd2luZG93LnJlY29yZHNMaXN0SW5ET01Db250ZW50TG9hZGVkID0gcmVjb3Jk
c0xpc3QubWFwKChyZWNvcmRzKSA9PiByZWNvcmRzLnNsaWNlKDApKTsKK30KKworPC9zY3JgICsg
YGlwdD4ke21hcmt1cH08L2JvZHk+PC9odG1sPmApOworICAgIHJldHVybiB3aW5kb3c7Cit9CisK
K3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3QgY29udGVudFdpbmRv
dyA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIodGhpcywgJzxiPjxz
b21lLWVsZW1lbnQ+PC9iPicpOworICAgIGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRlbnRX
aW5kb3cuZG9jdW1lbnQ7CisKKyAgICBsZXQgcmVjb3Jkc0xpc3QgPSBjb250ZW50V2luZG93LnJl
Y29yZHNMaXN0SW5Db25zdHJ1Y3RvcjsKKyAgICBhc3NlcnRfdHJ1ZShBcnJheS5pc0FycmF5KHJl
Y29yZHNMaXN0KSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRzTGlzdC5sZW5ndGgsIDEpOwor
ICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkocmVjb3Jkc0xpc3RbMF0pKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJlY29yZHNMaXN0WzBdLmxlbmd0aCwgMSk7CisgICAgbGV0IHJlY29yZCA9IHJl
Y29yZHNMaXN0WzBdWzBdOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnR5cGUsICdjaGlsZExp
c3QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50YXJnZXQsIGNvbnRlbnREb2N1bWVudC5i
b2R5KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5wcmV2aW91c1NpYmxpbmcsIGNvbnRlbnRE
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzY3JpcHQnKSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNv
cmQubmV4dFNpYmxpbmcsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnJlbW92ZWRO
b2Rlcy5sZW5ndGgsIDApOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXMubGVu
Z3RoLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzWzBdLCBjb250ZW50
RG9jdW1lbnQucXVlcnlTZWxlY3RvcignYicpKTsKKworICAgIHJlY29yZHNMaXN0ID0gY29udGVu
dFdpbmRvdy5yZWNvcmRzTGlzdEluRE9NQ29udGVudExvYWRlZDsKKyAgICBhc3NlcnRfdHJ1ZShB
cnJheS5pc0FycmF5KHJlY29yZHNMaXN0KSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRzTGlz
dC5sZW5ndGgsIDIpOworICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkocmVjb3Jkc0xpc3Rb
MV0pKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZHNMaXN0WzFdLmxlbmd0aCwgMSk7CisgICAg
cmVjb3JkID0gcmVjb3Jkc0xpc3RbMV1bMF07CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudHlw
ZSwgJ2NoaWxkTGlzdCcpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnRhcmdldCwgY29udGVu
dERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2InKSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQu
cHJldmlvdXNTaWJsaW5nLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5uZXh0U2li
bGluZywgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucmVtb3ZlZE5vZGVzLmxlbmd0
aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGgsIDEpOwor
ICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXNbMF0sIGNvbnRlbnREb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdzb21lLWVsZW1lbnQnKSk7Cit9LCAnSFRNTCBwYXJzZXIgbXVzdCBwZXJm
b3JtIGEgbWljcm90YXNrIGNoZWNrcG9pbnQgYmVmb3JlIGNvbnN0cnVjdGluZyBhIGN1c3RvbSBl
bGVtZW50Jyk7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3Qg
Y29udGVudFdpbmRvdyA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIo
dGhpcywgJzxiPjxpPmhlbGxvPC9iPjxzb21lLWVsZW1lbnQ+Jyk7CisgICAgY29uc3QgY29udGVu
dERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBsZXQgcmVjb3Jkc0xpc3Qg
PSBjb250ZW50V2luZG93LnJlY29yZHNMaXN0SW5Db25zdHJ1Y3RvcjsKKyAgICBhc3NlcnRfdHJ1
ZShBcnJheS5pc0FycmF5KHJlY29yZHNMaXN0KSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRz
TGlzdC5sZW5ndGgsIDEpOworICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkocmVjb3Jkc0xp
c3RbMF0pKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZHNMaXN0WzBdLmxlbmd0aCwgNCk7CisK
KyAgICBsZXQgcmVjb3JkID0gcmVjb3Jkc0xpc3RbMF1bMF07CisgICAgYXNzZXJ0X2VxdWFscyhy
ZWNvcmQudHlwZSwgJ2NoaWxkTGlzdCcpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnRhcmdl
dCwgY29udGVudERvY3VtZW50LmJvZHkpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnByZXZp
b3VzU2libGluZywgY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdCcpKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJlY29yZC5uZXh0U2libGluZywgbnVsbCk7CisgICAgYXNzZXJ0X2Vx
dWFscyhyZWNvcmQucmVtb3ZlZE5vZGVzLmxlbmd0aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhy
ZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGgsIDEpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFk
ZGVkTm9kZXNbMF0sIGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdiJykpOworCisgICAg
cmVjb3JkID0gcmVjb3Jkc0xpc3RbMF1bMV07CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudHlw
ZSwgJ2NoaWxkTGlzdCcpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnRhcmdldCwgY29udGVu
dERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2InKSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQu
cHJldmlvdXNTaWJsaW5nLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5uZXh0U2li
bGluZywgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucmVtb3ZlZE5vZGVzLmxlbmd0
aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGgsIDEpOwor
ICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXNbMF0sIGNvbnRlbnREb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdpJykpOworCisgICAgcmVjb3JkID0gcmVjb3Jkc0xpc3RbMF1bMl07Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudHlwZSwgJ2NoaWxkTGlzdCcpOworICAgIGFzc2VydF9l
cXVhbHMocmVjb3JkLnRhcmdldCwgY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2knKSk7
CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucHJldmlvdXNTaWJsaW5nLCBudWxsKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJlY29yZC5uZXh0U2libGluZywgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFs
cyhyZWNvcmQucmVtb3ZlZE5vZGVzLmxlbmd0aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNv
cmQuYWRkZWROb2Rlcy5sZW5ndGgsIDEpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVk
Tm9kZXNbMF0ubm9kZVR5cGUsIE5vZGUuVEVYVF9OT0RFKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJl
Y29yZC5hZGRlZE5vZGVzWzBdLmRhdGEsICJoZWxsbyIpOworCisgICAgcmVjb3JkID0gcmVjb3Jk
c0xpc3RbMF1bM107CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudHlwZSwgJ2NoaWxkTGlzdCcp
OworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnRhcmdldCwgY29udGVudERvY3VtZW50LmJvZHkp
OworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnByZXZpb3VzU2libGluZywgY29udGVudERvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ2InKSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQubmV4dFNp
YmxpbmcsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnJlbW92ZWROb2Rlcy5sZW5n
dGgsIDApOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXMubGVuZ3RoLCAxKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzWzBdLCBjb250ZW50RG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgnaScpWzFdKTsKKworICAgIHJlY29yZHNMaXN0ID0gY29udGVudFdp
bmRvdy5yZWNvcmRzTGlzdEluRE9NQ29udGVudExvYWRlZDsKKyAgICBhc3NlcnRfdHJ1ZShBcnJh
eS5pc0FycmF5KHJlY29yZHNMaXN0KSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRzTGlzdC5s
ZW5ndGgsIDIpOworICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkocmVjb3Jkc0xpc3RbMV0p
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZHNMaXN0WzFdLmxlbmd0aCwgMSk7CisKKyAgICBy
ZWNvcmQgPSByZWNvcmRzTGlzdFsxXVswXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50eXBl
LCAnY2hpbGRMaXN0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudGFyZ2V0LCBjb250ZW50
RG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaScpWzFdKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJl
Y29yZC5wcmV2aW91c1NpYmxpbmcsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLm5l
eHRTaWJsaW5nLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5yZW1vdmVkTm9kZXMu
bGVuZ3RoLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzLmxlbmd0aCwg
MSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlc1swXSwgY29udGVudERvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ3NvbWUtZWxlbWVudCcpKTsKK30sICdIVE1MIHBhcnNlciBtdXN0
IHBlcmZvcm0gYSBtaWNyb3Rhc2sgY2hlY2twb2ludCBiZWZvcmUgY29uc3RydWN0aW5nIGEgY3Vz
dG9tIGVsZW1lbnQgZHVyaW5nIHRoZSBhZG9wdGlvbiBhZ2VuY3kgYWxnb3JpdGhtJyk7CisKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcHNldWRvLWNsYXNzLWRl
ZmluZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcHNldWRvLWNsYXNzLWRlZmluZWQtZXhwZWN0ZWQudHh0
CmluZGV4IDk0NTkyNzdmNTI1ZTc4MGI2YjcxZmJmZTI1ZTI5YjMyZDAxYmIzYTQuLmQyYWQ4MDQ4
MjA4YjNmYzVjNjlkMWUxZjY1NGFmNjIxMzMyMDQyNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BzZXVkby1j
bGFzcy1kZWZpbmVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wc2V1ZG8tY2xhc3MtZGVmaW5lZC1l
eHBlY3RlZC50eHQKQEAgLTEsNSArMSw2IEBACiAKIAorUEFTUyB0aGlzLm1hdGNoZXMoOmRlZmlu
ZWQpIHNob3VsZCBub3QgbWF0Y2ggZHVyaW5nIGFuIHVwZ3JhZGUgCiBQQVNTIDxkaXY+IHNob3Vs
ZCBiZSA6ZGVmaW5lZCAKIFBBU1MgY3JlYXRlRWxlbWVudCgiZGl2Iikgc2hvdWxkIGJlIDpkZWZp
bmVkIAogUEFTUyBjcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi
LCAiZGl2Iikgc2hvdWxkIGJlIDpkZWZpbmVkIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcHNldWRvLWNsYXNz
LWRlZmluZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3BzZXVkby1jbGFzcy1kZWZpbmVkLmh0bWwKaW5kZXggNjBkODhj
ZmZiNTE3YzAwNjJkYjMzOGU1YmE4OWU5OGY3NzQ4YzI4MC4uZWQxMjgzMGQ1YTk1ODJkYmYzZWMz
MGM3NGE0M2ZlMzgxMjIxYTEzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcHNldWRvLWNsYXNzLWRlZmluZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9wc2V1ZG8tY2xhc3MtZGVmaW5lZC5odG1sCkBAIC0xNiw2ICsxNiw3IEBA
IGNvbnN0IHRlc3RMaXN0ID0gWwogY29uc3QgbmVpdGhlciA9ICdyZ2IoMjU1LCAwLCAwKSc7CiBj
b25zdCBkZWZpbmVkID0gJ3JnYigyNTUsIDE2NSwgMCknOwogY29uc3Qgbm90X2RlZmluZWQgPSAn
cmdiKDAsIDAsIDI1NSknOworY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImlmcmFtZSIpOwogaWZyYW1lLnNyY2RvYyA9IGA8c3R5bGU+CiAgICogeyBjb2xvcjoke25laXRo
ZXJ9OyB9CiAgIDpkZWZpbmVkIHsgY29sb3I6JHtkZWZpbmVkfTsgfQpAQCAtOTAsNCArOTEsMjIg
QEAgZnVuY3Rpb24gdGVzdF9kZWZpbmVkKGV4cGVjdGVkLCBlbGVtZW50LCBkZXNjcmlwdGlvbikg
ewogICAgIGFzc2VydF9lcXVhbHMoc3R5bGUuY29sb3IsIGV4cGVjdGVkID8gZGVmaW5lZCA6IG5v
dF9kZWZpbmVkLCAnZ2V0Q29tcHV0ZWRTdHlsZScpOwogICB9LCBgJHtkZXNjcmlwdGlvbn0gc2hv
dWxkICR7ZXhwZWN0ZWQgPyAnYmUnIDogJ25vdCBiZSd9IDpkZWZpbmVkYCk7CiB9CisKK3Rlc3Qo
ZnVuY3Rpb24gKCkgeworICAgIHZhciBsb2cgPSBbXTsKKyAgICB2YXIgaW5zdGFuY2UgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdteS1jdXN0b20tZWxlbWVudC0yJyk7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChpbnN0YW5jZSk7CisgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdt
eS1jdXN0b20tZWxlbWVudC0yJyxjbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICAgICAg
Y29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAgICAgbG9nLnB1
c2goW3RoaXMsICdiZWdpbiddKTsKKyAgICAgICAgICAgIGFzc2VydF9mYWxzZSh0aGlzLm1hdGNo
ZXMoIjpkZWZpbmVkIiksICJEdXJpbmcgY29uc3RydWN0aW9uLCB0aGlzIHNob3VsZCBub3QgbWF0
Y2ggOmRlZmluZWQiKTsKKyAgICAgICAgICAgIGxvZy5wdXNoKFt0aGlzLCAnZW5kJ10pOworICAg
ICAgICB9CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhsb2cubGVuZ3RoLCAyKTsKKyAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGxvZ1swXSwgW2luc3RhbmNlLCAnYmVnaW4nXSk7CisgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhsb2dbMV0sIFtpbnN0YW5jZSwgJ2VuZCddKTsKK30sICd0aGlzLm1h
dGNoZXMoOmRlZmluZWQpIHNob3VsZCBub3QgbWF0Y2ggZHVyaW5nIGFuIHVwZ3JhZGUnKTsKKwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbi10aW1pbmctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb24tdGltaW5nLWV4cGVjdGVkLnR4dAppbmRleCA5ZjAzMDQ3NDEzNDc4MzY2OTZi
MTk4ZWJjMjM4M2E5ODFiYTgwMTM1Li4wZGQxNzEzOGI4OTY2NWU1ZmRlZTQ4ODA3ZjQ1OGY5MmE1
MmM0MzAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbi10aW1pbmctZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9uLXRpbWluZy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACiAKIFBBU1Mg
c2V0QXR0cmlidXRlIGFuZCByZW1vdmVBdHRyaWJ1dGUgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2Ug
YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIAorUEFTUyB0b2dnbGVBdHRyaWJ1dGUgbXVzdCBlbnF1
ZXVlIGFuZCBpbnZva2UgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIAogUEFTUyBDYWxsaW5nIE5v
ZGUucHJvdG90eXBlLmNsb25lTm9kZShmYWxzZSkgbXVzdCBwdXNoIGEgbmV3IGVsZW1lbnQgcXVl
dWUgdG8gdGhlIHByb2Nlc3Npbmcgc3RhY2sgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9uLXRp
bWluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvcmVhY3Rpb24tdGltaW5nLmh0bWwKaW5kZXggOWU1YmFmYmVkZmVjNDJk
MjhlYjk0Yzk1ZWQ4NDM5Njk0MWJjNjFhYy4uNDU0Y2MyNmMwZjA3NTcyYzgyNDVhOWJjOTQ1MmNi
ZjQ1YjZlYzg5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb24tdGltaW5nLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb24tdGltaW5nLmh0bWwKQEAgLTQ3LDYgKzQ3LDMxIEBAIHRlc3QoZnVuY3Rpb24gKCkg
ewogCiB9LCAnc2V0QXR0cmlidXRlIGFuZCByZW1vdmVBdHRyaWJ1dGUgbXVzdCBlbnF1ZXVlIGFu
ZCBpbnZva2UgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrJyk7CiAKK3Rlc3QoZnVuY3Rpb24gKCkg
eworICAgIHZhciBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ215LWN1c3RvbS1l
bGVtZW50Jyk7CisgICAgdmFyIGFub3RoZXJJbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ215LWN1c3RvbS1lbGVtZW50Jyk7CisKKyAgICB2YXIgY2FsbGJhY2tPcmRlciA9IFtdOwor
ICAgIGluc3RhbmNlLmhhbmRsZXIgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgIGNhbGxiYWNrT3Jk
ZXIucHVzaChbdGhpcywgJ2JlZ2luJ10pOworICAgICAgICBhbm90aGVySW5zdGFuY2UudG9nZ2xl
QXR0cmlidXRlKCdkYXRhLXRpdGxlJyk7CisgICAgICAgIGNhbGxiYWNrT3JkZXIucHVzaChbdGhp
cywgJ2VuZCddKTsKKyAgICB9CisgICAgYW5vdGhlckluc3RhbmNlLmhhbmRsZXIgPSBmdW5jdGlv
biAoKSB7CisgICAgICAgIGNhbGxiYWNrT3JkZXIucHVzaChbdGhpcywgJ2JlZ2luJ10pOworICAg
ICAgICBjYWxsYmFja09yZGVyLnB1c2goW3RoaXMsICdlbmQnXSk7CisgICAgfQorCisgICAgaW5z
dGFuY2UudG9nZ2xlQXR0cmlidXRlKCd0aXRsZScpOworICAgIGFzc2VydF9lcXVhbHMoY2FsbGJh
Y2tPcmRlci5sZW5ndGgsIDQpOworCisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjYWxsYmFja09y
ZGVyWzBdLCBbaW5zdGFuY2UsICdiZWdpbiddKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNh
bGxiYWNrT3JkZXJbMV0sIFthbm90aGVySW5zdGFuY2UsICdiZWdpbiddKTsKKyAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKGNhbGxiYWNrT3JkZXJbMl0sIFthbm90aGVySW5zdGFuY2UsICdlbmQnXSk7
CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjYWxsYmFja09yZGVyWzNdLCBbaW5zdGFuY2UsICdl
bmQnXSk7CisKK30sICd0b2dnbGVBdHRyaWJ1dGUgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYXR0
cmlidXRlQ2hhbmdlZENhbGxiYWNrJyk7CisKIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIHZhciBz
aG91bGRDbG9uZUFub3RoZXJJbnN0YW5jZSA9IGZhbHNlOwogICAgIHZhciBhbm90aGVySW5zdGFu
Y2VDbG9uZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9Eb2N1bWVudC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0RvY3VtZW50Lmh0bWwKaW5kZXggNzIxYWQxZjRjZWQ4NGI4YzgxMjkxZmU5MmZhNDAy
ZTdiNjM4NDM1OC4uMWYwNTk4MmE5MGNmOTRlOGEwYmE3OWJkMTA3ZjY2M2VkOTBlZWFkMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcmVhY3Rpb25zL0RvY3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0Rv
Y3VtZW50Lmh0bWwKQEAgLTEzMCwxMSArMTMwLDYgQEAgdGVzdF93aXRoX3dpbmRvdyhmdW5jdGlv
biAoY29udGVudFdpbmRvdywgY29udGVudERvY3VtZW50KSB7CiAKIHRlc3Rfd2l0aF93aW5kb3co
ZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3csIGNvbnRlbnREb2N1bWVudCkgewogICAgIGNvbnRlbnRX
aW5kb3cuZG9jdW1lbnQub3BlbigpOwotICAgIC8vIGRvY3VtZW50Lm9wZW4oKSdzIHNwZWMgZG9l
c24ndCBtYXRjaCBtb3N0IGJyb3dzZXJzOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9o
dG1sL2lzc3Vlcy8xNjk4LgotICAgIC8vIEhvd2V2ZXIsIGFzIGV4cGxhaW5lZCBpbiBodHRwczov
L2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzE2OTgjaXNzdWVjb21tZW50LTI5ODc0ODY0
MQotICAgIC8vIHRoZSBjdXN0b20gZWxlbWVudCByZWdpc3RyeSB3aWxsIGJlIHJlcGxhY2VkIGFm
dGVyIGRvY3VtZW50Lm9wZW4oKSBjYWxsLAotICAgIC8vIFNvIGNhbGwgY3VzdG9tRWxlbWVudHMu
ZGVmaW5lKCkgYWZ0ZXIgdGhhdCBpbiBvcmRlciB0byByZWdpc3RlciBkZWZpbnRpb24KLSAgICAv
LyB0byBjb3JyZWN0IGN1c3RvbSBlbGVtZW50cyByZWdpc3RyeS4KICAgICBjb25zdCBlbGVtZW50
ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9t
LWVsZW1lbnQnLCBbXSk7CiAgICAgY29udGVudFdpbmRvdy5kb2N1bWVudC53cml0ZSgnPGN1c3Rv
bS1lbGVtZW50PjwvY3VzdG9tLWVsZW1lbnQ+Jyk7CiAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhl
bGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCddKTsK
QEAgLTE1MSwxMSArMTQ2LDYgQEAgdGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVudFdp
bmRvdywgY29udGVudERvY3VtZW50KSB7CiAKIHRlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNv
bnRlbnRXaW5kb3cpIHsKICAgICBjb250ZW50V2luZG93LmRvY3VtZW50Lm9wZW4oKTsKLSAgICAv
LyBkb2N1bWVudC5vcGVuKCkncyBzcGVjIGRvZXNuJ3QgbWF0Y2ggbW9zdCBicm93c2Vyczsgc2Vl
IGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9pc3N1ZXMvMTY5OC4KLSAgICAvLyBIb3dl
dmVyLCBhcyBleHBsYWluZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL2lzc3Vl
cy8xNjk4I2lzc3VlY29tbWVudC0yOTg3NDg2NDEKLSAgICAvLyB0aGUgY3VzdG9tIGVsZW1lbnQg
cmVnaXN0cnkgd2lsbCBiZSByZXBsYWNlZCBhZnRlciBkb2N1bWVudC5vcGVuKCkgY2FsbCwKLSAg
ICAvLyBTbyBjYWxsIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgpIGFmdGVyIHRoYXQgaW4gb3JkZXIg
dG8gcmVnaXN0ZXIgZGVmaW50aW9uCi0gICAgLy8gdG8gY29ycmVjdCBjdXN0b20gZWxlbWVudHMg
cmVnaXN0cnkuCiAgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93
aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOwogICAgIGNvbnRlbnRX
aW5kb3cuZG9jdW1lbnQud3JpdGVsbignPGN1c3RvbS1lbGVtZW50PjwvY3VzdG9tLWVsZW1lbnQ+
Jyk7CiAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBb
J2NvbnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCddKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9F
bGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9FbGVtZW50LWV4cGVjdGVkLnR4dApp
bmRleCAxYTgyNTJkZDZiOGQyMGE5N2ZkNTgwYjhmMTgyMDRkZDdhYmE5MjlhLi4xZTdmZmNhNmZh
NTI2NmQ2MjI3MDA4Y2VmNDgzNTVhNmZlMTJjZDgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
RWxlbWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0VsZW1lbnQtZXhwZWN0ZWQu
dHh0CkBAIC0xOSw2ICsxOSwxMiBAQCBQQVNTIHJlbW92ZUF0dHJpYnV0ZSBvbiBFbGVtZW50IG11
c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aAogUEFTUyByZW1v
dmVBdHRyaWJ1dGVOUyBvbiBFbGVtZW50IG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIHJlbW92aW5nIGFuIHVub2JzZXJ2ZWQgYXR0cmlidXRlIAogUEFT
UyByZW1vdmVBdHRyaWJ1dGVOUyBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAogUEFT
UyByZW1vdmVBdHRyaWJ1dGVOUyBvbiBFbGVtZW50IG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlbW92aW5nIGFuIGV4aXN0aW5nIHVub2JzZXJ2ZWQg
YXR0cmlidXRlIAorUEFTUyB0b2dnbGVBdHRyaWJ1dGUgKG9ubHkgcmVtb3Zlcykgb24gRWxlbWVu
dCBtdXN0IG5vdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZW1v
dmluZyBhbiB1bm9ic2VydmVkIGF0dHJpYnV0ZSAKK1BBU1MgdG9nZ2xlQXR0cmlidXRlIChvbmx5
IHJlbW92ZXMpIG9uIEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiByZW1vdmluZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgCitQQVNTIHRvZ2dsZUF0
dHJpYnV0ZSAob25seSByZW1vdmVzKSBvbiBFbGVtZW50IG11c3Qgbm90IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlbW92aW5nIGFuIGV4aXN0aW5nIHVub2JzZXJ2
ZWQgYXR0cmlidXRlIAorUEFTUyB0b2dnbGVBdHRyaWJ1dGUgKGZvcmNlIGZhbHNlKSBvbiBFbGVt
ZW50IG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJl
bW92aW5nIGFuIHVub2JzZXJ2ZWQgYXR0cmlidXRlIAorUEFTUyB0b2dnbGVBdHRyaWJ1dGUgKGZv
cmNlIGZhbHNlKSBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJl
YWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAorUEFTUyB0b2dnbGVB
dHRyaWJ1dGUgKGZvcmNlIGZhbHNlKSBvbiBFbGVtZW50IG11c3Qgbm90IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlbW92aW5nIGFuIGV4aXN0aW5nIHVub2JzZXJ2
ZWQgYXR0cmlidXRlIAogUEFTUyBzZXRBdHRyaWJ1dGVOb2RlIG9uIEVsZW1lbnQgbXVzdCBlbnF1
ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYW4gYXR0cmlidXRl
IAogUEFTUyBzZXRBdHRyaWJ1dGVOb2RlIG9uIEVsZW1lbnQgbXVzdCBub3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGFuIHVub2JzZXJ2ZWQgYXR0cmli
dXRlIAogUEFTUyBzZXRBdHRyaWJ1dGVOb2RlIG9uIEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmli
dXRlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0VsZW1lbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9FbGVtZW50Lmh0bWwKaW5kZXggODM3MDcyNDA2MWFkMTkzZTcxNTc0NTk2ZWZhNjhjOTE2ZTU1
NTM1Yy4uZTE1NzY3MzRkMGNjMTY5YzBjYzA3MmM2NDRhMGUzMDAwMTc5NzdkYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0VsZW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRWxlbWVudC5o
dG1sCkBAIC0zNSw2ICszNSwxNSBAQCB0ZXN0QXR0cmlidXRlUmVtb3ZlcihmdW5jdGlvbiAoZWxl
bWVudCwgbmFtZSkgewogICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlTlMobnVsbCwgbmFtZSk7
CiB9LCAncmVtb3ZlQXR0cmlidXRlTlMgb24gRWxlbWVudCcpOwogCit0ZXN0QXR0cmlidXRlUmVt
b3ZlcihmdW5jdGlvbiAoZWxlbWVudCwgbmFtZSwgdmFsdWUpIHsKKyAgaWYgKGVsZW1lbnQuaGFz
QXR0cmlidXRlKG5hbWUpKQorICAgIGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKG5hbWUpOworfSwg
J3RvZ2dsZUF0dHJpYnV0ZSAob25seSByZW1vdmVzKSBvbiBFbGVtZW50Jyk7CisKK3Rlc3RBdHRy
aWJ1dGVSZW1vdmVyKGZ1bmN0aW9uIChlbGVtZW50LCBuYW1lLCB2YWx1ZSkgeworICAgIGVsZW1l
bnQudG9nZ2xlQXR0cmlidXRlKG5hbWUsIGZhbHNlKTsKK30sICd0b2dnbGVBdHRyaWJ1dGUgKGZv
cmNlIGZhbHNlKSBvbiBFbGVtZW50Jyk7CisKIHRlc3RBdHRyaWJ1dGVBZGRlcihmdW5jdGlvbiAo
ZWxlbWVudCwgbmFtZSwgdmFsdWUpIHsKICAgICB2YXIgYXR0ciA9IGRvY3VtZW50LmNyZWF0ZUF0
dHJpYnV0ZShuYW1lKTsKICAgICBhdHRyLnZhbHVlID0gdmFsdWU7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTEFyZWFFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
QXJlYUVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhZjNmODQ5ODU4YTcwMTE3ZWJm
YjJjOTBjNmU5NzJiYzE3MTIxNTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TEFyZWFFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACisgCisKK0ZBSUwgYWx0
IG9uIEhUTUxBcmVhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFj
dGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEg
Y29uc3RydWN0b3IuCitGQUlMIGFsdCBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjb29yZHMg
b24gSFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgY29vcmRzIG9uIEhUTUxBcmVhRWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHNoYXBl
IG9uIEhUTUxBcmVhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFj
dGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEg
Y29uc3RydWN0b3IuCitGQUlMIHNoYXBlIG9uIEhUTUxBcmVhRWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHRhcmdl
dCBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorRkFJTCB0YXJnZXQgb24gSFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZG93
bmxvYWQgb24gSFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBu
b3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZG93bmxvYWQgb24gSFRNTEFyZWFFbGVtZW50IG11c3Qg
ZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4
aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZB
SUwgcGluZyBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBwaW5nIG9uIEhUTUxBcmVhRWxlbWVudCBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlz
dGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IHJlbCBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQg
cmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5v
dCBhIGNvbnN0cnVjdG9yLgorRkFJTCByZWwgb24gSFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcmVm
ZXJyZXJQb2xpY3kgb24gSFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFz
cyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcmVmZXJyZXJQb2xpY3kgb24gSFRNTEFyZWFF
bGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVw
bGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxBcmVhRWxlbWVudC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxBcmVhRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MDU5Yjdj
OGQwODYwNmM0NWFhMzE1ZWJhMjdjMzA5NDVhZDk2ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTEFyZWFFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MQXJlYUVs
ZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwi
IGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVu
dD0iYWx0LCBjb29yZHMsIHNoYXBlLCB0YXJnZXQsIGRvd25sb2FkLCBwaW5nLCByZWwsCisgIHJl
ZmVycmVyUG9saWN5IG9mIEhUTUxBcmVhRWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVh
Y3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvI3RoZS1hcmVhLWVsZW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jdXN0b20t
ZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
cmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPG1hcCBuYW1lPSJ5ZWxsb3ciIGlkPSJtYXAiPgor
PC9tYXA+Cis8aW1nIHVzZW1hcD0iI3llbGxvdyIgc3JjPSIvaW1hZ2VzL3llbGxvdy5wbmciIGFs
dD0ieWVsbG93IHBpYyI+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQo
KSB7CisgIGxldCBtYXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFwJyk7CisgIHJldHVy
biBtYXA7Cit9CisKK2Z1bmN0aW9uIHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpIHsKKyAgaW5zdGFu
Y2Uuc2V0QXR0cmlidXRlKCdocmVmJywgJy9pbWFnZXMveWVsbG93LnBuZycpOworfQorCit0ZXN0
UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnYWx0JywgJ2FsdCcs
ICd5ZWxsb3cgcGljJywKKyAgJ3llbGxvdyBwaWMyJywgJ2FsdCBvbiBIVE1MQXJlYUVsZW1lbnQn
LCAnYXJlYScsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMo
aW5zdGFuY2UpLCBIVE1MQXJlYUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQ
YXJlbnROb2RlKAorICAnY29vcmRzJywgJ2Nvb3JkcycsICcxLCAxLCA1LCA1JywKKyAgJzIsIDIs
IDYsIDYnLCAnY29vcmRzIG9uIEhUTUxBcmVhRWxlbWVudCcsICdhcmVhJywKKyAgZ2V0UGFyZW50
RWxlbWVudCwgSFRNTEFyZWFFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVw
ZW5kZW50QXR0cmlidXRlcygKKyAgJ3NoYXBlJywgJ3NoYXBlJywgJ3JlY3RhbmdsZScsCisgICdk
ZWZhdWx0JywgJ3NoYXBlIG9uIEhUTUxBcmVhRWxlbWVudCcsICdhcmVhJywKKyAgZ2V0UGFyZW50
RWxlbWVudCwgaW5zdGFuY2UgPT4gaW5zdGFuY2Uuc2V0QXR0cmlidXRlKCdjb29yZHMnLCAnMSwg
MSwgNSwgNScpLAorICBIVE1MQXJlYUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdp
dGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAndGFyZ2V0JywgJ3RhcmdldCcsICdfYmxhbmsnLAor
ICAnX3RvcCcsICd0YXJnZXQgb24gSFRNTEFyZWFFbGVtZW50JywgJ2FyZWEnLAorICBnZXRQYXJl
bnRFbGVtZW50LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSwgSFRNTEFyZWFF
bGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygK
KyAgJ2Rvd25sb2FkJywgJ2Rvd25sb2FkJywgJ3BpYzEnLAorICAncGljMicsICdkb3dubG9hZCBv
biBIVE1MQXJlYUVsZW1lbnQnLCAnYXJlYScsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNl
ID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MQXJlYUVsZW1lbnQKKyk7Cit0ZXN0UmVm
bGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAncGluZycsICdwaW5nJywg
J2xvY2F0aW9uLmhyZWYnLAorICBgJHtsb2NhdGlvbi5wcm90b2NvbH1cL1wvJHtsb2NhdGlvbi5o
b3N0fWAsICdwaW5nIG9uIEhUTUxBcmVhRWxlbWVudCcsICdhcmVhJywKKyAgZ2V0UGFyZW50RWxl
bWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSksIEhUTUxBcmVhRWxlbWVu
dAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdy
ZWwnLCAncmVsJywgJ2hlbHAnLAorICAnbm9yZWZlcnJlcicsICdyZWwgb24gSFRNTEFyZWFFbGVt
ZW50JywgJ2FyZWEnLAorICBnZXRQYXJlbnRFbGVtZW50LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1
dGVzKGluc3RhbmNlKSwgSFRNTEFyZWFFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVX
aXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ3JlZmVycmVyUG9saWN5JywgJ3JlZmVycmVycG9s
aWN5JywgJ3NhbWUtb3JpZ2luJywKKyAgJ29yaWdpbicsICdyZWZlcnJlclBvbGljeSBvbiBIVE1M
QXJlYUVsZW1lbnQnLCAnYXJlYScsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNl
dEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MQXJlYUVsZW1lbnQKKyk7CisKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxCYXNlRWxlbWVudC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvSFRNTEJhc2VFbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDQ4
MzQ3YTEyNzBiOTZkMGIxNTY1MmM4MGVjYmU2NmE0MjEzYjgzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxCYXNlRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBA
CisKK0ZBSUwgaHJlZiBvbiBIVE1MQmFzZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBocmVmIG9uIEhUTUxCYXNlRWxlbWVudCBt
dXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBh
biBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3Iu
CitGQUlMIHRhcmdldCBvbiBIVE1MQmFzZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCB0YXJnZXQgb24gSFRNTEJhc2VFbGVtZW50
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5n
IGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxCYXNlRWxlbWVudC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb25zL0hUTUxCYXNlRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyYWI5MjI4MDQzMDUz
ZDI2NDk2YzZlYzEwNmI4MTJkYTVhNjYyNjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTEJhc2VFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxCYXNl
RWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRl
bCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250
ZW50PSJocmVmLCB0YXJnZXQgb2YgSFRNTEJhc2VFbGVtZW50IGludGVyZmFjZSBtdXN0IGhhdmUg
Q0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy8jdGhlLWJhc2UtZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1
c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPHNjcmlwdD4KKworZnVuY3Rp
b24gZ2V0UGFyZW50RWxlbWVudCgpIHsKKyAgcmV0dXJuIGRvY3VtZW50LmhlYWQ7Cit9CisKK3Rl
c3RSZWZsZWN0QXR0cmlidXRlV2l0aFBhcmVudE5vZGUoJ2hyZWYnLCAnaHJlZicsICcvJywgJ2h0
dHA6Ly9leGFtcGxlLmNvbS8nLCAnaHJlZiBvbiBIVE1MQmFzZUVsZW1lbnQnLCAnYmFzZScsIGdl
dFBhcmVudEVsZW1lbnQsIEhUTUxCYXNlRWxlbWVudCk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdp
dGhQYXJlbnROb2RlKCd0YXJnZXQnLCAndGFyZ2V0JywgJ19ibGFuaycsICdfc2VsZicsICd0YXJn
ZXQgb24gSFRNTEJhc2VFbGVtZW50JywgJ2Jhc2UnLCBnZXRQYXJlbnRFbGVtZW50LCBIVE1MQmFz
ZUVsZW1lbnQpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MQnV0
dG9uRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEJ1dHRvbkVsZW1lbnQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxYzk2MjBkZTg4ZjZiYzgzZjg4YjZjMTQ4ZTdiNDMz
MzY3MzMxMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEJ1dHRvbkVsZW1l
bnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKKworRkFJTCBhdXRvZm9jdXMgb24gSFRN
TEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiBhZGRpbmcgYXV0b2ZvY3VzIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBhdXRvZm9jdXMgb24gSFRNTEJ1dHRvbkVsZW1lbnQg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcg
YW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9y
LgorRkFJTCBkaXNhYmxlZCBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBkaXNhYmxlZCBjb250ZW50IGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZGlzYWJsZWQg
b24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNz
IGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBuYW1lIG9uIEhUTUxCdXR0b25FbGVtZW50IG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIG5hbWUg
Y29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitG
QUlMIG5hbWUgb24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNo
YW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBz
dXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCB2YWx1ZSBvbiBIVE1MQnV0dG9u
RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFk
ZGluZyB2YWx1ZSBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KK0ZBSUwgdmFsdWUgb24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCB0eXBlIG9u
IEhUTUxCdXR0b25FbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgdHlwZSBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGZvcm1B
Y3Rpb24gb24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBmb3JtQWN0aW9uIG9uIEhUTUxCdXR0b25FbGVtZW50
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5n
IGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KK0ZBSUwgZm9ybUVuY3R5cGUgb24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRo
ZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBmb3JtRW5jdHlwZSBvbiBI
VE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMg
bm90IGEgY29uc3RydWN0b3IuCitGQUlMIGZvcm1NZXRob2Qgb24gSFRNTEJ1dHRvbkVsZW1lbnQg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBu
ZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBm
b3JtTWV0aG9kIG9uIEhUTUxCdXR0b25FbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUg
c3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZm9ybU5vVmFsaWRhdGUgb24g
SFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rp
b24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorRkFJTCBmb3JtTm9WYWxpZGF0ZSBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBl
eGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitG
QUlMIGZvcm1UYXJnZXQgb24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJp
YnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBl
cmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBmb3JtVGFyZ2V0IG9uIEhUTUxCdXR0
b25FbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
cmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxCdXR0b25FbGVtZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEJ1dHRvbkVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
OTdiNmRhYTBiNWMyM2I4M2VhOTE2ZTJiZjc1NmI0OWVjZjNhNTFhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxCdXR0b25FbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw4MCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBI
VE1MQnV0dG9uRWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0
aXRsZT0iWmhhbmcgWGlhb3l1IiBocmVmPSJ4aWFveXV4LnpoYW5nQGludGVsLmNvbSI+Cis8bWV0
YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IiBhdXRvZm9jdXMsIGRpc2FibGVkLCBmb3JtQWN0aW9u
LCBmb3JtRW5jdHlwZSwKKyAgZm9ybU1ldGhvZCwgZm9ybU5vVmFsaWRhdGUsIGZvcm1UYXJnZXQs
IG5hbWUsIHR5cGUsIHZhbHVlCisgIG9mIEhUTUxCdXR0b25FbGVtZW50IGludGVyZmFjZSBtdXN0
IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy8jaHRtbGJ1dHRvbmVsZW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKwor
ZnVuY3Rpb24gZ2V0UGFyZW50RWxlbWVudChwYXJlbnRFbGVtZW50TmFtZSkgeworICBsZXQgcGFy
ZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocGFyZW50RWxlbWVudE5hbWUpOwor
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudEVsZW1lbnQpOworICByZXR1cm4gcGFy
ZW50RWxlbWVudDsKK30KKworZnVuY3Rpb24gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSkgeworICBp
bnN0YW5jZS5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnc3VibWl0Jyk7Cit9CisKK3Rlc3RSZWZsZWN0
Qm9vbGVhbkF0dHJpYnV0ZSgKKyAgJ2F1dG9mb2N1cycsICdhdXRvZm9jdXMnLCAnYXV0b2ZvY3Vz
IG9uIEhUTUxCdXR0b25FbGVtZW50JywKKyAgJ2J1dHRvbicsIEhUTUxCdXR0b25FbGVtZW50Cisp
OwordGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlKAorICAnZGlzYWJsZWQnLCAnZGlzYWJsZWQn
LCdkaXNhYmxlZCBvbiBIVE1MQnV0dG9uRWxlbWVudCcsCisgICdidXR0b24nLCBIVE1MQnV0dG9u
RWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKAorICAnbmFtZScsICduYW1lJywgJ2lu
dGVsJywKKyAgJ2ludGVsMScsICduYW1lIG9uIEhUTUxCdXR0b25FbGVtZW50JywgJ2J1dHRvbics
CisgIEhUTUxCdXR0b25FbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoCisgICd2YWx1
ZScsICd2YWx1ZScsICdIVE1MJywKKyAgJ0NTUycsICd2YWx1ZSBvbiBIVE1MQnV0dG9uRWxlbWVu
dCcsICdidXR0b24nLAorICBIVE1MQnV0dG9uRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmli
dXRlV2l0aFBhcmVudE5vZGUoCisgICd0eXBlJywgJ3R5cGUnLCAnc3VibWl0JywKKyAgJ3Jlc2V0
JywgICd0eXBlIG9uIEhUTUxCdXR0b25FbGVtZW50JywgJ2J1dHRvbicsCisgICgpID0+IGdldFBh
cmVudEVsZW1lbnQoJ2Zvcm0nKSwgSFRNTEJ1dHRvbkVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0
dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnZm9ybUFjdGlvbicsICdmb3JtYWN0
aW9uJywgJ2ludGVsLmFzcCcsCisgICdpbnRlbDEuYXNwJywgJ2Zvcm1BY3Rpb24gb24gSFRNTEJ1
dHRvbkVsZW1lbnQnLCAnYnV0dG9uJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxlbWVudCgnZm9ybScp
LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSwKKyAgSFRNTEJ1dHRvbkVsZW1l
bnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAn
Zm9ybUVuY3R5cGUnLCAnZm9ybWVuY3R5cGUnLCAndGV4dC9wbGFpbicsICdtdWx0aXBhcnQvZm9y
bS1kYXRhJywKKyAgJ2Zvcm1FbmN0eXBlIG9uIEhUTUxCdXR0b25FbGVtZW50JywgJ2J1dHRvbics
ICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ2Zvcm0nKSwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0cmli
dXRlcyhpbnN0YW5jZSksCisgIEhUTUxCdXR0b25FbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRy
aWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ2Zvcm1NZXRob2QnLCAnZm9ybW1ldGhv
ZCcsICdnZXQnLAorICAncG9zdCcsICdmb3JtTWV0aG9kIG9uIEhUTUxCdXR0b25FbGVtZW50Jywg
J2J1dHRvbicsCisgICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ2Zvcm0nKSwgaW5zdGFuY2UgPT4g
c2V0QXR0cmlidXRlcyhpbnN0YW5jZSksCisgIEhUTUxCdXR0b25FbGVtZW50CispOwordGVzdFJl
ZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdmb3JtTm9W
YWxpZGF0ZScsICdmb3Jtbm92YWxpZGF0ZScsICdmb3JtTm9WYWxpZGF0ZSBvbiBIVE1MQnV0dG9u
RWxlbWVudCcsCisgICdidXR0b24nLCAoKSA9PiBnZXRQYXJlbnRFbGVtZW50KCdmb3JtJyksCisg
IGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLAorICBIVE1MQnV0dG9uRWxlbWVu
dAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdm
b3JtVGFyZ2V0JywgJ2Zvcm10YXJnZXQnLCAnX2JsYW5rJywKKyAgJ19zZWxmJywgJ2Zvcm1UYXJn
ZXQgb24gSFRNTEJ1dHRvbkVsZW1lbnQnLCAnYnV0dG9uJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxl
bWVudCgnZm9ybScpLCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSwKKyAgSFRN
TEJ1dHRvbkVsZW1lbnQKKyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb25zL0hUTUxDYW52YXNFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MQ2FudmFzRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA4YTZmYzVjMGFiODhm
MDlhZjcwNjZjNTE2MzkxOGUxYTU4MWIzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9IVE1MQ2FudmFzRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwg
d2lkdGggb24gSFRNTENhbnZhc0VsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgd2lkdGggY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVy
Y2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHdpZHRoIG9uIEhUTUxDYW52YXNFbGVt
ZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFj
aW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1
Y3Rvci4KK0ZBSUwgaGVpZ2h0IG9uIEhUTUxDYW52YXNFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGhlaWdodCBjb250ZW50IGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgaGVpZ2h0IG9u
IEhUTUxDYW52YXNFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBp
cyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxDYW52
YXNFbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTENhbnZhc0VsZW1lbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40NmI5MjAxZTdmMjJkNWQzZTFjYjZhZjFjZWRjMDBjM2IyOGQ4Y2RhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxDYW52YXNFbGVtZW50Lmh0bWwKQEAgLTAsMCAr
MSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0
aW9ucyBvbiBIVE1MQ2FudmFzRWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ3aWR0aCwgaGVpZ2h0IG9mIEhUTUxDYW52YXNFbGVtZW50
IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29u
dGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWNhbnZhcy1lbGVtZW50Ij4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzxz
Y3JpcHQ+CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKCd3aWR0aCcsICd3aWR0aCcsICcxNScsICcy
MCcsICd3aWR0aCBvbiBIVE1MQ2FudmFzRWxlbWVudCcsICdjYW52YXMnLCBIVE1MQ2FudmFzRWxl
bWVudCk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgnaGVpZ2h0JywgJ2hlaWdodCcsICcyMycsICc0
NScsICdoZWlnaHQgb24gSFRNTENhbnZhc0VsZW1lbnQnLCAnY2FudmFzJywgSFRNTENhbnZhc0Vs
ZW1lbnQpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRGF0YUVs
ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxEYXRhRWxlbWVudC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTc2NzAyNDg0Nzc5MDFjZThhMjdkYTFiOGQwMmNlMDcxODY1Mzg0
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRGF0YUVsZW1lbnQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIG5hbWUgb24gSFRNTERhdGFFbGVtZW50IG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIHZhbHVl
IGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
RkFJTCBuYW1lIG9uIEhUTUxEYXRhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9IVE1MRGF0YUVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRGF0YUVsZW1lbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wMWEzYmYzNDI4MWY1YTRjZTY4NGVhNTFlYTU0ZjdmY2M5MTcxMjE0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxEYXRhRWxlbWVudC5odG1sCkBAIC0w
LDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VS
ZWFjdGlvbnMgb24gSFRNTERhdGFFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0
YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9InZhbHVlIG9mIEhUTUxEYXRhRWxlbWVudCBpbnRlcmZh
Y2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1kYXRhLWVsZW1lbnQiPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKwor
dGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3ZhbHVlJywgJzEyMzQnLCAnMjM0NScsICdu
YW1lIG9uIEhUTUxEYXRhRWxlbWVudCcsICdkYXRhJywgSFRNTERhdGFFbGVtZW50KTsKKworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTERldGFpbHNFbGVtZW50LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRGV0YWlsc0VsZW1lbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYxYmZmYmIzMTg1MWY3NzUyZjIwNjMxZjhkZjBhMTliNDk2NmRhZDgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTERldGFpbHNFbGVtZW50LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQgQEAKKworRkFJTCBvcGVuIG9uIEhUTUxEZXRhaWxzRWxlbWVudCBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBvcGVuIGNv
bnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJ
TCBvcGVuIG9uIEhUTUxEZXRhaWxzRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9IVE1MRGV0YWlsc0VsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRGV0YWlsc0VsZW1l
bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jZGNjMmZjYWJmNWE3MDJjZTE1ODMxMzFmMGMxMDJjYWI5YmVi
ZjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxEZXRhaWxzRWxlbWVudC5o
dG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkN1c3RvbSBFbGVt
ZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTERldGFpbHNFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+
Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVs
LmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Im9wZW4gb2YgSFRNTERldGFpbHNF
bGVtZW50IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVs
cCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWRldGFpbHMtZWxl
bWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0
PgorCis8c2NyaXB0PgorCit0ZXN0UmVmbGVjdEJvb2xlYW5BdHRyaWJ1dGUoJ29wZW4nLCAnb3Bl
bicsICdvcGVuIG9uIEhUTUxEZXRhaWxzRWxlbWVudCcsICdkZXRhaWxzJywgSFRNTERldGFpbHNF
bGVtZW50KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEVtYmVk
RWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEVtYmVkRWxlbWVudC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM0NTIyNDNhNjNjYjBkMjBkMzAyMzE1MmIxNzUwYjcyNmQ4
NTA5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRW1iZWRFbGVtZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACisKK0ZBSUwgc3JjIG9uIEhUTUxFbWJlZEVsZW1l
bnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcg
c3JjIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9y
LgorRkFJTCBzcmMgb24gSFRNTEVtYmVkRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhl
IHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHR5cGUgb24gSFRNTEVtYmVk
RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFk
ZGluZyB0eXBlIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0
cnVjdG9yLgorRkFJTCB0eXBlIG9uIEhUTUxFbWJlZEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmli
dXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCB3aWR0aCBvbiBI
VE1MRW1iZWRFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9u
IHdoZW4gYWRkaW5nIHdpZHRoIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5v
dCBhIGNvbnN0cnVjdG9yLgorRkFJTCB3aWR0aCBvbiBIVE1MRW1iZWRFbGVtZW50IG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwg
aGVpZ2h0IG9uIEhUTUxFbWJlZEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgaGVpZ2h0IGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBl
cmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBoZWlnaHQgb24gSFRNTEVtYmVkRWxl
bWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxh
Y2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRW1iZWRFbGVtZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvSFRNTEVtYmVkRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwNWQ5ZTMy
MTViMWIyZjA3NWUzOTZkZmJhNGVkMGYxNDQyMTA3OWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTEVtYmVkRWxlbWVudC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTEVtYmVk
RWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRl
bCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250
ZW50PSJzcmMsIHR5cGUsIHdpZHRoLCBoZWlnaHQgb2YKKyAgSFRNTEVtYmVkRWxlbWVudCBpbnRl
cmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9
Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1lbWJlZC1lbGVtZW50Ij4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+
CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKAorICAnc3JjJywgJ3NyYycsICcvbWVkaWEvbW92aWVf
NS5tcDQnLAorICAnL21lZGlhL3NvdW5kXzUubXAzJywgJ3NyYyBvbiBIVE1MRW1iZWRFbGVtZW50
JywgJ2VtYmVkJywKKyAgSFRNTEVtYmVkRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRl
KAorICAndHlwZScsICd0eXBlJywgJ3ZpZGVvL3dlYm0nLAorICAndmlkZW8vbXA0JywgJ3R5cGUg
b24gSFRNTEVtYmVkRWxlbWVudCcsICdlbWJlZCcsCisgIEhUTUxFbWJlZEVsZW1lbnQKKyk7Cit0
ZXN0UmVmbGVjdEF0dHJpYnV0ZSgKKyAgJ3dpZHRoJywgJ3dpZHRoJywgJzEwMCcsCisgICcxMjAn
LCAnd2lkdGggb24gSFRNTEVtYmVkRWxlbWVudCcsICdlbWJlZCcsCisgIEhUTUxFbWJlZEVsZW1l
bnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgKKyAgJ2hlaWdodCcsICdoZWlnaHQnLCAnMTAw
JywKKyAgJzEyMCcsICdoZWlnaHQgb24gSFRNTEVtYmVkRWxlbWVudCcsICdlbWJlZCcsCisgIEhU
TUxFbWJlZEVsZW1lbnQKKyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxGaWVsZFNldEVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxGaWVs
ZFNldEVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyOWI5NjhlYWE5ZTliNWVmMzkz
YTBkNzI0NTdiNjIwODQ4MGZiMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TEZpZWxkU2V0RWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwgZGlz
YWJsZWQgb24gSFRNTEZpZWxkU2V0RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3Mg
aXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGRpc2FibGVkIG9uIEhUTUxGaWVsZFNldEVsZW1l
bnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNp
bmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorRkFJTCBuYW1lIG9uIEhUTUxGaWVsZFNldEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBz
dXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBuYW1lIG9uIEhUTUxGaWVsZFNl
dEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBy
ZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEZpZWxkU2V0RWxlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxGaWVsZFNldEVsZW1lbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40YWVhMjc4MGJhNWQyNzliY2Q1NGY5Nzg1ZTM2NGQwMTJiMjVjMDc5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxGaWVsZFNldEVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDMy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25z
IG9uIEhUTUxGaWVsZFNldEVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5h
bWU9ImFzc2VydCIgY29udGVudD0iZGlzYWJsZWQsIG5hbWUgb2YKKyAgSFRNTEZpZWxkU2V0RWxl
bWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAi
IGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1maWVsZHNldC1lbGVt
ZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+
CisKKzxib2R5PgorPHNjcmlwdD4KKworZnVuY3Rpb24gZ2V0UGFyZW50RWxlbWVudCgpIHsKKyAg
bGV0IGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7CisgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZm9ybSk7CisgIHJldHVybiBmb3JtOworfQorCit0ZXN0UmVmbGVjdEJv
b2xlYW5BdHRyaWJ1dGVXaXRoUGFyZW50Tm9kZSgKKyAgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJywg
J2Rpc2FibGVkIG9uIEhUTUxGaWVsZFNldEVsZW1lbnQnLAorICAnZmllbGRzZXQnLCBnZXRQYXJl
bnRFbGVtZW50LCBIVE1MRmllbGRTZXRFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVX
aXRoUGFyZW50Tm9kZSgKKyAgJ25hbWUnLCAnbmFtZScsICdmaWVsZHNldDEnLAorICAnZmllbGRz
ZXQyJywgJ25hbWUgb24gSFRNTEZpZWxkU2V0RWxlbWVudCcsICdmaWVsZHNldCcsCisgIGdldFBh
cmVudEVsZW1lbnQsIEhUTUxGaWVsZFNldEVsZW1lbnQKKyk7CisKKzwvc2NyaXB0PgorPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxJbWFnZUVsZW1lbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxJbWFnZUVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFjNTI4MDYzOGEyZDhhNTZjMmU0MTVjYWUwYmViNDE3NDExZjE0ZjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTEltYWdlRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyNCBAQAorCitGQUlMIGFsdCBvbiBIVE1MSW1hZ2VFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUg
c3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgYWx0IG9uIEhUTUxJbWFnZUVs
ZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBs
YWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0
cnVjdG9yLgorRkFJTCBzcmMgb24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHNyYyBvbiBIVE1MSW1hZ2VFbGVt
ZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFj
aW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1
Y3Rvci4KK0ZBSUwgc3Jjc2V0IG9uIEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBz
dXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBzcmNzZXQgb24gSFRNTEltYWdl
RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJl
cGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29u
c3RydWN0b3IuCitGQUlMIHNpemVzIG9uIEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRo
ZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBzaXplcyBvbiBIVE1MSW1h
Z2VFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
cmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgY3Jvc3NPcmlnaW4gb24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRy
aWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGNyb3NzT3Jp
Z2luIG9uIEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQg
cmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCB1c2VNYXAgb24gSFRNTEltYWdlRWxlbWVu
dCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBh
IG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IHVzZU1hcCBvbiBIVE1MSW1hZ2VFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFu
Z2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3Vw
ZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgaXNNYXAgb24gSFRNTEltYWdlRWxl
bWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGlu
ZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitG
QUlMIGlzTWFwIG9uIEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNo
YW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBz
dXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCB3aWR0aCBvbiBIVE1MSW1hZ2VF
bGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRk
aW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4K
K0ZBSUwgd2lkdGggb24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhl
IHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGhlaWdodCBvbiBIVE1MSW1h
Z2VFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
YWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KK0ZBSUwgaGVpZ2h0IG9uIEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJp
YnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRl
IFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCByZWZlcnJlclBvbGlj
eSBvbiBIVE1MSW1hZ2VFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJl
YWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3Qg
YSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcmVmZXJyZXJQb2xpY3kgb24gSFRNTEltYWdlRWxlbWVudCBt
dXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBh
biBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3Iu
CitGQUlMIGRlY29kaW5nIG9uIEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJp
YnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBl
cmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBkZWNvZGluZyBvbiBIVE1MSW1hZ2VF
bGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVw
bGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxJbWFnZUVsZW1lbnQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MSW1hZ2VFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQ4M2Mz
NjY0MDUxZTRjNWU0M2Y5ZjkxMDNlYTA3MmJhNWI5N2RmNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy9IVE1MSW1hZ2VFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw4OSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MSW1h
Z2VFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Iklu
dGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNv
bnRlbnQ9ImFsdCwgc3JjLCBzcmNzZXQsIHNpemVzLCBjcm9zc09yaWdpbiwgdXNlTWFwLAorICBp
c01hcCwgd2lkdGgsIGhlaWdodCwgcmVmZXJyZXJQb2xpY3ksIGRlY29kaW5nIG9mCisgIEhUTUxJ
bWFnZUVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1l
PSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtaW1nLWVs
ZW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3Njcmlw
dD4KKworPG1hcCBuYW1lPSJ5ZWxsb3ciPjwvbWFwPgorPG1hcCBuYW1lPSJncmVlbiI+PC9tYXA+
Cis8YSBocmVmPSIvIiBpZD0iYSI+Cis8L2E+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9u
IGdldFBhcmVudEVsZW1lbnQoKSB7CisgIHJldHVybiBkb2N1bWVudC5ib2R5OworfQorCitmdW5j
dGlvbiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSB7CisgIGluc3RhbmNlLnNldEF0dHJpYnV0ZSgn
c3JjJywgJy9pbWFnZXMvZ3JlZW4tMXgxLnBuZycpOworfQorCit0ZXN0UmVmbGVjdEF0dHJpYnV0
ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnYWx0JywgJ2FsdCcsICdpbWFnZTEnLAorICAn
aW1hZ2UyJywgJ2FsdCBvbiBIVE1MSW1hZ2VFbGVtZW50JywgJ2ltZycsCisgIGdldFBhcmVudEVs
ZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MSW1hZ2VFbGVt
ZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoUGFyZW50Tm9kZSgKKyAgJ3NyYycsICdz
cmMnLCAnL2ltYWdlcy9ncmVlbi0xeDEucG5nJywKKyAgJy9pbWFnZXMvZ3JlZW4tMngyLnBuZycs
ICdzcmMgb24gSFRNTEltYWdlRWxlbWVudCcsICdpbWcnLAorICBnZXRQYXJlbnRFbGVtZW50LCBI
VE1MSW1hZ2VFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0
cmlidXRlcygKKyAgJ3NyY3NldCcsICdzcmNzZXQnLCAnL2ltYWdlcy9ncmVlbi5wbmcnLAorICAn
L2ltYWdlcy9ncmVlbi0yeDIucG5nJywgJ3NyY3NldCBvbiBIVE1MSW1hZ2VFbGVtZW50JywgJ2lt
ZycsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFu
Y2UpLCBIVE1MSW1hZ2VFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5k
ZW50QXR0cmlidXRlcygKKyAgJ3NpemVzJywgJ3NpemVzJywgJyhtYXgtd2lkdGg6IDMycHgpIDI4
cHgnLAorICAnKG1heC13aWR0aDogNDhweCkgNDRweCcsICdzaXplcyBvbiBIVE1MSW1hZ2VFbGVt
ZW50JywgJ2ltZycsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHsKKyAgICBpbnN0
YW5jZS5zZXRBdHRyaWJ1dGUoJ3NyYycsICcvaW1hZ2VzL2dyZWVuLTF4MS5wbmcnKTsKKyAgICBp
bnN0YW5jZS5zZXRBdHRyaWJ1dGUoJ3NyY3NldCcsICcvaW1hZ2VzL2dyZWVuLTJ4Mi5wbmcgMXgn
KTsKKyAgfSwgSFRNTEltYWdlRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aERl
cGVuZGVudEF0dHJpYnV0ZXMoCisgICdjcm9zc09yaWdpbicsICdjcm9zc29yaWdpbicsICd1c2Ut
Y3JlZGVudGlhbHMnLAorICAnYW5vbnltb3VzJywgJ2Nyb3NzT3JpZ2luIG9uIEhUTUxJbWFnZUVs
ZW1lbnQnLCAnaW1nJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmli
dXRlcyhpbnN0YW5jZSksIEhUTUxJbWFnZUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0
ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAndXNlTWFwJywgJ3VzZW1hcCcsICcjeWVsbG93
JywKKyAgJyNncmVlbicsICd1c2VNYXAgb24gSFRNTEltYWdlRWxlbWVudCcsICdpbWcnLAorICBn
ZXRQYXJlbnRFbGVtZW50LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSwgSFRN
TEltYWdlRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRl
bnRBdHRyaWJ1dGVzKAorICAnaXNNYXAnLCAnaXNtYXAnLCAnaXNNYXAgb24gSFRNTEltYWdlRWxl
bWVudCcsCisgICdpbWcnLCAoKSA9PiB7IHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
YScpIH0sCisgIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLAorICBIVE1MSW1h
Z2VFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRl
cygKKyAgJ3dpZHRoJywgJ3dpZHRoJywgJzEnLAorICAnMicsICd3aWR0aCBvbiBIVE1MSW1hZ2VF
bGVtZW50JywgJ2ltZycsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJp
YnV0ZXMoaW5zdGFuY2UpLCBIVE1MSW1hZ2VFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1
dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ2hlaWdodCcsICdoZWlnaHQnLCAnMScsCisg
ICcyJywgJ2hlaWdodCBvbiBIVE1MSW1hZ2VFbGVtZW50JywgJ2ltZycsCisgIGdldFBhcmVudEVs
ZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MSW1hZ2VFbGVt
ZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAg
J3JlZmVycmVyUG9saWN5JywgJ3JlZmVycmVycG9saWN5JywgJ3NhbWUtb3JpZ2luJywKKyAgJ29y
aWdpbicsICdyZWZlcnJlclBvbGljeSBvbiBIVE1MSW1hZ2VFbGVtZW50JywgJ2ltZycsCisgIGdl
dFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1M
SW1hZ2VFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmli
dXRlcygKKyAgJ2RlY29kaW5nJywgJ2RlY29kaW5nJywgJ2FzeW5jJywKKyAgJ3N5bmMnLCAnZGVj
b2Rpbmcgb24gSFRNTEltYWdlRWxlbWVudCcsICdpbWcnLAorICBnZXRQYXJlbnRFbGVtZW50LCBp
bnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSwgSFRNTEltYWdlRWxlbWVudAorKTsK
KworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTElucHV0
RWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxJbnB1dEVsZW1lbnQuaHRtbAppbmRleCBk
YzRiMjJhMjJlZWEzZWE4NDFiMTM4MGU3ZGIzZTc1ZTdmNGViMjU2Li4xM2QxNTkxYjAxZmRmOWI0
ZmNjNWIzZjg5NDM4YmZmNTVkZjc1Mjc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTElu
cHV0RWxlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MSW5wdXRFbGVtZW50Lmh0bWwK
QEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMi
Pjwvc2NyaXB0PgogPGJvZHk+CiA8c2NyaXB0PgotaWYgKEhUTUxJbnB1dEVsZW1lbnQucHJvdG90
eXBlLmNhcHR1cmUpIHsKK2lmICgnY2FwdHVyZScgaW4gSFRNTElucHV0RWxlbWVudC5wcm90b3R5
cGUpIHsKICAgICB0ZXN0KCgpID0+IHsKICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9i
dWlsZF9pbl9jdXN0b21fZWxlbWVudChbJ2NhcHR1cmUnXSwgSFRNTElucHV0RWxlbWVudCwgJ2lu
cHV0Jyk7CiAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aW5wdXQnLCB7IGlzOiBlbGVtZW50Lm5hbWUgfSk7CkBAIC0yMCw3ICsyMCw3IEBAIGlmIChIVE1M
SW5wdXRFbGVtZW50LnByb3RvdHlwZS5jYXB0dXJlKSB7CiAgICAgICAgIGluc3RhbmNlWydjYXB0
dXJlJ10gPSAndXNlcic7CiAgICAgICAgIGNvbnN0IGxvZ0VudHJpZXMgPSBlbGVtZW50LnRha2VM
b2coKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dFbnRyaWVzLnR5cGVzKCksIFsn
YXR0cmlidXRlQ2hhbmdlZCddKTsKLSAgICAgICAgYXNzZXJ0X2F0dHJpYnV0ZV9sb2dfZW50cnko
bG9nRW50cmllcy5sYXN0KCksIHtuYW1lOiAnY2FwdHVyZScsIG9sZFZhbHVlOiAnJywgbmV3VmFs
dWU6ICd1c2VyJywgbmFtZXNwYWNlOiBudWxsfSk7CisgICAgICAgIGFzc2VydF9hdHRyaWJ1dGVf
bG9nX2VudHJ5KGxvZ0VudHJpZXMubGFzdCgpLCB7bmFtZTogJ2NhcHR1cmUnLCBvbGRWYWx1ZTog
bnVsbCwgbmV3VmFsdWU6ICd1c2VyJywgbmFtZXNwYWNlOiBudWxsfSk7CiAgICAgfSwgJ2NhcHR1
cmUgb24gSFRNTElucHV0RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyBuZXcgYXR0cmlidXRlJyk7CiAKICAgICB0ZXN0KCgpID0+IHsK
QEAgLTQzLDcgKzQzLDcgQEAgaWYgKEhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlLmNhcHR1cmUp
IHsKICAgICAgICAgaW5zdGFuY2VbJ2NhcHR1cmUnXSA9ICdhc2RmJzsKICAgICAgICAgY29uc3Qg
bG9nRW50cmllcyA9IGVsZW1lbnQudGFrZUxvZygpOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKGxvZ0VudHJpZXMudHlwZXMoKSwgWydhdHRyaWJ1dGVDaGFuZ2VkJ10pOwotICAgICAgICBh
c3NlcnRfYXR0cmlidXRlX2xvZ19lbnRyeShsb2dFbnRyaWVzLmxhc3QoKSwge25hbWU6ICdjYXB0
dXJlJywgb2xkVmFsdWU6ICcnLCBuZXdWYWx1ZTogJ2FzZGYnLCBuYW1lc3BhY2U6IG51bGx9KTsK
KyAgICAgICAgYXNzZXJ0X2F0dHJpYnV0ZV9sb2dfZW50cnkobG9nRW50cmllcy5sYXN0KCksIHtu
YW1lOiAnY2FwdHVyZScsIG9sZFZhbHVlOiBudWxsLCBuZXdWYWx1ZTogJ2FzZGYnLCBuYW1lc3Bh
Y2U6IG51bGx9KTsKICAgICB9LCAnY2FwdHVyZSBvbiBIVE1MSW5wdXRFbGVtZW50IG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGludmFsaWQgdmFs
dWUgZGVmYXVsdCcpOwogCiAgICAgdGVzdCgoKSA9PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTExJRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTExJRWxlbWVu
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQyMjVmOGFlZmUxNjYzMTk1OGFhN2VhZGEzMmRk
ODI2NWRhMzYzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTElFbGVtZW50
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworRkFJTCB2YWx1ZSBvbiBIVE1MTElFbGVt
ZW50IGluIG9sIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
YWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KK0ZBSUwgdmFsdWUgb24gSFRNTExJRWxlbWVudCBpbiBvbCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1
dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHZhbHVlIG9uIEhU
TUxMSUVsZW1lbnQgaW4gdWwgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rp
b24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorRkFJTCB2YWx1ZSBvbiBIVE1MTElFbGVtZW50IGluIHVsIG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdmFs
dWUgb24gSFRNTExJRWxlbWVudCBpbiBtZW51IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFu
Z2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBp
cyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdmFsdWUgb24gSFRNTExJRWxlbWVudCBpbiBtZW51
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5n
IGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxMSUVsZW1lbnQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
YWN0aW9ucy9IVE1MTElFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I1Y2VhNzcxOWYwNjIzZjYz
MmVmMTRkNjZhMjExOTI1OTc0MDhmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MTElFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0
bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MTElFbGVtZW50IGludGVyZmFj
ZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8v
d3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiCisgIGNvbnRlbnQ9InZhbHVlIG9m
IEhUTUxMSUVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBu
YW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbGkt
ZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2Ny
aXB0PgorCis8Ym9keT4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQocGFy
ZW50RWxlbWVudE5hbWUpIHsKKyAgbGV0IHBhcmVudEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHBhcmVudEVsZW1lbnROYW1lKTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChw
YXJlbnRFbGVtZW50KTsKKyAgcmV0dXJuIHBhcmVudEVsZW1lbnQ7Cit9CisKK3Rlc3RSZWZsZWN0
QXR0cmlidXRlV2l0aFBhcmVudE5vZGUoCisgICd2YWx1ZScsICd2YWx1ZScsICczJywKKyAgJzUn
LCAndmFsdWUgb24gSFRNTExJRWxlbWVudCBpbiBvbCcsICdsaScsCisgICgpID0+IGdldFBhcmVu
dEVsZW1lbnQoJ29sJyksIEhUTUxMSUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdp
dGhQYXJlbnROb2RlKAorICAndmFsdWUnLCAndmFsdWUnLCAnMycsCisgICc1JywgJ3ZhbHVlIG9u
IEhUTUxMSUVsZW1lbnQgaW4gdWwnLCAnbGknLAorICAoKSA9PiBnZXRQYXJlbnRFbGVtZW50KCd1
bCcpLCBIVE1MTElFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoUGFyZW50Tm9k
ZSgKKyAgJ3ZhbHVlJywgJ3ZhbHVlJywgJzMnLAorICAnNScsICd2YWx1ZSBvbiBIVE1MTElFbGVt
ZW50IGluIG1lbnUnLCAnbGknLAorICAoKSA9PiBnZXRQYXJlbnRFbGVtZW50KCdtZW51JyksIEhU
TUxMSUVsZW1lbnQKKyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxMYWJlbEVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxM
YWJlbEVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyZTRjYjI4YmY0MDE5NTljODFm
YThiOGYyZjE5NDc1YjI0MmU0YWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TExhYmVsRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisgIAorCitGQUlMIGh0
bWxGb3Igb24gSFRNTExhYmVsRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdl
ZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMg
bm90IGEgY29uc3RydWN0b3IuCitGQUlMIGh0bWxGb3Igb24gSFRNTExhYmVsRWxlbWVudCBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBl
eGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTGFiZWxFbGVtZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvSFRNTExhYmVsRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzMDQ2OWE3ZGYwNWE1NmJk
NGEwYzJjMDI4Zjk1ZjY3OGFmMjIxNzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
SFRNTExhYmVsRWxlbWVudC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTExhYmVsRWxlbWVudCBp
bnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0i
aHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IgorICBjb250ZW50PSJo
dG1sRm9yIG9mIEhUTUxMYWJlbEVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9u
cyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cu
b3JnLyN0aGUtbGFiZWwtZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVt
ZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFj
dGlvbnMuanMiPjwvc2NyaXB0PgorCis8Zm9ybSBpZD0iZm9ybSI+CisgIDxpbnB1dCB0eXBlPSJy
YWRpbyIgbmFtZT0iZ2VuZGVyIiBpZD0ibWFsZSIgdmFsdWU9Im1hbGUiPgorICA8aW5wdXQgdHlw
ZT0icmFkaW8iIG5hbWU9ImdlbmRlciIgaWQ9ImZlbWFsZSIgdmFsdWU9ImZlbWFsZSI+Cis8L2Zv
cm0+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBnZXRQYXJlbnRFbGVtZW50KCkgeworICBsZXQgcGFy
ZW50RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtIik7CisgIHJldHVybiBw
YXJlbnRFbGVtZW50OworfQorCit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAor
ICAnaHRtbEZvcicsICdmb3InLCAnbWFsZScsCisgICdmZW1hbGUnLCAnaHRtbEZvciBvbiBIVE1M
TGFiZWxFbGVtZW50JywgJ2xhYmVsJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgSFRNTExhYmVsRWxl
bWVudAorKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1hcEVs
ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNYXBFbGVtZW50LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MWRiYzBjNGVkMmViOGVjYjFjYjA4OTA5NDc4ZGE5ZTkwNzNiMGEy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNYXBFbGVtZW50LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKKyAKKworRkFJTCBuYW1lIG9uIEhUTUxNYXBFbGVtZW50IG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIG5hbWUg
Y29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitG
QUlMIG5hbWUgb24gSFRNTE1hcEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBl
cmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
SFRNTE1hcEVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWFwRWxlbWVudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY2YmQwNGJkMWY5YzlhOTI1MTRkOGVlM2U2MjZiMzg5OGVlMGRhYWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1hcEVsZW1lbnQuaHRtbApAQCAtMCwwICsx
LDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rp
b25zIG9uIEhUTUxNYXBFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1l
PSJhc3NlcnQiIGNvbnRlbnQ9Im5hbWUgb2YgSFRNTE1hcEVsZW1lbnQgaW50ZXJmYWNlIG11c3Qg
aGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbWFwLWVsZW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPGltZyB1c2VtYXA9IiN5ZWxsb3ci
IHNyYz0iL2ltYWdlcy95ZWxsb3cucG5nIiBhbHQ9InllbGxvdyBwaWMiPgorPGltZyB1c2VtYXA9
IiNncmVlbiIgc3JjPSIvaW1hZ2VzL2dyZWVuLnBuZyIgYWx0PSJncmVlbiBwaWMiPgorPHNjcmlw
dD4KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ25hbWUnLCAnbmFtZScsICd5ZWxsb3cnLCAnZ3Jl
ZW4nLCAnbmFtZSBvbiBIVE1MTWFwRWxlbWVudCcsICdtYXAnLCBIVE1MTWFwRWxlbWVudCk7CisK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNZWRpYUVsZW1lbnQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNZWRpYUVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg3NWY4NjVmZjQ4MmEwODcxZDgyYzE0YTU1MDA1YzQwNGZhYTA1YWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1lZGlhRWxlbWVudC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzMCBAQAorCitGQUlMIHNyYyBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlv
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIHNy
YyBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4K
K0ZBSUwgc3JjIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gYXVkaW8gbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmli
dXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjcm9zc09yaWdp
biBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFz
cyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY3Jvc3NPcmlnaW4gb24gSFRNTE1lZGlhRWxl
bWVudCBpbiBhdWRpbyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIHByZWxvYWQgb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRp
byBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBh
IG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IHByZWxvYWQgb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbyBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1
dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGF1dG9wbGF5IG9u
IEhUTUxNZWRpYUVsZW1lbnQgaW4gYXVkaW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBhdXRvcGxheSBvbiBIVE1MTWVkaWFFbGVtZW50IGlu
IGF1ZGlvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVw
bGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KK0ZBSUwgbG9vcCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvIG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgbG9vcCBvbiBI
VE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY29udHJvbHMgb24gSFRNTE1lZGlhRWxl
bWVudCBpbiBhdWRpbyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCitGQUlMIGNvbnRyb2xzIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gYXVkaW8gbXVzdCBl
bnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhp
c3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJ
TCBkZWZhdWx0TXV0ZWQgb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbyBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGRlZmF1bHRNdXRlZCBv
biBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFu
Z2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3Vw
ZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgc3JjIG9uIEhUTUxNZWRpYUVsZW1l
bnQgaW4gdmlkZW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hl
biBhZGRpbmcgc3JjIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorRkFJTCBzcmMgb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2aWRlbyBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlz
dGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IGNyb3NzT3JpZ2luIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gdmlkZW8gbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRo
ZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjcm9zc09yaWdpbiBvbiBI
VE1MTWVkaWFFbGVtZW50IGluIHZpZGVvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcHJlbG9hZCBvbiBIVE1MTWVkaWFFbGVt
ZW50IGluIHZpZGVvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdo
ZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1
Y3Rvci4KK0ZBSUwgcHJlbG9hZCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVvIG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwg
YXV0b3BsYXkgb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2aWRlbyBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGF1dG9wbGF5IG9uIEhUTUxNZWRp
YUVsZW1lbnQgaW4gdmlkZW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rp
b24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBsb29wIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gdmlk
ZW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcg
YSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJ
TCBsb29wIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gdmlkZW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJp
YnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRl
IFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjb250cm9scyBvbiBI
VE1MTWVkaWFFbGVtZW50IGluIHZpZGVvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBu
b3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY29udHJvbHMgb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2
aWRlbyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxh
Y2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCitGQUlMIGRlZmF1bHRNdXRlZCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVvIG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZGVm
YXVsdE11dGVkIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gdmlkZW8gbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmli
dXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvSFRNTE1lZGlhRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNZWRp
YUVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjI5YjM1ZjI4Yjc0NTdlYzlmOWQ1ZTM1Y2MzNjNl
NDM4OWM3NGMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNZWRpYUVsZW1l
bnQuaHRtbApAQCAtMCwwICsxLDEwNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9t
IEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MTWVkaWFFbGVtZW50IGludGVyZmFjZTwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3Lmlu
dGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9InNyYywgY3Jvc3NPcmlnaW4s
IHByZWxvYWQsIGF1dG9wbGF5LCBsb29wLAorICBjb250cm9scywgZGVmYXVsdE11dGVkIG9mIEhU
TUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBu
YW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNtZWRpYS1l
bGVtZW50cyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2Ny
aXB0PgorCis8Ym9keT4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoKSB7
CisgIHJldHVybiBkb2N1bWVudC5ib2R5OworfQorCitmdW5jdGlvbiBzZXRBdHRyaWJ1dGVzKGlu
c3RhbmNlLCB2YWx1ZSkgeworICBpbnN0YW5jZS5zZXRBdHRyaWJ1dGUoJ3NyYycsIHZhbHVlKTsK
K30KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoCisgICdzcmMnLCAnc3JjJywgJy9tZWRpYS9zb3Vu
ZF8wLm1wMycsCisgICcvbWVkaWEvc291bmRfNS5tcDMnLCAnc3JjIG9uIEhUTUxNZWRpYUVsZW1l
bnQgaW4gYXVkaW8nLCAnYXVkaW8nLAorICBIVE1MQXVkaW9FbGVtZW50CispOwordGVzdFJlZmxl
Y3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ2Nyb3NzT3JpZ2luJywgJ2Ny
b3Nzb3JpZ2luJywgJ3VzZS1jcmVkZW50aWFscycsCisgICdhbm9ueW1vdXMnLCAnY3Jvc3NPcmln
aW4gb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbycsICdhdWRpbycsCisgIGdldFBhcmVudEVs
ZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UsICcvbWVkaWEvc291bmRf
NS5tcDMnKSwKKyAgSFRNTEF1ZGlvRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0
aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdwcmVsb2FkJywgJ3ByZWxvYWQnLCAnYXV0bycsCisg
ICdub25lJywgJ3ByZWxvYWQgb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbycsICdhdWRpbycs
CisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2Us
ICcvbWVkaWEvc291bmRfNS5tcDMnKSwKKyAgSFRNTEF1ZGlvRWxlbWVudAorKTsKK3Rlc3RSZWZs
ZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnYXV0b3BsYXkn
LCAnYXV0b3BsYXknLCAnYXV0b3BsYXkgb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbycsCisg
ICdhdWRpbycsIGdldFBhcmVudEVsZW1lbnQsCisgIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMo
aW5zdGFuY2UsICcvbWVkaWEvc291bmRfNS5tcDMnKSwKKyAgSFRNTEF1ZGlvRWxlbWVudAorKTsK
K3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAn
bG9vcCcsICdsb29wJywgJ2xvb3Agb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbycsCisgICdh
dWRpbycsIGdldFBhcmVudEVsZW1lbnQsCisgIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5z
dGFuY2UsICcvbWVkaWEvc291bmRfNS5tcDMnKSwgSFRNTEF1ZGlvRWxlbWVudAorKTsKK3Rlc3RS
ZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnY29udHJv
bHMnLCAnY29udHJvbHMnLCAnY29udHJvbHMgb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbycs
CisgICdhdWRpbycsIGdldFBhcmVudEVsZW1lbnQsCisgIGluc3RhbmNlID0+IHNldEF0dHJpYnV0
ZXMoaW5zdGFuY2UsICcvbWVkaWEvc291bmRfNS5tcDMnKSwKKyAgSFRNTEF1ZGlvRWxlbWVudAor
KTsKK3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAor
ICAnZGVmYXVsdE11dGVkJywgJ211dGVkJywgJ2RlZmF1bHRNdXRlZCBvbiBIVE1MTWVkaWFFbGVt
ZW50IGluIGF1ZGlvJywKKyAgJ2F1ZGlvJywgZ2V0UGFyZW50RWxlbWVudCwKKyAgaW5zdGFuY2Ug
PT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgJy9tZWRpYS9zb3VuZF81Lm1wMycpLAorICBIVE1M
QXVkaW9FbGVtZW50CispOworCit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgKKyAgJ3NyYycsICdzcmMn
LCAnL21lZGlhL3ZpZGVvLm9ndicsCisgICcvbWVkaWEvbW92aWVfNS5tcDQnLCAnc3JjIG9uIEhU
TUxNZWRpYUVsZW1lbnQgaW4gdmlkZW8nLCAndmlkZW8nLAorICBIVE1MVmlkZW9FbGVtZW50Cisp
OwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ2Nyb3Nz
T3JpZ2luJywgJ2Nyb3Nzb3JpZ2luJywgJ3VzZS1jcmVkZW50aWFscycsCisgICdhbm9ueW1vdXMn
LCAnY3Jvc3NPcmlnaW4gb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2aWRlbycsICd2aWRlbycsCisg
IGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UsICcv
bWVkaWEvbW92aWVfNS5tcDQnKSwKKyAgSFRNTFZpZGVvRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0
QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdwcmVsb2FkJywgJ3ByZWxvYWQn
LCAnYXV0bycsCisgICdub25lJywgJ3ByZWxvYWQgb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2aWRl
bycsICd2aWRlbycsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0
ZXMoaW5zdGFuY2UsICcvbWVkaWEvbW92aWVfNS5tcDQnKSwKKyAgSFRNTFZpZGVvRWxlbWVudAor
KTsKK3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAor
ICAnYXV0b3BsYXknLCAnYXV0b3BsYXknLCAnYXV0b3BsYXkgb24gSFRNTE1lZGlhRWxlbWVudCBp
biB2aWRlbycsCisgICd2aWRlbycsIGdldFBhcmVudEVsZW1lbnQsCisgIGluc3RhbmNlID0+IHNl
dEF0dHJpYnV0ZXMoaW5zdGFuY2UsICcvbWVkaWEvbW92aWVfNS5tcDQnKSwKKyAgSFRNTFZpZGVv
RWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRy
aWJ1dGVzKAorICAnbG9vcCcsICdsb29wJywgJ2xvb3Agb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2
aWRlbycsCisgICd2aWRlbycsIGdldFBhcmVudEVsZW1lbnQsCisgIGluc3RhbmNlID0+IHNldEF0
dHJpYnV0ZXMoaW5zdGFuY2UsICcvbWVkaWEvbW92aWVfNS5tcDQnKSwKKyAgSFRNTFZpZGVvRWxl
bWVudAorKTsKK3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1
dGVzKAorICAnY29udHJvbHMnLCAnY29udHJvbHMnLCAnY29udHJvbHMgb24gSFRNTE1lZGlhRWxl
bWVudCBpbiB2aWRlbycsCisgICd2aWRlbycsIGdldFBhcmVudEVsZW1lbnQsCisgIGluc3RhbmNl
ID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UsICcvbWVkaWEvbW92aWVfNS5tcDQnKSwKKyAgSFRN
TFZpZGVvRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRl
bnRBdHRyaWJ1dGVzKAorICAnZGVmYXVsdE11dGVkJywgJ211dGVkJywgJ2RlZmF1bHRNdXRlZCBv
biBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVvJywKKyAgJ3ZpZGVvJywgZ2V0UGFyZW50RWxlbWVu
dCwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgJy9tZWRpYS9tb3ZpZV81
Lm1wNCcpLAorICBIVE1MVmlkZW9FbGVtZW50CispOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWV0YUVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb25zL0hUTUxNZXRhRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWEzNDEx
ZTc1YTIzNmRmMzIyYzYzNTNkYmI2NWMwMDU3MGRkMTFlOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy9IVE1MTWV0YUVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAor
CitGQUlMIG5hbWUgb24gSFRNTE1ldGFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFz
cyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgbmFtZSBvbiBIVE1MTWV0YUVsZW1lbnQgbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4g
ZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
RkFJTCBjb250ZW50IG9uIEhUTUxNZXRhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xh
c3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGNvbnRlbnQgb24gSFRNTE1ldGFFbGVtZW50
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5n
IGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KK0ZBSUwgaHR0cEVxdWl2IG9uIEhUTUxNZXRhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGh0dHBFcXVpdiBvbiBIVE1MTWV0
YUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBy
ZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1ldGFFbGVtZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTE1ldGFFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAxMGFh
NzM2N2NkYWRhOTE5YWNmMWUyMjg1N2U0NDA0YTY4MTIxMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy9IVE1MTWV0YUVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxNZXRh
RWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRl
bCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250
ZW50PSJuYW1lLCBodHRwRXF1aXYsIGNvbnRlbnQgb2YKKyAgSFRNTE1ldGFFbGVtZW50IGludGVy
ZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0i
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLW1ldGEtZWxlbWVudCI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0Pgor
CitmdW5jdGlvbiBnZXRQYXJlbnRFbGVtZW50KCkgeworICByZXR1cm4gZG9jdW1lbnQuaGVhZDsK
K30KKworZnVuY3Rpb24gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgYXR0cmlidXRlLCB2YWx1ZSkg
eworICBpbnN0YW5jZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7Cit9CisKK3Rlc3RS
ZWZsZWN0QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICduYW1lJywgJ25hbWUn
LCAnZGVzY3JpcHRpb24nLAorICAna2V5d29yZHMnLCAnbmFtZSBvbiBIVE1MTWV0YUVsZW1lbnQn
LCAnbWV0YScsCisgIGdldFBhcmVudEVsZW1lbnQsCisgIGluc3RhbmNlID0+IHNldEF0dHJpYnV0
ZXMoaW5zdGFuY2UsICdjb250ZW50JywgJ0hUTUxNZXRhRWxlbWVudCcpLAorICBIVE1MTWV0YUVs
ZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAor
ICAnY29udGVudCcsICdjb250ZW50JywgJ25hbWUxJywKKyAgJ25hbWUyJywgJ2NvbnRlbnQgb24g
SFRNTE1ldGFFbGVtZW50JywgJ21ldGEnLAorICBnZXRQYXJlbnRFbGVtZW50LCBpbnN0YW5jZSA9
PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlLCAnbmFtZScsICdhdXRob3InKSwKKyAgSFRNTE1ldGFF
bGVtZW50CispOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IGVsZW1lbnQgPSBkZWZpbmVfYnVpbGRf
aW5fY3VzdG9tX2VsZW1lbnQoCisgICAgWydodHRwLWVxdWl2J10sIEhUTUxNZXRhRWxlbWVudCwg
J21ldGEnCisgICk7CisgIGxldCBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21l
dGEnLCB7IGlzOiBlbGVtZW50Lm5hbWUgfSk7CisKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVt
ZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJ10pOworICBkb2N1bWVudC5oZWFk
LmFwcGVuZENoaWxkKGluc3RhbmNlKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRh
a2VMb2coKS50eXBlcygpLCBbJ2Nvbm5lY3RlZCddKTsKKyAgaW5zdGFuY2VbJ2NvbnRlbnQnXSA9
ICczMDAnOworICBpbnN0YW5jZVsnaHR0cEVxdWl2J10gPSAncmVmcmVzaCc7CisgIGxldCBsb2dF
bnRyaWVzID0gZWxlbWVudC50YWtlTG9nKCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nRW50
cmllcy50eXBlcygpLCBbJ2F0dHJpYnV0ZUNoYW5nZWQnXSk7CisgIGFzc2VydF9hdHRyaWJ1dGVf
bG9nX2VudHJ5KGxvZ0VudHJpZXMubGFzdCgpLCB7CisgICAgbmFtZTogJ2h0dHAtZXF1aXYnLCBv
bGRWYWx1ZTogbnVsbCwgbmV3VmFsdWU6ICdyZWZyZXNoJywgbmFtZXNwYWNlOiBudWxsCisgIH0p
OworfSwgJ2h0dHBFcXVpdiBvbiBIVE1MTWV0YUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJp
YnV0ZUNoYW5nZWQnCisgICsgJyByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUn
KTsKKwordGVzdCgoKSA9PiB7CisgIGxldCBlbGVtZW50ID0gZGVmaW5lX2J1aWxkX2luX2N1c3Rv
bV9lbGVtZW50KAorICAgIFsnaHR0cC1lcXVpdiddLCBIVE1MTWV0YUVsZW1lbnQsICdtZXRhJwor
ICApOworICBsZXQgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJywgeyBp
czogZWxlbWVudC5uYW1lIH0pOworICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGluc3RhbmNl
KTsKKworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsn
Y29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOworICBpbnN0YW5jZVsnY29udGVudCddID0gJ3Rl
eHQvaHRtbDsgY2hhcnNldD1VVEYtOCc7CisgIGluc3RhbmNlWydodHRwRXF1aXYnXSA9ICdjb250
ZW50LXR5cGUnOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVz
KCksIFsnYXR0cmlidXRlQ2hhbmdlZCddKTsKKyAgaW5zdGFuY2VbJ2NvbnRlbnQnXSA9ICczMDAn
OworICBpbnN0YW5jZVsnaHR0cEVxdWl2J10gPSAncmVmcmVzaCc7CisgIGxldCBsb2dFbnRyaWVz
ID0gZWxlbWVudC50YWtlTG9nKCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nRW50cmllcy50
eXBlcygpLCBbJ2F0dHJpYnV0ZUNoYW5nZWQnXSk7CisgIGFzc2VydF9hdHRyaWJ1dGVfbG9nX2Vu
dHJ5KGxvZ0VudHJpZXMubGFzdCgpLCB7CisgICAgbmFtZTogJ2h0dHAtZXF1aXYnLCBvbGRWYWx1
ZTogJ2NvbnRlbnQtdHlwZScsCisgICAgbmV3VmFsdWU6ICdyZWZyZXNoJywgbmFtZXNwYWNlOiBu
dWxsCisgIH0pOworfSwgJ2h0dHBFcXVpdiBvbiBIVE1MTWV0YUVsZW1lbnQgbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQnCisgICsgJyByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBl
eGlzdGluZyBhdHRyaWJ1dGUnKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTE1ldGVyRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1ldGVy
RWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTBiZWEyYWVmNDc1MDVkZjI5NzU4MDQx
MTdmOTg5ODY4NWVmZWMwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWV0
ZXJFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACisKK0ZBSUwgdmFsdWUgb24g
SFRNTE1ldGVyRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIGFkZGluZyB2YWx1ZSBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBu
b3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdmFsdWUgb24gSFRNTE1ldGVyRWxlbWVudCBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlz
dGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IG1pbiBvbiBIVE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBu
b3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgbWluIG9uIEhUTUxNZXRlckVsZW1lbnQgbXVzdCBlbnF1
ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3Rp
bmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBt
YXggb24gSFRNTE1ldGVyRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIG1heCBvbiBIVE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgbG93
IG9uIEhUTUxNZXRlckVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorRkFJTCBsb3cgb24gSFRNTE1ldGVyRWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGhpZ2gg
b24gSFRNTE1ldGVyRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFj
dGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEg
Y29uc3RydWN0b3IuCitGQUlMIGhpZ2ggb24gSFRNTE1ldGVyRWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIG9wdGlt
dW0gb24gSFRNTE1ldGVyRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIG9wdGltdW0gb24gSFRNTE1ldGVyRWxlbWVudCBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlz
dGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWV0ZXJFbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTE1ldGVyRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExNTJlYjBmNWEwMGY3Nzg5MDY3
NTFjZWE1OGExODc3NTZlNjg1ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TE1ldGVyRWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTE1ldGVyRWxlbWVudCBpbnRl
cmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0
cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ2YWx1ZSwg
bWluLCBtYXgsIGxvdywgaGlnaCwgb3B0aW11bSBvZgorICBIVE1MTWV0ZXJFbGVtZW50IGludGVy
ZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0i
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLW1ldGVyLWVsZW1lbnQiPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPGJvZHk+Cis8
c2NyaXB0PgorCitmdW5jdGlvbiBnZXRQYXJlbnRFbGVtZW50KCkgeworICByZXR1cm4gZG9jdW1l
bnQuYm9keTsKK30KKworZnVuY3Rpb24gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSkgeworICBpbnN0
YW5jZS5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJzAuNicpOworfQorCit0ZXN0UmVmbGVjdEF0dHJp
YnV0ZSgKKyAgJ3ZhbHVlJywgJ3ZhbHVlJywgJzAuMycsCisgICcwLjQnLCAndmFsdWUgb24gSFRN
TE1ldGVyRWxlbWVudCcsICdtZXRlcicsCisgIEhUTUxNZXRlckVsZW1lbnQKKyk7Cit0ZXN0UmVm
bGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnbWluJywgJ21pbicsICcw
LjEnLAorICAnMC4yJywgJ21pbiBvbiBIVE1MTWV0ZXJFbGVtZW50JywgJ21ldGVyJywKKyAgZ2V0
UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSksIEhUTUxN
ZXRlckVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1
dGVzKAorICAnbWF4JywgJ21heCcsICcyJywKKyAgJzMnLCAnbWF4IG9uIEhUTUxNZXRlckVsZW1l
bnQnLCAnbWV0ZXInLAorICBnZXRQYXJlbnRFbGVtZW50LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1
dGVzKGluc3RhbmNlKSwgSFRNTE1ldGVyRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRl
V2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdsb3cnLCAnbG93JywgJzAuMScsCisgICcwLjIn
LCAnbG93IG9uIEhUTUxNZXRlckVsZW1lbnQnLCAnbWV0ZXInLAorICBnZXRQYXJlbnRFbGVtZW50
LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSwgSFRNTE1ldGVyRWxlbWVudAor
KTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdoaWdo
JywgJ2hpZ2gnLCAnMicsCisgICczJywgJ2hpZ2ggb24gSFRNTE1ldGVyRWxlbWVudCcsICdtZXRl
cicsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFu
Y2UpLCBIVE1MTWV0ZXJFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5k
ZW50QXR0cmlidXRlcygKKyAgJ29wdGltdW0nLCAnb3B0aW11bScsICcwLjMnLAorICAnMC40Jywg
J29wdGltdW0gb24gSFRNTE1ldGVyRWxlbWVudCcsICdtZXRlcicsCisgIGdldFBhcmVudEVsZW1l
bnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MTWV0ZXJFbGVtZW50
CispOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
TW9kRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1vZEVsZW1lbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkNDhjM2FiYzJjYjZkOTcwODBkZGYxOTVlMDNkNzBlYjNh
Y2IxYjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1vZEVsZW1lbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworRkFJTCBjaXRlIG9uIGlucyB1c2UgSFRNTE1v
ZEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBh
ZGRpbmcgY2l0ZSBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KK0ZBSUwgY2l0ZSBvbiBpbnMgdXNlIEhUTUxNb2RFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZGF0
ZVRpbWUgb24gaW5zIHVzZSBIVE1MTW9kRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBkYXRldGltZSBjb250ZW50IGF0dHJpYnV0ZSBU
aGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZGF0ZVRpbWUgb24gaW5z
IHVzZSBIVE1MTW9kRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFj
dGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3Mg
aXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGNpdGUgb24gZGVsIHVzZSBIVE1MTW9kRWxlbWVu
dCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBj
aXRlIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9y
LgorRkFJTCBjaXRlIG9uIGRlbCB1c2UgSFRNTE1vZEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmli
dXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBkYXRlVGltZSBv
biBkZWwgdXNlIEhUTUxNb2RFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gYWRkaW5nIGRhdGV0aW1lIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBl
cmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBkYXRlVGltZSBvbiBkZWwgdXNlIEhU
TUxNb2RFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdo
ZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3Qg
YSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNb2RFbGVtZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1vZEVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTBm
ZTE3MGE1MGQyMWMxYTVjYjVhMDQyZjA1YmQyZmIwNjJkM2ZkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxNb2RFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MTW9k
RWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRl
bCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250
ZW50PSJjaXRlLCBkYXRlVGltZSBvZiBIVE1MTW9kRWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZl
IENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvI2F0dHJpYnV0ZXMtY29tbW9uLXRvLWlucy1hbmQtZGVsLWVsZW1lbnRz
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisK
KzxzY3JpcHQ+CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKCdjaXRlJywgJ2NpdGUnLCAnLi4vcmVz
b3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzJywgJy4vcmVzb3VyY2VzL3JlYWN0aW9u
cy5qcycsICdjaXRlIG9uIGlucyB1c2UgSFRNTE1vZEVsZW1lbnQnLCAnaW5zJywgSFRNTE1vZEVs
ZW1lbnQpOwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ2RhdGVUaW1lJywgJ2RhdGV0aW1lJywgJzIw
MTgtMTItMTkgMDA6MDBaJywgJzIwMTgtMTItMjAgMDA6MDBaJywgJ2RhdGVUaW1lIG9uIGlucyB1
c2UgSFRNTE1vZEVsZW1lbnQnLCAnaW5zJywgSFRNTE1vZEVsZW1lbnQpOwordGVzdFJlZmxlY3RB
dHRyaWJ1dGUoJ2NpdGUnLCAnY2l0ZScsICcuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhl
bHBlcnMuanMnLCAnLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzJywgJ2NpdGUgb24gZGVsIHVzZSBI
VE1MTW9kRWxlbWVudCcsICdkZWwnLCBIVE1MTW9kRWxlbWVudCk7Cit0ZXN0UmVmbGVjdEF0dHJp
YnV0ZSgnZGF0ZVRpbWUnLCAnZGF0ZXRpbWUnLCAnMjAxOC0xMC0xMVQwMToyNS0wNzowMCcsICcy
MDE4LTEwLTEyVDAxOjI1LTA3OjAwJywgJ2RhdGVUaW1lIG9uIGRlbCB1c2UgSFRNTE1vZEVsZW1l
bnQnLCAnZGVsJywgSFRNTE1vZEVsZW1lbnQpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy9IVE1MT0xpc3RFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MT0xpc3RFbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMmFiMTQ0OTUzNmRjZTNm
NGQ5MjJlNTU0YWY4MTIwYTQwMTgxZjY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxPTGlzdEVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorCitGQUlMIHJl
dmVyc2VkIG9uIEhUTUxPTGlzdEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgcmV2ZXJzZWQgY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHJldmVyc2VkIG9uIEhUTUxPTGlz
dEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBy
ZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorRkFJTCBzdGFydCBvbiBIVE1MT0xpc3RFbGVtZW50IG11c3QgZW5xdWV1ZSBh
biBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIHN0YXJ0IGNvbnRlbnQgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBzdGFydCBv
biBIVE1MT0xpc3RFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBp
cyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdHlwZSBvbiBIVE1MT0xpc3RFbGVtZW50IG11c3Qg
ZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIHR5cGUgY29u
dGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IHR5cGUgb24gSFRNTE9MaXN0RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdl
ZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVy
Y2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MT0xpc3RFbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9MaXN0RWxlbWVudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRlNTNjZGIwYTUxMDQ1Mzk2MGZlY2NkMjEwNDEwOTYxMGYyM2U2NjUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9MaXN0RWxlbWVudC5odG1sCkBAIC0w
LDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VS
ZWFjdGlvbnMgb24gSFRNTE9MaXN0RWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1l
dGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJyZXZlcnNlZCwgc3RhcnQsIHR5cGUgb2YgSFRNTE9M
aXN0RWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9
ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1vbC1lbGVt
ZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+
CisKKzxzY3JpcHQ+CisKK3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZSgncmV2ZXJzZWQnLCAn
cmV2ZXJzZWQnLCAncmV2ZXJzZWQgb24gSFRNTE9MaXN0RWxlbWVudCcsICdvbCcsIEhUTUxPTGlz
dEVsZW1lbnQpOwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ3N0YXJ0JywgJ3N0YXJ0JywgJzInLCAn
NScsICdzdGFydCBvbiBIVE1MT0xpc3RFbGVtZW50JywgJ29sJywgSFRNTE9MaXN0RWxlbWVudCk7
Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgndHlwZScsICd0eXBlJywgJzEnLCAnYScsICd0eXBlIG9u
IEhUTUxPTGlzdEVsZW1lbnQnLCAnb2wnLCBIVE1MT0xpc3RFbGVtZW50KTsKKworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdEdyb3VwRWxlbWVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdEdyb3VwRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzMwZDJjOGIxOWFkZDhlN2JmOWU3MTI0NDUxMmJlZGJiNDhhYWY1NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MT3B0R3JvdXBFbGVtZW50LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDcgQEAKKworCitGQUlMIGRpc2FibGVkIG9uIEhUTUxPcHRHcm91cEVsZW1lbnQg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBu
ZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBk
aXNhYmxlZCBvbiBIVE1MT3B0R3JvdXBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUg
c3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgbGFiZWwgb24gSFRNTE9wdEdy
b3VwRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVu
IGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0
b3IuCitGQUlMIGxhYmVsIG9uIEhUTUxPcHRHcm91cEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmli
dXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvSFRNTE9wdEdyb3VwRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxP
cHRHcm91cEVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZmEzMWJiNDY1ZjMzZGViYWU3OWNiYzBj
YmVmNGRlMGRiMzgyNjgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPcHRH
cm91cEVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRs
ZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxPcHRHcm91cEVsZW1lbnQgaW50
ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0
dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iZGlzYWJs
ZWQsIGxhYmVsIG9mCisgIEhUTUxPcHRHcm91cEVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBD
RVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3Bl
Yy53aGF0d2cub3JnLyN0aGUtb3B0Z3JvdXAtZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8Ym9keT4KKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoKSB7CisgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnc2VsZWN0Jyk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVu
dCk7CisgIHJldHVybiBlbGVtZW50OworfQorCitmdW5jdGlvbiBzZXRBdHRyaWJ1dGVzKGluc3Rh
bmNlKSB7CisgIGluc3RhbmNlLnNldEF0dHJpYnV0ZSgnbGFiZWwnLCAnZ3JvdXAxJyk7Cit9CisK
K3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAn
ZGlzYWJsZWQnLCAnZGlzYWJsZWQnLCAnZGlzYWJsZWQgb24gSFRNTE9wdEdyb3VwRWxlbWVudCcs
CisgICdvcHRncm91cCcsIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0
ZXMoaW5zdGFuY2UpLAorICBIVE1MT3B0R3JvdXBFbGVtZW50CispOworCit0ZXN0UmVmbGVjdEF0
dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAorICAnbGFiZWwnLCAnbGFiZWwnLCAnZ3JvdXAxJywKKyAg
J2dyb3VwMicsICdsYWJlbCBvbiBIVE1MT3B0R3JvdXBFbGVtZW50JywgJ29wdGdyb3VwJywKKyAg
Z2V0UGFyZW50RWxlbWVudCwgSFRNTE9wdEdyb3VwRWxlbWVudAorKTsKKworPC9zY3JpcHQ+Cis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFBhcmFtRWxlbWVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFBhcmFtRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODc4MTliOWI1M2M4OGY4YTE0MDMwMDBmY2NlODRlMmM3N2NkNmNkZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUGFyYW1FbGVtZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKKworCitGQUlMIG5hbWUgb24gSFRNTFBhcmFtRWxlbWVudCBtdXN0IGVucXVl
dWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1
dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIG5hbWUgb24gSFRN
TFBhcmFtRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIHZhbHVlIG9uIEhUTUxQYXJhbUVsZW1lbnQgbXVzdCBlbnF1
ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmli
dXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCB2YWx1ZSBvbiBI
VE1MUGFyYW1FbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9u
IHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBu
b3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxQYXJhbUVs
ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUGFyYW1FbGVtZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTNmMjRkZGI1NGVkNTAyNmYwOTNmOTE2YWRiNTRjODUwOGUxZjZlOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUGFyYW1FbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw0MSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBv
biBIVE1MUGFyYW1FbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJh
c3NlcnQiIGNvbnRlbnQ9Im5hbWUsIHZhbHVlIG9mIEhUTUxQYXJhbUVsZW1lbnQKKyAgaW50ZXJm
YWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJo
dHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtcGFyYW0tZWxlbWVudCI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8Ym9keT4KKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoKSB7CisgIGxldCBlbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb2JqZWN0Jyk7CisgIGVsZW1lbnRbJ3R5cGUnXSA9ICdp
bWFnZS9wbmcnOworICBlbGVtZW50WydkYXRhJ10gPSAnL2ltYWdlcy9ibHVlLnBuZyc7CisgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisgIHJldHVybiBlbGVtZW50OworfQor
CitmdW5jdGlvbiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlLCBhdHRyaWJ1dGUsIHZhbHVlKSB7Cisg
IGluc3RhbmNlLnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIHZhbHVlKTsKK30KKwordGVzdFJlZmxl
Y3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ25hbWUnLCAnbmFtZScsICdp
bWFnZTEnLAorICAnaW1hZ2UyJywgJ25hbWUgb24gSFRNTFBhcmFtRWxlbWVudCcsICdwYXJhbScs
CisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2Us
ICd2YWx1ZScsICdibHVlJyksCisgIEhUTUxQYXJhbUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0
dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAndmFsdWUnLCAndmFsdWUnLCAnYmx1
ZTEnLAorICAnYmx1ZTInLCAndmFsdWUgb24gSFRNTFBhcmFtRWxlbWVudCcsICdwYXJhbScsCisg
IGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UsICdu
YW1lJywgJ2ltYWdlJyksCisgIEhUTUxQYXJhbUVsZW1lbnQKKyk7CisKKzwvc2NyaXB0PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxQcm9ncmVzc0VsZW1lbnQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxQcm9ncmVzc0VsZW1lbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY0ODcwMWFiZTQ1YzA1ZTJiYmEwYTM1YTBmMjFhZGZmMDhmMjQ5YjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFByb2dyZXNzRWxlbWVudC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwgdmFsdWUgb24gSFRNTFByb2dyZXNzRWxlbWVudCBt
dXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyB2YWx1
ZSBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4K
K0ZBSUwgdmFsdWUgb24gSFRNTFByb2dyZXNzRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIG1heCBvbiBIVE1MUHJv
Z3Jlc3NFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdo
ZW4gYWRkaW5nIG1heCBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgbWF4IG9uIEhUTUxQcm9ncmVzc0VsZW1lbnQgbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3Rpbmcg
YXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTFByb2dyZXNzRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxQcm9ncmVzc0VsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYmU0NWY4ZDM5NWI5ZjRhYjY5
MTFjMDQxNTFiZDNkMWNiNDVmMjhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hU
TUxQcm9ncmVzc0VsZW1lbnQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4K
Kzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxQcm9ncmVzc0VsZW1l
bnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhy
ZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0i
dmFsdWUsIG1heCBvZiBIVE1MUHJvZ3Jlc3NFbGVtZW50CisgIGludGVyZmFjZSBtdXN0IGhhdmUg
Q0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy8jdGhlLXByb2dyZXNzLWVsZW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKwordGVzdFJlZmxl
Y3RBdHRyaWJ1dGUoCisgICd2YWx1ZScsICd2YWx1ZScsICcwLjE1JywKKyAgJzAuMicsICd2YWx1
ZSBvbiBIVE1MUHJvZ3Jlc3NFbGVtZW50JywgJ3Byb2dyZXNzJywKKyAgSFRNTFByb2dyZXNzRWxl
bWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKAorICAnbWF4JywgJ21heCcsICcyJywKKyAg
JzQnLCAnbWF4IG9uIEhUTUxQcm9ncmVzc0VsZW1lbnQnLCAncHJvZ3Jlc3MnLAorICBIVE1MUHJv
Z3Jlc3NFbGVtZW50CispOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MUXVvdGVFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUXVvdGVFbGVt
ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjgwMGFlZTgxZDM0NTYzMzNlNWM4NTVkYzZh
YzNlZTFhZjZiMjViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxRdW90ZUVs
ZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIGNpdGUgb24gYmxvY2tx
dW90ZSB1c2UgSFRNTFF1b3RlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdl
ZCByZWFjdGlvbiB3aGVuIGFkZGluZyBjaXRlIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjaXRlIG9uIGJsb2NrcXVvdGUgdXNlIEhU
TUxRdW90ZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5v
dCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjaXRlIG9uIHEgdXNlIEhUTUxRdW90ZUVsZW1lbnQgbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgY2l0ZSBj
b250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZB
SUwgY2l0ZSBvbiBxIHVzZSBIVE1MUXVvdGVFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBU
aGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxRdW90ZUVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUXVvdGVFbGVt
ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTdhYjEwYTE3MGU2NmViYTdlMDM2MzIxMTExZTk5ZGJiYThi
Y2ZmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUXVvdGVFbGVtZW50Lmh0
bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1l
bnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MUXVvdGVFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNv
bSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9ImNpdGUgb2YgSFRNTFF1b3RlRWxlbWVu
dCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNv
bnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1ibG9ja3F1b3RlLWVsZW1l
bnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4K
KworPHNjcmlwdD4KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ2NpdGUnLCAnY2l0ZScsICcuLi9y
ZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMnLCAnLi9yZXNvdXJjZXMvcmVhY3Rp
b25zLmpzJywgJ2NpdGUgb24gYmxvY2txdW90ZSB1c2UgSFRNTFF1b3RlRWxlbWVudCcsICdibG9j
a3F1b3RlJywgSFRNTFF1b3RlRWxlbWVudCk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgnY2l0ZScs
ICdjaXRlJywgJy4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcycsICcuL3Jl
c291cmNlcy9yZWFjdGlvbnMuanMnLCAnY2l0ZSBvbiBxIHVzZSBIVE1MUXVvdGVFbGVtZW50Jywg
J3EnLCBIVE1MUXVvdGVFbGVtZW50KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvSFRNTFNsb3RFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU2xv
dEVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwNzhlODI0ZGRmNWMzMWJjNjgxYjdh
YTc4ODcxZjA3NWJjMzkxMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFNs
b3RFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworRkFJTCBuYW1lIG9uIEhU
TUxTbG90RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIGFkZGluZyBuYW1lIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorRkFJTCBuYW1lIG9uIEhUTUxTbG90RWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MU2xvdEVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
U2xvdEVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYmE4ZjIwY2NmY2RlM2I5ZTE4NTJjYjRkNDk2
ZGY1Y2Y4NWU1ZTZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTbG90RWxl
bWVudC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkN1c3Rv
bSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTFNsb3RFbGVtZW50IGludGVyZmFjZTwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3Lmlu
dGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Im5hbWUgb2YgSFRNTFNsb3RF
bGVtZW50IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVs
cCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLXNsb3QtZWxlbWVu
dCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0Pgor
Cis8c2NyaXB0PgorCit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgnbmFtZScsICduYW1lJywgJ3Nsb3Qx
JywgJ3Nsb3QyJywgJ25hbWUgb24gSFRNTFNsb3RFbGVtZW50JywgJ3Nsb3QnLCBIVE1MU2xvdEVs
ZW1lbnQpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU3R5bGVF
bGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU3R5bGVFbGVtZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NGFlZDk1NzMwMmNjZTFjM2RmMDYxMTM0ZmFiYTE2NzAwNGNl
NDUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTdHlsZUVsZW1lbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIG1lZGlhIG9uIEhUTUxTdHlsZUVsZW1l
bnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcg
YSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJ
TCBtZWRpYSBvbiBIVE1MU3R5bGVFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFu
Z2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3Vw
ZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxTdHlsZUVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU3R5bGVFbGVtZW50Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzE4YjNjZWZjN2I3Njc0YTlmNjY2NTI2MTFkNTc0YTEwYzJmZGU4Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU3R5bGVFbGVtZW50Lmh0bWwKQEAg
LTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBD
RVJlYWN0aW9ucyBvbiBIVE1MU3R5bGVFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8
bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Im1lZGlhIG9mIEhUTUxTdHlsZUVsZW1lbnQgaW50
ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtc3R5bGUtZWxlbWVudCI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0
PgorCitmdW5jdGlvbiBnZXRQYXJlbnRFbGVtZW50KCkgeworICByZXR1cm4gZG9jdW1lbnQuaGVh
ZDsKK30KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoUGFyZW50Tm9kZSgKKyAgJ21lZGlhJywg
J21lZGlhJywgJ3ByaW50JywKKyAgJ3NjcmVlbicsICdtZWRpYSBvbiBIVE1MU3R5bGVFbGVtZW50
JywgJ3N0eWxlJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgSFRNTFN0eWxlRWxlbWVudAorKTsKKwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlQ2VsbEVsZW1lbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZUNlbGxFbGVtZW50LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMzA1N2U0M2MyNjRmN2U5ZmNjMjMzODViNzIyMTFkODEwY2M5YTZl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZUNlbGxFbGVtZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACisKK0ZBSUwgY29sU3BhbiBvbiBIVE1MVGFibGVD
ZWxsRWxlbWVudCBpbiB0ZCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29u
c3RydWN0b3IuCitGQUlMIGNvbFNwYW4gb24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4gdGQgbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4g
ZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
RkFJTCBjb2xTcGFuIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRoIG11c3QgZW5xdWV1ZSBh
biBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBU
aGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY29sU3BhbiBvbiBIVE1M
VGFibGVDZWxsRWxlbWVudCBpbiB0aCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xh
c3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHJvd1NwYW4gb24gSFRNTFRhYmxlQ2VsbEVs
ZW1lbnQgaW4gdGQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hl
biBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorRkFJTCByb3dTcGFuIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRkIG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwg
cm93U3BhbiBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0aCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHJvd1NwYW4gb24gSFRNTFRhYmxl
Q2VsbEVsZW1lbnQgaW4gdGggbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rp
b24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBoZWFkZXJzIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50
IGluIHRkIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRk
aW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4K
K0ZBSUwgaGVhZGVycyBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0ZCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGhlYWRl
cnMgb24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4gdGggbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBoZWFkZXJzIG9uIEhUTUxUYWJsZUNlbGxF
bGVtZW50IGluIHRoIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdo
ZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3Qg
YSBjb25zdHJ1Y3Rvci4KK0ZBSUwgc2NvcGUgb24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4gdGgg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBu
ZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBz
Y29wZSBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0aCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGFiYnIgb24gSFRNTFRh
YmxlQ2VsbEVsZW1lbnQgaW4gdGggbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorRkFJTCBhYmJyIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRoIG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZUNlbGxFbGVtZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWMyYWI5
MWMxMDZmNzQ3Mzk5NjQ2Y2E5ODhmMDI1Yjc5OWU3ZGZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb25zL0hUTUxUYWJsZUNlbGxFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw2MyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1M
VGFibGVDZWxsRWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNz
ZXJ0IiBjb250ZW50PSJjb2xTcGFuLCByb3dTcGFuLCBoZWFkZXJzLCBzY29wZSwgYWJiciBvZgor
ICBIVE1MVGFibGVDZWxsRWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4K
KzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
I3RoZS10ZC1lbGVtZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhl
bHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5q
cyI+PC9zY3JpcHQ+CisKKzx0YWJsZT48dHIgaWQ9ImNvbFNwYW4iPjwvdGFibGU+Cis8dGFibGU+
PHRyIGlkPSJyb3dTcGFuIj48dHI+PHRyPjwvdGFibGU+Cis8dGFibGU+PHRyPjx0aCBpZD0iaWQx
Ij48dGggaWQ9ImlkMiI+PHRyIGlkPSJ0ZF9oZWFkZXJzIj48dHIgaWQ9InRoX2hlYWRlcnMiPjwv
dGFibGU+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBnZXRQYXJlbnRFbGVtZW50KGlkKSB7CisgIGxl
dCBwYXJlbnRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICByZXR1cm4g
cGFyZW50RWxlbWVudDsKK30KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoUGFyZW50Tm9kZSgK
KyAgJ2NvbFNwYW4nLCAnY29sc3BhbicsICcyJywKKyAgJzMnLCAnY29sU3BhbiBvbiBIVE1MVGFi
bGVDZWxsRWxlbWVudCBpbiB0ZCcsICd0ZCcsCisgICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ2Nv
bFNwYW4nKSwgSFRNTFRhYmxlQ2VsbEVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdp
dGhQYXJlbnROb2RlKAorICAnY29sU3BhbicsICdjb2xzcGFuJywgJzInLAorICAnMycsICdjb2xT
cGFuIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRoJywgJ3RoJywKKyAgKCkgPT4gZ2V0UGFy
ZW50RWxlbWVudCgnY29sU3BhbicpLCBIVE1MVGFibGVDZWxsRWxlbWVudAorKTsKK3Rlc3RSZWZs
ZWN0QXR0cmlidXRlV2l0aFBhcmVudE5vZGUoCisgICdyb3dTcGFuJywgJ3Jvd3NwYW4nLCAnMics
CisgICczJywgJ3Jvd1NwYW4gb24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4gdGQnLCAndGQnLAor
ICAoKSA9PiBnZXRQYXJlbnRFbGVtZW50KCdyb3dTcGFuJyksIEhUTUxUYWJsZUNlbGxFbGVtZW50
CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoUGFyZW50Tm9kZSgKKyAgJ3Jvd1NwYW4nLCAn
cm93c3BhbicsICcyJywKKyAgJzMnLCAncm93U3BhbiBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBp
biB0aCcsICd0aCcsCisgICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ3Jvd1NwYW4nKSwgSFRNTFRh
YmxlQ2VsbEVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAor
ICAnaGVhZGVycycsICdoZWFkZXJzJywgJ2lkMScsCisgICdpZDInLCAnaGVhZGVycyBvbiBIVE1M
VGFibGVDZWxsRWxlbWVudCBpbiB0ZCcsICd0ZCcsCisgICgpID0+IGdldFBhcmVudEVsZW1lbnQo
J3RkX2hlYWRlcnMnKSwgSFRNTFRhYmxlQ2VsbEVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJp
YnV0ZVdpdGhQYXJlbnROb2RlKAorICAnaGVhZGVycycsICdoZWFkZXJzJywgJ2lkMScsCisgICdp
ZDInLCAnaGVhZGVycyBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0aCcsICd0aCcsCisgICgp
ID0+IGdldFBhcmVudEVsZW1lbnQoJ3RoX2hlYWRlcnMnKSwgSFRNTFRhYmxlQ2VsbEVsZW1lbnQK
Kyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAorICAnc2NvcGUnLCAnc2Nv
cGUnLCAncm93JywKKyAgJ2NvbCcsICdzY29wZSBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0
aCcsICd0aCcsCisgICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ2NvbFNwYW4nKSwgSFRNTFRhYmxl
Q2VsbEVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAorICAn
YWJicicsICdhYmJyJywgJ01vZGVsMScsCisgICdNb2RlbDInLCAnYWJiciBvbiBIVE1MVGFibGVD
ZWxsRWxlbWVudCBpbiB0aCcsICd0aCcsCisgICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ2NvbFNw
YW4nKSwgSFRNTFRhYmxlQ2VsbEVsZW1lbnQKKyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxUYWJsZUNvbEVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rp
b25zL0hUTUxUYWJsZUNvbEVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3MjgxYWVh
YzBhYzI1YjNiN2U3ZjM0ZGIzNzc5MDYzMzlhMjQzZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTFRhYmxlQ29sRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CisKK0ZBSUwgc3BhbiBvbiBIVE1MVGFibGVDb2xFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRy
aWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3Vw
ZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgc3BhbiBvbiBIVE1MVGFibGVDb2xF
bGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVw
bGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZUNvbEVsZW1lbnQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVDb2xFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDE3Yzc5OTlmNGRlOTllMThhNmI0NmNlMmQ5YjNlMjZkNjJmNzM5MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVDb2xFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwyNSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBv
biBIVE1MVGFibGVDb2xFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1l
PSJhc3NlcnQiIGNvbnRlbnQ9InNwYW4gb2YgSFRNTFRhYmxlQ29sRWxlbWVudCBpbnRlcmZhY2Ug
bXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1jb2xncm91cC1lbGVtZW50Ij4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzx0YWJsZSBpZD0i
dGJsIj48L3RhYmxlPgorPHNjcmlwdD4KKworZnVuY3Rpb24gZ2V0UGFyZW50RWxlbWVudCgpIHsK
KyAgbGV0IHBhcmVudEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGJsJyk7Cisg
IHJldHVybiBwYXJlbnRFbGVtZW50OworfQorCit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJl
bnROb2RlKAorICAnc3BhbicsICdzcGFuJywgJzInLAorICAnMScsICdzcGFuIG9uIEhUTUxUYWJs
ZUNvbEVsZW1lbnQnLCAnY29sZ3JvdXAnLAorICBnZXRQYXJlbnRFbGVtZW50LCBIVE1MVGFibGVD
b2xFbGVtZW50CispOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
VGltZUVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUaW1lRWxlbWVudC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNjNGZlYWJjNDIxOTM3MjNkNTkxMDNkN2I0YjczOGFh
Nzg3MDI5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGltZUVsZW1lbnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIGRhdGVUaW1lIG9uIEhUTUxUaW1l
RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFk
ZGluZyBkYXRldGltZSBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgZGF0ZVRpbWUgb24gSFRNTFRpbWVFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUaW1lRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hU
TUxUaW1lRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2NDNlMzQwZjUxN2RhMjg2NjI3MTJjN2I5
ZmVmOGJlYjgzMmM3ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRpbWVF
bGVtZW50Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3Vz
dG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MVGltZUVsZW1lbnQgaW50ZXJmYWNlPC90
aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cu
aW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0ibmFtZSBvZiBIVE1MVGlt
ZUVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJo
ZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtdGltZS1lbGVt
ZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+
CisKKzxzY3JpcHQ+CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKCdkYXRlVGltZScsICdkYXRldGlt
ZScsICcyMDE4LTEyLTEwJywgJzIwMTgtMTItMTInLCAnZGF0ZVRpbWUgb24gSFRNTFRpbWVFbGVt
ZW50JywgJ3RpbWUnLCBIVE1MVGltZUVsZW1lbnQpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3Jlc291
cmNlcy9yZWFjdGlvbnMuanMKaW5kZXggNDNjZTRmZDdhZDgzZWM0MDY2YWJmZmEyOGIzNTgxZjE2
ODVkMWY5My4uNWVkMzJhNGZhNDhjODE2ZjU3YjJjZDBmNmRmNWU3ZGVkYTk1MDAwYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL3Jlc291cmNlcy9yZWFjdGlvbnMuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rp
b25zL3Jlc291cmNlcy9yZWFjdGlvbnMuanMKQEAgLTMyLDcgKzMyLDcgQEAgZnVuY3Rpb24gdGVz
dE5vZGVEaXNjb25uZWN0b3IodGVzdEZ1bmN0aW9uLCBuYW1lKSB7CiAgICAgbGV0IGNvbnRhaW5l
ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGNvbnRhaW5lci5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChjb250YWluZXIpOwotIAorCiAgICAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAg
ICAgIHZhciBlbGVtZW50ID0gZGVmaW5lX25ld19jdXN0b21fZWxlbWVudCgpOwogICAgICAgICB2
YXIgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQubmFtZSk7CkBAIC0x
MjYsMTAgKzEyNiwxNSBAQCBmdW5jdGlvbiB0ZXN0Q2xvbmVyKHRlc3RGdW5jdGlvbiwgbmFtZSkg
ewogICAgIH0sIG5hbWUgKyAnIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gY2xvbmluZyBhbiBlbGVtZW50IG9ubHkgZm9yIG9ic2VydmVkIGF0dHJpYnV0ZXMn
KTsKIH0KIAotZnVuY3Rpb24gdGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoQ29udGVudFZhbHVlcyhq
c0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1lLCB2YWxpZFZhbHVlMSwgY29udGVu
dFZhbHVlMSwgdmFsaWRWYWx1ZTIsIGNvbnRlbnRWYWx1ZTIsIG5hbWUpIHsKK2Z1bmN0aW9uIHRl
c3RSZWZsZWN0QXR0cmlidXRlV2l0aENvbnRlbnRWYWx1ZXMoanNBdHRyaWJ1dGVOYW1lLCBjb250
ZW50QXR0cmlidXRlTmFtZSwgdmFsaWRWYWx1ZTEsIGNvbnRlbnRWYWx1ZTEsIHZhbGlkVmFsdWUy
LCBjb250ZW50VmFsdWUyLCBuYW1lLCBlbGVtZW50TmFtZSwgaW50ZXJmYWNlTmFtZSkgewogICAg
IHRlc3QoZnVuY3Rpb24gKCkgewotICAgICAgICB2YXIgZWxlbWVudCA9IGRlZmluZV9uZXdfY3Vz
dG9tX2VsZW1lbnQoW2NvbnRlbnRBdHRyaWJ1dGVOYW1lXSk7Ci0gICAgICAgIHZhciBpbnN0YW5j
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKKyAgICAgICAgaWYgKGVs
ZW1lbnROYW1lID09PSB1bmRlZmluZWQpIHsKKyAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZGVm
aW5lX25ld19jdXN0b21fZWxlbWVudChbY29udGVudEF0dHJpYnV0ZU5hbWVdKTsKKyAgICAgICAg
ICAgIHZhciBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZGVmaW5lX2J1aWxk
X2luX2N1c3RvbV9lbGVtZW50KFtjb250ZW50QXR0cmlidXRlTmFtZV0sIGludGVyZmFjZU5hbWUs
IGVsZW1lbnROYW1lKTsKKyAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoZWxlbWVudE5hbWUsIHsgaXM6IGVsZW1lbnQubmFtZSB9KTsKKyAgICAgICAgfQog
ICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsn
Y29uc3RydWN0ZWQnXSk7CiAgICAgICAgIGluc3RhbmNlW2pzQXR0cmlidXRlTmFtZV0gPSB2YWxp
ZFZhbHVlMTsKICAgICAgICAgdmFyIGxvZ0VudHJpZXMgPSBlbGVtZW50LnRha2VMb2coKTsKQEAg
LTEzOSw4ICsxNDQsMTMgQEAgZnVuY3Rpb24gdGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoQ29udGVu
dFZhbHVlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGUKICAgICB9LCBuYW1lICsg
JyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyAn
ICsgY29udGVudEF0dHJpYnV0ZU5hbWUgKyAnIGNvbnRlbnQgYXR0cmlidXRlJyk7CiAKICAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBkZWZpbmVfbmV3X2N1c3Rv
bV9lbGVtZW50KFtjb250ZW50QXR0cmlidXRlTmFtZV0pOwotICAgICAgICB2YXIgaW5zdGFuY2Ug
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQubmFtZSk7CisgICAgICAgIGlmIChlbGVt
ZW50TmFtZSA9PT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRlZmlu
ZV9uZXdfY3VzdG9tX2VsZW1lbnQoW2NvbnRlbnRBdHRyaWJ1dGVOYW1lXSk7CisgICAgICAgICAg
ICB2YXIgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQubmFtZSk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRlZmluZV9idWlsZF9p
bl9jdXN0b21fZWxlbWVudChbY29udGVudEF0dHJpYnV0ZU5hbWVdLCBpbnRlcmZhY2VOYW1lLCBl
bGVtZW50TmFtZSk7CisgICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KGVsZW1lbnROYW1lLCB7IGlzOiBlbGVtZW50Lm5hbWUgfSk7CisgICAgICAgIH0KICAg
ICAgICAgaW5zdGFuY2VbanNBdHRyaWJ1dGVOYW1lXSA9IHZhbGlkVmFsdWUxOwogICAgICAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0
ZWQnLCAnYXR0cmlidXRlQ2hhbmdlZCddKTsKICAgICAgICAgaW5zdGFuY2VbanNBdHRyaWJ1dGVO
YW1lXSA9IHZhbGlkVmFsdWUyOwpAQCAtMTUwLDEyICsxNjAsOTMgQEAgZnVuY3Rpb24gdGVzdFJl
ZmxlY3RBdHRyaWJ1dGVXaXRoQ29udGVudFZhbHVlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRB
dHRyaWJ1dGUKICAgICB9LCBuYW1lICsgJyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdl
ZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUnKTsKIH0KIAot
ZnVuY3Rpb24gdGVzdFJlZmxlY3RBdHRyaWJ1dGUoanNBdHRyaWJ1dGVOYW1lLCBjb250ZW50QXR0
cmlidXRlTmFtZSwgdmFsaWRWYWx1ZTEsIHZhbGlkVmFsdWUyLCBuYW1lKSB7Ci0gICAgdGVzdFJl
ZmxlY3RBdHRyaWJ1dGVXaXRoQ29udGVudFZhbHVlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRB
dHRyaWJ1dGVOYW1lLCB2YWxpZFZhbHVlMSwgdmFsaWRWYWx1ZTEsIHZhbGlkVmFsdWUyLCB2YWxp
ZFZhbHVlMiwgbmFtZSk7CitmdW5jdGlvbiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZShqc0F0dHJpYnV0
ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1lLCB2YWxpZFZhbHVlMSwgdmFsaWRWYWx1ZTIsIG5h
bWUsIGVsZW1lbnROYW1lLCBpbnRlcmZhY2VOYW1lKSB7CisgICAgdGVzdFJlZmxlY3RBdHRyaWJ1
dGVXaXRoQ29udGVudFZhbHVlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1l
LCB2YWxpZFZhbHVlMSwgdmFsaWRWYWx1ZTEsIHZhbGlkVmFsdWUyLCB2YWxpZFZhbHVlMiwgbmFt
ZSwgZWxlbWVudE5hbWUsIGludGVyZmFjZU5hbWUpOworfQorCitmdW5jdGlvbiB0ZXN0UmVmbGVj
dEJvb2xlYW5BdHRyaWJ1dGUoanNBdHRyaWJ1dGVOYW1lLCBjb250ZW50QXR0cmlidXRlTmFtZSwg
bmFtZSwgZWxlbWVudE5hbWUsIGludGVyZmFjZU5hbWUpIHsKKyAgICB0ZXN0UmVmbGVjdEF0dHJp
YnV0ZVdpdGhDb250ZW50VmFsdWVzKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZU5h
bWUsIHRydWUsICcnLCBmYWxzZSwgbnVsbCwgbmFtZSwgZWxlbWVudE5hbWUsIGludGVyZmFjZU5h
bWUpOworfQorCitmdW5jdGlvbiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhDb250ZW50VmFsdWVz
QW5kRGVwZW5kZW50QXR0cmlidXRlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVO
YW1lLCB2YWxpZFZhbHVlMSwgY29udGVudFZhbHVlMSwgdmFsaWRWYWx1ZTIsIGNvbnRlbnRWYWx1
ZTIsIG5hbWUsIGVsZW1lbnROYW1lLCBnZXRQYXJlbnRFbGVtZW50LCBzZXRBdHRyaWJ1dGVzLCBp
bnRlcmZhY2VOYW1lKSB7CisgICAgbGV0IHBhcmVudEVsZW1lbnQgPSBnZXRQYXJlbnRFbGVtZW50
KCk7CisKKyAgICB0ZXN0KCgpID0+IHsKKyAgICAgICAgbGV0IGVsZW1lbnQgPSBkZWZpbmVfYnVp
bGRfaW5fY3VzdG9tX2VsZW1lbnQoW2NvbnRlbnRBdHRyaWJ1dGVOYW1lXSwgaW50ZXJmYWNlTmFt
ZSwgZWxlbWVudE5hbWUpOworICAgICAgICBsZXQgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KGVsZW1lbnROYW1lLCB7IGlzOiBlbGVtZW50Lm5hbWUgfSk7CisKKyAgICAgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVk
J10pOworICAgICAgICBwYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGluc3RhbmNlKTsKKyAgICAg
ICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2Nvbm5l
Y3RlZCddKTsKKyAgICAgICAgc2V0QXR0cmlidXRlcyhpbnN0YW5jZSk7CisgICAgICAgIGluc3Rh
bmNlW2pzQXR0cmlidXRlTmFtZV0gPSB2YWxpZFZhbHVlMTsKKyAgICAgICAgbGV0IGxvZ0VudHJp
ZXMgPSBlbGVtZW50LnRha2VMb2coKTsKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dF
bnRyaWVzLnR5cGVzKCksIFsnYXR0cmlidXRlQ2hhbmdlZCddKTsKKyAgICAgICAgYXNzZXJ0X2F0
dHJpYnV0ZV9sb2dfZW50cnkobG9nRW50cmllcy5sYXN0KCksIHsgbmFtZTogY29udGVudEF0dHJp
YnV0ZU5hbWUsIG9sZFZhbHVlOiBudWxsLCBuZXdWYWx1ZTogY29udGVudFZhbHVlMSwgbmFtZXNw
YWNlOiBudWxsIH0pOworCisgICAgfSwgbmFtZSArICcgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlJyk7CisKKyAgICB0
ZXN0KCgpID0+IHsKKyAgICAgICAgbGV0IGVsZW1lbnQgPSBkZWZpbmVfYnVpbGRfaW5fY3VzdG9t
X2VsZW1lbnQoW2NvbnRlbnRBdHRyaWJ1dGVOYW1lXSwgaW50ZXJmYWNlTmFtZSwgZWxlbWVudE5h
bWUpOworICAgICAgICBsZXQgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1l
bnROYW1lLCB7IGlzOiBlbGVtZW50Lm5hbWUgfSk7CisgICAgICAgIHBhcmVudEVsZW1lbnQuYXBw
ZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgICAgICBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKTsKKyAg
ICAgICAgaW5zdGFuY2VbanNBdHRyaWJ1dGVOYW1lXSA9IHZhbGlkVmFsdWUxOworCisgICAgICAg
IGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1
Y3RlZCcsICdjb25uZWN0ZWQnLCAnYXR0cmlidXRlQ2hhbmdlZCddKTsKKyAgICAgICAgaW5zdGFu
Y2VbanNBdHRyaWJ1dGVOYW1lXSA9IHZhbGlkVmFsdWUyOworICAgICAgICBsZXQgbG9nRW50cmll
cyA9IGVsZW1lbnQudGFrZUxvZygpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ0Vu
dHJpZXMudHlwZXMoKSwgWydhdHRyaWJ1dGVDaGFuZ2VkJ10pOworICAgICAgICBhc3NlcnRfYXR0
cmlidXRlX2xvZ19lbnRyeShsb2dFbnRyaWVzLmxhc3QoKSwgeyBuYW1lOiBjb250ZW50QXR0cmli
dXRlTmFtZSwgb2xkVmFsdWU6IGNvbnRlbnRWYWx1ZTEsIG5ld1ZhbHVlOiBjb250ZW50VmFsdWUy
LCBuYW1lc3BhY2U6IG51bGwgfSk7CisKKyAgICB9LCBuYW1lICsgJyBtdXN0IGVucXVldWUgYW4g
YXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRy
aWJ1dGUnKTsKK30KKworZnVuY3Rpb24gdGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50
QXR0cmlidXRlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1lLCB2YWxpZFZh
bHVlMSwgdmFsaWRWYWx1ZTIsIG5hbWUsIGVsZW1lbnROYW1lLCBnZXRQYXJlbnRFbGVtZW50LCBz
ZXRBdHRyaWJ1dGVzLCBpbnRlcmZhY2VOYW1lKSB7CisgICAgdGVzdFJlZmxlY3RBdHRyaWJ1dGVX
aXRoQ29udGVudFZhbHVlc0FuZERlcGVuZGVudEF0dHJpYnV0ZXMoanNBdHRyaWJ1dGVOYW1lLCBj
b250ZW50QXR0cmlidXRlTmFtZSwgdmFsaWRWYWx1ZTEsIHZhbGlkVmFsdWUxLCB2YWxpZFZhbHVl
MiwgdmFsaWRWYWx1ZTIsIG5hbWUsIGVsZW1lbnROYW1lLCBnZXRQYXJlbnRFbGVtZW50LCBzZXRB
dHRyaWJ1dGVzLCBpbnRlcmZhY2VOYW1lKTsKK30KKworZnVuY3Rpb24gdGVzdFJlZmxlY3RCb29s
ZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoanNBdHRyaWJ1dGVOYW1lLCBjb250
ZW50QXR0cmlidXRlTmFtZSwgbmFtZSwgZWxlbWVudE5hbWUsIGdldFBhcmVudEVsZW1lbnQsIHNl
dEF0dHJpYnV0ZXMsIGludGVyZmFjZU5hbWUpIHsKKyAgICB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdp
dGhDb250ZW50VmFsdWVzQW5kRGVwZW5kZW50QXR0cmlidXRlcyhqc0F0dHJpYnV0ZU5hbWUsIGNv
bnRlbnRBdHRyaWJ1dGVOYW1lLCB0cnVlLCAnJywgZmFsc2UsIG51bGwsIG5hbWUsIGVsZW1lbnRO
YW1lLCBnZXRQYXJlbnRFbGVtZW50LCBzZXRBdHRyaWJ1dGVzLCBpbnRlcmZhY2VOYW1lKTsKK30K
KworZnVuY3Rpb24gdGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoQ29udGVudFZhbHVlc0FuZFBhcmVu
dE5vZGUoanNBdHRyaWJ1dGVOYW1lLCBjb250ZW50QXR0cmlidXRlTmFtZSwgdmFsaWRWYWx1ZTEs
IGNvbnRlbnRWYWx1ZTEsIHZhbGlkVmFsdWUyLCBjb250ZW50VmFsdWUyLCBuYW1lLCBlbGVtZW50
TmFtZSwgZ2V0UGFyZW50RWxlbWVudCwgaW50ZXJmYWNlTmFtZSkgeworICAgIGxldCBwYXJlbnRF
bGVtZW50ID0gZ2V0UGFyZW50RWxlbWVudCgpOworCisgICAgdGVzdCgoKSA9PiB7CisgICAgICAg
IGxldCBlbGVtZW50ID0gZGVmaW5lX2J1aWxkX2luX2N1c3RvbV9lbGVtZW50KFtjb250ZW50QXR0
cmlidXRlTmFtZV0sIGludGVyZmFjZU5hbWUsIGVsZW1lbnROYW1lKTsKKyAgICAgICAgbGV0IGlu
c3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVtZW50TmFtZSwgeyBpczogZWxlbWVu
dC5uYW1lIH0pOworCisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9n
KCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCddKTsKKyAgICAgICAgcGFyZW50RWxlbWVudC5hcHBl
bmRDaGlsZChpbnN0YW5jZSk7CisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50
YWtlTG9nKCkudHlwZXMoKSwgWydjb25uZWN0ZWQnXSk7CisgICAgICAgIGluc3RhbmNlW2pzQXR0
cmlidXRlTmFtZV0gPSB2YWxpZFZhbHVlMTsKKyAgICAgICAgbGV0IGxvZ0VudHJpZXMgPSBlbGVt
ZW50LnRha2VMb2coKTsKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dFbnRyaWVzLnR5
cGVzKCksIFsnYXR0cmlidXRlQ2hhbmdlZCddKTsKKyAgICAgICAgYXNzZXJ0X2F0dHJpYnV0ZV9s
b2dfZW50cnkobG9nRW50cmllcy5sYXN0KCksIHsgbmFtZTogY29udGVudEF0dHJpYnV0ZU5hbWUs
IG9sZFZhbHVlOiBudWxsLCBuZXdWYWx1ZTogY29udGVudFZhbHVlMSwgbmFtZXNwYWNlOiBudWxs
IH0pOworfSwgbmFtZSArICcgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rp
b24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlJyk7CisKKyAgICB0ZXN0KCgpID0+IHsKKyAg
ICAgICAgbGV0IGVsZW1lbnQgPSBkZWZpbmVfYnVpbGRfaW5fY3VzdG9tX2VsZW1lbnQoW2NvbnRl
bnRBdHRyaWJ1dGVOYW1lXSwgaW50ZXJmYWNlTmFtZSwgZWxlbWVudE5hbWUpOworICAgICAgICBs
ZXQgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnROYW1lLCB7IGlzOiBl
bGVtZW50Lm5hbWUgfSk7CisgICAgICAgIHBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoaW5zdGFu
Y2UpOworCisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlw
ZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7CisgICAgICAgIGluc3RhbmNlW2pz
QXR0cmlidXRlTmFtZV0gPSB2YWxpZFZhbHVlMTsKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2F0dHJpYnV0ZUNoYW5nZWQnXSk7CisgICAg
ICAgIGluc3RhbmNlW2pzQXR0cmlidXRlTmFtZV0gPSB2YWxpZFZhbHVlMjsKKyAgICAgICAgbGV0
IGxvZ0VudHJpZXMgPSBlbGVtZW50LnRha2VMb2coKTsKKyAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhsb2dFbnRyaWVzLnR5cGVzKCksIFsnYXR0cmlidXRlQ2hhbmdlZCddKTsKKyAgICAgICAg
YXNzZXJ0X2F0dHJpYnV0ZV9sb2dfZW50cnkobG9nRW50cmllcy5sYXN0KCksIHsgbmFtZTogY29u
dGVudEF0dHJpYnV0ZU5hbWUsIG9sZFZhbHVlOiBjb250ZW50VmFsdWUxLCBuZXdWYWx1ZTogY29u
dGVudFZhbHVlMiwgbmFtZXNwYWNlOiBudWxsIH0pOworICAgIH0sIG5hbWUgKyAnIG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZScpOworfQorCitmdW5jdGlvbiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQ
YXJlbnROb2RlKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZU5hbWUsIHZhbGlkVmFs
dWUxLCB2YWxpZFZhbHVlMiwgbmFtZSwgZWxlbWVudE5hbWUsIGdldFBhcmVudEVsZW1lbnQsIGlu
dGVyZmFjZU5hbWUpIHsKKyAgICB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhDb250ZW50VmFsdWVz
QW5kUGFyZW50Tm9kZShqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1lLCB2YWxp
ZFZhbHVlMSwgdmFsaWRWYWx1ZTEsIHZhbGlkVmFsdWUyLCB2YWxpZFZhbHVlMiwgbmFtZSwgZWxl
bWVudE5hbWUsIGdldFBhcmVudEVsZW1lbnQsIGludGVyZmFjZU5hbWUpOwogfQogCi1mdW5jdGlv
biB0ZXN0UmVmbGVjdEJvb2xlYW5BdHRyaWJ1dGUoanNBdHRyaWJ1dGVOYW1lLCBjb250ZW50QXR0
cmlidXRlTmFtZSwgbmFtZSkgewotICAgIHRlc3RSZWZsZWN0QXR0cmlidXRlV2l0aENvbnRlbnRW
YWx1ZXMoanNBdHRyaWJ1dGVOYW1lLCBjb250ZW50QXR0cmlidXRlTmFtZSwgdHJ1ZSwgJycsIGZh
bHNlLCBudWxsLCBuYW1lKTsKK2Z1bmN0aW9uIHRlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZVdp
dGhQYXJlbnROb2RlKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZU5hbWUsIG5hbWUs
IGVsZW1lbnROYW1lLCBnZXRQYXJlbnRFbGVtZW50LCBpbnRlcmZhY2VOYW1lKSB7CisgICAgdGVz
dFJlZmxlY3RBdHRyaWJ1dGVXaXRoQ29udGVudFZhbHVlc0FuZFBhcmVudE5vZGUoanNBdHRyaWJ1
dGVOYW1lLCBjb250ZW50QXR0cmlidXRlTmFtZSwgdHJ1ZSwgJycsIGZhbHNlLCBudWxsLCBuYW1l
LCBlbGVtZW50TmFtZSwgZ2V0UGFyZW50RWxlbWVudCwgaW50ZXJmYWNlTmFtZSk7CiB9CiAKIGZ1
bmN0aW9uIHRlc3RBdHRyaWJ1dGVBZGRlcih0ZXN0RnVuY3Rpb24sIG5hbWUpIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93M2MtaW1wb3J0
LmxvZwppbmRleCA3YmY0ZWY4MDEwMzMxNmNhZmIzNzIzN2M3Njk1NmQ5ZDM4Mjk3YjExLi5lMjYy
ZDQ2NGVhZGJhNGI2MzBmODE2Y2U3ZjgyYzYyNWYwM2Q3YjZlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3czYy1pbXBvcnQubG9nCkBA
IC0yMywxNSArMjMsNDEgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRWxlbWVudC5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0VsZW1lbnRDb250ZW50RWRpdGFibGUuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy9IVE1MQW5jaG9yRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxBcmVhRWxlbWVu
dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxCYXNlRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxCdXR0b25FbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTENhbnZhc0VsZW1lbnQu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRGF0YUVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MRGV0YWlsc0VsZW1lbnQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRWxlbWVudC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxFbWJlZEVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRmll
bGRTZXRFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEltYWdlRWxlbWVudC5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxJbnB1dEVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTElF
bGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTExhYmVsRWxlbWVudC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxNYXBFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1lZGlhRWxlbWVu
dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNZXRhRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxNZXRlckVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTW9kRWxlbWVudC5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxPTGlzdEVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
T3B0R3JvdXBFbGVtZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdGlvbkVsZW1lbnQuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9IVE1MT3V0cHV0RWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxQYXJhbUVsZW1lbnQu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUHJvZ3Jlc3NFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTFF1b3RlRWxlbWVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTZWxlY3RFbGVtZW50
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFNsb3RFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
SFRNTFN0eWxlRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZUNlbGxFbGVtZW50
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlQ29sRWxlbWVudC5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rp
b25zL0hUTUxUYWJsZUVsZW1lbnQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVSb3dFbGVt
ZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy9IVE1MVGltZUVsZW1lbnQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGl0bGVF
bGVtZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvTmFtZWROb2RlTWFwLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvTm9kZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLmh0bWwKaW5kZXggODJlMGY1OWM5MzAy
MmZjZDYzMjFjNmI4YWQxZjhkNzAxNGI3NDM4Mi4uMTMxMzQ4YjFjNDFhYjg2OThlNGRhYWYxZDI3
MDcxOTk0YmFiYjBhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhjZXB0aW9ucy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMuaHRtbApAQCAtMjUsNyArMjUs
MTEgQEAgdGVzdF93aXRoX3dpbmRvdygoY29udGVudFdpbmRvdywgY29udGVudERvY3VtZW50KSA9
PiB7CiAgIGNvbnRlbnREb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGV4dCk7
CiAgIGNvbnN0IGVsZW1lbnQgPSBjb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY3VzdG9t
LWVsZW1lbnQiKTsKICAgY29udGVudERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGls
ZChlbGVtZW50KTsKLSAgYXNzZXJ0X3Rocm93cygiSGllcmFyY2h5UmVxdWVzdEVycm9yIiwgKCkg
PT4gdGV4dC5iZWZvcmUoIiIsIGNvbnRlbnREb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKTsKKyAg
YXNzZXJ0X3Rocm93c19kb20oCisgICAgIkhpZXJhcmNoeVJlcXVlc3RFcnJvciIsCisgICAgY29u
dGVudFdpbmRvdy5ET01FeGNlcHRpb24sCisgICAgKCkgPT4gdGV4dC5iZWZvcmUoIiIsIGNvbnRl
bnREb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpCisgICk7CiAgIGFzc2VydF90cnVlKHJlYWN0aW9u
UmFuKTsKIH0sICJSZWFjdGlvbiBtdXN0IHJ1biBldmVuIGFmdGVyIHRoZSBleGNlcHRpb24gaXMg
dGhyb3duIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9uYXZpZ2F0aW9u
LWRlc3RpbmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1kZXN0aW5hdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjUwZTI4ZjBlZDg3ZmMxMmVmMGY2NTk0MzNkZjk3YmU5YzE0YjllNzEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZXNvdXJjZXMvbmF2aWdhdGlvbi1kZXN0aW5hdGlvbi5o
dG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGh0bWw+CisgPGh0bWw+CisgPGJvZHk+Cisg
PHA+TmF2aWdhdGVkITwvcD4KKyA8c2NyaXB0PgorIHBhcmVudC5wb3N0TWVzc2FnZSgnZGlkTmF2
aWdhdGUnLCAnKicpOworIDwvc2NyaXB0PgorIDwvYm9keT4KKyA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZXNvdXJjZXMvdzNjLWltcG9ydC5s
b2cKaW5kZXggYTk5NTgzZTFjZDMyOTBmOTc1ZDcyNzU0ZGEzNmNhMzM5MTljYmJhOC4uY2E5OTg1
OTY4NWQ2MTUxYzMyMmJhZmU3OTQzZGUzYmYzMDI2NDlhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVzb3Vy
Y2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAt
MTcsMyArMTcsNCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9jdXN0b20tZWxlbWVu
dHMtaGVscGVycy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9lbXB0eS1odG1sLWRvY3VtZW50Lmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZXNvdXJjZXMvbXktY3VzdG9tLWVsZW1lbnQtaHRtbC1kb2N1bWVudC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVz
b3VyY2VzL25hdmlnYXRpb24tZGVzdGluYXRpb24uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUu
dGVudGF0aXZlL0VsZW1lbnRJbnRlcm5hbHMtc3RhdGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3N0YXRl
LnRlbnRhdGl2ZS9FbGVtZW50SW50ZXJuYWxzLXN0YXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmQ1YzY4NTVmNzQyYTczMjhhMzEzY2UwMzVlNWZiZTUzY2EyYzIxZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3N0YXRlLnRlbnRhdGl2ZS9FbGVtZW50SW50ZXJuYWxzLXN0YXRlcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACisKK0ZBSUwgRE9NVG9rZW5MaXN0IGJlaGF2aW9yIG9mIEVs
ZW1lbnRJbnRlcm5hbHMuc3RhdGVzOiBJbml0aWFsIHN0YXRlIHRoaXMuYXR0YWNoSW50ZXJuYWxz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5h
dHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRE9NVG9rZW5MaXN0IGJlaGF2aW9y
IG9mIEVsZW1lbnRJbnRlcm5hbHMuc3RhdGVzOiBFeGNlcHRpb25zIHRoaXMuYXR0YWNoSW50ZXJu
YWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhp
cy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRE9NVG9rZW5MaXN0IGJlaGF2
aW9yIG9mIEVsZW1lbnRJbnRlcm5hbHMuc3RhdGVzOiBNb2RpZmljYXRpb25zIHRoaXMuYXR0YWNo
SW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCkn
LCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
c3RhdGUudGVudGF0aXZlL0VsZW1lbnRJbnRlcm5hbHMtc3RhdGVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50
ZW50YXRpdmUvRWxlbWVudEludGVybmFscy1zdGF0ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjkwYTg0
ZDQxMGRkNzg3NDEyNGZhNTRlNjAzZDQ4NWI2OWVmOWRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
c3RhdGUudGVudGF0aXZlL0VsZW1lbnRJbnRlcm5hbHMtc3RhdGVzLmh0bWwKQEAgLTAsMCArMSw2
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY2xhc3MgVGVzdEVsZW1lbnQgZXh0ZW5kcyBIVE1M
RWxlbWVudCB7CisgIGNvbnN0cnVjdG9yKCkgeworICAgIHN1cGVyKCk7CisgICAgdGhpcy5faW50
ZXJuYWxzID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTsKKyAgfQorCisgIGdldCBpbnRlcm5hbHMo
KSB7CisgICAgcmV0dXJuIHRoaXMuX2ludGVybmFsczsKKyAgfQorfQorY3VzdG9tRWxlbWVudHMu
ZGVmaW5lKCJ0ZXN0LWVsZW1lbnQiLCBUZXN0RWxlbWVudCk7CisKK3Rlc3QoKCkgPT4geworICBs
ZXQgaSA9IChuZXcgVGVzdEVsZW1lbnQoKSkuaW50ZXJuYWxzOworCisgIGFzc2VydF90cnVlKGku
c3RhdGVzIGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0KTsKKyAgYXNzZXJ0X2VxdWFscyhpLnN0YXRl
cy5sZW5ndGgsIDApOworICBhc3NlcnRfZmFsc2UoaS5zdGF0ZXMuY29udGFpbnMoJ2ZvbycpKTsK
KyAgYXNzZXJ0X2VxdWFscyhpLnN0YXRlcy52YWx1ZSwgJycpOworICBhc3NlcnRfZXF1YWxzKGku
c3RhdGVzLnRvU3RyaW5nKCksICcnKTsKK30sICdET01Ub2tlbkxpc3QgYmVoYXZpb3Igb2YgRWxl
bWVudEludGVybmFscy5zdGF0ZXM6IEluaXRpYWwgc3RhdGUnKTsKKwordGVzdCgoKSA9PiB7Cisg
IGxldCBpID0gKG5ldyBUZXN0RWxlbWVudCgpKS5pbnRlcm5hbHM7CisgIGFzc2VydF90aHJvd3Nf
anMoVHlwZUVycm9yLCAoKSA9PiB7IGkuc3RhdGVzLnN1cHBvcnRzKCdmb28nKTsgfSk7CisgIGFz
c2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcicsICgpID0+IHsgaS5zdGF0ZXMuYWRkKCcnKTsg
fSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkQ2hhcmFjdGVyRXJyb3InLCAoKSA9PiB7
IGkuc3RhdGVzLmFkZCgnYVx0YicpOyB9KTsKK30sICdET01Ub2tlbkxpc3QgYmVoYXZpb3Igb2Yg
RWxlbWVudEludGVybmFscy5zdGF0ZXM6IEV4Y2VwdGlvbnMnKTsKKwordGVzdCgoKSA9PiB7Cisg
IGxldCBpID0gKG5ldyBUZXN0RWxlbWVudCgpKS5pbnRlcm5hbHM7CisgIGkuc3RhdGVzLmFkZCgn
Zm9vJywgJ2JhcicsICdmb28nKTsKKyAgYXNzZXJ0X2VxdWFscyhpLnN0YXRlcy5sZW5ndGgsIDIp
OworICBhc3NlcnRfdHJ1ZShpLnN0YXRlcy5jb250YWlucygnZm9vJykpOworICBhc3NlcnRfdHJ1
ZShpLnN0YXRlcy5jb250YWlucygnYmFyJykpOworICBhc3NlcnRfZXF1YWxzKGkuc3RhdGVzLml0
ZW0oMCksICdmb28nKTsKKyAgYXNzZXJ0X2VxdWFscyhpLnN0YXRlcy5pdGVtKDEpLCAnYmFyJyk7
CisgIGFzc2VydF9lcXVhbHMoaS5zdGF0ZXNbMF0sICdmb28nKTsKKyAgYXNzZXJ0X2VxdWFscyhp
LnN0YXRlc1sxXSwgJ2JhcicpOworICBhc3NlcnRfZXF1YWxzKGkuc3RhdGVzLnZhbHVlLCAnZm9v
IGJhcicpOworICBpLnN0YXRlcy5yZW1vdmUoJ2ZvbycpOworICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGkuc3RhdGVzLCBbJ2JhciddKTsKKyAgYXNzZXJ0X2VxdWFscyhpLnN0YXRlcy52YWx1ZSwgJ2Jh
cicpOworICBpLnN0YXRlcy50b2dnbGUoJ2ZvbycpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGku
c3RhdGVzLCBbJ2JhcicsICdmb28nXSk7CisgIGFzc2VydF9lcXVhbHMoaS5zdGF0ZXMudmFsdWUs
ICdiYXIgZm9vJyk7CisgIGkuc3RhdGVzLnJlcGxhY2UoJ2JhcicsICdiYXonKTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyhpLnN0YXRlcywgWydiYXonLCAnZm9vJ10pOworICBhc3NlcnRfZXF1YWxz
KGkuc3RhdGVzLnZhbHVlLCAnYmF6IGZvbycpOworCisgIGkuc3RhdGVzLnZhbHVlID0gJyAgYyB1
IHMgdCBvIG8gbyBvICBtJzsKKyAgYXNzZXJ0X2VxdWFscyhpLnN0YXRlcy5sZW5ndGgsIDYpOwor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGkuc3RhdGVzLCBbJ2MnLCAndScsICdzJywgJ3QnLCAnbycs
ICdtJ10pOworCisgIGkuc3RhdGVzLnZhbHVlID0gJyc7CisgIC8vIE5vIHRocm93IGZvciBhIHRv
a2VuIHdoaWNoIGNhbid0IGJlIGEgQ1NTIDxpZGVudD4uCisgIGkuc3RhdGVzLmFkZCgnZm9vKScp
OworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGkuc3RhdGVzLCBbJ2ZvbyknXSk7Cit9LCAnRE9NVG9r
ZW5MaXN0IGJlaGF2aW9yIG9mIEVsZW1lbnRJbnRlcm5hbHMuc3RhdGVzOiBNb2RpZmljYXRpb25z
Jyk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL1JFQURNRS5t
ZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3N0YXRlLnRlbnRhdGl2ZS9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjExNzg0YmQwN2U2
ODliMTZiMzE2Y2VmYjdhOWNiMDNiYThmYzU2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3N0YXRl
LnRlbnRhdGl2ZS9SRUFETUUubWQKQEAgLTAsMCArMSBAQAorVGVzdHMgZm9yIFtDdXN0b20gU3Rh
dGUgUHNldWRvIENsYXNzXShodHRwczovL3dpY2cuZ2l0aHViLmlvL2N1c3RvbS1zdGF0ZS1wc2V1
ZG8tY2xhc3MvKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL3N0YXRlLXBzZXVkby1j
bGFzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvc3RhdGUtcHNldWRvLWNsYXNz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTY0ODA3ODM0MzU3ODgzMzVmMDA3NmEwMjkzODJm
ZDEzOTc5ZjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL3N0YXRlLXBz
ZXVkby1jbGFzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKK1BBU1MgOnN0YXRlKCkg
cGFyc2luZyBmYWlsdXJlcyAKK0ZBSUwgOnN0YXRlKCkgc2VyaWFsaXphdGlvbiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3Nz
UnVsZXNbMV0uY3NzVGV4dCcpCitGQUlMIDpzdGF0ZSgpIGluIHNpbXBsZSBjYXNlcyB0aGlzLmF0
dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFs
cygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitGQUlMIDpzdGF0ZSgp
IGFuZCBvdGhlciBwc2V1ZG8gY2xhc3NlcyB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJu
YWxzJyBpcyB1bmRlZmluZWQpCitGQUlMIDpzdGF0ZSgpIGFuZCA6OnBhcnQoKSB0aGlzLmF0dGFj
aEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygp
JywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitGQUlMIDpzdGF0ZSgpIGFu
ZCA6aG9zdCgpIHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5l
ZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL3N0YXRlLXBzZXVkby1jbGFzcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL3N0YXRlLXBzZXVkby1jbGFzcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlhODEwYjZiMDAwYzMxYjk1MjFjMjA1YjY1MDAyZTJjNjIwNWJjY2YKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvc3RhdGUtcHNldWRvLWNsYXNzLmh0bWwKQEAgLTAs
MCArMSwxMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorI3N0YXRlLWFuZC1wYXJ0OjpwYXJ0KGlu
bmVyKSB7CisgIG9wYWNpdHk6IDA7Cit9Cisjc3RhdGUtYW5kLXBhcnQ6OnBhcnQoaW5uZXIpOnN0
YXRlKGlubmVyRm9vKSB7CisgIG9wYWNpdHk6IDAuNTsKK30KKyNzdGF0ZS1hbmQtcGFydDpzdGF0
ZShvdXRlckZvbyk6OnBhcnQoaW5uZXIpIHsKKyAgb3BhY2l0eTogMC4yNTsKK30KKzpzdGF0ZSgg
XChlc2NhcGVkXCBzdGF0ZSAgKSB7fQorPC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdD4KK2NsYXNz
IFRlc3RFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICBjb25zdHJ1Y3RvcigpIHsKKyAg
ICBzdXBlcigpOworICAgIHRoaXMuX2ludGVybmFscyA9IHRoaXMuYXR0YWNoSW50ZXJuYWxzKCk7
CisgIH0KKworICBnZXQgaSgpIHsKKyAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxzOworICB9Cit9
CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZWxlbWVudCcsIFRlc3RFbGVtZW50KTsKKwor
Y2xhc3MgQ29udGFpbmVyRWxlbWVudCBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgY29uc3RydWN0
b3IoKSB7CisgICAgc3VwZXIoKTsKKyAgICB0aGlzLl9pbnRlcm5hbHMgPSB0aGlzLmF0dGFjaElu
dGVybmFscygpOworICAgIHRoaXMuX3NoYWRvdyA9IHRoaXMuYXR0YWNoU2hhZG93KHttb2RlOidv
cGVuJ30pOworICAgIHRoaXMuX3NoYWRvdy5pbm5lckhUTUwgPSBgCis8c3R5bGU+Cis6aG9zdCB7
CisgIGJvcmRlci1zdHlsZTogc29saWQ7Cit9Cis6aG9zdCg6c3RhdGUoZG90dGVkKSkgeworICBi
b3JkZXItc3R5bGU6IGRvdHRlZDsKK30KKzwvc3R5bGU+Cis8dGVzdC1lbGVtZW50IHBhcnQ9Imlu
bmVyIj48L3Rlc3QtZWxlbWVudD5gOworICB9CisKKyAgZ2V0IGkoKSB7CisgICAgcmV0dXJuIHRo
aXMuX2ludGVybmFsczsKKyAgfQorICBnZXQgaW5uZXJFbGVtZW50KCkgeworICAgIHJldHVybiB0
aGlzLl9zaGFkb3cucXVlcnlTZWxlY3RvcigndGVzdC1lbGVtZW50Jyk7CisgIH0KK30KK2N1c3Rv
bUVsZW1lbnRzLmRlZmluZSgnY29udGFpbmVyLWVsZW1lbnQnLCBDb250YWluZXJFbGVtZW50KTsK
KwordGVzdCgoKSA9PiB7CisgIGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcicsICgpID0+
IHsgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignOnN0YXRlJyk7IH0pOworICBhc3NlcnRfdGhyb3dz
X2RvbSgnU3ludGF4RXJyb3InLCAoKSA9PiB7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJzpzdGF0
ZSgnKTsgfSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcicsICgpID0+IHsgZG9j
dW1lbnQucXVlcnlTZWxlY3RvcignOnN0YXRlKCknKTsgfSk7CisgIGFzc2VydF90aHJvd3NfZG9t
KCdTeW50YXhFcnJvcicsICgpID0+IHsgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignOnN0YXRlKD0p
Jyk7IH0pOworICBhc3NlcnRfdGhyb3dzX2RvbSgnU3ludGF4RXJyb3InLCAoKSA9PiB7IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJzpzdGF0ZShuYW1lPXZhbHVlKScpOyB9KTsKKyAgYXNzZXJ0X3Ro
cm93c19kb20oJ1N5bnRheEVycm9yJywgKCkgPT4geyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCc6
c3RhdGUoIGZvbyBiYXIpJyk7IH0pOworICBhc3NlcnRfdGhyb3dzX2RvbSgnU3ludGF4RXJyb3In
LCAoKSA9PiB7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJzpzdGF0ZSgxNnB4KScpOyB9KTsKK30s
ICc6c3RhdGUoKSBwYXJzaW5nIGZhaWx1cmVzJyk7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRf
ZXF1YWxzKGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLmNzc1J1bGVzWzFdLmNzc1RleHQsCisgICAg
ICAnI3N0YXRlLWFuZC1wYXJ0OjpwYXJ0KGlubmVyKTpzdGF0ZShpbm5lckZvbykgeyBvcGFjaXR5
OiAwLjU7IH0nKTsKKyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NS
dWxlc1szXS5zZWxlY3RvclRleHQsCisgICAgICAnOnN0YXRlKFxcKGVzY2FwZWRcXCBzdGF0ZSkn
KTsKK30sICc6c3RhdGUoKSBzZXJpYWxpemF0aW9uJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQg
ZWxlbWVudCA9IG5ldyBUZXN0RWxlbWVudCgpOworICBsZXQgc3RhdGVzID0gZWxlbWVudC5pLnN0
YXRlczsKKworICBhc3NlcnRfZmFsc2UoZWxlbWVudC5tYXRjaGVzKCc6c3RhdGUoZm9vKScpKTsK
KyAgYXNzZXJ0X3RydWUoZWxlbWVudC5tYXRjaGVzKCc6bm90KDpzdGF0ZShmb28pKScpKTsKKyAg
c3RhdGVzLmFkZCgnZm9vJyk7CisgIGFzc2VydF90cnVlKGVsZW1lbnQubWF0Y2hlcygnOnN0YXRl
KGZvbyknKSk7CisgIGFzc2VydF90cnVlKGVsZW1lbnQubWF0Y2hlcygnOmlzKDpzdGF0ZShmb28p
KScpKTsKKyAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjMScsICdjMicpOworICBhc3NlcnRfdHJ1
ZShlbGVtZW50Lm1hdGNoZXMoJy5jMTpzdGF0ZShmb28pJykpOworICBhc3NlcnRfdHJ1ZShlbGVt
ZW50Lm1hdGNoZXMoJzpzdGF0ZShmb28pLmMxJykpOworICBhc3NlcnRfdHJ1ZShlbGVtZW50Lm1h
dGNoZXMoJy5jMjpzdGF0ZShmb28pLmMxJykpOworfSwgJzpzdGF0ZSgpIGluIHNpbXBsZSBjYXNl
cycpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IGVsZW1lbnQgPSBuZXcgVGVzdEVsZW1lbnQoKTsK
KyAgZWxlbWVudC50YWJJbmRleCA9IDA7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxl
bWVudCk7CisgIGVsZW1lbnQuZm9jdXMoKTsKKyAgbGV0IHN0YXRlcyA9IGVsZW1lbnQuaS5zdGF0
ZXM7CisKKyAgc3RhdGVzLnZhbHVlID0gJ2Zvbyc7CisgIGFzc2VydF90cnVlKGVsZW1lbnQubWF0
Y2hlcygnOmZvY3VzOnN0YXRlKGZvbyknKSk7CisgIGFzc2VydF90cnVlKGVsZW1lbnQubWF0Y2hl
cygnOnN0YXRlKGZvbyk6Zm9jdXMnKSk7Cit9LCAnOnN0YXRlKCkgYW5kIG90aGVyIHBzZXVkbyBj
bGFzc2VzJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgb3V0ZXIgPSBuZXcgQ29udGFpbmVyRWxl
bWVudCgpOworICBvdXRlci5pZCA9ICdzdGF0ZS1hbmQtcGFydCc7CisgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQob3V0ZXIpOworICBsZXQgaW5uZXIgPSBvdXRlci5pbm5lckVsZW1lbnQ7Cisg
IGxldCBpbm5lclN0YXRlcyA9IGlubmVyLmkuc3RhdGVzOworCisgIGlubmVyU3RhdGVzLmFkZCgn
aW5uZXJGb28nKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGlubmVyKS5vcGFj
aXR5LCAnMC41JywKKyAgICAgICc6OnBhcnQoKSBmb2xsb3dlZCBieSA6c3RhdGUoKScpOworICBp
bm5lclN0YXRlcy5yZXBsYWNlKCdpbm5lckZvbycsICdpbm5lcmZvbycpOworICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUoaW5uZXIpLm9wYWNpdHksICcwJywKKyAgICAgICc6c3RhdGUo
KSBtYXRjaGluZyBzaG91bGQgYmUgY2FzZS1zZW5zaXRpdmUnKTsKKyAgaW5uZXJTdGF0ZXMucmVt
b3ZlKCdpbm5lcmZvbycpOworCisgIG91dGVyLmkuc3RhdGVzLmFkZCgnb3V0ZXJGb28nKTsKKyAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGlubmVyKS5vcGFjaXR5LCAnMC4yNScsCisg
ICAgICAnOnN0YXRlKCkgZm9sbG93ZWQgYnkgOjpwYXJ0KCknKTsKK30sICc6c3RhdGUoKSBhbmQg
OjpwYXJ0KCknKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCBvdXRlciA9IG5ldyBDb250YWluZXJF
bGVtZW50KCk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0ZXIpOworCisgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShvdXRlcikuYm9yZGVyU3R5bGUsICdzb2xpZCcpOwor
ICBvdXRlci5pLnN0YXRlcy50b2dnbGUoJ2RvdHRlZCcpOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUob3V0ZXIpLmJvcmRlclN0eWxlLCAnZG90dGVkJyk7Cit9LCAnOnN0YXRlKCkg
YW5kIDpob3N0KCknKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUu
dGVudGF0aXZlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL3czYy1pbXBvcnQu
bG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRkYThjZWJiNmU0YmNlZTEyOTk1ZWJmOTg2OGI1N2EyNDI3ZTBmNTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvdzNjLWltcG9ydC5sb2cKQEAg
LTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJv
cGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL0VsZW1lbnRJbnRlcm5h
bHMtc3RhdGVzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvUkVBRE1FLm1kCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUu
dGVudGF0aXZlL3N0YXRlLXBzZXVkby1jbGFzcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy90aHJvdy1v
bi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1jb25zdHJ1Y3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uLWNvdW50ZXItY29uc3RydWN0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTc2ZmU3NzA0NzllZGViYzg2NzQ0OWJmZTE4OTYw
YTdjMzE4MzlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdGhyb3ctb24tZHluYW1pYy1tYXJrdXAt
aW5zZXJ0aW9uLWNvdW50ZXItY29uc3RydWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CisKK1BBU1MgZG9jdW1lbnQub3BlbigpIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Ig
d2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBk
b2N1bWVudC5vcGVuKCJ0ZXh0L2h0bWwiKSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
IHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1Mg
ZG9jdW1lbnQub3BlbihVUkwpIG11c3QgTk9UIHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdo
ZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1MgZG9j
dW1lbnQuY2xvc2UoKSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hy
b25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1MgZG9jdW1lbnQud3Jp
dGUgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29u
c3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGRvY3VtZW50LndyaXRlbG4gbXVzdCB0
aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5n
IGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGRvY3VtZW50Lm9wZW4oKSBvZiBhbm90aGVyIGRvY3Vt
ZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNs
eSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1MgZG9jdW1lbnQub3BlbigidGV4
dC9odG1sIikgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3Rh
dGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQg
CitQQVNTIGRvY3VtZW50LmNsb3NlKCkgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJv
dyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEg
Y3VzdG9tIGVsZW1lbnQgCitQQVNTIGRvY3VtZW50LndyaXRlIG9mIGFub3RoZXIgZG9jdW1lbnQg
bXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNv
bnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1bWVudC53cml0ZWxuIG9mIGFu
b3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBz
eW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1jb25zdHJ1Y3Qu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3Rocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVyLWNvbnN0
cnVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlOTI1NGUyYTUwZjBjYTU3MmI5ZTlhYTE2NDFhNGRhYjVm
MjJlNTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNl
cnRpb24tY291bnRlci1jb25zdHJ1Y3QuaHRtbApAQCAtMCwwICsxLDExNyBAQAorPCFET0NUWVBF
IGh0bWw+CisgPGh0bWw+CisgPGhlYWQ+CisgPHRpdGxlPkN1c3RvbSBFbGVtZW50czogY3JlYXRl
IGFuIGVsZW1lbnQgZm9yIGEgdG9rZW4gbXVzdCBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBkb2N1
bWVudCdzIHRocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlvbiBjb3VudGVyPC90aXRsZT4K
KyA8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJSeW9zdWtlIE5pd2EiIGhyZWY9Im1haWx0bzpy
bml3YUB3ZWJraXQub3JnIj4KKyA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Ikludm9raW5n
IGRvY3VtZW50Lm9wZW4sIGRvY3VtZW50LndyaXRlLCBkb2N1bWVudC53cml0ZWxuLCBhbmQgZG9j
dW1lbnQud3JpdGUgbXVzdCB0aHJvdyBhbiBleGNlcHRpb24gd2hlbiB0aGUgSFRNTCBwYXJzZXIg
aXMgY3JlYXRpbmcgYSBjdXN0b20gZWxlbWVudCBmb3IgYSB0b2tlbiI+CisgPG1ldGEgbmFtZT0i
aGVscCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvcGFy
c2luZy5odG1sI2NyZWF0ZS1hbi1lbGVtZW50LWZvci10aGUtdG9rZW4iPgorIDxtZXRhIG5hbWU9
ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2R5
bmFtaWMtbWFya3VwLWluc2VydGlvbi5odG1sI3Rocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2Vy
dGlvbi1jb3VudGVyIj4KKyA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CisgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVs
cGVycy5qcyI+PC9zY3JpcHQ+CisgPC9oZWFkPgorIDxib2R5PgorIDxkaXYgaWQ9ImxvZyI+PC9k
aXY+CisgPHNjcmlwdD4KKworIGFzeW5jIGZ1bmN0aW9uIGNvbnN0cnVjdF9jdXN0b21fZWxlbWVu
dF9pbl9wYXJzZXIodGVzdCwgY2FsbF9mdW5jdGlvbikKKyB7CisgICAgIGNvbnN0IHdpbmRvdyA9
IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0ZXN0KTsKKyAgICAgY29uc3QgZG9jdW1lbnQg
PSB3aW5kb3cuZG9jdW1lbnQ7CisKKyAgICAgZG9jdW1lbnQub3BlbigpOworCisgICAgIGxldCBl
eGVjdXRlZCA9IGZhbHNlOworICAgICBsZXQgZXhjZXB0aW9uID0gbnVsbDsKKyAgICAgY2xhc3Mg
Q3VzdG9tRWxlbWVudCBleHRlbmRzIHdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAgICAgICBjb25z
dHJ1Y3RvcigpIHsKKyAgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgIGNhbGxfZnVuY3Rpb24oZG9jdW1lbnQsIHdpbmRvdyk7CisgICAgICAg
ICAgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gZXJy
b3I7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGV4ZWN1dGVkID0gdHJ1ZTsKKyAgICAg
ICAgIH0KKyAgICAgfQorICAgICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdzb21lLWVs
ZW1lbnQnLCBDdXN0b21FbGVtZW50KTsKKworICAgICBkb2N1bWVudC53cml0ZSgnPCFET0NUWVBF
IGh0bWw+PGh0bWw+PGJvZHk+PHNvbWUtZWxlbWVudD48L3NvbWUtZWxlbWVudD48L2JvZHk+PC9o
dG1sPicpOworICAgICBkb2N1bWVudC5jbG9zZSgpOworCisgICAgIGFzc2VydF90cnVlKGV4ZWN1
dGVkLCAnTXVzdCBzeW5jaHJvbm91c2x5IGluc3RhbnRpYXRlIGEgY3VzdG9tIGVsZW1lbnQnKTsK
KyAgICAgcmV0dXJuIHt3aW5kb3csIGRvY3VtZW50LCBleGNlcHRpb259OworIH0KKworIHByb21p
c2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNv
bnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBkb2N1
bWVudC5vcGVuKCkpOworICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3In
LCByZXN1bHQud2luZG93LkRPTUV4Y2VwdGlvbiwgKCkgPT4geyB0aHJvdyByZXN1bHQuZXhjZXB0
aW9uOyB9LCAnTXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvcicpOworIH0sICdkb2N1bWVu
dC5vcGVuKCkgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3Vz
bHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKworIHByb21pc2VfdGVzdChhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0
b21fZWxlbWVudF9pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBkb2N1bWVudC5vcGVuKCd0
ZXh0L2h0bWwnKSk7CisgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcics
IHJlc3VsdC53aW5kb3cuRE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3VsdC5leGNlcHRp
b247IH0sICdNdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yJyk7CisgfSwgJ2RvY3VtZW50
Lm9wZW4oInRleHQvaHRtbCIpIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBz
eW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKyAvLyBodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9keW5hbWljLW1hcmt1cC1pbnNlcnRp
b24uaHRtbCNkb20tZG9jdW1lbnQtb3Blbi13aW5kb3cKKyBwcm9taXNlX3Rlc3QoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgICBsZXQgbG9hZF9wcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHdpbmRvdy5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQuZGF0YSkpOwor
ICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb25zdHJ1Y3RfY3VzdG9tX2VsZW1lbnRfaW5fcGFy
c2VyKHRoaXMsIChkb2N1bWVudCwgd2luZG93KSA9PiBkb2N1bWVudC5vcGVuKCdyZXNvdXJjZXMv
bmF2aWdhdGlvbi1kZXN0aW5hdGlvbi5odG1sJywgJ19zZWxmJywgJycpKTsKKyAgICAgYXNzZXJ0
X2VxdWFscyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsKKyAgICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBsb2FkX3Byb21pc2UsICdkaWROYXZpZ2F0ZScpOworIH0sICdkb2N1bWVudC5vcGVuKFVSTCkg
bXVzdCBOT1QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNv
bnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKyBwcm9taXNlX3Rlc3QoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb25zdHJ1Y3RfY3VzdG9tX2Vs
ZW1lbnRfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gZG9jdW1lbnQuY2xvc2UoKSk7Cisg
ICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIHJlc3VsdC53aW5kb3cu
RE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3VsdC5leGNlcHRpb247IH0sICdNdXN0IHRo
cm93IGFuIEludmFsaWRTdGF0ZUVycm9yJyk7CisgfSwgJ2RvY3VtZW50LmNsb3NlKCkgbXVzdCB0
aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5n
IGEgY3VzdG9tIGVsZW1lbnQnKTsKKworIHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9w
YXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBkb2N1bWVudC53cml0ZSgnPGI+c29tZSB0ZXh0PC9i
PicpKTsKKyAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0
LndpbmRvdy5ET01FeGNlcHRpb24sICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwg
J011c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3InKTsKKyAgICAgYXNzZXJ0X2VxdWFscyhy
ZXN1bHQuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYicpLCBudWxsLCAnTXVzdCBub3QgaW5zZXJ0
IG5ldyBjb250ZW50Jyk7CisgICAgIGFzc2VydF9mYWxzZShyZXN1bHQuZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LmlubmVySFRNTC5pbmNsdWRlcygnc29tZSB0ZXh0JyksICdNdXN0IG5vdCBpbnNl
cnQgbmV3IGNvbnRlbnQnKTsKKyB9LCAnZG9jdW1lbnQud3JpdGUgbXVzdCB0aHJvdyBhbiBJbnZh
bGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVs
ZW1lbnQnKTsKKworIHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgIGNvbnN0
IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIodGhpcywg
KGRvY3VtZW50KSA9PiBkb2N1bWVudC53cml0ZWxuKCc8Yj5zb21lIHRleHQ8L2I+JykpOworICAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCByZXN1bHQud2luZG93LkRP
TUV4Y2VwdGlvbiwgKCkgPT4geyB0aHJvdyByZXN1bHQuZXhjZXB0aW9uOyB9LCAnTXVzdCB0aHJv
dyBhbiBJbnZhbGlkU3RhdGVFcnJvcicpOworICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5kb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCdiJyksIG51bGwsICdNdXN0IG5vdCBpbnNlcnQgbmV3IGNvbnRl
bnQnKTsKKyAgICAgYXNzZXJ0X2ZhbHNlKHJlc3VsdC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQu
aW5uZXJIVE1MLmluY2x1ZGVzKCdzb21lIHRleHQnKSwgJ011c3Qgbm90IGluc2VydCBuZXcgY29u
dGVudCcpOworIH0sICdkb2N1bWVudC53cml0ZWxuIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRl
RXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7
CisKKyBwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgICBjb25zdCBhbm90aGVy
X3dpbmRvdyA9IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAgICAgY29uc3Qg
cmVzdWx0ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAo
ZG9jdW1lbnQpID0+IGFub3RoZXJfd2luZG93LmRvY3VtZW50Lm9wZW4oKSk7CisgICAgIGFzc2Vy
dF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7CisgfSwgJ2RvY3VtZW50Lm9wZW4oKSBv
ZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdo
ZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCisgcHJv
bWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICAgY29uc3QgYW5vdGhlcl93aW5kb3cg
PSBhd2FpdCBjcmVhdGVfd2luZG93X2luX3Rlc3QodGhpcyk7CisgICAgIGNvbnN0IHJlc3VsdCA9
IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50
KSA9PiBhbm90aGVyX3dpbmRvdy5kb2N1bWVudC5vcGVuKCd0ZXh0L2h0bWwnKSk7CisgICAgIGFz
c2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7CisgfSwgJ2RvY3VtZW50Lm9wZW4o
InRleHQvaHRtbCIpIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxp
ZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVt
ZW50Jyk7CisKKyBwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgICBjb25zdCBh
bm90aGVyX3dpbmRvdyA9IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAgICAg
Y29uc3QgcmVzdWx0ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0
aGlzLCAoZG9jdW1lbnQpID0+IGFub3RoZXJfd2luZG93LmRvY3VtZW50LmNsb3NlKCkpOworICAg
ICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5leGNlcHRpb24sIG51bGwpOworIH0sICdkb2N1bWVudC5j
bG9zZSgpIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRl
RXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7
CisKKyBwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgICBjb25zdCBhbm90aGVy
X3dpbmRvdyA9IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAgICAgY29uc3Qg
cmVzdWx0ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAo
ZG9jdW1lbnQpID0+IGFub3RoZXJfd2luZG93LmRvY3VtZW50LndyaXRlKCc8Yj5zb21lIHRleHQ8
L2I+JykpOworICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5leGNlcHRpb24sIG51bGwpOworICAg
ICBhc3NlcnRfZXF1YWxzKGFub3RoZXJfd2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2In
KS5vdXRlckhUTUwsICc8Yj5zb21lIHRleHQ8L2I+Jyk7CisgfSwgJ2RvY3VtZW50LndyaXRlIG9m
IGFub3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hl
biBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKyBwcm9t
aXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgICBjb25zdCBhbm90aGVyX3dpbmRvdyA9
IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAgICAgY29uc3QgcmVzdWx0ID0g
YXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQp
ID0+IGFub3RoZXJfd2luZG93LmRvY3VtZW50LndyaXRlbG4oJzxiPnNvbWUgdGV4dDwvYj4nKSk7
CisgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7CisgICAgIGFzc2Vy
dF9lcXVhbHMoYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYicpLm91dGVy
SFRNTCwgJzxiPnNvbWUgdGV4dDwvYj4nKTsKKyB9LCAnZG9jdW1lbnQud3JpdGVsbiBvZiBhbm90
aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3lu
Y2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCisgPC9zY3JpcHQ+
CisgPC9ib2R5PgorIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Rocm93LW9uLWR5bmFtaWMtbWFy
a3VwLWluc2VydGlvbi1jb3VudGVyLXJlYWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy90aHJvdy1v
bi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1yZWFjdGlvbnMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmUxOWVkMTE5NDViZDY5MDEzYzc0YWE1YjA5YmZlMmZkYjI2MzRjZjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291
bnRlci1yZWFjdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKKworUEFTUyBkb2N1
bWVudC5vcGVuKCkgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3Np
bmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVk
IGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1bWVudC5vcGVuKCJ0ZXh0L2h0bWwiKSBtdXN0IHRo
cm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCBy
ZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQgCitQ
QVNTIGRvY3VtZW50Lm9wZW4oVVJMKSBtdXN0IE5PVCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJv
ciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9u
b3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1bWVudC5jbG9zZSgpIG11
c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVt
ZW50IHJlYWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVu
dCAKK1BBU1MgZG9jdW1lbnQud3JpdGUgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3
aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3Vz
IGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1bWVudC53cml0ZWxuIG11c3Qg
dGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50
IHJlYWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudCAK
K1BBU1MgZG9jdW1lbnQub3BlbigpIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cg
YW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0
aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudCAKK1BBU1Mg
ZG9jdW1lbnQub3BlbigidGV4dC9odG1sIikgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0
aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQg
cmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAor
UEFTUyBkb2N1bWVudC5jbG9zZSgpIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cg
YW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0
aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudCAKK1BBU1Mg
ZG9jdW1lbnQud3JpdGUgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZh
bGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZv
ciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1bWVu
dC53cml0ZWxuIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0
YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBz
eW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
dGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uLWNvdW50ZXItcmVhY3Rpb25zLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1yZWFjdGlvbnMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lNzk4ZDMzMmUzOGIyZTg1NzAzZTc3NTI0ODZmZTIyMTM3NjIxMmRi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9u
LWNvdW50ZXItcmVhY3Rpb25zLmh0bWwKQEAgLTAsMCArMSwxMTcgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IGNyZWF0ZSBhbiBlbGVt
ZW50IGZvciBhIHRva2VuIG11c3QgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgZG9jdW1lbnQncyB0
aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24gY291bnRlcjwvdGl0bGU+Cis8bWV0YSBu
YW1lPSJhdXRob3IiIHRpdGxlPSJSeW9zdWtlIE5pd2EiIGhyZWY9Im1haWx0bzpybml3YUB3ZWJr
aXQub3JnIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iSW52b2tpbmcgZG9jdW1lbnQu
b3BlbiwgZG9jdW1lbnQud3JpdGUsIGRvY3VtZW50LndyaXRlbG4sIGFuZCBkb2N1bWVudC53cml0
ZSBtdXN0IHRocm93IGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBIVE1MIHBhcnNlciBpcyBjcmVhdGlu
ZyBhIGN1c3RvbSBlbGVtZW50IGZvciBhIHRva2VuIj4KKyA8bWV0YSBuYW1lPSJoZWxwIiBjb250
ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9wYXJzaW5nLmh0bWwj
Y3JlYXRlLWFuLWVsZW1lbnQtZm9yLXRoZS10b2tlbiI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250
ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9keW5hbWljLW1hcmt1
cC1pbnNlcnRpb24uaHRtbCN0aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRl
ciI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKwor
YXN5bmMgZnVuY3Rpb24gY3VzdG9tX2VsZW1lbnRfcmVhY3Rpb25zX2luX3BhcnNlcih0ZXN0LCBj
YWxsX2Z1bmN0aW9uKQoreworICAgIGNvbnN0IHdpbmRvdyA9IGF3YWl0IGNyZWF0ZV93aW5kb3df
aW5fdGVzdCh0ZXN0KTsKKyAgICBjb25zdCBkb2N1bWVudCA9IHdpbmRvdy5kb2N1bWVudDsKKwor
ICAgIGRvY3VtZW50Lm9wZW4oKTsKKworICAgIGxldCBleGVjdXRlZCA9IGZhbHNlOworICAgIGxl
dCBleGNlcHRpb24gPSBudWxsOworICAgIGNsYXNzIEN1c3RvbUVsZW1lbnQgZXh0ZW5kcyB3aW5k
b3cuSFRNTEVsZW1lbnQgeworICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwg
b2xkVmFsdWUsIG5ld1ZhbHVlKSB7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
IGNhbGxfZnVuY3Rpb24oZG9jdW1lbnQsIHdpbmRvdyk7CisgICAgICAgICAgICB9IGNhdGNoIChl
cnJvcikgeworICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IGVycm9yOworICAgICAgICAgICAg
fQorICAgICAgICAgICBleGVjdXRlZCA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisgICAgQ3Vz
dG9tRWxlbWVudC5vYnNlcnZlZEF0dHJpYnV0ZXMgPSBbJ3RpdGxlJ107CisgICAgd2luZG93LmN1
c3RvbUVsZW1lbnRzLmRlZmluZSgnc29tZS1lbGVtZW50JywgQ3VzdG9tRWxlbWVudCk7CisKKyAg
ICBkb2N1bWVudC53cml0ZSgnPCFET0NUWVBFIGh0bWw+PGh0bWw+PGJvZHk+PHNvbWUtZWxlbWVu
dCB0aXRsZT0ic29tZSB0aXRsZSI+PC9zb21lLWVsZW1lbnQ+PC9ib2R5PjwvaHRtbD4nKTsKKyAg
ICBkb2N1bWVudC5jbG9zZSgpOworCisgICAgYXNzZXJ0X3RydWUoZXhlY3V0ZWQsICdNdXN0IGlt
bWVkaWF0ZWx5IHByb2Nlc3MgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBzZXR0aW5nIGF0
dHJpYnV0ZXMnKTsKKyAgICByZXR1cm4ge2ZyYW1lRWxlbWVudCwgd2luZG93LCBkb2N1bWVudCwg
ZXhjZXB0aW9ufTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBj
b25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRo
aXMsIChkb2N1bWVudCkgPT4gZG9jdW1lbnQub3BlbigpKTsKKyAgICBhc3NlcnRfdGhyb3dzX2Rv
bSgnSW52YWxpZFN0YXRlRXJyb3InLCByZXN1bHQud2luZG93LkRPTUV4Y2VwdGlvbiwgKCkgPT4g
eyB0aHJvdyByZXN1bHQuZXhjZXB0aW9uOyB9LCAnTXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVF
cnJvcicpOworfSwgJ2RvY3VtZW50Lm9wZW4oKSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVy
cm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hy
b25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5j
IGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9y
ZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gZG9jdW1lbnQub3BlbigndGV4
dC9odG1sJykpOworICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIHJl
c3VsdC53aW5kb3cuRE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3VsdC5leGNlcHRpb247
IH0sICdNdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yJyk7Cit9LCAnZG9jdW1lbnQub3Bl
bigidGV4dC9odG1sIikgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nl
c3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVj
dGVkIGN1c3RvbSBlbGVtZW50Jyk7CisKKy8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL2R5bmFtaWMtbWFya3VwLWluc2VydGlvbi5odG1sI2RvbS1kb2N1bWVudC1vcGVu
LXdpbmRvdworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBsZXQgbG9hZF9w
cm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHdpbmRvdy5vbm1lc3NhZ2UgPSAoZXZl
bnQpID0+IHJlc29sdmUoZXZlbnQuZGF0YSkpOworICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGN1
c3RvbV9lbGVtZW50X3JlYWN0aW9uc19pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50LCB3aW5kb3cp
ID0+IGRvY3VtZW50Lm9wZW4oJ3Jlc291cmNlcy9uYXZpZ2F0aW9uLWRlc3RpbmF0aW9uLmh0bWwn
LCAnX3NlbGYnLCAnJykpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVs
bCk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBsb2FkX3Byb21pc2UsICdkaWROYXZpZ2F0ZScp
OworfSwgJ2RvY3VtZW50Lm9wZW4oVVJMKSBtdXN0IE5PVCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVF
cnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNo
cm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Jyk7CisKK3Byb21pc2VfdGVzdChhc3lu
YyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY3VzdG9tX2VsZW1lbnRf
cmVhY3Rpb25zX2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGRvY3VtZW50LmNsb3NlKCkp
OworICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIHJlc3VsdC53aW5k
b3cuRE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3VsdC5leGNlcHRpb247IH0sICdNdXN0
IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yJyk7Cit9LCAnZG9jdW1lbnQuY2xvc2UoKSBtdXN0
IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVu
dCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQn
KTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCByZXN1bHQg
PSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVu
dCkgPT4gZG9jdW1lbnQud3JpdGUoJzxiPnNvbWUgdGV4dDwvYj4nKSk7CisgICAgYXNzZXJ0X3Ro
cm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0LndpbmRvdy5ET01FeGNlcHRpb24s
ICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwgJ011c3QgdGhyb3cgYW4gSW52YWxp
ZFN0YXRlRXJyb3InKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5kb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCdiJyksIG51bGwsICdNdXN0IG5vdCBpbnNlcnQgbmV3IGNvbnRlbnQnKTsKKyAgICBh
c3NlcnRfZmFsc2UocmVzdWx0LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwuaW5j
bHVkZXMoJ3NvbWUgdGV4dCcpLCAnTXVzdCBub3QgaW5zZXJ0IG5ldyBjb250ZW50Jyk7Cit9LCAn
ZG9jdW1lbnQud3JpdGUgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nl
c3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVj
dGVkIGN1c3RvbSBlbGVtZW50Jyk7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7
CisgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY3VzdG9tX2VsZW1lbnRfcmVhY3Rpb25zX2luX3Bh
cnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGRvY3VtZW50LndyaXRlbG4oJzxiPnNvbWUgdGV4dDwv
Yj4nKSk7CisgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0
LndpbmRvdy5ET01FeGNlcHRpb24sICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwg
J011c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3InKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJl
c3VsdC5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdiJyksIG51bGwsICdNdXN0IG5vdCBpbnNlcnQg
bmV3IGNvbnRlbnQnKTsKKyAgICBhc3NlcnRfZmFsc2UocmVzdWx0LmRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5pbm5lckhUTUwuaW5jbHVkZXMoJ3NvbWUgdGV4dCcpLCAnTXVzdCBub3QgaW5zZXJ0
IG5ldyBjb250ZW50Jyk7Cit9LCAnZG9jdW1lbnQud3JpdGVsbiBtdXN0IHRocm93IGFuIEludmFs
aWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9y
IGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKKworcHJvbWlzZV90
ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCBhbm90aGVyX3dpbmRvdyA9IGF3YWl0
IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBj
dXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gYW5v
dGhlcl93aW5kb3cuZG9jdW1lbnQub3BlbigpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5l
eGNlcHRpb24sIG51bGwpOworfSwgJ2RvY3VtZW50Lm9wZW4oKSBvZiBhbm90aGVyIGRvY3VtZW50
IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0
b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9t
IGVsZW1lbnQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBjb25z
dCBhbm90aGVyX3dpbmRvdyA9IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAg
ICBjb25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2Vy
KHRoaXMsIChkb2N1bWVudCkgPT4gYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQub3BlbigndGV4dC9o
dG1sJykpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7Cit9LCAn
ZG9jdW1lbnQub3BlbigidGV4dC9odG1sIikgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0
aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQg
cmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Jyk7
CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3QgYW5vdGhlcl93
aW5kb3cgPSBhd2FpdCBjcmVhdGVfd2luZG93X2luX3Rlc3QodGhpcyk7CisgICAgY29uc3QgcmVz
dWx0ID0gYXdhaXQgY3VzdG9tX2VsZW1lbnRfcmVhY3Rpb25zX2luX3BhcnNlcih0aGlzLCAoZG9j
dW1lbnQpID0+IGFub3RoZXJfd2luZG93LmRvY3VtZW50LmNsb3NlKCkpOworICAgIGFzc2VydF9l
cXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7Cit9LCAnZG9jdW1lbnQuY2xvc2UoKSBvZiBh
bm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4g
cHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29u
c3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9u
ICgpIHsKKyAgICBjb25zdCBhbm90aGVyX3dpbmRvdyA9IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5f
dGVzdCh0aGlzKTsKKyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFj
dGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gYW5vdGhlcl93aW5kb3cuZG9jdW1l
bnQud3JpdGUoJzxiPnNvbWUgdGV4dDwvYj4nKSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQu
ZXhjZXB0aW9uLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFub3RoZXJfd2luZG93LmRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ2InKS5vdXRlckhUTUwsICc8Yj5zb21lIHRleHQ8L2I+Jyk7Cit9
LCAnZG9jdW1lbnQud3JpdGUgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJ
bnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25z
IGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Jyk7CisKK3Byb21p
c2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgY29uc3QgYW5vdGhlcl93aW5kb3cgPSBh
d2FpdCBjcmVhdGVfd2luZG93X2luX3Rlc3QodGhpcyk7CisgICAgY29uc3QgcmVzdWx0ID0gYXdh
aXQgY3VzdG9tX2VsZW1lbnRfcmVhY3Rpb25zX2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+
IGFub3RoZXJfd2luZG93LmRvY3VtZW50LndyaXRlbG4oJzxiPnNvbWUgdGV4dDwvYj4nKSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGFub3RoZXJfd2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2InKS5vdXRlckhUTUws
ICc8Yj5zb21lIHRleHQ8L2I+Jyk7Cit9LCAnZG9jdW1lbnQud3JpdGVsbiBvZiBhbm90aGVyIGRv
Y3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2lu
ZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQg
Y3VzdG9tIGVsZW1lbnQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy91cGdyYWRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5nLWV4cGVjdGVkLnR4
dAppbmRleCBjZWI1ZjM0M2U1Njg3Y2I3MjY4MzJhOGQzNjEyYmI0YjI2MGU3YjBmLi5hYzQxOWMy
N2E4NWU5Y2Q2NWFhM2NjNTQzMzliODcwYzE5YjcxNzZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy91cGdyYWRp
bmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3VwZ3JhZGluZy1leHBlY3RlZC50eHQKQEAgLTI0LDQg
KzI0LDcgQEAgUEFTUyBJbnNlcnRpbmcgYW4gdW5yZXNvbHZlZCBjdXN0b20gZWxlbWVudCBpbnRv
IHRoZSBkb2N1bWVudCBvZiBhbiBpZnJhbWUgbXVzdAogUEFTUyAiZGVmaW5lIiBpbiB0aGUgZG9j
dW1lbnQgb2YgYW4gaWZyYW1lIG11c3QgZW5xdWV1ZSBhIGN1c3RvbSBlbGVtZW50IHVwZ3JhZGUg
cmVhY3Rpb24gb24gYSBjb25uZWN0ZWQgdW5yZXNvbHZlZCBjdXN0b20gZWxlbWVudCAKIFBBU1Mg
QWRvcHRpbmcgKGFuZCBsZWF2aW5nIGRpc2Nvbm5jZXRlZCkgYW4gdW5yZXNvbHZlZCBjdXN0b20g
ZWxlbWVudCBpbnRvIHRoZSBkb2N1bWVudCBvZiBhbiBpZnJhbWUgbXVzdCBub3QgZW5xdWV1ZSBh
IGN1c3RvbSBlbGVtZW50IHVwZ3JhZGUgcmVhY3Rpb24gCiBQQVNTIEFkb3B0aW5nIGFuZCBpbnNl
cnRpbmcgYW4gdW5yZXNvbHZlZCBjdXN0b20gZWxlbWVudCBpbnRvIHRoZSBkb2N1bWVudCBvZiBh
biBpZnJhbWUgbXVzdCBlbnF1ZXVlIGEgY3VzdG9tIGVsZW1lbnQgdXBncmFkZSByZWFjdGlvbiAK
K0ZBSUwgSWYgZGVmaW5pdGlvbidzIGRpc2FibGUgc2hhZG93IGlzIHRydWUgYW5kIGVsZW1lbnQn
cyBzaGFkb3cgcm9vdCBpcyBub24tbnVsbCwgdGhlbiB0aHJvdyBhICJOb3RTdXBwb3J0ZWRFcnJv
ciIgRE9NRXhjZXB0aW9uLiBhc3NlcnRfZmFsc2U6IFVwZ3JhZGluZyBzaG91bGQgZmFpbC4gZXhw
ZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1MgSW5maW5pdGUgY29uc3RydWN0b3IgcmVjdXJzaW9u
IHdpdGggdXBncmFkZSh0aGlzKSBzaG91bGQgbm90IGJlIHBvc3NpYmxlIAorRkFJTCBJbmZpbml0
ZSBjb25zdHJ1Y3RvciByZWN1cnNpb24gd2l0aCBhcHBlbmRDaGlsZCBzaG91bGQgbm90IGJlIHBv
c3NpYmxlIGFzc2VydF9hcnJheV9lcXVhbHM6IGV4cGVjdGVkIHByb3BlcnR5IDAgdG8gYmUgRWxl
bWVudCBub2RlIDxpbmZpbml0ZS1jbG9uaW5nLWVsZW1lbnQtMiBpZD0iYiI+PC9pbmZpbml0ZS1j
bG9uaW5nLWVsZS4uLiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5maW5pdGUtY2xvbmluZy1lbGVt
ZW50LTIgaWQ9ImEiPjwvaW5maW5pdGUtY2xvbmluZy1lbGUuLi4gKGV4cGVjdGVkIGFycmF5IFtF
bGVtZW50IG5vZGUgPGluZmluaXRlLWNsb25pbmctZWxlbWVudC0yIGlkPSJiIj48L2luZmluaXRl
LWNsb25pbmctZWxlLi4uLCAiYmVnaW4iXSBnb3QgW0VsZW1lbnQgbm9kZSA8aW5maW5pdGUtY2xv
bmluZy1lbGVtZW50LTIgaWQ9ImEiPjwvaW5maW5pdGUtY2xvbmluZy1lbGUuLi4sICJlbmQiXSkK
ICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3VwZ3JhZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5nLmh0bWwKaW5k
ZXggYWFlYTBjYjRhMDIxMTY5NjMxYzJiNTBkMGY1OTdjYjcyN2EwYjYxNC4uYWMwZmRmZjdhMjEx
MTUwNzYzMmFjMmMzNmZkNWM2MGE2ZjgzMmIyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5nLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvdXBncmFkaW5nLmh0bWwKQEAgLTEyLDggKzEyLDEyIEBACiA8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgorPGluZmluaXRlLWNsb25pbmctZWxlbWVudC0xPjwvaW5maW5pdGUtY2xvbmlu
Zy1lbGVtZW50LTE+Cis8aW5maW5pdGUtY2xvbmluZy1lbGVtZW50LTIgaWQ9ImEiPjwvaW5maW5p
dGUtY2xvbmluZy1lbGVtZW50LTI+Cis8aW5maW5pdGUtY2xvbmluZy1lbGVtZW50LTIgaWQ9ImIi
PjwvaW5maW5pdGUtY2xvbmluZy1lbGVtZW50LTI+CiA8ZGl2IGlkPSJsb2ciPjwvZGl2PgogPHNj
cmlwdD4KK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0pOwogCiBjbGFzcyBQ
cmVkZWZpbmVkQ3VzdG9tRWxlbWVudCBleHRlbmRzIEhUTUxFbGVtZW50IHt9CiBjdXN0b21FbGVt
ZW50cy5kZWZpbmUoJ3ByZWRlZmluZWQtY3VzdG9tLWVsZW1lbnQnLCBQcmVkZWZpbmVkQ3VzdG9t
RWxlbWVudCk7CkBAIC0xODUsNiArMTg5LDcwIEBAIGRvY3VtZW50X3R5cGVzKCkuZmlsdGVyKGZ1
bmN0aW9uIChlbnRyeSkgeyByZXR1cm4gIWVudHJ5LmlzT3duZXIgJiYgZW50cnkuaGFzQnJvCiAK
IH0pOwogCit0ZXN0KCgpID0+IHsKKyAgICBjbGFzcyBTaGFkb3dEaXNhYmxlZEVsZW1lbnQgZXh0
ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgICBzdGF0aWMgZ2V0IGRpc2FibGVkRmVhdHVyZXMoKSB7
IHJldHVybiBbJ3NoYWRvdyddOyB9CisgICAgfQorICAgIGxldCBlcnJvciA9IG51bGw7CisgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZSA9PiB7IGVycm9yID0gZS5lcnJvcjsg
fSwge29uY2U6IHRydWV9KTsKKyAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3NoYWRvdy1kaXNhYmxlZCcpOworICAgIGVsZW1lbnQuYXR0YWNoU2hhZG93KHttb2RlOiAn
b3Blbid9KTsKKyAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NoYWRvdy1kaXNhYmxlZCcsIFNo
YWRvd0Rpc2FibGVkRWxlbWVudCk7CisgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShlbGVtZW50
KTsKKyAgICBhc3NlcnRfZmFsc2UoZWxlbWVudCBpbnN0YW5jZW9mIFNoYWRvd0Rpc2FibGVkRWxl
bWVudCwKKyAgICAgICAgICAgICAgICAgJ1VwZ3JhZGluZyBzaG91bGQgZmFpbC4nKTsKKyAgICBh
c3NlcnRfdHJ1ZShlcnJvciBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbik7CisgICAgYXNzZXJ0X2Vx
dWFscyhlcnJvci5uYW1lLCAnTm90U3VwcG9ydGVkRXJyb3InKTsKK30sICdJZiBkZWZpbml0aW9u
XCdzIGRpc2FibGUgc2hhZG93IGlzIHRydWUgYW5kIGVsZW1lbnRcJ3Mgc2hhZG93IHJvb3QgaXMg
JyArCisgICAgJ25vbi1udWxsLCB0aGVuIHRocm93IGEgIk5vdFN1cHBvcnRlZEVycm9yIiBET01F
eGNlcHRpb24uJyk7CisKK3Rlc3QoKCkgPT4geworICAgIHZhciBsb2cgPSBbXTsKKworICAgIGN1
c3RvbUVsZW1lbnRzLmRlZmluZSgnaW5maW5pdGUtY2xvbmluZy1lbGVtZW50LTEnLGNsYXNzIGV4
dGVuZHMgSFRNTEVsZW1lbnQgeworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAg
IHN1cGVyKCk7CisgICAgICAgICAgICBsb2cucHVzaChbdGhpcywgJ2JlZ2luJ10pOworICAgICAg
ICAgICAgLy8gUG90ZW50aWFsIGluZmluaXRlIHJlY3Vyc2lvbjoKKyAgICAgICAgICAgIGN1c3Rv
bUVsZW1lbnRzLnVwZ3JhZGUodGhpcyk7CisgICAgICAgICAgICBsb2cucHVzaChbdGhpcywgJ2Vu
ZCddKTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgYXNzZXJ0X2VxdWFscyhsb2cubGVuZ3Ro
LCAyKTsKKyAgICBjb25zdCBpbnN0YW5jZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImluZmlu
aXRlLWNsb25pbmctZWxlbWVudC0xIik7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dbMF0s
IFtpbnN0YW5jZSwgJ2JlZ2luJ10pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nWzFdLCBb
aW5zdGFuY2UsICdlbmQnXSk7Cit9LCAnSW5maW5pdGUgY29uc3RydWN0b3IgcmVjdXJzaW9uIHdp
dGggdXBncmFkZSh0aGlzKSBzaG91bGQgbm90IGJlIHBvc3NpYmxlJyk7CisKK3Rlc3QoKCkgPT4g
eworICAgIHZhciBsb2cgPSBbXTsKKworICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnaW5maW5p
dGUtY2xvbmluZy1lbGVtZW50LTInLGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgICAg
ICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICBsb2cu
cHVzaChbdGhpcywgJ2JlZ2luJ10pOworICAgICAgICAgICAgY29uc3QgYiA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoIiNiIik7CisgICAgICAgICAgICBiLnJlbW92ZSgpOworICAgICAgICAgICAg
Ly8gV2hpbGUgdGhpcyBjb25zdHJ1Y3RvciBpcyBydW5uaW5nIGZvciAiYSIsICJiIiBpcyBzdGls
bAorICAgICAgICAgICAgLy8gdW5kZWZpbmVkLCBhbmQgc28gaW5zZXJ0aW5nIGl0IGludG8gdGhl
IGRvY3VtZW50IHdpbGwgZW5xdWV1ZSBhCisgICAgICAgICAgICAvLyBzZWNvbmQgdXBncmFkZSBy
ZWFjdGlvbiBmb3IgImIiIGluIGFkZGl0aW9uIHRvIHRoZSBvbmUgZW5xdWV1ZWQKKyAgICAgICAg
ICAgIC8vIGJ5IGRlZmluaW5nIHgtZm9vLgorICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChiKTsKKyAgICAgICAgICAgIGxvZy5wdXNoKFt0aGlzLCAnZW5kJ10pOworICAgICAg
ICB9CisgICAgfSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGxvZy5sZW5ndGgsIDQpOworICAgIGNv
bnN0IGluc3RhbmNlQSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhIik7CisgICAgY29uc3Qg
aW5zdGFuY2VCID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2IiKTsKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGxvZ1swXSwgW2luc3RhbmNlQSwgJ2JlZ2luJ10pOworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMobG9nWzFdLCBbaW5zdGFuY2VCLCAnYmVnaW4nXSk7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhsb2dbMl0sIFtpbnN0YW5jZUIsICdlbmQnXSk7CisgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhsb2dbM10sIFtpbnN0YW5jZUEsICdlbmQnXSk7Cit9LCAnSW5maW5pdGUgY29uc3RydWN0
b3IgcmVjdXJzaW9uIHdpdGggYXBwZW5kQ2hpbGQgc2hvdWxkIG5vdCBiZSBwb3NzaWJsZScpOwor
CisKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy93M2MtaW1wb3J0LmxvZwppbmRleCBkMTRkMTY3NmVkZTlhZGY5Y2YxY2M4ZTU1
YzMyZDMyODIyNWJlN2EzLi5jNmY3MTNjZGJhZjU0ODE1YTQwMDRiM2UxZjVmOGQ0YWVhZDY3MGE1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy93M2MtaW1wb3J0LmxvZwpA
QCAtMTgsNiArMTgsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0RvY3VtZW50LWNyZWF0ZUVsZW1l
bnQtc3ZnLnN2ZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0RvY3VtZW50
LWNyZWF0ZUVsZW1lbnROUy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtYXR0YWNoSW50ZXJuYWxzLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9IVE1MRWxlbWVudC1jb25zdHJ1Y3Rvci5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvTUVUQS55bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9h
ZG9wdGVkLWNhbGxiYWNrLmh0bWwKQEAgLTI2LDEwICsyNywxNSBAQCBMaXN0IG9mIGZpbGVzOgog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2Nvbm5lY3RlZC1jYWxsYmFja3MtaHRtbC1mcmFnbWVudC1wYXJzaW5nLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9j
b25uZWN0ZWQtY2FsbGJhY2tzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWFjdGlvbi1xdWV1
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvY3VzdG9taXplZC1idWlsdC1pbi1jb25zdHJ1Y3Rvci1leGNlcHRpb25zLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9kaXNjb25uZWN0ZWQtY2FsbGJhY2tzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9lbnF1ZXVlLWN1c3RvbS1l
bGVtZW50LWNhbGxiYWNrLXJlYWN0aW9ucy1pbnNpZGUtYW5vdGhlci1jYWxsYmFjay5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvaGlzdG9yaWNhbC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvbWljcm90YXNrcy1hbmQtY29uc3RydWN0b3JzLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9wZXJmb3JtLW1pY3JvdGFzay1jaGVja3BvaW50LWJlZm9yZS1jb25zdHJ1Y3Rpb24uaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3BzZXVkby1jbGFzcy1kZWZpbmVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yYW5nZS1hbmQtY29uc3RydWN0
b3JzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbi10aW1pbmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Rocm93LW9uLWR5bmFtaWMt
bWFya3VwLWluc2VydGlvbi1jb3VudGVyLWNvbnN0cnVjdC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdGhyb3ctb24tZHlu
YW1pYy1tYXJrdXAtaW5zZXJ0aW9uLWNvdW50ZXItcmVhY3Rpb25zLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy91cGdyYWRp
bmcuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403694</attachid>
            <date>2020-07-07 08:59:02 -0700</date>
            <delta_ts>2020-07-07 09:48:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214028-20200707085901.patch</filename>
            <type>text/plain</type>
            <size>316706</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBjNjk4ODcyMWIyNGZkZGE3ZmUzMzc5ZWEyYWFmZjE2YzY4ZmI3MDJhLi4wN2QzMjdhMDg0
ZWJhZDAzM2RhYTc5ZDQ2Y2ZiZDYyMjVjMmFlMzMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNy0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDAyOAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisK
KyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMgZnJvbSB1
cHN0cmVhbSAxNDU4MzljMzIzYmExZWM4Yjk3LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy8qOiBVcGRhdGVkLgorCiAyMDIwLTA3LTA2ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjYjAy
ZWZhMWVjNjYyMjRjZWI3MDkxZmY0MmNjNjYxZjE1OTg4YzI0Li40NDU0ODUwMGQyMmI1NjA4NmE0
YjRjYTU3ZGExMDg5YWJjNDI2M2ZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ4Niw2ICs0ODYs
NyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9w
ZW5lci1wb2xpY3kgWyBTa2lwIF0KIAogIyBOZXdseSBpbXBvcnRlZCBXUFQgdGVzdHMgdGhhdCBh
cmUgY3Jhc2hpbmcuCiBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9lbWJlZGRlZC1jb250ZW50L3ZpZGVvLWNv
bnRyb2xzLXZlcnRpY2FsLXdyaXRpbmctbW9kZS5odG1sIFsgQ3Jhc2ggXQorWyBEZWJ1ZyBdIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3VwZ3JhZGluZy5o
dG1sIFsgQ3Jhc2ggXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1lbWJlZC1lbGVtZW50L2VtYmVkLXJlcHJlc2VudC1u
b3RoaW5nLTA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIENyYXNoIF0KIAogIyBOZXdseSBpbXBv
cnRlZCBXUFQgdGVzdHMgdGhhdCBhcmUgZmxha3kuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9DdXN0b21FbGVt
ZW50UmVnaXN0cnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LWV4cGVj
dGVkLnR4dAppbmRleCAzNWVjNWVlNDFlY2QxMTc5NTk0ZWIxZDdiMGU5MGNmZGY5ZmM2MGNiLi5h
YjVhOTk4ZTg4ZmQ4MjM4YzZmMzYyMmVlNjc1ZDY3NjM4NTJjNmRlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9D
dXN0b21FbGVtZW50UmVnaXN0cnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0N1c3RvbUVsZW1lbnRS
ZWdpc3RyeS1leHBlY3RlZC50eHQKQEAgLTksMjAgKzksMjcgQEAgUEFTUyBjdXN0b21FbGVtZW50
cy5kZWZpbmUgbXVzdCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIHdoZW4gZWxlbWVudCBkZWZp
bml0aW8KIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgY2hlY2sgSXNDb25zdHJ1Y3Rv
ciBvbiB0aGUgY29uc3RydWN0b3IgYmVmb3JlIGNoZWNraW5nIHRoZSBlbGVtZW50IGRlZmluaXRp
b24gaXMgcnVubmluZyBmbGFnIAogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB2YWxp
ZGF0ZSB0aGUgY3VzdG9tIGVsZW1lbnQgbmFtZSBiZWZvcmUgY2hlY2tpbmcgdGhlIGVsZW1lbnQg
ZGVmaW5pdGlvbiBpcyBydW5uaW5nIGZsYWcgCiBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSB1
bnNldCB0aGUgZWxlbWVudCBkZWZpbml0aW9uIGlzIHJ1bm5pbmcgZmxhZyBiZWZvcmUgdXBncmFk
aW5nIGN1c3RvbSBlbGVtZW50cyAKLVBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3Qgbm90
IHRocm93IHdoZW4gZGVmaW5pbmcgYW5vdGhlciBjdXN0b20gZWxlbWVudCBpbiBhIGRpZmZlcmVu
dCBnbG9iYWwgb2JqZWN0IGR1cmluZyBHZXQoY29uc3RydWN0b3IsICJwcm90b3R5cGUiKSAKK0ZB
SUwgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3Qgbm90IHRocm93IHdoZW4gZGVmaW5pbmcgYW5v
dGhlciBjdXN0b20gZWxlbWVudCBpbiBhIGRpZmZlcmVudCBnbG9iYWwgb2JqZWN0IGR1cmluZyBH
ZXQoY29uc3RydWN0b3IsICJwcm90b3R5cGUiKSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBjdXN0b21F
bGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgInByb3RvdHlwZSIsICJkaXNhYmxlZEZlYXR1cmVzIiwg
YW5kICJmb3JtQXNzb2NpYXRlZCIgb24gdGhlIGNvbnN0cnVjdG9yIGxlbmd0aHMgZGlmZmVyLCBl
eHBlY3RlZCBhcnJheSBbInByb3RvdHlwZSIsICJkaXNhYmxlZEZlYXR1cmVzIiwgImZvcm1Bc3Nv
Y2lhdGVkIl0gbGVuZ3RoIDMsIGdvdCBbInByb3RvdHlwZSJdIGxlbmd0aCAxCiBQQVNTIEN1c3Rv
bSBFbGVtZW50czogQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IGludGVyZmFjZSAKLVBBU1MgY3VzdG9t
RWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiIHByb3BlcnR5IG9mIHRoZSBjb25z
dHJ1Y3RvciAKK0ZBSUwgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUi
LCAiZGlzYWJsZWRGZWF0dXJlcyIsIGFuZCAiZm9ybUFzc29jaWF0ZWQiIHByb3BlcnR5IG9mIHRo
ZSBjb25zdHJ1Y3RvciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0
ZWQgYXJyYXkgWyJwcm90b3R5cGUiLCAiZGlzYWJsZWRGZWF0dXJlcyIsICJmb3JtQXNzb2NpYXRl
ZCJdIGxlbmd0aCAzLCBnb3QgWyJwcm90b3R5cGUiXSBsZW5ndGggMQogUEFTUyBjdXN0b21FbGVt
ZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGlu
ZyAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiB0aGUgY29uc3RydWN0b3IgCiBQQVNTIGN1c3RvbUVs
ZW1lbnRzLmRlZmluZSBtdXN0IHRocm93IHdoZW4gInByb3RvdHlwZSIgcHJvcGVydHkgb2YgdGhl
IGNvbnN0cnVjdG9yIGlzIG5vdCBhbiBvYmplY3QgCiBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmlu
ZSBtdXN0IGdldCBjYWxsYmFja3Mgb2YgdGhlIGNvbnN0cnVjdG9yIHByb3RvdHlwZSAKIFBBU1Mg
Y3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdo
aWxlIGdldHRpbmcgY2FsbGJhY2tzIG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgCiBQQVNT
IGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3
aGlsZSBjb252ZXJ0aW5nIGEgY2FsbGJhY2sgdmFsdWUgdG8gRnVuY3Rpb24gY2FsbGJhY2sgdHlw
ZSAKLVBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJvYnNlcnZlZEF0dHJpYnV0
ZXMiIHByb3BlcnR5IG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgd2hlbiAiYXR0cmlidXRl
Q2hhbmdlZENhbGxiYWNrIiBpcyBwcmVzZW50IAorRkFJTCBjdXN0b21FbGVtZW50cy5kZWZpbmUg
bXVzdCBnZXQgIm9ic2VydmVkQXR0cmlidXRlcyIgcHJvcGVydHkgb24gdGhlIGNvbnN0cnVjdG9y
IHByb3RvdHlwZSB3aGVuICJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siIGlzIHByZXNlbnQgYXNz
ZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFswLCAicHJv
dG90eXBlIiwgNSwgIm9ic2VydmVkQXR0cmlidXRlcyIsIDYsICJkaXNhYmxlZEZlYXR1cmVzIiwg
NywgImZvcm1Bc3NvY2lhdGVkIl0gbGVuZ3RoIDgsIGdvdCBbMCwgInByb3RvdHlwZSIsIDUsICJv
YnNlcnZlZEF0dHJpYnV0ZXMiXSBsZW5ndGggNAogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUg
bXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGluZyBvYnNlcnZlZEF0
dHJpYnV0ZXMgb24gdGhlIGNvbnN0cnVjdG9yIHByb3RvdHlwZSAKIFBBU1MgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGNvbnZlcnRp
bmcgdGhlIHZhbHVlIG9mIG9ic2VydmVkQXR0cmlidXRlcyB0byBzZXF1ZW5jZTxET01TdHJpbmc+
IAogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0
aHJvd24gd2hpbGUgaXRlcmF0aW5nIG92ZXIgb2JzZXJ2ZWRBdHRyaWJ1dGVzIHRvIHNlcXVlbmNl
PERPTVN0cmluZz4gCiBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4g
ZXhjZXB0aW9uIHRocm93biB3aGlsZSByZXRyaWV2aW5nIFN5bWJvbC5pdGVyYXRvciBvbiBvYnNl
cnZlZEF0dHJpYnV0ZXMgCiBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IG5vdCB0aHJv
dyBldmVuIGlmICJvYnNlcnZlZEF0dHJpYnV0ZXMiIGZhaWxzIHRvIGNvbnZlcnQgaWYgImF0dHJp
YnV0ZUNoYW5nZWRDYWxsYmFjayIgaXMgbm90IGRlZmluZWQgCitGQUlMIGN1c3RvbUVsZW1lbnRz
LmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBnZXR0aW5nIGRp
c2FibGVkRmVhdHVyZXMgb24gdGhlIGNvbnN0cnVjdG9yIHByb3RvdHlwZSBhc3NlcnRfdGhyb3dz
X2V4YWN0bHk6IGZ1bmN0aW9uICIoKSA9PiBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQt
d2l0aC10aHJvd2luZy1kaXNhYmxlZC1mZWF0dXJlcycsIHByb3h5KSIgZGlkIG5vdCB0aHJvdwor
RkFJTCBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJv
d24gd2hpbGUgY29udmVydGluZyB0aGUgdmFsdWUgb2YgZGlzYWJsZWRGZWF0dXJlcyB0byBzZXF1
ZW5jZTxET01TdHJpbmc+IGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICIoKSA9PiBjdXN0b21F
bGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1pbnZhbGlkLWRpc2FibGVkLWZlYXR1cmVzJywg
cHJveHkpIiBkaWQgbm90IHRocm93CitGQUlMIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJl
dGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBpdGVyYXRpbmcgb3ZlciBkaXNhYmxlZEZl
YXR1cmVzIHRvIHNlcXVlbmNlPERPTVN0cmluZz4gYXNzZXJ0X3Rocm93c19leGFjdGx5OiBmdW5j
dGlvbiAiKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtZ2VuZXJhdG9y
LWRpc2FibGVkLWZlYXR1cmVzJywgY29uc3RydWN0b3IpIiBkaWQgbm90IHRocm93CitGQUlMIGN1
c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGls
ZSByZXRyaWV2aW5nIFN5bWJvbC5pdGVyYXRvciBvbiBkaXNhYmxlZEZlYXR1cmVzIGFzc2VydF90
aHJvd3NfanM6IGZ1bmN0aW9uICIoKSA9PiBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQt
d2l0aC1kaXNhYmxlZC1mZWF0dXJlcy13aXRoLXVuY2FsbGFibGUtaXRlcmF0b3InLCBjb25zdHJ1
Y3RvcikiIGRpZCBub3QgdGhyb3cKK0ZBSUwgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgcmV0
aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGdldHRpbmcgZm9ybUFzc29jaWF0ZWQgb24g
dGhlIGNvbnN0cnVjdG9yIHByb3RvdHlwZSBhc3NlcnRfdGhyb3dzX2V4YWN0bHk6IGZ1bmN0aW9u
ICIoKSA9PiBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC10aHJvd2luZy1mb3Jt
LWFzc29jaWF0ZWQnLCBwcm94eSkiIGRpZCBub3QgdGhyb3cKK0ZBSUwgY3VzdG9tRWxlbWVudHMu
ZGVmaW5lIG11c3QgZ2V0IGZvdXIgYWRkaXRpb25hbCBjYWxsYmFja3Mgb24gdGhlIHByb3RvdHlw
ZSBpZiBmb3JtQXNzb2NpYXRlZCBpcyBjb252ZXJ0ZWQgdG8gdHJ1ZSBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgInByb3RvdHlwZSIsICJkaXNhYmxl
ZEZlYXR1cmVzIiwgYW5kICJmb3JtQXNzb2NpYXRlZCIgb24gdGhlIGNvbnN0cnVjdG9yIGxlbmd0
aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbInByb3RvdHlwZSIsICJkaXNhYmxlZEZlYXR1cmVz
IiwgImZvcm1Bc3NvY2lhdGVkIl0gbGVuZ3RoIDMsIGdvdCBbInByb3RvdHlwZSJdIGxlbmd0aCAx
CitGQUlMIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRo
cm93biB3aGlsZSBnZXR0aW5nIGFkZGl0aW9uYWwgZm9ybUFzc29jaWF0ZWQgY2FsbGJhY2tzIG9u
IHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgYXNzZXJ0X3Rocm93c19leGFjdGx5OiBmdW5jdGlv
biAiKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtdGhyb3dpbmctY2Fs
bGJhY2stMicsIHByb3h5KSIgZGlkIG5vdCB0aHJvdwogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZp
bmUgbXVzdCBkZWZpbmUgYW4gaW5zdGFudGlhdGFibGUgY3VzdG9tIGVsZW1lbnQgCiBQQVNTIGN1
c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHVwZ3JhZGUgZWxlbWVudHMgaW4gdGhlIHNoYWRvdy1p
bmNsdWRpbmcgdHJlZSBvcmRlciAKIFBBU1MgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IGludGVyZmFj
ZSBtdXN0IGhhdmUgZ2V0IGFzIGEgbWV0aG9kIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvQ3VzdG9tRWxlbWVu
dFJlZ2lzdHJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9DdXN0b21FbGVtZW50UmVnaXN0cnkuaHRtbAppbmRleCBlY2M3
ODEwZThkZjhhY2ZiMjUxY2Y5M2JkOTkyYTNlMTI2NmQ1MWRkLi5jYzgxZTNhMmNkMzk0NWNlYWM0
ZmY0NjFiMTQ5MDNjMzkwMWIxYmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9DdXN0b21FbGVtZW50UmVnaXN0
cnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9DdXN0b21FbGVtZW50UmVnaXN0cnkuaHRtbApAQCAtMTcsMTMgKzE3
LDEzIEBAIHRlc3QoZnVuY3Rpb24gKCkgewogfSwgJ0N1c3RvbUVsZW1lbnRSZWdpc3RyeSBpbnRl
cmZhY2UgbXVzdCBoYXZlIGRlZmluZSBhcyBhIG1ldGhvZCcpOwogCiB0ZXN0KGZ1bmN0aW9uICgp
IHsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24gKCkg
eyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2JhZG5hbWUnLCAxKTsgfSwKKyAgICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2Jh
ZG5hbWUnLCAxKTsgfSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93
IGEgVHlwZUVycm9yIHdoZW4gdGhlIGVsZW1lbnQgaW50ZXJmYWNlIGlzIGEgbnVtYmVyJyk7Ci0g
ICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3Vz
dG9tRWxlbWVudHMuZGVmaW5lKCdiYWRuYW1lJywgJzEyMycpOyB9LAorICAgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnYmFk
bmFtZScsICcxMjMnKTsgfSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRo
cm93IGEgVHlwZUVycm9yIHdoZW4gdGhlIGVsZW1lbnQgaW50ZXJmYWNlIGlzIGEgc3RyaW5nJyk7
Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9uICgpIHsg
Y3VzdG9tRWxlbWVudHMuZGVmaW5lKCdiYWRuYW1lJywge30pOyB9LAorICAgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnYmFk
bmFtZScsIHt9KTsgfSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93
IGEgVHlwZUVycm9yIHdoZW4gdGhlIGVsZW1lbnQgaW50ZXJmYWNlIGlzIGFuIG9iamVjdCcpOwot
ICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9LCBmdW5jdGlvbiAoKSB7IGN1
c3RvbUVsZW1lbnRzLmRlZmluZSgnYmFkbmFtZScsIFtdKTsgfSwKKyAgICBhc3NlcnRfdGhyb3dz
X2pzKFR5cGVFcnJvciwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2JhZG5h
bWUnLCBbXSk7IH0sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyBh
IFR5cGVFcnJvciB3aGVuIHRoZSBlbGVtZW50IGludGVyZmFjZSBpcyBhbiBhcnJheScpOwogfSwg
J2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93IHdoZW4gdGhlIGVsZW1lbnQgaW50ZXJm
YWNlIGlzIG5vdCBhIGNvbnN0cnVjdG9yJyk7CiAKQEAgLTM0LDEzICszNCwxMyBAQCB0ZXN0KGZ1
bmN0aW9uICgpIHsKIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIGNsYXNzIE15Q3VzdG9tRWxlbWVu
dCBleHRlbmRzIEhUTUxFbGVtZW50IHt9OwogCi0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAn
U3ludGF4RXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUobnVsbCwg
TXlDdXN0b21FbGVtZW50KTsgfSwKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnU3ludGF4RXJyb3In
LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZShudWxsLCBNeUN1c3RvbUVsZW1l
bnQpOyB9LAogICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgdGhyb3cgYSBTeW50
YXhFcnJvciBpZiB0aGUgdGFnIG5hbWUgaXMgbnVsbCcpOwotICAgIGFzc2VydF90aHJvd3Moeydu
YW1lJzogJ1N5bnRheEVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCcnLCBNeUN1c3RvbUVsZW1lbnQpOyB9LAorICAgIGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhF
cnJvcicsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCcnLCBNeUN1c3RvbUVs
ZW1lbnQpOyB9LAogICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgdGhyb3cgYSBT
eW50YXhFcnJvciBpZiB0aGUgdGFnIG5hbWUgaXMgZW1wdHknKTsKLSAgICBhc3NlcnRfdGhyb3dz
KHsnbmFtZSc6ICdTeW50YXhFcnJvcid9LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgnYWJjJywgTXlDdXN0b21FbGVtZW50KTsgfSwKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgn
U3ludGF4RXJyb3InLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnYWJjJywg
TXlDdXN0b21FbGVtZW50KTsgfSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0
IHRocm93IGEgU3ludGF4RXJyb3IgaWYgdGhlIHRhZyBuYW1lIGRvZXMgbm90IGNvbnRhaW4gIi0i
Jyk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnU3ludGF4RXJyb3InfSwgZnVuY3Rpb24g
KCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2EtQmMnLCBNeUN1c3RvbUVsZW1lbnQpOyB9LAor
ICAgIGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcicsIGZ1bmN0aW9uICgpIHsgY3VzdG9t
RWxlbWVudHMuZGVmaW5lKCdhLUJjJywgTXlDdXN0b21FbGVtZW50KTsgfSwKICAgICAgICAgJ2N1
c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93IGEgU3ludGF4RXJyb3IgaWYgdGhlIHRhZyBu
YW1lIGNvbnRhaW5zIGFuIHVwcGVyIGNhc2UgbGV0dGVyJyk7CiAKICAgICB2YXIgYnVpbHRpblRh
Z05hbWVzID0gWwpAQCAtNTUsNyArNTUsNyBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICBdOwog
CiAgICAgZm9yICh2YXIgdGFnTmFtZSBvZiBidWlsdGluVGFnTmFtZXMpIHsKLSAgICAgICAgYXNz
ZXJ0X3Rocm93cyh7J25hbWUnOiAnU3ludGF4RXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21F
bGVtZW50cy5kZWZpbmUodGFnTmFtZSwgTXlDdXN0b21FbGVtZW50KTsgfSwKKyAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oJ1N5bnRheEVycm9yJywgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50
cy5kZWZpbmUodGFnTmFtZSwgTXlDdXN0b21FbGVtZW50KTsgfSwKICAgICAgICAgICAgICdjdXN0
b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyBhIFN5bnRheEVycm9yIGlmIHRoZSB0YWcgbmFt
ZSBpcyAiJyArIHRhZ05hbWUgKyAnIicpOwogICAgIH0KIApAQCAtNzMsNyArNzMsNyBAQCB0ZXN0
KGZ1bmN0aW9uICgpIHsKICAgICB9KQogCiAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdzb21l
LWN1c3RvbS1lbGVtZW50JywgU29tZUN1c3RvbUVsZW1lbnQpOwotICAgIGFzc2VydF90aHJvd3Mo
eyduYW1lJzogJ05vdFN1cHBvcnRlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCdzb21lLWN1c3RvbS1lbGVtZW50JywgT3RoZXJDdXN0b21FbGVtZW50KTsgfSwK
KyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCBmdW5jdGlvbiAoKSB7
IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnc29tZS1jdXN0b20tZWxlbWVudCcsIE90aGVyQ3VzdG9t
RWxlbWVudCk7IH0sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyBh
IE5vdFN1cHBvcnRlZEVycm9yIGlmIHRoZSBzcGVjaWZpZWQgdGFnIG5hbWUgaXMgYWxyZWFkeSB1
c2VkJyk7CiAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjYWxscywgW10sICdjdXN0b21FbGVtZW50
cy5kZWZpbmUgbXVzdCB2YWxpZGF0ZSB0aGUgY3VzdG9tIGVsZW1lbnQgbmFtZSBiZWZvcmUgZ2V0
dGluZyB0aGUgcHJvdG90eXBlIG9mIHRoZSBjb25zdHJ1Y3RvcicpOwogCkBAIC04Myw3ICs4Myw3
IEBAIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIGNsYXNzIEFub3RoZXJDdXN0b21FbGVtZW50IGV4
dGVuZHMgSFRNTEVsZW1lbnQge307CiAKICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2Fub3Ro
ZXItY3VzdG9tLWVsZW1lbnQnLCBBbm90aGVyQ3VzdG9tRWxlbWVudCk7Ci0gICAgYXNzZXJ0X3Ro
cm93cyh7J25hbWUnOiAnTm90U3VwcG9ydGVkRXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21F
bGVtZW50cy5kZWZpbmUoJ3NvbWUtb3RoZXItZWxlbWVudCcsIEFub3RoZXJDdXN0b21FbGVtZW50
KTsgfSwKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCBmdW5jdGlv
biAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnc29tZS1vdGhlci1lbGVtZW50JywgQW5vdGhl
ckN1c3RvbUVsZW1lbnQpOyB9LAogICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3Qg
dGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBpZiB0aGUgc3BlY2lmaWVkIGNsYXNzIGFscmVhZHkg
ZGVmaW5lcyBhbiBlbGVtZW50Jyk7CiAKIH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0
aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIHdoZW4gdGhlcmUgaXMgYWxyZWFkeSBhIGN1c3RvbSBl
bGVtZW50IHdpdGggdGhlIHNhbWUgY2xhc3MnKTsKQEAgLTEwNSw3ICsxMDUsNyBAQCB0ZXN0KGZ1
bmN0aW9uICgpIHsKICAgICAgICAgfQogICAgIH0pOwogCi0gICAgYXNzZXJ0X3Rocm93cyh7J25h
bWUnOiAnTm90U3VwcG9ydGVkRXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5k
ZWZpbmUoJ291dGVyLWN1c3RvbS1lbGVtZW50JywgT3V0ZXJDdXN0b21FbGVtZW50KTsgfSwKKyAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCBmdW5jdGlvbiAoKSB7IGN1
c3RvbUVsZW1lbnRzLmRlZmluZSgnb3V0ZXItY3VzdG9tLWVsZW1lbnQnLCBPdXRlckN1c3RvbUVs
ZW1lbnQpOyB9LAogICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgdGhyb3cgYSBO
b3RTdXBwb3J0ZWRFcnJvciBpZiB0aGUgc3BlY2lmaWVkIGNsYXNzIGFscmVhZHkgZGVmaW5lcyBh
biBlbGVtZW50Jyk7CiAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhvdXRlckNhbGxzLCBbJ3Byb3Rv
dHlwZSddLCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiJyk7CiAg
ICAgYXNzZXJ0X2FycmF5X2VxdWFscyhpbm5lckNhbGxzLCBbXSwKQEAgLTEyNCw3ICsxMjQsNyBA
QCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgfQogICAgIH0pOwogCi0gICAgYXNzZXJ0X3Ro
cm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9uICgpIHsKKyAgICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24gKCkgewogICAgICAgICBjdXN0b21FbGVtZW50cy5k
ZWZpbmUoJ2VsZW1lbnQtd2l0aC1iYWQtaW5uZXItY29uc3RydWN0b3InLCBFbGVtZW50V2l0aEJh
ZElubmVyQ29uc3RydWN0b3IpOwogICAgIH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0
aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGlmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlJyk7CiAKQEAgLTE0MSw3ICsxNDEsNyBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICAg
ICAgfQogICAgIH0pOwogCi0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnU3ludGF4RXJyb3In
fSwgZnVuY3Rpb24gKCkgeworICAgIGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcicsIGZ1
bmN0aW9uICgpIHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgt
YmFkLWlubmVyLW5hbWUnLCBFbGVtZW50V2l0aEJhZElubmVyTmFtZSk7CiAgICAgfSwgJ2N1c3Rv
bUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93IGEgU3ludGF4RXJyb3IgaWYgdGhlIHNwZWNpZmll
ZCBuYW1lIGlzIG5vdCBhIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5hbWUnKTsKIApAQCAtMTc1LDcg
KzE3NSw3IEBAIHRlc3QoZnVuY3Rpb24gKCkgewogCiAoZnVuY3Rpb24gKCkgewogICAgIHZhciB0
ZXN0Q2FzZSA9IGFzeW5jX3Rlc3QoJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IG5vdCB0aHJv
dycKLSAgICAgICAgKycgd2hlbiBkZWZpbmluZyBhbm90aGVyIGN1c3RvbSBlbGVtZW50IGluIGEg
ZGlmZmVyZW50IGdsb2JhbCBvYmplY3QgZHVyaW5nIEdldChjb25zdHJ1Y3RvciwgInByb3RvdHlw
ZSIpJywge3RpbWVvdXQ6IDEwMH0pOworICAgICAgICArJyB3aGVuIGRlZmluaW5nIGFub3RoZXIg
Y3VzdG9tIGVsZW1lbnQgaW4gYSBkaWZmZXJlbnQgZ2xvYmFsIG9iamVjdCBkdXJpbmcgR2V0KGNv
bnN0cnVjdG9yLCAicHJvdG90eXBlIiknKTsKIAogICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKICAgICBpZnJhbWUub25sb2FkID0gZnVuY3Rpb24gKCkg
ewpAQCAtMTg1LDEyICsxODUsMTUgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICB2
YXIgcHJveHkgPSBuZXcgUHJveHkoY2xhc3MgZXh0ZW5kcyBIVE1MRWxlbWVudCB7IH0sIHsKICAg
ICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKICAgICAgICAgICAg
ICAgICAgICAgY2FsbHMucHVzaChuYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgaWZyYW1lLmNv
bnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdhbm90aGVyLWN1c3RvbS1lbGVtZW50
JywgSW5uZXJDdXN0b21FbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUgPT09
ICJwcm90b3R5cGUiKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWUuY29udGVudFdp
bmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2Fub3RoZXItY3VzdG9tLWVsZW1lbnQnLCBJbm5l
ckN1c3RvbUVsZW1lbnQpOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiB0YXJnZXRbbmFtZV07CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fSkKICAgICAgICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLWlubmVy
LWVsZW1lbnQtZGVmaW5lJywgcHJveHkpOwotICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhjYWxscywgWydwcm90b3R5cGUnXSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAi
cHJvdG90eXBlIicpOworICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjYWxscywgWydw
cm90b3R5cGUnLCAnZGlzYWJsZWRGZWF0dXJlcycsICdmb3JtQXNzb2NpYXRlZCddLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0
ICJwcm90b3R5cGUiLCAiZGlzYWJsZWRGZWF0dXJlcyIsIGFuZCAiZm9ybUFzc29jaWF0ZWQiIG9u
IHRoZSBjb25zdHJ1Y3RvcicpOwogICAgICAgICAgICAgYXNzZXJ0X3RydWUoaWZyYW1lLmNvbnRl
bnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhbm90aGVyLWN1c3RvbS1lbGVtZW50JykgaW5zdGFu
Y2VvZiBJbm5lckN1c3RvbUVsZW1lbnQpOwogICAgICAgICB9KTsKICAgICAgICAgZG9jdW1lbnQu
Ym9keS5yZW1vdmVDaGlsZChpZnJhbWUpOwpAQCAtMjEwLDcgKzIxMyw3IEBAIHRlc3QoZnVuY3Rp
b24gKCkgewogICAgICAgICB9CiAgICAgfSk7CiAKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6
ICdTeW50YXhFcnJvcid9LCBmdW5jdGlvbiAoKSB7CisgICAgYXNzZXJ0X3Rocm93c19kb20oJ1N5
bnRheEVycm9yJywgZnVuY3Rpb24gKCkgewogICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUo
J2VsZW1lbnQtd2l0aC1iYWQtaW5uZXItbmFtZScsIEVsZW1lbnRXaXRoQmFkSW5uZXJOYW1lKTsK
ICAgICB9LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgdGhyb3cgYSBTeW50YXhFcnJvciBp
ZiB0aGUgc3BlY2lmaWVkIG5hbWUgaXMgbm90IGEgdmFsaWQgY3VzdG9tIGVsZW1lbnQgbmFtZScp
OwogCkBAIC0yMjYsMTYgKzIyOSwxNyBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgfQog
ICAgIH0pOwogICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgncHJveHktZWxlbWVudCcsIHByb3h5
KTsKLSAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxzLCBbJ3Byb3RvdHlwZSddKTsKLX0sICdj
dXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgInByb3RvdHlwZSIgcHJvcGVydHkgb2YgdGhl
IGNvbnN0cnVjdG9yJyk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjYWxscywgWydwcm90b3R5
cGUnLCAnZGlzYWJsZWRGZWF0dXJlcycsICdmb3JtQXNzb2NpYXRlZCddKTsKK30sICdjdXN0b21F
bGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgInByb3RvdHlwZSIsICJkaXNhYmxlZEZlYXR1cmVzIiwg
YW5kICJmb3JtQXNzb2NpYXRlZCIgcHJvcGVydHkgb2YgdGhlIGNvbnN0cnVjdG9yJyk7CiAKIHRl
c3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBlcnIgPSB7bmFtZTogJ2V4cGVjdGVkRXJyb3InfQog
ICAgIHZhciBwcm94eSA9IG5ldyBQcm94eShjbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50IHsgfSwg
ewogICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKLSAgICAgICAgICAgIHRo
cm93IHtuYW1lOiAnZXhwZWN0ZWRFcnJvcid9OworICAgICAgICAgICAgdGhyb3cgZXJyOwogICAg
ICAgICB9CiAgICAgfSk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnZXhwZWN0ZWRFcnJv
cid9LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLXN0
cmluZy1wcm90b3R5cGUnLCBwcm94eSk7IH0pOworICAgIGFzc2VydF90aHJvd3NfZXhhY3RseShl
cnIsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtc3Ry
aW5nLXByb3RvdHlwZScsIHByb3h5KTsgfSk7CiB9LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11
c3QgcmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGdldHRpbmcgInByb3RvdHlwZSIg
cHJvcGVydHkgb2YgdGhlIGNvbnN0cnVjdG9yJyk7CiAKIHRlc3QoZnVuY3Rpb24gKCkgewpAQCAt
MjQ1LDE2ICsyNDksMTYgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgfSk7CiAKICAgICByZXR1
cm5lZFZhbHVlID0gbnVsbDsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3In
fSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1zdHJp
bmctcHJvdG90eXBlJywgcHJveHkpOyB9LAorICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9y
LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLXN0cmlu
Zy1wcm90b3R5cGUnLCBwcm94eSk7IH0sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUg
bXVzdCB0aHJvdyB3aGVuICJwcm90b3R5cGUiIHByb3BlcnR5IG9mIHRoZSBjb25zdHJ1Y3RvciBp
cyBudWxsJyk7CiAgICAgcmV0dXJuZWRWYWx1ZSA9IHVuZGVmaW5lZDsKLSAgICBhc3NlcnRfdGhy
b3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5k
ZWZpbmUoJ2VsZW1lbnQtd2l0aC1zdHJpbmctcHJvdG90eXBlJywgcHJveHkpOyB9LAorICAgIGFz
c2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgnZWxlbWVudC13aXRoLXN0cmluZy1wcm90b3R5cGUnLCBwcm94eSk7IH0sCiAgICAgICAg
ICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyB3aGVuICJwcm90b3R5cGUiIHByb3Bl
cnR5IG9mIHRoZSBjb25zdHJ1Y3RvciBpcyB1bmRlZmluZWQnKTsKICAgICByZXR1cm5lZFZhbHVl
ID0gJ2hlbGxvJzsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwgZnVu
Y3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1zdHJpbmctcHJv
dG90eXBlJywgcHJveHkpOyB9LAorICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5j
dGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLXN0cmluZy1wcm90
b3R5cGUnLCBwcm94eSk7IH0sCiAgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0
aHJvdyB3aGVuICJwcm90b3R5cGUiIHByb3BlcnR5IG9mIHRoZSBjb25zdHJ1Y3RvciBpcyBhIHN0
cmluZycpOwogICAgIHJldHVybmVkVmFsdWUgPSAxOwotICAgIGFzc2VydF90aHJvd3MoeyduYW1l
JzogJ1R5cGVFcnJvcid9LCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxl
bWVudC13aXRoLXN0cmluZy1wcm90b3R5cGUnLCBwcm94eSk7IH0sCisgICAgYXNzZXJ0X3Rocm93
c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVt
ZW50LXdpdGgtc3RyaW5nLXByb3RvdHlwZScsIHByb3h5KTsgfSwKICAgICAgICAgJ2N1c3RvbUVs
ZW1lbnRzLmRlZmluZSBtdXN0IHRocm93IHdoZW4gInByb3RvdHlwZSIgcHJvcGVydHkgb2YgdGhl
IGNvbnN0cnVjdG9yIGlzIGEgbnVtYmVyJyk7CiAKIH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUg
bXVzdCB0aHJvdyB3aGVuICJwcm90b3R5cGUiIHByb3BlcnR5IG9mIHRoZSBjb25zdHJ1Y3RvciBp
cyBub3QgYW4gb2JqZWN0Jyk7CkBAIC0yNzUsMTUgKzI3OSwxNiBAQCB0ZXN0KGZ1bmN0aW9uICgp
IHsKIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIHZhciBjb25zdHJ1Y3RvciA9IGZ1bmN0aW9uICgp
IHt9CiAgICAgdmFyIGNhbGxzID0gW107CisgICAgdmFyIGVyciA9IHtuYW1lOiAnZXhwZWN0ZWRF
cnJvcid9CiAgICAgY29uc3RydWN0b3IucHJvdG90eXBlID0gbmV3IFByb3h5KGNvbnN0cnVjdG9y
LnByb3RvdHlwZSwgewogICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKICAg
ICAgICAgICAgIGNhbGxzLnB1c2gobmFtZSk7CiAgICAgICAgICAgICBpZiAobmFtZSA9PSAnZGlz
Y29ubmVjdGVkQ2FsbGJhY2snKQotICAgICAgICAgICAgICAgIHRocm93IHtuYW1lOiAnZXhwZWN0
ZWRFcnJvcid9OworICAgICAgICAgICAgICAgIHRocm93IGVycjsKICAgICAgICAgICAgIHJldHVy
biB0YXJnZXRbbmFtZV07CiAgICAgICAgIH0KICAgICB9KTsKLSAgICBhc3NlcnRfdGhyb3dzKHsn
bmFtZSc6ICdleHBlY3RlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVm
aW5lKCdlbGVtZW50LXdpdGgtdGhyb3dpbmctY2FsbGJhY2snLCBjb25zdHJ1Y3Rvcik7IH0pOwor
ICAgIGFzc2VydF90aHJvd3NfZXhhY3RseShlcnIsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtdGhyb3dpbmctY2FsbGJhY2snLCBjb25zdHJ1Y3Rvcik7
IH0pOwogICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbHMsIFsnY29ubmVjdGVkQ2FsbGJhY2sn
LCAnZGlzY29ubmVjdGVkQ2FsbGJhY2snXSwKICAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmlu
ZSBtdXN0IG5vdCBnZXQgY2FsbGJhY2tzIGFmdGVyIG9uZSBvZiB0aGUgZ2V0IHRocm93cycpOwog
fSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93
biB3aGlsZSBnZXR0aW5nIGNhbGxiYWNrcyBvbiB0aGUgY29uc3RydWN0b3IgcHJvdG90eXBlJyk7
CkBAIC0yOTksNyArMzA0LDcgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICByZXR1
cm4gdGFyZ2V0W25hbWVdOwogICAgICAgICB9CiAgICAgfSk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7
J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCdlbGVtZW50LXdpdGgtdGhyb3dpbmctY2FsbGJhY2snLCBjb25zdHJ1Y3Rvcik7IH0pOworICAg
IGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbiAoKSB7IGN1c3RvbUVsZW1lbnRz
LmRlZmluZSgnZWxlbWVudC13aXRoLXRocm93aW5nLWNhbGxiYWNrJywgY29uc3RydWN0b3IpOyB9
KTsKICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxzLCBbJ2Nvbm5lY3RlZENhbGxiYWNrJywg
J2Rpc2Nvbm5lY3RlZENhbGxiYWNrJywgJ2Fkb3B0ZWRDYWxsYmFjayddLAogICAgICAgICAnY3Vz
dG9tRWxlbWVudHMuZGVmaW5lIG11c3Qgbm90IGdldCBjYWxsYmFja3MgYWZ0ZXIgb25lIG9mIHRo
ZSBjb252ZXJzaW9uIHRocm93cycpOwogfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJl
dGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBjb252ZXJ0aW5nIGEgY2FsbGJhY2sgdmFs
dWUgdG8gRnVuY3Rpb24gY2FsbGJhY2sgdHlwZScpOwpAQCAtMzEzLDcgKzMxOCw3IEBAIHRlc3Qo
ZnVuY3Rpb24gKCkgewogICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKICAg
ICAgICAgICAgIGlmIChuYW1lID09ICdwcm90b3R5cGUnIHx8IG5hbWUgPT0gJ29ic2VydmVkQXR0
cmlidXRlcycpCiAgICAgICAgICAgICAgICAgdGhyb3cgJ1VuZXhwZWN0ZWQgYWNjZXNzIHRvIG9i
c2VydmVkQXR0cmlidXRlcyc7Ci0gICAgICAgICAgICBwcm90b3R5cGVDYWxscy5wdXNoKGNhbGxP
cmRlcisrKTsgICAgCisgICAgICAgICAgICBwcm90b3R5cGVDYWxscy5wdXNoKGNhbGxPcmRlcisr
KTsKICAgICAgICAgICAgIHByb3RvdHlwZUNhbGxzLnB1c2gobmFtZSk7CiAgICAgICAgICAgICBy
ZXR1cm4gdGFyZ2V0W25hbWVdOwogICAgICAgICB9CkBAIC0zMjEsMjkgKzMyNiwzMyBAQCB0ZXN0
KGZ1bmN0aW9uICgpIHsKICAgICB2YXIgY29uc3RydWN0b3JDYWxscyA9IFtdOwogICAgIHZhciBw
cm94eSA9IG5ldyBQcm94eShjb25zdHJ1Y3RvciwgewogICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0
YXJnZXQsIG5hbWUpIHsKLSAgICAgICAgICAgIGNvbnN0cnVjdG9yQ2FsbHMucHVzaChjYWxsT3Jk
ZXIrKyk7ICAgIAorICAgICAgICAgICAgY29uc3RydWN0b3JDYWxscy5wdXNoKGNhbGxPcmRlcisr
KTsKICAgICAgICAgICAgIGNvbnN0cnVjdG9yQ2FsbHMucHVzaChuYW1lKTsKICAgICAgICAgICAg
IHJldHVybiB0YXJnZXRbbmFtZV07CiAgICAgICAgIH0KICAgICB9KTsKICAgICBjdXN0b21FbGVt
ZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1hdHRyaWJ1dGUtY2hhbmdlZC1jYWxsYmFjaycsIHBy
b3h5KTsKICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHByb3RvdHlwZUNhbGxzLCBbMSwgJ2Nvbm5l
Y3RlZENhbGxiYWNrJywgMiwgJ2Rpc2Nvbm5lY3RlZENhbGxiYWNrJywgMywgJ2Fkb3B0ZWRDYWxs
YmFjaycsIDQsICdhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2snXSk7Ci0gICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhjb25zdHJ1Y3RvckNhbGxzLCBbMCwgJ3Byb3RvdHlwZScsIDUsICdvYnNlcnZlZEF0
dHJpYnV0ZXMnXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjb25zdHJ1Y3RvckNhbGxzLCBb
MCwgJ3Byb3RvdHlwZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgNSwgJ29ic2VydmVkQXR0cmlidXRlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNiwgJ2Rpc2FibGVkRmVhdHVyZXMnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDcsICdmb3JtQXNzb2NpYXRlZCddKTsKIH0sICdjdXN0
b21FbGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgIm9ic2VydmVkQXR0cmlidXRlcyIgcHJvcGVydHkg
b24gdGhlIGNvbnN0cnVjdG9yIHByb3RvdHlwZSB3aGVuICJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJh
Y2siIGlzIHByZXNlbnQnKTsKIAogdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgdmFyIGNvbnN0cnVj
dG9yID0gZnVuY3Rpb24gKCkge30KICAgICBjb25zdHJ1Y3Rvci5wcm90b3R5cGUuYXR0cmlidXRl
Q2hhbmdlZENhbGxiYWNrID0gZnVuY3Rpb24gKCkgeyB9OwogICAgIHZhciBjYWxscyA9IFtdOwor
ICAgIHZhciBlcnIgPSB7bmFtZTogJ2V4cGVjdGVkRXJyb3InfTsKICAgICB2YXIgcHJveHkgPSBu
ZXcgUHJveHkoY29uc3RydWN0b3IsIHsKICAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBu
YW1lKSB7CiAgICAgICAgICAgICBjYWxscy5wdXNoKG5hbWUpOwogICAgICAgICAgICAgaWYgKG5h
bWUgPT0gJ29ic2VydmVkQXR0cmlidXRlcycpCi0gICAgICAgICAgICAgICAgdGhyb3cge25hbWU6
ICdleHBlY3RlZEVycm9yJ307CisgICAgICAgICAgICAgICAgdGhyb3cgZXJyOwogICAgICAgICAg
ICAgcmV0dXJuIHRhcmdldFtuYW1lXTsKICAgICAgICAgfQogICAgIH0pOwotICAgIGFzc2VydF90
aHJvd3MoeyduYW1lJzogJ2V4cGVjdGVkRXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVt
ZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC10aHJvd2luZy1vYnNlcnZlZC1hdHRyaWJ1dGVzJywg
cHJveHkpOyB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJyLCBmdW5jdGlvbiAoKSB7
IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLXRocm93aW5nLW9ic2VydmVkLWF0
dHJpYnV0ZXMnLCBwcm94eSk7IH0pOwogICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbHMsIFsn
cHJvdG90eXBlJywgJ29ic2VydmVkQXR0cmlidXRlcyddLAogICAgICAgICAnY3VzdG9tRWxlbWVu
dHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiIGFuZCAib2JzZXJ2ZWRBdHRyaWJ1dGVzIiBv
biB0aGUgY29uc3RydWN0b3InKTsKIH0sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRo
cm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGluZyBvYnNlcnZlZEF0dHJpYnV0ZXMg
b24gdGhlIGNvbnN0cnVjdG9yIHByb3RvdHlwZScpOwpAQCAtMzYwLDI2ICszNjksMjcgQEAgdGVz
dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0W25hbWVdOwogICAgICAg
ICB9CiAgICAgfSk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sIGZ1
bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtaW52YWxpZC1v
YnNlcnZlZC1hdHRyaWJ1dGVzJywgcHJveHkpOyB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5
cGVFcnJvciwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0
aC1pbnZhbGlkLW9ic2VydmVkLWF0dHJpYnV0ZXMnLCBwcm94eSk7IH0pOwogICAgIGFzc2VydF9h
cnJheV9lcXVhbHMoY2FsbHMsIFsncHJvdG90eXBlJywgJ29ic2VydmVkQXR0cmlidXRlcyddLAog
ICAgICAgICAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiIGFuZCAi
b2JzZXJ2ZWRBdHRyaWJ1dGVzIiBvbiB0aGUgY29uc3RydWN0b3InKTsKIH0sICdjdXN0b21FbGVt
ZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgY29udmVy
dGluZyB0aGUgdmFsdWUgb2Ygb2JzZXJ2ZWRBdHRyaWJ1dGVzIHRvIHNlcXVlbmNlPERPTVN0cmlu
Zz4nKTsKIAotdGVzdChmdW5jdGlvbiAoKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIHZh
ciBlcnIgPSB7bmFtZTogJ1NvbWVFcnJvcid9OwogICAgIHZhciBjb25zdHJ1Y3RvciA9IGZ1bmN0
aW9uICgpIHt9CiAgICAgY29uc3RydWN0b3IucHJvdG90eXBlLmF0dHJpYnV0ZUNoYW5nZWRDYWxs
YmFjayA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICBjb25zdHJ1Y3Rvci5vYnNlcnZlZEF0dHJpYnV0
ZXMgPSB7W1N5bWJvbC5pdGVyYXRvcl06IGZ1bmN0aW9uICooKSB7CiAgICAgICAgIHlpZWxkICdm
b28nOwotICAgICAgICB0aHJvdyB7bmFtZTogJ1NvbWVFcnJvcid9OworICAgICAgICB0aHJvdyBl
cnI7CiAgICAgfX07Ci0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnU29tZUVycm9yJ30sIGZ1
bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtZ2VuZXJhdG9y
LW9ic2VydmVkLWF0dHJpYnV0ZXMnLCBjb25zdHJ1Y3Rvcik7IH0pOworICAgIGFzc2VydF90aHJv
d3NfZXhhY3RseShlcnIsIGZ1bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVt
ZW50LXdpdGgtZ2VuZXJhdG9yLW9ic2VydmVkLWF0dHJpYnV0ZXMnLCBjb25zdHJ1Y3Rvcik7IH0p
OwogfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRo
cm93biB3aGlsZSBpdGVyYXRpbmcgb3ZlciBvYnNlcnZlZEF0dHJpYnV0ZXMgdG8gc2VxdWVuY2U8
RE9NU3RyaW5nPicpOwogCiB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICB2YXIgY29uc3RydWN0b3Ig
PSBmdW5jdGlvbiAoKSB7fQogICAgIGNvbnN0cnVjdG9yLnByb3RvdHlwZS5hdHRyaWJ1dGVDaGFu
Z2VkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgY29uc3RydWN0b3Iub2JzZXJ2ZWRB
dHRyaWJ1dGVzID0ge1tTeW1ib2wuaXRlcmF0b3JdOiAxfTsKLSAgICBhc3NlcnRfdGhyb3dzKHsn
bmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24gKCkgeyBjdXN0b21FbGVtZW50cy5kZWZpbmUo
J2VsZW1lbnQtd2l0aC1vYnNlcnZlZC1hdHRyaWJ1dGVzLXdpdGgtdW5jYWxsYWJsZS1pdGVyYXRv
cicsIGNvbnN0cnVjdG9yKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1
bmN0aW9uICgpIHsgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtb2JzZXJ2ZWQt
YXR0cmlidXRlcy13aXRoLXVuY2FsbGFibGUtaXRlcmF0b3InLCBjb25zdHJ1Y3Rvcik7IH0pOwog
fSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93
biB3aGlsZSByZXRyaWV2aW5nIFN5bWJvbC5pdGVyYXRvciBvbiBvYnNlcnZlZEF0dHJpYnV0ZXMn
KTsKIAogdGVzdChmdW5jdGlvbiAoKSB7CkBAIC0zODgsNiArMzk4LDE1MyBAQCB0ZXN0KGZ1bmN0
aW9uICgpIHsKICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aG91dC1jYWxs
YmFjay13aXRoLWludmFsaWQtb2JzZXJ2ZWQtYXR0cmlidXRlcycsIGNvbnN0cnVjdG9yKTsKIH0s
ICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBub3QgdGhyb3cgZXZlbiBpZiAib2JzZXJ2ZWRB
dHRyaWJ1dGVzIiBmYWlscyB0byBjb252ZXJ0IGlmICJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2si
IGlzIG5vdCBkZWZpbmVkJyk7CiAKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBjb25zdHJ1
Y3RvciA9IGZ1bmN0aW9uICgpIHt9CisgICAgdmFyIGNhbGxzID0gW107CisgICAgdmFyIGVyciA9
IHtuYW1lOiAnZXhwZWN0ZWRFcnJvcid9CisgICAgdmFyIHByb3h5ID0gbmV3IFByb3h5KGNvbnN0
cnVjdG9yLCB7CisgICAgICAgIGdldDogZnVuY3Rpb24gKHRhcmdldCwgbmFtZSkgeworICAgICAg
ICAgICAgY2FsbHMucHVzaChuYW1lKTsKKyAgICAgICAgICAgIGlmIChuYW1lID09ICdkaXNhYmxl
ZEZlYXR1cmVzJykKKyAgICAgICAgICAgICAgICB0aHJvdyBlcnI7CisgICAgICAgICAgICByZXR1
cm4gdGFyZ2V0W25hbWVdOworICAgICAgICB9CisgICAgfSk7CisgICAgYXNzZXJ0X3Rocm93c19l
eGFjdGx5KGVyciwgKCkgPT4gY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdlbGVtZW50LXdpdGgtdGhy
b3dpbmctZGlzYWJsZWQtZmVhdHVyZXMnLCBwcm94eSkpOworICAgIGFzc2VydF9hcnJheV9lcXVh
bHMoY2FsbHMsIFsncHJvdG90eXBlJywgJ2Rpc2FibGVkRmVhdHVyZXMnXSwKKyAgICAgICAgJ2N1
c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIiBhbmQgImRpc2FibGVkRmVh
dHVyZXMiIG9uIHRoZSBjb25zdHJ1Y3RvcicpOworfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBt
dXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBnZXR0aW5nIGRpc2FibGVkRmVh
dHVyZXMgb24gdGhlIGNvbnN0cnVjdG9yIHByb3RvdHlwZScpOworCit0ZXN0KGZ1bmN0aW9uICgp
IHsKKyAgICB2YXIgY29uc3RydWN0b3IgPSBmdW5jdGlvbiAoKSB7fQorICAgIHZhciBjYWxscyA9
IFtdOworICAgIHZhciBwcm94eSA9IG5ldyBQcm94eShjb25zdHJ1Y3RvciwgeworICAgICAgICBn
ZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKKyAgICAgICAgICAgIGNhbGxzLnB1c2gobmFt
ZSk7CisgICAgICAgICAgICBpZiAobmFtZSA9PSAnZGlzYWJsZWRGZWF0dXJlcycpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICByZXR1cm4gdGFyZ2V0W25hbWVdOworICAg
ICAgICB9CisgICAgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IGN1
c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLWludmFsaWQtZGlzYWJsZWQtZmVhdHVy
ZXMnLCBwcm94eSkpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbHMsIFsncHJvdG90eXBl
JywgJ2Rpc2FibGVkRmVhdHVyZXMnXSwKKyAgICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBt
dXN0IGdldCAicHJvdG90eXBlIiBhbmQgImRpc2FibGVkRmVhdHVyZXMiIG9uIHRoZSBjb25zdHJ1
Y3RvcicpOworfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0
aW9uIHRocm93biB3aGlsZSBjb252ZXJ0aW5nIHRoZSB2YWx1ZSBvZiBkaXNhYmxlZEZlYXR1cmVz
IHRvIHNlcXVlbmNlPERPTVN0cmluZz4nKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgICAgdmFy
IGNvbnN0cnVjdG9yID0gZnVuY3Rpb24gKCkge30KKyAgICB2YXIgZXJyID0ge25hbWU6ICdTb21l
RXJyb3InfTsKKyAgICBjb25zdHJ1Y3Rvci5kaXNhYmxlZEZlYXR1cmVzID0ge1tTeW1ib2wuaXRl
cmF0b3JdOiBmdW5jdGlvbiAqKCkgeworICAgICAgICB5aWVsZCAnZm9vJzsKKyAgICAgICAgdGhy
b3cgZXJyOworICAgIH19OworICAgIGFzc2VydF90aHJvd3NfZXhhY3RseShlcnIsICgpID0+IGN1
c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLWdlbmVyYXRvci1kaXNhYmxlZC1mZWF0
dXJlcycsIGNvbnN0cnVjdG9yKSk7Cit9LCAnY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgcmV0
aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGl0ZXJhdGluZyBvdmVyIGRpc2FibGVkRmVh
dHVyZXMgdG8gc2VxdWVuY2U8RE9NU3RyaW5nPicpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAg
ICB2YXIgY29uc3RydWN0b3IgPSBmdW5jdGlvbiAoKSB7fQorICAgIGNvbnN0cnVjdG9yLmRpc2Fi
bGVkRmVhdHVyZXMgPSB7W1N5bWJvbC5pdGVyYXRvcl06IDF9OworICAgIGFzc2VydF90aHJvd3Nf
anMoVHlwZUVycm9yLCAoKSA9PiBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC1k
aXNhYmxlZC1mZWF0dXJlcy13aXRoLXVuY2FsbGFibGUtaXRlcmF0b3InLCBjb25zdHJ1Y3Rvcikp
OworfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRo
cm93biB3aGlsZSByZXRyaWV2aW5nIFN5bWJvbC5pdGVyYXRvciBvbiBkaXNhYmxlZEZlYXR1cmVz
Jyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBjb25zdHJ1Y3RvciA9IGZ1bmN0aW9u
ICgpIHt9CisgICAgdmFyIGNhbGxzID0gW107CisgICAgdmFyIGVyciA9IHtuYW1lOiAnZXhwZWN0
ZWRFcnJvcid9OworICAgIHZhciBwcm94eSA9IG5ldyBQcm94eShjb25zdHJ1Y3RvciwgeworICAg
ICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKKyAgICAgICAgICAgIGNhbGxzLnB1
c2gobmFtZSk7CisgICAgICAgICAgICBpZiAobmFtZSA9PSAnZm9ybUFzc29jaWF0ZWQnKQorICAg
ICAgICAgICAgICAgIHRocm93IGVycjsKKyAgICAgICAgICAgIHJldHVybiB0YXJnZXRbbmFtZV07
CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJyLAorICAg
ICAgICAoKSA9PiBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC10aHJvd2luZy1m
b3JtLWFzc29jaWF0ZWQnLCBwcm94eSkpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbHMs
IFsncHJvdG90eXBlJywgJ2Rpc2FibGVkRmVhdHVyZXMnLCAnZm9ybUFzc29jaWF0ZWQnXSwKKyAg
ICAgICAgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIiwgImRpc2Fi
bGVkRmVhdHVyZXMiLCBhbmQgJyArCisgICAgICAgICciZm9ybUFzc29jaWF0ZWQiIG9uIHRoZSBj
b25zdHJ1Y3RvcicpOworfSwgJ2N1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4g
ZXhjZXB0aW9uIHRocm93biB3aGlsZSBnZXR0aW5nICcgKworICAgJ2Zvcm1Bc3NvY2lhdGVkIG9u
IHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUnKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgICAg
dmFyIGNvbnN0cnVjdG9yID0gZnVuY3Rpb24gKCkge30KKyAgICB2YXIgcHJvdG90eXBlQ2FsbHMg
PSBbXTsKKyAgICBjb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBuZXcgUHJveHkoY29uc3RydWN0b3Iu
cHJvdG90eXBlLCB7CisgICAgICAgIGdldDogZnVuY3Rpb24odGFyZ2V0LCBuYW1lKSB7CisgICAg
ICAgICAgICBwcm90b3R5cGVDYWxscy5wdXNoKG5hbWUpCisgICAgICAgICAgICByZXR1cm4gdGFy
Z2V0W25hbWVdOworICAgICAgICB9CisgICAgfSk7CisgICAgdmFyIGNvbnN0cnVjdG9yQ2FsbHMg
PSBbXTsKKyAgICB2YXIgcHJveHkgPSBuZXcgUHJveHkoY29uc3RydWN0b3IsIHsKKyAgICAgICAg
Z2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBuYW1lKSB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvckNh
bGxzLnB1c2gobmFtZSk7CisgICAgICAgICAgICBpZiAobmFtZSA9PSAnZm9ybUFzc29jaWF0ZWQn
KQorICAgICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtu
YW1lXTsKKyAgICAgICAgfQorICAgIH0pOworICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxl
bWVudC13aXRoLWZvcm0tYXNzb2NpYXRlZC10cnVlJywgcHJveHkpOworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoY29uc3RydWN0b3JDYWxscywKKyAgICAgICAgWydwcm90b3R5cGUnLCAnZGlzYWJs
ZWRGZWF0dXJlcycsICdmb3JtQXNzb2NpYXRlZCddLAorICAgICAgICAnY3VzdG9tRWxlbWVudHMu
ZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiLCAiZGlzYWJsZWRGZWF0dXJlcyIsIGFuZCAnICsK
KyAgICAgICAgJyJmb3JtQXNzb2NpYXRlZCIgb24gdGhlIGNvbnN0cnVjdG9yJyk7CisgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscygKKyAgICAgICAgcHJvdG90eXBlQ2FsbHMsCisgICAgICAgIFsnY29u
bmVjdGVkQ2FsbGJhY2snLCAnZGlzY29ubmVjdGVkQ2FsbGJhY2snLCAnYWRvcHRlZENhbGxiYWNr
JywKKyAgICAgICAgICdhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2snLCAnZm9ybUFzc29jaWF0ZWRD
YWxsYmFjaycsCisgICAgICAgICAnZm9ybVJlc2V0Q2FsbGJhY2snLCAnZm9ybURpc2FibGVkQ2Fs
bGJhY2snLAorICAgICAgICAgJ2Zvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayddLAorICAgICAgICAn
Y3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0IDggY2FsbGJhY2tzIG9uIHRoZSBwcm90b3R5
cGUnKTsKK30sICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgZm91ciBhZGRpdGlvbmFs
IGNhbGxiYWNrcyBvbiB0aGUgcHJvdG90eXBlJyArCisgICAnIGlmIGZvcm1Bc3NvY2lhdGVkIGlz
IGNvbnZlcnRlZCB0byB0cnVlJyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBjb25z
dHJ1Y3RvciA9IGZ1bmN0aW9uKCkge307CisgICAgdmFyIHByb3h5ID0gbmV3IFByb3h5KGNvbnN0
cnVjdG9yLCB7CisgICAgICAgIGdldDogZnVuY3Rpb24odGFyZ2V0LCBuYW1lKSB7CisgICAgICAg
ICAgICBpZiAobmFtZSA9PSAnZm9ybUFzc29jaWF0ZWQnKQorICAgICAgICAgICAgICAgIHJldHVy
biB7fTsgIC8vIEFueSBvYmplY3QgaXMgY29udmVydGVkIHRvICd0cnVlJy4KKyAgICAgICAgICAg
IHJldHVybiB0YXJnZXRbbmFtZV07CisgICAgICAgIH0KKyAgICB9KTsKKyAgICB2YXIgY2FsbHMg
PSBbXTsKKyAgICB2YXIgZXJyID0ge25hbWU6ICdleHBlY3RlZEVycm9yJ307CisgICAgY29uc3Ry
dWN0b3IucHJvdG90eXBlID0gbmV3IFByb3h5KGNvbnN0cnVjdG9yLnByb3RvdHlwZSwgeworICAg
ICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKKyAgICAgICAgICAgIGNhbGxzLnB1
c2gobmFtZSk7CisgICAgICAgICAgICBpZiAobmFtZSA9PSAnZm9ybURpc2FibGVkQ2FsbGJhY2sn
KQorICAgICAgICAgICAgICAgIHRocm93IGVycjsKKyAgICAgICAgICAgIHJldHVybiB0YXJnZXRb
bmFtZV07CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJy
LAorICAgICAgICAoKSA9PiBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2VsZW1lbnQtd2l0aC10aHJv
d2luZy1jYWxsYmFjay0yJywgcHJveHkpKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxz
LCBbJ2Nvbm5lY3RlZENhbGxiYWNrJywgJ2Rpc2Nvbm5lY3RlZENhbGxiYWNrJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ2Fkb3B0ZWRDYWxsYmFjaycsICdhdHRyaWJ1dGVDaGFu
Z2VkQ2FsbGJhY2snLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybUFzc29j
aWF0ZWRDYWxsYmFjaycsICdmb3JtUmVzZXRDYWxsYmFjaycsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdmb3JtRGlzYWJsZWRDYWxsYmFjayddLAorICAgICAgICAnY3VzdG9tRWxl
bWVudHMuZGVmaW5lIG11c3Qgbm90IGdldCBjYWxsYmFja3MgYWZ0ZXIgb25lIG9mIHRoZSBnZXQg
dGhyb3dzJyk7CisKKyAgICB2YXIgY2FsbHMyID0gW107CisgICAgY29uc3RydWN0b3IucHJvdG90
eXBlID0gbmV3IFByb3h5KGNvbnN0cnVjdG9yLnByb3RvdHlwZSwgeworICAgICAgICBnZXQ6IGZ1
bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKKyAgICAgICAgICAgIGNhbGxzMi5wdXNoKG5hbWUpOwor
ICAgICAgICAgICAgaWYgKG5hbWUgPT0gJ2Zvcm1SZXNldENhbGxiYWNrJykKKyAgICAgICAgICAg
ICAgICByZXR1cm4gNDM7ICAvLyBDYW4ndCBjb252ZXJ0IHRvIGEgRnVuY3Rpb24uCisgICAgICAg
ICAgICByZXR1cm4gdGFyZ2V0W25hbWVdOworICAgICAgICB9CisgICAgfSk7CisgICAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsCisgICAgICAgICgpID0+IGN1c3RvbUVsZW1lbnRzLmRlZmlu
ZSgnZWxlbWVudC13aXRoLXRocm93aW5nLWNhbGxiYWNrLTMnLCBwcm94eSkpOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoY2FsbHMyLCBbJ2Nvbm5lY3RlZENhbGxiYWNrJywgJ2Rpc2Nvbm5lY3Rl
ZENhbGxiYWNrJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG9wdGVkQ2Fs
bGJhY2snLCAnYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdmb3JtQXNzb2NpYXRlZENhbGxiYWNrJywgJ2Zvcm1SZXNldENhbGxiYWNr
J10sCisgICAgICAgICdjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBub3QgZ2V0IGNhbGxiYWNr
cyBhZnRlciBvbmUgb2YgdGhlIGdldCB0aHJvd3MnKTsKK30sICdjdXN0b21FbGVtZW50cy5kZWZp
bmUgbXVzdCByZXRocm93IGFuIGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGluZyAnICsKKyAg
ICdhZGRpdGlvbmFsIGZvcm1Bc3NvY2lhdGVkIGNhbGxiYWNrcyBvbiB0aGUgY29uc3RydWN0b3Ig
cHJvdG90eXBlJyk7CisKIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIGNsYXNzIE15Q3VzdG9tRWxl
bWVudCBleHRlbmRzIEhUTUxFbGVtZW50IHt9OwogICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgn
bXktY3VzdG9tLWVsZW1lbnQnLCBNeUN1c3RvbUVsZW1lbnQpOwpAQCAtNDgxLDcgKzYzOCw3IEBA
IHByb21pc2VfdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgp
LnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICBhc3NlcnRfZmFsc2UocmVzb2x2ZWQsICdUaGUg
cHJvbWlzZSByZXR1cm5lZCBieSAid2hlbkRlZmluZWQiIG11c3Qgbm90IGJlIHJlc29sdmVkIHVu
dGlsIGEgY3VzdG9tIGVsZW1lbnQgaXMgZGVmaW5lZCcpOwogICAgICAgICBhc3NlcnRfZmFsc2Uo
cmVqZWN0ZWQsICdUaGUgcHJvbWlzZSByZXR1cm5lZCBieSAid2hlbkRlZmluZWQiIG11c3Qgbm90
IGJlIHJlamVjdGVkIHVudGlsIGEgY3VzdG9tIGVsZW1lbnQgaXMgZGVmaW5lZCcpOwotICAgIH0p
OyAgICAKKyAgICB9KTsKIH0sICdjdXN0b21FbGVtZW50cy53aGVuRGVmaW5lZCBtdXN0IHJldHVy
biBhbiB1bnJlc29sdmVkIHByb21pc2Ugd2hlbiB0aGUgcmVnaXN0cnkgZG9lcyBub3QgY29udGFp
biB0aGUgZW50cnkgd2l0aCB0aGUgZ2l2ZW4gbmFtZScpCiAKIHByb21pc2VfdGVzdChmdW5jdGlv
biAoKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9E
b2N1bWVudC1jcmVhdGVFbGVtZW50Lmh0bWwKaW5kZXggODE3M2M3NjEzODg2YWFmM2IyODkyNzEw
MjVkZGY4ZDdmMWQxMjU3OS4uNjRiNmYyNWI1ZTdiYzQ4OWY3NGRjZWZlOGM4YzZiZGM1ZjY3OTZi
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0Rv
Y3VtZW50LWNyZWF0ZUVsZW1lbnQuaHRtbApAQCAtMzUwLDcgKzM1MCw3IEBAIHRlc3QoZnVuY3Rp
b24gKCkgewogICAgIH07CiAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0aHJvdy1jdXN0b20t
ZWxlbWVudCcsIFRocm93Q3VzdG9tRWxlbWVudCk7CiAKLSAgICBhc3NlcnRfdGhyb3dzKGV4Y2Vw
dGlvblRvVGhyb3csIGZ1bmN0aW9uICgpIHsgbmV3IFRocm93Q3VzdG9tRWxlbWVudDsgfSk7Cisg
ICAgYXNzZXJ0X3Rocm93c19leGFjdGx5KGV4Y2VwdGlvblRvVGhyb3csIGZ1bmN0aW9uICgpIHsg
bmV3IFRocm93Q3VzdG9tRWxlbWVudDsgfSk7CiAgICAgdmFyIGluc3RhbmNlOwogICAgIGFzc2Vy
dF9yZXBvcnRzKGV4Y2VwdGlvblRvVGhyb3csIGZ1bmN0aW9uICgpIHsgaW5zdGFuY2UgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd0aHJvdy1jdXN0b20tZWxlbWVudCcpOyB9KTsKICAgICBhc3Nl
cnRfZXF1YWxzKGluc3RhbmNlLmxvY2FsTmFtZSwgJ3Rocm93LWN1c3RvbS1lbGVtZW50Jyk7CkBA
IC0zNzUsNyArMzc1LDcgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgfTsKICAgICBjdXN0b21F
bGVtZW50cy5kZWZpbmUoJ3Rocm93LWN1c3RvbS1idWlsdGluLWVsZW1lbnQnLCBUaHJvd0N1c3Rv
bUJ1aWx0aW5FbGVtZW50LCB7IGV4dGVuZHM6ICdkaXYnIH0pOwogCi0gICAgYXNzZXJ0X3Rocm93
cyhleGNlcHRpb25Ub1Rocm93LCBmdW5jdGlvbiAoKSB7IG5ldyBUaHJvd0N1c3RvbUJ1aWx0aW5F
bGVtZW50OyB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXhjZXB0aW9uVG9UaHJvdywg
ZnVuY3Rpb24gKCkgeyBuZXcgVGhyb3dDdXN0b21CdWlsdGluRWxlbWVudDsgfSk7CiAgICAgdmFy
IGluc3RhbmNlOwogICAgIGFzc2VydF9yZXBvcnRzKGV4Y2VwdGlvblRvVGhyb3csIGZ1bmN0aW9u
ICgpIHsgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnLCB7IGlzOiAndGhy
b3ctY3VzdG9tLWJ1aWx0aW4tZWxlbWVudCcgfSk7IH0pOwogICAgIGFzc2VydF9lcXVhbHMoaW5z
dGFuY2UubG9jYWxOYW1lLCAnZGl2Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9IVE1MRWxlbWVudC1hdHRh
Y2hJbnRlcm5hbHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtYXR0YWNoSW50ZXJuYWxz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTUxNmVkZjRkMTIxNTViOTQ2NDlhNDdiMGUyMGQ4
NTdiMzkwYjJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtYXR0YWNoSW50ZXJu
YWxzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworRkFJTCBTdWNjZXNzZnVsIGF0dGFj
aEludGVybmFscygpIGFuZCB0aGUgc2Vjb25kIGNhbGwuIGVsZW1lbnQuYXR0YWNoSW50ZXJuYWxz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VsZW1lbnQuYXR0YWNoSW50ZXJuYWxzKCknLCAnZWxl
bWVudC5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgYXR0YWNoSW50ZXJuYWxz
KCkgdGhyb3dzIGEgTm90U3VwcG9ydGVkRXJyb3IgaWYgaXQgaXMgY2FsbGVkIGZvciBhIGN1c3Rv
bWl6ZWQgYnVpbHQtaW4gZWxlbWVudCBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KK0ZBSUwgSWYgYSBjdXN0b20gZWxlbWVudCBkZWZpbml0aW9uIGZvciB0aGUgbG9jYWwgbmFt
ZSBvZiB0aGUgZWxlbWVudCBkb2Vzbid0IGV4aXN0LCB0aHJvdyBhbiBOb3RTdXBwb3J0ZWRFcnJv
ciBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHsgYnVpbHRpbi5hdHRhY2hJbnRl
cm5hbHMoKSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogYnVpbHRpbi5hdHRhY2hJbnRlcm5h
bHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYnVpbHRpbi5hdHRhY2hJbnRlcm5hbHMoKScsICdi
dWlsdGluLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01F
eGNlcHRpb24gTm90U3VwcG9ydGVkRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1
bmRlZmluZWQsIGV4cGVjdGVkIDkKK0ZBSUwgSWYgYSBjdXN0b20gZWxlbWVudCBkZWZpbml0aW9u
IGZvciB0aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudCBoYXMgZGlzYWJsZSBpbnRlcm5hbHMg
ZmxhZywgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rp
b24gIigpID0+IHsKKyAgICAobmV3IE15RWxlbWVudDIpLmF0dGFjaEludGVybmFscygpOworICB9
IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogKG5ldyBNeUVsZW1lbnQyKS5hdHRhY2hJbnRlcm5h
bHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnKG5ldyBNeUVsZW1lbnQyKS5hdHRhY2hJbnRlcm5h
bHMoKScsICcobmV3IE15RWxlbWVudDIpLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKSIg
dGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTm90U3VwcG9ydGVkRXJyb3I6IHByb3BlcnR5ICJj
b2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDkKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
SFRNTEVsZW1lbnQtYXR0YWNoSW50ZXJuYWxzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9IVE1MRWxlbWVudC1hdHRhY2hJ
bnRlcm5hbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2VhNTVhNjdlMDhjZTFjMzA4Njc3NWYwZGY4OWY0
NjRlNTA1ZTAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtYXR0YWNoSW50ZXJu
YWxzLmh0bWwKQEAgLTAsMCArMSw4MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0i
aGVscCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvY3Vz
dG9tLWVsZW1lbnRzLmh0bWwjZG9tLWF0dGFjaGludGVybmFscyI+Cis8ZGl2IGlkPSJjb250YWlu
ZXIiPjwvZGl2PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICBjbGFzcyBNeUVsZW1lbnQxIGV4
dGVuZHMgSFRNTEVsZW1lbnQgeworICB9CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnbXktZWxl
bWVudDEnLCBNeUVsZW1lbnQxKTsKKyAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignI2NvbnRhaW5lcicpOworCisgIGxldCBlbGVtZW50ID0gbmV3IE15RWxlbWVudDEo
KTsKKyAgYXNzZXJ0X3RydWUoZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMoKSBpbnN0YW5jZW9mIEVs
ZW1lbnRJbnRlcm5hbHMsCisgICAgICAgICAgICAgICdOZXcgLSAxc3QgY2FsbCcpOworICBhc3Nl
cnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiB7IGVsZW1lbnQuYXR0YWNo
SW50ZXJuYWxzKCk7IH0sCisgICAgICAgICAgICAgICAgICAgICdOZXcgLSAybmQgY2FsbCcpOwor
CisgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdteS1lbGVtZW50MScpOworICBh
c3NlcnRfdHJ1ZShlbGVtZW50LmF0dGFjaEludGVybmFscygpIGluc3RhbmNlb2YgRWxlbWVudElu
dGVybmFscywKKyAgICAgICAgICAgICAgJ2NyZWF0ZUVsZW1lbnQgLSAxc3QgY2FsbCcpOworICBh
c3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiB7IGVsZW1lbnQuYXR0
YWNoSW50ZXJuYWxzKCk7IH0sCisgICAgICAgICAgICAgICAgICAgICdjcmVhdGVFbGVtZW50IC0g
Mm5kIGNhbGwnKTsKKworICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxteS1lbGVtZW50MT48L215
LWVsZW1lbnQxPic7CisgIGFzc2VydF90cnVlKGNvbnRhaW5lci5maXJzdENoaWxkLmF0dGFjaElu
dGVybmFscygpIGluc3RhbmNlb2YgRWxlbWVudEludGVybmFscywKKyAgICAgICAgICAgICAgJ1Bh
cnNlciAtIDFzdCBjYWxsJyk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdOb3RTdXBwb3J0ZWRFcnJv
cicsICgpID0+IHsKKyAgICBjb250YWluZXIuZmlyc3RDaGlsZC5hdHRhY2hJbnRlcm5hbHMoKTsK
KyAgfSwgJ1BhcnNlciAtIDJuZCBjYWxsJyk7Cit9LCAnU3VjY2Vzc2Z1bCBhdHRhY2hJbnRlcm5h
bHMoKSBhbmQgdGhlIHNlY29uZCBjYWxsLicpOworCit0ZXN0KCgpID0+IHsKKyAgY2xhc3MgTXlE
aXYgZXh0ZW5kcyBIVE1MRGl2RWxlbWVudCB7fQorICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ215
LWRpdicsIE15RGl2LCB7IGV4dGVuZHM6ICdkaXYnIH0pOworICBjb25zdCBjdXN0b21pemVkQnVp
bHRpbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicsIHsgaXM6ICdteS1kaXYnfSk7Cisg
IGFzc2VydF90aHJvd3NfZG9tKCdOb3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IHsgY3VzdG9taXpl
ZEJ1aWx0aW4uYXR0YWNoSW50ZXJuYWxzKCkgfSk7Cit9LCAnYXR0YWNoSW50ZXJuYWxzKCkgdGhy
b3dzIGEgTm90U3VwcG9ydGVkRXJyb3IgaWYgaXQgaXMgY2FsbGVkIGZvciAnICsKKyAgICAgJ2Eg
Y3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50Jyk7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBi
dWlsdGluID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgIGFzc2VydF90aHJvd3Nf
ZG9tKCdOb3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IHsgYnVpbHRpbi5hdHRhY2hJbnRlcm5hbHMo
KSB9KTsKKworICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1
bWVudCgnZm9vJywgbnVsbCk7CisgIGNvbnN0IHNwYW4gPSBkb2MuYXBwZW5kQ2hpbGQoZG9jLmNy
ZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdodG1sOnNwYW4n
KSk7CisgIGFzc2VydF90cnVlKHNwYW4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCk7CisgIGFzc2Vy
dF90aHJvd3NfZG9tKCdOb3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IHsgc3Bhbi5hdHRhY2hJbnRl
cm5hbHMoKTsgfSk7CisKKyAgY29uc3QgdW5kZWZpbmVkQ3VzdG9tID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgndW5kZWZpbmVkLWVsZW1lbnQnKTsKKyAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1
cHBvcnRlZEVycm9yJywgKCkgPT4geyB1bmRlZmluZWRDdXN0b20uYXR0YWNoSW50ZXJuYWxzKCkg
fSk7Cit9LCAnSWYgYSBjdXN0b20gZWxlbWVudCBkZWZpbml0aW9uIGZvciB0aGUgbG9jYWwgbmFt
ZSBvZiB0aGUgZWxlbWVudCBkb2VzblwndCcgKworICAgICAnIGV4aXN0LCB0aHJvdyBhbiBOb3RT
dXBwb3J0ZWRFcnJvcicpOworCit0ZXN0KCgpID0+IHsKKyAgY2xhc3MgTXlFbGVtZW50MiBleHRl
bmRzIEhUTUxFbGVtZW50IHsKKyAgICBzdGF0aWMgZ2V0IGRpc2FibGVkRmVhdHVyZXMoKSB7IHJl
dHVybiBbJ2ludGVybmFscyddOyB9CisgIH0KKyAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdteS1l
bGVtZW50MicsIE15RWxlbWVudDIpOworICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCcjY29udGFpbmVyJyk7CisKKyAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBv
cnRlZEVycm9yJywgKCkgPT4geworICAgIChuZXcgTXlFbGVtZW50MikuYXR0YWNoSW50ZXJuYWxz
KCk7CisgIH0pOworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9
PiB7CisgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbXktZWxlbWVudDInKS5hdHRhY2hJbnRl
cm5hbHMoKTsKKyAgfSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdOb3RTdXBwb3J0ZWRFcnJvcics
ICgpID0+IHsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxteS1lbGVtZW50Mj48L215LWVs
ZW1lbnQyPic7CisgICAgY29udGFpbmVyLmZpcnN0Q2hpbGQuYXR0YWNoSW50ZXJuYWxzKCk7Cisg
IH0pOworCisgIGNsYXNzIE15RWxlbWVudDMgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgc3Rh
dGljIGdldCBkaXNhYmxlZEZlYXR1cmVzKCkgeyByZXR1cm4gWydJTlRFUk5BTFMnXTsgfQorICB9
CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnbXktZWxlbWVudDMnLCBNeUVsZW1lbnQzKTsKKyAg
YXNzZXJ0X3RydWUoKG5ldyBNeUVsZW1lbnQzKS5hdHRhY2hJbnRlcm5hbHMoKSBpbnN0YW5jZW9m
IEVsZW1lbnRJbnRlcm5hbHMpOworfSwgJ0lmIGEgY3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbiBm
b3IgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQgaGFzICcgKworICAgICAnZGlzYWJsZSBp
bnRlcm5hbHMgZmxhZywgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvcicpOworPC9zY3JpcHQ+Cis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9IVE1MRWxlbWVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9IVE1MRWxlbWVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKaW5kZXggMTRlNTUw
ZTg0ODdiYjRlNjlhMmE3NTVlODJlZjdjZjBhMDE1YTcwZi4uYWM0ZWM2MzQ2YzlmMzM1YjI2YjMy
NjA3NjQzNzZjMGQzZmUwZTFmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtY29uc3RydWN0
b3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0hUTUxFbGVtZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dApAQCAtMTAsOCArMTAsOCBAQCBQQVNTIEhUTUxFbGVtZW50IGNvbnN0cnVjdG9yIG11c3Qg
YWxsb3cgc3ViY2xhc3NpbmcgYW4gdXNlci1kZWZpbmVkIHN1YmNsYXNzIG9mCiBQQVNTIEhUTUxF
bGVtZW50IGNvbnN0cnVjdG9yIG11c3Qgb25seSBnZXQgLnByb3RvdHlwZSBvbmNlLCBjYWxsaW5n
IHByb3h5IGNvbnN0cnVjdG9yIGRpcmVjdGx5IAogUEFTUyBIVE1MRWxlbWVudCBjb25zdHJ1Y3Rv
ciBtdXN0IG9ubHkgZ2V0IC5wcm90b3R5cGUgb25jZSwgY2FsbGluZyBwcm94eSBjb25zdHJ1Y3Rv
ciB2aWEgUmVmbGVjdCAKIFBBU1MgSFRNTEVsZW1lbnQgY29uc3RydWN0b3IgbXVzdCBvbmx5IGdl
dCAucHJvdG90eXBlIG9uY2UsIGNhbGxpbmcgcHJveHkgY29uc3RydWN0b3IgdmlhIFJlZmxlY3Qg
d2l0aCBubyBpbmhlcml0YW5jZSAKLUZBSUwgSFRNTEVsZW1lbnQgY29uc3RydWN0b3IgbXVzdCBu
b3QgZ2V0IC5wcm90b3R5cGUgdW50aWwgaXQgZmluaXNoZXMgaXRzIGV4dGVuZHMgc2FuaXR5IGNo
ZWNrcywgY2FsbGluZyBwcm94eSBjb25zdHJ1Y3RvciBkaXJlY3RseSBhc3NlcnRfdGhyb3dzOiBT
aG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0IGFuIEhUTUxFbGVtZW50IG5hbWVkICdidXR0
b24nIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IG5ldyBjb3VudGluZ1Byb3h5KCkgfSIgZGlkIG5v
dCB0aHJvdwotRkFJTCBIVE1MRWxlbWVudCBjb25zdHJ1Y3RvciBtdXN0IG5vdCBnZXQgLnByb3Rv
dHlwZSB1bnRpbCBpdCBmaW5pc2hlcyBpdHMgZXh0ZW5kcyBzYW5pdHkgY2hlY2tzLCBjYWxsaW5n
IHZpYSBSZWZsZWN0IGFzc2VydF90aHJvd3M6IFNob3VsZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1
Y3QgYW4gSFRNTEVsZW1lbnQgbmFtZWQgJ2J1dHRvbicgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsg
UmVmbGVjdC5jb25zdHJ1Y3QoSFRNTEVsZW1lbnQsIFtdLCBjb3VudGluZ1Byb3h5KSB9IiBkaWQg
bm90IHRocm93CitGQUlMIEhUTUxFbGVtZW50IGNvbnN0cnVjdG9yIG11c3Qgbm90IGdldCAucHJv
dG90eXBlIHVudGlsIGl0IGZpbmlzaGVzIGl0cyBleHRlbmRzIHNhbml0eSBjaGVja3MsIGNhbGxp
bmcgcHJveHkgY29uc3RydWN0b3IgZGlyZWN0bHkgYXNzZXJ0X3Rocm93c19qczogU2hvdWxkIG5v
dCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBhbiBIVE1MRWxlbWVudCBuYW1lZCAnYnV0dG9uJyBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeyBuZXcgY291bnRpbmdQcm94eSgpIH0iIGRpZCBub3QgdGhyb3cK
K0ZBSUwgSFRNTEVsZW1lbnQgY29uc3RydWN0b3IgbXVzdCBub3QgZ2V0IC5wcm90b3R5cGUgdW50
aWwgaXQgZmluaXNoZXMgaXRzIGV4dGVuZHMgc2FuaXR5IGNoZWNrcywgY2FsbGluZyB2aWEgUmVm
bGVjdCBhc3NlcnRfdGhyb3dzX2pzOiBTaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0IGFu
IEhUTUxFbGVtZW50IG5hbWVkICdidXR0b24nIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IFJlZmxl
Y3QuY29uc3RydWN0KEhUTUxFbGVtZW50LCBbXSwgY291bnRpbmdQcm94eSkgfSIgZGlkIG5vdCB0
aHJvdwogUEFTUyBIVE1MRWxlbWVudCBjb25zdHJ1Y3RvciBtdXN0IG5vdCBnZXQgLnByb3RvdHlw
ZSB1bnRpbCBpdCBmaW5pc2hlcyBpdHMgcmVnaXN0cmF0aW9uIHNhbml0eSBjaGVja3MsIGNhbGxp
bmcgcHJveHkgY29uc3RydWN0b3IgZGlyZWN0bHkgCiBQQVNTIEhUTUxFbGVtZW50IGNvbnN0cnVj
dG9yIG11c3Qgbm90IGdldCAucHJvdG90eXBlIHVudGlsIGl0IGZpbmlzaGVzIGl0cyByZWdpc3Ry
YXRpb24gIHNhbml0eSBjaGVja3MsIGNhbGxpbmcgdmlhIFJlZmxlY3QgCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL0hUTUxFbGVtZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9IVE1MRWxlbWVudC1jb25zdHJ1
Y3Rvci5odG1sCmluZGV4IGEwYmZhOTA5YmFlMWU5OGZlYmFhNWVmOGViMzE3MGNhMzBiNThjMTMu
LmI1MmM4NDE0NzA5N2E2MGZmODdlNWFhNzIxNGQyYjM0NWE1Y2Y4OTEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L0hUTUxFbGVtZW50LWNvbnN0cnVjdG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtY29uc3Ry
dWN0b3IuaHRtbApAQCAtMTQsMjkgKzE0LDI5IEBACiAKIHRlc3QoZnVuY3Rpb24gKCkgewogICAg
IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnaHRtbC1jdXN0b20tZWxlbWVudCcsIEhUTUxFbGVtZW50
KTsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24gKCkg
eyBuZXcgSFRNTEVsZW1lbnQoKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3Is
IGZ1bmN0aW9uICgpIHsgbmV3IEhUTUxFbGVtZW50KCk7IH0pOwogfSwgJ0hUTUxFbGVtZW50IGNv
bnN0cnVjdG9yIG11c3QgdGhyb3cgYSBUeXBlRXJyb3Igd2hlbiBOZXdUYXJnZXQgaXMgZXF1YWwg
dG8gaXRzZWxmJyk7CiAKIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIGN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgnaHRtbC1wcm94eS1jdXN0b20tZWxlbWVudCcsIG5ldyBQcm94eShIVE1MRWxlbWVudCwg
e30pKTsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24g
KCkgeyBuZXcgSFRNTEVsZW1lbnQoKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsIGZ1bmN0aW9uICgpIHsgbmV3IEhUTUxFbGVtZW50KCk7IH0pOwogfSwgJ0hUTUxFbGVtZW50
IGNvbnN0cnVjdG9yIG11c3QgdGhyb3cgYSBUeXBlRXJyb3Igd2hlbiBOZXdUYXJnZXQgaXMgZXF1
YWwgdG8gaXRzZWxmIHZpYSBhIFByb3h5IG9iamVjdCcpOwogCiB0ZXN0KGZ1bmN0aW9uICgpIHsK
ICAgICBjbGFzcyBTb21lQ3VzdG9tRWxlbWVudCBleHRlbmRzIEhUTUxFbGVtZW50IHt9OwotICAg
IGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9LCBmdW5jdGlvbiAoKSB7IG5ldyBT
b21lQ3VzdG9tRWxlbWVudDsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1
bmN0aW9uICgpIHsgbmV3IFNvbWVDdXN0b21FbGVtZW50OyB9KTsKIH0sICdIVE1MRWxlbWVudCBj
b25zdHJ1Y3RvciBtdXN0IHRocm93IFR5cGVFcnJvciB3aGVuIGl0IGhhcyBub3QgYmVlbiBkZWZp
bmVkIGJ5IGN1c3RvbUVsZW1lbnRzLmRlZmluZScpOwogCiB0ZXN0KGZ1bmN0aW9uICgpIHsKICAg
ICBjbGFzcyBTb21lQ3VzdG9tRWxlbWVudCBleHRlbmRzIEhUTUxQYXJhZ3JhcGhFbGVtZW50IHt9
OwogICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnc29tZS1jdXN0b20tZWxlbWVudCcsIFNvbWVD
dXN0b21FbGVtZW50KTsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwg
ZnVuY3Rpb24gKCkgeyBuZXcgU29tZUN1c3RvbUVsZW1lbnQoKTsgfSk7CisgICAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uICgpIHsgbmV3IFNvbWVDdXN0b21FbGVtZW50KCk7
IH0pOwogfSwgJ0N1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9yIG11c3QgdGhyb3cgVHlwZUVycm9y
IHdoZW4gaXQgZG9lcyBub3QgZXh0ZW5kIEhUTUxFbGVtZW50Jyk7CiAKIHRlc3QoZnVuY3Rpb24g
KCkgewogICAgIGNsYXNzIFNvbWVDdXN0b21CdXR0b25FbGVtZW50IGV4dGVuZHMgSFRNTEJ1dHRv
bkVsZW1lbnQge307CiAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdzb21lLWN1c3RvbS1idXR0
b24tZWxlbWVudCcsIFNvbWVDdXN0b21CdXR0b25FbGVtZW50LCB7IGV4dGVuZHM6ICJwIiB9KTsK
LSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwgZnVuY3Rpb24gKCkgeyBu
ZXcgU29tZUN1c3RvbUJ1dHRvbkVsZW1lbnQoKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhU
eXBlRXJyb3IsIGZ1bmN0aW9uICgpIHsgbmV3IFNvbWVDdXN0b21CdXR0b25FbGVtZW50KCk7IH0p
OwogfSwgJ0N1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9yIG11c3QgdGhyb3cgVHlwZUVycm9yIHdo
ZW4gaXQgZG9lcyBub3QgZXh0ZW5kIHRoZSBwcm9wZXIgZWxlbWVudCBpbnRlcmZhY2UnKTsKIAog
dGVzdChmdW5jdGlvbiAoKSB7CkBAIC0xNzgsOSArMTc4LDkgQEAgdGVzdChmdW5jdGlvbigpIHsK
ICAgICAvLyBkZWZpbmUoKSBnZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIGNvbnN0cnVjdG9yIGl0
J3MgcGFzc2VkLCBzbwogICAgIC8vIHJlc2V0IHRoZSBjb3VudGVyLgogICAgIGdldENvdW50ID0g
MDsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwKLSAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uICgpIHsgbmV3IGNvdW50aW5nUHJveHkoKSB9LAotICAgICAgICAgICAg
ICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1Y3QgYW4gSFRNTEVsZW1lbnQgbmFt
ZWQgJ2J1dHRvbiciKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwKKyAgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsgbmV3IGNvdW50aW5nUHJveHkoKSB9LAorICAgICAg
ICAgICAgICAgICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1Y3QgYW4gSFRNTEVs
ZW1lbnQgbmFtZWQgJ2J1dHRvbiciKTsKICAgICBhc3NlcnRfZXF1YWxzKGdldENvdW50LCAwLCAi
U2hvdWxkIG5ldmVyIGhhdmUgZ290dGVuIC5wcm90b3R5cGUiKTsKIH0sICdIVE1MRWxlbWVudCBj
b25zdHJ1Y3RvciBtdXN0IG5vdCBnZXQgLnByb3RvdHlwZSB1bnRpbCBpdCBmaW5pc2hlcyBpdHMg
ZXh0ZW5kcyBzYW5pdHkgY2hlY2tzLCBjYWxsaW5nIHByb3h5IGNvbnN0cnVjdG9yIGRpcmVjdGx5
Jyk7CiAKQEAgLTIwMCw5ICsyMDAsOSBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIC8vIGRlZmlu
ZSgpIGdldHMgdGhlIHByb3RvdHlwZSBvZiB0aGUgY29uc3RydWN0b3IgaXQncyBwYXNzZWQsIHNv
CiAgICAgLy8gcmVzZXQgdGhlIGNvdW50ZXIuCiAgICAgZ2V0Q291bnQgPSAwOwotICAgIGFzc2Vy
dF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9LAotICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24gKCkgeyBSZWZsZWN0LmNvbnN0cnVjdChIVE1MRWxlbWVudCwgW10sIGNvdW50aW5nUHJveHkp
IH0sCi0gICAgICAgICAgICAgICAgICAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBh
biBIVE1MRWxlbWVudCBuYW1lZCAnYnV0dG9uJyIpOworICAgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgeyBSZWZsZWN0LmNvbnN0
cnVjdChIVE1MRWxlbWVudCwgW10sIGNvdW50aW5nUHJveHkpIH0sCisgICAgICAgICAgICAgICAg
ICAgICAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBhbiBIVE1MRWxlbWVudCBuYW1l
ZCAnYnV0dG9uJyIpOwogICAgIGFzc2VydF9lcXVhbHMoZ2V0Q291bnQsIDAsICJTaG91bGQgbmV2
ZXIgaGF2ZSBnb3R0ZW4gLnByb3RvdHlwZSIpOwogfSwgJ0hUTUxFbGVtZW50IGNvbnN0cnVjdG9y
IG11c3Qgbm90IGdldCAucHJvdG90eXBlIHVudGlsIGl0IGZpbmlzaGVzIGl0cyBleHRlbmRzIHNh
bml0eSBjaGVja3MsIGNhbGxpbmcgdmlhIFJlZmxlY3QnKTsKIApAQCAtMjE5LDkgKzIxOSw5IEBA
IHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgfSk7CiAKICAgICAvLyBQdXJwb3NlZnVsbHkgZG9uJ3Qg
cmVnaXN0ZXIgaXQuCi0gICAgYXNzZXJ0X3Rocm93cyh7J25hbWUnOiAnVHlwZUVycm9yJ30sCi0g
ICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7IG5ldyBjb3VudGluZ1Byb3h5KCkgfSwKLSAg
ICAgICAgICAgICAgICAgICJTaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0IGFuIEhUTUxF
bGVtZW50IG5hbWVkICdidXR0b24nIik7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3Is
CisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7IG5ldyBjb3VudGluZ1Byb3h5KCkg
fSwKKyAgICAgICAgICAgICAgICAgICAgICJTaG91bGQgbm90IGJlIGFibGUgdG8gY29uc3RydWN0
IGFuIEhUTUxFbGVtZW50IG5hbWVkICdidXR0b24nIik7CiAgICAgYXNzZXJ0X2VxdWFscyhnZXRD
b3VudCwgMCwgIlNob3VsZCBuZXZlciBoYXZlIGdvdHRlbiAucHJvdG90eXBlIik7CiB9LCAnSFRN
TEVsZW1lbnQgY29uc3RydWN0b3IgbXVzdCBub3QgZ2V0IC5wcm90b3R5cGUgdW50aWwgaXQgZmlu
aXNoZXMgaXRzIHJlZ2lzdHJhdGlvbiBzYW5pdHkgY2hlY2tzLCBjYWxsaW5nIHByb3h5IGNvbnN0
cnVjdG9yIGRpcmVjdGx5Jyk7CiAKQEAgLTIzOCw5ICsyMzgsOSBAQCB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgIH0pOwogCiAgICAgLy8gUHVycG9zZWZ1bGx5IGRvbid0IHJlZ2lzdGVyIGl0LgotICAg
IGFzc2VydF90aHJvd3MoeyduYW1lJzogJ1R5cGVFcnJvcid9LAotICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24gKCkgeyBSZWZsZWN0LmNvbnN0cnVjdChIVE1MRWxlbWVudCwgW10sIGNvdW50aW5n
UHJveHkpIH0sCi0gICAgICAgICAgICAgICAgICAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0
cnVjdCBhbiBIVE1MRWxlbWVudCBuYW1lZCAnYnV0dG9uJyIpOworICAgIGFzc2VydF90aHJvd3Nf
anMoVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgeyBSZWZsZWN0
LmNvbnN0cnVjdChIVE1MRWxlbWVudCwgW10sIGNvdW50aW5nUHJveHkpIH0sCisgICAgICAgICAg
ICAgICAgICAgICAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBhbiBIVE1MRWxlbWVu
dCBuYW1lZCAnYnV0dG9uJyIpOwogICAgIGFzc2VydF9lcXVhbHMoZ2V0Q291bnQsIDAsICJTaG91
bGQgbmV2ZXIgaGF2ZSBnb3R0ZW4gLnByb3RvdHlwZSIpOwogfSwgJ0hUTUxFbGVtZW50IGNvbnN0
cnVjdG9yIG11c3Qgbm90IGdldCAucHJvdG90eXBlIHVudGlsIGl0IGZpbmlzaGVzIGl0cyByZWdp
c3RyYXRpb24gIHNhbml0eSBjaGVja3MsIGNhbGxpbmcgdmlhIFJlZmxlY3QnKTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvYWRvcHRlZC1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9hZG9w
dGVkLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCAwZDY2N2QxYjNhMjQ2YTVlYWIwMDA5NjBh
MzA1ZmFlZDYzN2RjZTQyLi5mZmJkYmVlOWM5MTRlOGVlODg1MjcyNmNhMzZlZGM5ZDllNGQzMjU5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9hZG9wdGVkLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9h
ZG9wdGVkLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtNyw2ICs3LDggQEAgUEFTUyBNb3Zpbmcg
YW4gYW5jZXN0b3Igb2YgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50
byB0aGUgZG9jdW0KIFBBU1MgSW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQgaW50byBhIHNoYWRv
dyB0cmVlIGluIHRoZSBkb2N1bWVudCBvZiB0aGUgdGVtcGxhdGUgZWxlbWVudHMgbXVzdCBlbnF1
ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgdGhlIHNoYWRv
dyBob3N0IG9mIGEgY3VzdG9tIGVsZW1lbnQgaW50byB0aGUgZG9jdW1lbnQgb2YgdGhlIHRlbXBs
YXRlIGVsZW1lbnRzIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBB
U1MgTW92aW5nIHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93
bmVyIGRvY3VtZW50IGludG8gdGhlIGRvY3VtZW50IG9mIHRoZSB0ZW1wbGF0ZSBlbGVtZW50cyBt
dXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCitQQVNTIE1vdmluZyB0aGUg
c2hhZG93IGhvc3QncyBzaGFkb3cgb2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBk
b2N1bWVudCBpbnRvIHRoZSBkb2N1bWVudCBvZiB0aGUgdGVtcGxhdGUgZWxlbWVudHMgbXVzdCBl
bnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAorUEFTUyBNb3ZpbmcgdGhlIDx0ZW1w
bGF0ZT4ncyBjb250ZW50IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1l
bnQgaW50byB0aGUgZG9jdW1lbnQgb2YgdGhlIHRlbXBsYXRlIGVsZW1lbnRzIG11c3QgZW5xdWV1
ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIGEgY3VzdG9tIGVs
ZW1lbnQgaW50byBhIGRldGFjaGVkIHNoYWRvdyB0cmVlIHRoYXQgYmVsb25ncyB0byB0aGUgZG9j
dW1lbnQgb2YgdGhlIHRlbXBsYXRlIGVsZW1lbnRzIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFk
b3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQgaW50byBhIG5l
dyBkb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNT
IE1vdmluZyBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYSBu
ZXcgZG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIApAQCAt
MTUsNiArMTcsOCBAQCBQQVNTIE1vdmluZyBhbiBhbmNlc3RvciBvZiBjdXN0b20gZWxlbWVudCBm
cm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGEgbmV3IGRvYwogUEFTUyBJbnNlcnRpbmcgYSBj
dXN0b20gZWxlbWVudCBpbnRvIGEgc2hhZG93IHRyZWUgaW4gYSBuZXcgZG9jdW1lbnQgbXVzdCBl
bnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgdGhlIHNo
YWRvdyBob3N0IG9mIGEgY3VzdG9tIGVsZW1lbnQgaW50byBhIG5ldyBkb2N1bWVudCBtdXN0IGVu
cXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIE1vdmluZyB0aGUgc2hhZG93
IGhvc3Qgb2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGEg
bmV3IGRvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BB
U1MgTW92aW5nIHRoZSBzaGFkb3cgaG9zdCdzIHNoYWRvdyBvZiBhIGN1c3RvbSBlbGVtZW50IGZy
b20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYSBuZXcgZG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFu
ZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAorUEFTUyBNb3ZpbmcgdGhlIDx0ZW1wbGF0ZT4ncyBj
b250ZW50IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byBh
IG5ldyBkb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQ
QVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBkZXRhY2hlZCBzaGFkb3cgdHJl
ZSB0aGF0IGJlbG9uZ3MgdG8gYSBuZXcgZG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2Ug
YWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCBpbnRvIGEg
Y2xvbmVkIGRvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAK
IFBBU1MgTW92aW5nIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50
byBhIGNsb25lZCBkb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJh
Y2sgCkBAIC0yMyw2ICsyNyw4IEBAIFBBU1MgTW92aW5nIGFuIGFuY2VzdG9yIG9mIGN1c3RvbSBl
bGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYSBjbG9uZWQKIFBBU1MgSW5zZXJ0
aW5nIGEgY3VzdG9tIGVsZW1lbnQgaW50byBhIHNoYWRvdyB0cmVlIGluIGEgY2xvbmVkIGRvY3Vt
ZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0
aW5nIHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBjbG9uZWQgZG9j
dW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBNb3Zp
bmcgdGhlIHNoYWRvdyBob3N0IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9j
dW1lbnQgaW50byBhIGNsb25lZCBkb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9w
dGVkQ2FsbGJhY2sgCitQQVNTIE1vdmluZyB0aGUgc2hhZG93IGhvc3QncyBzaGFkb3cgb2YgYSBj
dXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGEgY2xvbmVkIGRvY3Vt
ZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BBU1MgTW92aW5n
IHRoZSA8dGVtcGxhdGU+J3MgY29udGVudCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93
bmVyIGRvY3VtZW50IGludG8gYSBjbG9uZWQgZG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZv
a2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCBpbnRv
IGEgZGV0YWNoZWQgc2hhZG93IHRyZWUgdGhhdCBiZWxvbmdzIHRvIGEgY2xvbmVkIGRvY3VtZW50
IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5n
IGEgY3VzdG9tIGVsZW1lbnQgaW50byBhIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlSFRNTERv
Y3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgTW92
aW5nIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byBhIGRvY3Vt
ZW50IGNyZWF0ZWQgYnkgY3JlYXRlSFRNTERvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tl
IGFkb3B0ZWRDYWxsYmFjayAKQEAgLTMxLDYgKzM3LDggQEAgUEFTUyBNb3ZpbmcgYW4gYW5jZXN0
b3Igb2YgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byBhIGRvY3Vt
ZW4KIFBBU1MgSW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQgaW50byBhIHNoYWRvdyB0cmVlIGlu
IGEgZG9jdW1lbnQgY3JlYXRlZCBieSBjcmVhdGVIVE1MRG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFu
ZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgdGhlIHNoYWRvdyBob3N0
IG9mIGEgY3VzdG9tIGVsZW1lbnQgaW50byBhIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlSFRN
TERvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1Mg
TW92aW5nIHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVy
IGRvY3VtZW50IGludG8gYSBkb2N1bWVudCBjcmVhdGVkIGJ5IGNyZWF0ZUhUTUxEb2N1bWVudCBt
dXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCitQQVNTIE1vdmluZyB0aGUg
c2hhZG93IGhvc3QncyBzaGFkb3cgb2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBk
b2N1bWVudCBpbnRvIGEgZG9jdW1lbnQgY3JlYXRlZCBieSBjcmVhdGVIVE1MRG9jdW1lbnQgbXVz
dCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAorUEFTUyBNb3ZpbmcgdGhlIDx0
ZW1wbGF0ZT4ncyBjb250ZW50IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9j
dW1lbnQgaW50byBhIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlSFRNTERvY3VtZW50IG11c3Qg
ZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIGEgY3Vz
dG9tIGVsZW1lbnQgaW50byBhIGRldGFjaGVkIHNoYWRvdyB0cmVlIHRoYXQgYmVsb25ncyB0byBh
IGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlSFRNTERvY3VtZW50IG11c3QgZW5xdWV1ZSBhbmQg
aW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQg
aW50byBhbiBIVE1MIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlRG9jdW1lbnQgbXVzdCBlbnF1
ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBNb3ZpbmcgYSBjdXN0b20gZWxl
bWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGFuIEhUTUwgZG9jdW1lbnQgY3JlYXRl
ZCBieSBjcmVhdGVEb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJh
Y2sgCkBAIC0zOSw2ICs0Nyw4IEBAIFBBU1MgTW92aW5nIGFuIGFuY2VzdG9yIG9mIGN1c3RvbSBl
bGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYW4gSFRNTCBkCiBQQVNTIEluc2Vy
dGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBzaGFkb3cgdHJlZSBpbiBhbiBIVE1MIGRvY3Vt
ZW50IGNyZWF0ZWQgYnkgY3JlYXRlRG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRv
cHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgdGhlIHNoYWRvdyBob3N0IG9mIGEgY3VzdG9t
IGVsZW1lbnQgaW50byBhbiBIVE1MIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlRG9jdW1lbnQg
bXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBNb3ZpbmcgdGhl
IHNoYWRvdyBob3N0IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQg
aW50byBhbiBIVE1MIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlRG9jdW1lbnQgbXVzdCBlbnF1
ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAorUEFTUyBNb3ZpbmcgdGhlIHNoYWRvdyBo
b3N0J3Mgc2hhZG93IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQg
aW50byBhbiBIVE1MIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlRG9jdW1lbnQgbXVzdCBlbnF1
ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAorUEFTUyBNb3ZpbmcgdGhlIDx0ZW1wbGF0
ZT4ncyBjb250ZW50IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQg
aW50byBhbiBIVE1MIGRvY3VtZW50IGNyZWF0ZWQgYnkgY3JlYXRlRG9jdW1lbnQgbXVzdCBlbnF1
ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNrIAogUEFTUyBJbnNlcnRpbmcgYSBjdXN0b20g
ZWxlbWVudCBpbnRvIGEgZGV0YWNoZWQgc2hhZG93IHRyZWUgdGhhdCBiZWxvbmdzIHRvIGFuIEhU
TUwgZG9jdW1lbnQgY3JlYXRlZCBieSBjcmVhdGVEb2N1bWVudCBtdXN0IGVucXVldWUgYW5kIGlu
dm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGlu
dG8gdGhlIGRvY3VtZW50IG9mIGFuIGlmcmFtZSBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9w
dGVkQ2FsbGJhY2sgCiBQQVNTIE1vdmluZyBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVy
IGRvY3VtZW50IGludG8gdGhlIGRvY3VtZW50IG9mIGFuIGlmcmFtZSBtdXN0IGVucXVldWUgYW5k
IGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCkBAIC00Nyw2ICs1Nyw4IEBAIFBBU1MgTW92aW5nIGFu
IGFuY2VzdG9yIG9mIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8g
dGhlIGRvY3VtCiBQQVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBzaGFkb3cg
dHJlZSBpbiB0aGUgZG9jdW1lbnQgb2YgYW4gaWZyYW1lIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tl
IGFkb3B0ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1
c3RvbSBlbGVtZW50IGludG8gdGhlIGRvY3VtZW50IG9mIGFuIGlmcmFtZSBtdXN0IGVucXVldWUg
YW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIE1vdmluZyB0aGUgc2hhZG93IGhvc3Qg
b2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIHRoZSBkb2N1
bWVudCBvZiBhbiBpZnJhbWUgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENhbGxiYWNr
IAorUEFTUyBNb3ZpbmcgdGhlIHNoYWRvdyBob3N0J3Mgc2hhZG93IG9mIGEgY3VzdG9tIGVsZW1l
bnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byB0aGUgZG9jdW1lbnQgb2YgYW4gaWZyYW1l
IG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BBU1MgTW92aW5nIHRo
ZSA8dGVtcGxhdGU+J3MgY29udGVudCBvZiBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVy
IGRvY3VtZW50IGludG8gdGhlIGRvY3VtZW50IG9mIGFuIGlmcmFtZSBtdXN0IGVucXVldWUgYW5k
IGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50
IGludG8gYSBkZXRhY2hlZCBzaGFkb3cgdHJlZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIGRvY3VtZW50
IG9mIGFuIGlmcmFtZSBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQ
QVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYW4gSFRNTCBkb2N1bWVudCBmZXRj
aGVkIGJ5IFhIUiBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNT
IE1vdmluZyBhIGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYW4g
SFRNTCBkb2N1bWVudCBmZXRjaGVkIGJ5IFhIUiBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9w
dGVkQ2FsbGJhY2sgCkBAIC01NSw1ICs2Nyw5IEBAIFBBU1MgTW92aW5nIGFuIGFuY2VzdG9yIG9m
IGN1c3RvbSBlbGVtZW50IGZyb20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYW4gSFRNTCBkCiBQ
QVNTIEluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBzaGFkb3cgdHJlZSBpbiBhbiBI
VE1MIGRvY3VtZW50IGZldGNoZWQgYnkgWEhSIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0
ZWRDYWxsYmFjayAKIFBBU1MgSW5zZXJ0aW5nIHRoZSBzaGFkb3cgaG9zdCBvZiBhIGN1c3RvbSBl
bGVtZW50IGludG8gYW4gSFRNTCBkb2N1bWVudCBmZXRjaGVkIGJ5IFhIUiBtdXN0IGVucXVldWUg
YW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIE1vdmluZyB0aGUgc2hhZG93IGhvc3Qg
b2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRvIGFuIEhUTUwg
ZG9jdW1lbnQgZmV0Y2hlZCBieSBYSFIgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYWRvcHRlZENh
bGxiYWNrIAorUEFTUyBNb3ZpbmcgdGhlIHNoYWRvdyBob3N0J3Mgc2hhZG93IG9mIGEgY3VzdG9t
IGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byBhbiBIVE1MIGRvY3VtZW50IGZl
dGNoZWQgYnkgWEhSIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxsYmFjayAKK1BB
U1MgTW92aW5nIHRoZSA8dGVtcGxhdGU+J3MgY29udGVudCBvZiBhIGN1c3RvbSBlbGVtZW50IGZy
b20gdGhlIG93bmVyIGRvY3VtZW50IGludG8gYW4gSFRNTCBkb2N1bWVudCBmZXRjaGVkIGJ5IFhI
UiBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiBQQVNTIEluc2VydGlu
ZyBhIGN1c3RvbSBlbGVtZW50IGludG8gYSBkZXRhY2hlZCBzaGFkb3cgdHJlZSB0aGF0IGJlbG9u
Z3MgdG8gYW4gSFRNTCBkb2N1bWVudCBmZXRjaGVkIGJ5IFhIUiBtdXN0IGVucXVldWUgYW5kIGlu
dm9rZSBhZG9wdGVkQ2FsbGJhY2sgCiAKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9hZG9wdGVkLWNhbGxi
YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9hZG9wdGVkLWNhbGxiYWNrLmh0bWwKaW5kZXggNWMwOGEwNGE0MjEwZDdm
OGJjM2Q3NTJmYTNlNGRiMjIwYWEyNjExOC4uMWVkNDYzNGRiYTlmZjgzODBhZTEzMmJhNDExNTg5
MmMwZTVlMzM3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYWRvcHRlZC1jYWxsYmFjay5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2Fkb3B0ZWQtY2FsbGJhY2suaHRtbApAQCAtMTE3LDYgKzExNywzOCBAQCBkb2N1bWVudF90eXBl
cygpLmZvckVhY2goZnVuY3Rpb24gKGVudHJ5KSB7CiAgICAgICAgIH0pOwogICAgIH0sICdNb3Zp
bmcgdGhlIHNoYWRvdyBob3N0IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9j
dW1lbnQgaW50byAnICsgZG9jdW1lbnROYW1lICsgJyBtdXN0IGVucXVldWUgYW5kIGludm9rZSBh
ZG9wdGVkQ2FsbGJhY2snKTsKIAorICAgIHByb21pc2VfdGVzdChmdW5jdGlvbiAoKSB7CisgICAg
ICAgIHJldHVybiBnZXREb2N1bWVudCgpLnRoZW4oZnVuY3Rpb24gKGRvYykgeworICAgICAgICAg
ICAgY29uc3QgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdteS1jdXN0b20tZWxl
bWVudCcpOworICAgICAgICAgICAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworICAgICAgICAgICAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93
KHttb2RlOiAnY2xvc2VkJ30pOworICAgICAgICAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChp
bnN0YW5jZSk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGhvc3QpOwor
CisgICAgICAgICAgICBjYWxscyA9IFtdOworICAgICAgICAgICAgZG9jLmRvY3VtZW50RWxlbWVu
dC5hcHBlbmRDaGlsZChzaGFkb3dSb290KTsKKyAgICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMoY2FsbHMsIFsnZGlzY29ubmVjdGVkJywgJ2Fkb3B0ZWQnLCBkb2N1bWVudCwgZG9jLCAnY29u
bmVjdGVkJ10pOworICAgICAgICB9KTsKKyAgICB9LCAnTW92aW5nIHRoZSBzaGFkb3cgaG9zdFwn
cyBzaGFkb3cgb2YgYSBjdXN0b20gZWxlbWVudCBmcm9tIHRoZSBvd25lciBkb2N1bWVudCBpbnRv
ICcgKyBkb2N1bWVudE5hbWUgKyAnIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGFkb3B0ZWRDYWxs
YmFjaycpOworCisgICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgcmV0dXJu
IGdldERvY3VtZW50KCkudGhlbihmdW5jdGlvbiAoZG9jKSB7CisgICAgICAgICAgICBjb25zdCBp
bnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ215LWN1c3RvbS1lbGVtZW50Jyk7Cisg
ICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RlbXBs
YXRlJyk7CisgICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZUNvbnRlbnQgPSB0ZW1wbGF0ZS5jb250
ZW50OworICAgICAgICAgICAgdGVtcGxhdGVDb250ZW50LmFwcGVuZENoaWxkKGluc3RhbmNlKTsK
KyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVtcGxhdGUpOworCisgICAg
ICAgICAgICBjYWxscyA9IFtdOworICAgICAgICAgICAgZG9jLmRvY3VtZW50RWxlbWVudC5hcHBl
bmRDaGlsZCh0ZW1wbGF0ZUNvbnRlbnQpOworICAgICAgICAgICAgaWYgKGRvYyA9PT0gdGVtcGxh
dGVDb250ZW50Lm93bmVyRG9jdW1lbnQpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKGNhbGxzLCBbJ2Nvbm5lY3RlZCddKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjYWxscywgWydhZG9wdGVkJywgdGVtcGxh
dGVDb250ZW50Lm93bmVyRG9jdW1lbnQsIGRvYywgJ2Nvbm5lY3RlZCddKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSk7CisgICAgfSwgJ01vdmluZyB0aGUgPHRlbXBsYXRlPlwncyBjb250ZW50
IG9mIGEgY3VzdG9tIGVsZW1lbnQgZnJvbSB0aGUgb3duZXIgZG9jdW1lbnQgaW50byAnICsgZG9j
dW1lbnROYW1lICsgJyBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhZG9wdGVkQ2FsbGJhY2snKTsK
KwogICAgIHByb21pc2VfdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgICAgIHJldHVybiBnZXREb2N1
bWVudCgpLnRoZW4oZnVuY3Rpb24gKGRvYykgewogICAgICAgICAgICAgdmFyIGluc3RhbmNlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbXktY3VzdG9tLWVsZW1lbnQnKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2F0dHJpYnV0ZS1jaGFuZ2VkLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2F0dHJpYnV0
ZS1jaGFuZ2VkLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCBjMzNkNWY5NTgxNWVjM2Y5NTlh
MDE2YTYzNDRhMTA2YmIyNGE3ZDJhLi5kYjBhZmNhZjk5MTk3NmNmMzA2MWZkZmVkYzA4N2M1NGE3
YjBlMmU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9hdHRyaWJ1dGUtY2hhbmdlZC1jYWxsYmFjay1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvYXR0cmlidXRlLWNoYW5nZWQtY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBA
IC0zLDYgKzMsNyBAQCBQQVNTIHNldEF0dHJpYnV0ZSBhbmQgcmVtb3ZlQXR0cmlidXRlIG11c3Qg
ZW5xdWV1ZSBhbmQgaW52b2tlIGF0dHJpYnV0ZUNoYW5nZWRDYQogUEFTUyBzZXRBdHRyaWJ1dGVO
UyBhbmQgcmVtb3ZlQXR0cmlidXRlTlMgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYXR0cmlidXRl
Q2hhbmdlZENhbGxiYWNrIAogUEFTUyBzZXRBdHRyaWJ1dGVOb2RlIGFuZCByZW1vdmVBdHRyaWJ1
dGVOb2RlIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayBm
b3IgYW4gSFRNTCBhdHRyaWJ1dGUgCiBQQVNTIHNldEF0dHJpYnV0ZU5vZGUgYW5kIHJlbW92ZUF0
dHJpYnV0ZU5TIG11c3QgZW5xdWV1ZSBhbmQgaW52b2tlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFj
ayBmb3IgYW4gU1ZHIGF0dHJpYnV0ZSAKK1BBU1MgdG9nZ2xlQXR0cmlidXRlIG11c3QgZW5xdWV1
ZSBhbmQgaW52b2tlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayAKIFBBU1MgTXV0YXRpbmcgYXR0
cmlidXRlQ2hhbmdlZENhbGxiYWNrIGFmdGVyIGNhbGxpbmcgY3VzdG9tRWxlbWVudHMuZGVmaW5l
IG11c3Qgbm90IGFmZmVjdCB0aGUgY2FsbGJhY2sgYmVpbmcgaW52b2tlZCAKIFBBU1MgYXR0cmli
dXRlZENoYW5nZWRDYWxsYmFjayBtdXN0IG5vdCBiZSBpbnZva2VkIHdoZW4gdGhlIG9ic2VydmVk
IGF0dHJpYnV0ZXMgZG9lcyBub3QgY29udGFpbiB0aGUgYXR0cmlidXRlIAogUEFTUyBNdXRhdGlu
ZyBvYnNlcnZlZEF0dHJpYnV0ZXMgYWZ0ZXIgY2FsbGluZyBjdXN0b21FbGVtZW50cy5kZWZpbmUg
bXVzdCBub3QgYWZmZWN0IHRoZSBzZXQgb2YgYXR0cmlidXRlcyBmb3Igd2hpY2ggYXR0cmlidXRl
ZENoYW5nZWRDYWxsYmFjayBpcyBpbnZva2VkIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYXR0cmlidXRlLWNo
YW5nZWQtY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2F0dHJpYnV0ZS1jaGFuZ2VkLWNhbGxiYWNrLmh0bWwK
aW5kZXggNTA5MGJmYmZiZmVjZGZiZmJmYjdjNTI1Nzk4MjRjZDMzM2M5M2NkYy4uZGIyYTAxMTk2
YTcyMmEwMWQyMjk3OTg2YTUyODgxNTYxYTIzMDU5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYXR0cmlidXRl
LWNoYW5nZWQtY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9hdHRyaWJ1dGUtY2hhbmdlZC1jYWxsYmFj
ay5odG1sCkBAIC05MCw2ICs5MCwyMyBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICBhc3NlcnRf
YXR0cmlidXRlX2xvZ19lbnRyeShsb2dFbnRyaWVzLmxhc3QoKSwge25hbWU6ICdyJywgb2xkVmFs
dWU6ICcxMDAnLCBuZXdWYWx1ZTogbnVsbCwgbmFtZXNwYWNlOiAnaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmcnfSk7CiB9LCAnc2V0QXR0cmlidXRlTm9kZSBhbmQgcmVtb3ZlQXR0cmlidXRlTlMg
bXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIGZvciBhbiBT
VkcgYXR0cmlidXRlJyk7CiAKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIGNvbnN0IGluc3RhbmNl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChjdXN0b21FbGVtZW50Lm5hbWUpOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoY3VzdG9tRWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1
Y3RlZCddKTsKKworICAgIGluc3RhbmNlLnRvZ2dsZUF0dHJpYnV0ZSgndGl0bGUnLCB0cnVlKTsK
KyAgICBhc3NlcnRfZXF1YWxzKGluc3RhbmNlLmhhc0F0dHJpYnV0ZSgndGl0bGUnKSwgdHJ1ZSk7
CisgICAgdmFyIGxvZ0VudHJpZXMgPSBjdXN0b21FbGVtZW50LnRha2VMb2coKTsKKyAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKGxvZ0VudHJpZXMudHlwZXMoKSwgWydhdHRyaWJ1dGVDaGFuZ2VkJ10p
OworICAgIGFzc2VydF9hdHRyaWJ1dGVfbG9nX2VudHJ5KGxvZ0VudHJpZXMubGFzdCgpLCB7bmFt
ZTogJ3RpdGxlJywgb2xkVmFsdWU6IG51bGwsIG5ld1ZhbHVlOiAnJywgbmFtZXNwYWNlOiBudWxs
fSk7CisKKyAgICBpbnN0YW5jZS50b2dnbGVBdHRyaWJ1dGUoJ3RpdGxlJyk7CisgICAgYXNzZXJ0
X2VxdWFscyhpbnN0YW5jZS5oYXNBdHRyaWJ1dGUoJ3RpdGxlJyksIGZhbHNlKTsKKyAgICB2YXIg
bG9nRW50cmllcyA9IGN1c3RvbUVsZW1lbnQudGFrZUxvZygpOworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMobG9nRW50cmllcy50eXBlcygpLCBbJ2F0dHJpYnV0ZUNoYW5nZWQnXSk7CisgICAgYXNz
ZXJ0X2F0dHJpYnV0ZV9sb2dfZW50cnkobG9nRW50cmllcy5sYXN0KCksIHtuYW1lOiAndGl0bGUn
LCBvbGRWYWx1ZTogJycsIG5ld1ZhbHVlOiBudWxsLCBuYW1lc3BhY2U6IG51bGx9KTsKK30sICd0
b2dnbGVBdHRyaWJ1dGUgbXVzdCBlbnF1ZXVlIGFuZCBpbnZva2UgYXR0cmlidXRlQ2hhbmdlZENh
bGxiYWNrJyk7CisKIHRlc3QoZnVuY3Rpb24gKCkgewogICAgIGNvbnN0IGNhbGxzVG9PbGQgPSBb
XTsKICAgICBjb25zdCBjYWxsc1RvTmV3ID0gW107CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxl
bWVudC1yZWFjdGlvbi1xdWV1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWFj
dGlvbi1xdWV1ZS1leHBlY3RlZC50eHQKaW5kZXggNWI1MGQ0ZmMyYTJhMzBjZDJmOWY4ZTE2NDhl
ODJlMWQ2ZGFiZGM2Mi4uMTZjZjhhNzk2MjI2ZjM3MDg3MjE1ZjdlNjUzOTY3ZWJjZmE3MmE5MiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVhY3Rpb24tcXVldWUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlYWN0aW9uLXF1ZXVlLWV4cGVjdGVkLnR4dApAQCAt
MSw1ICsxLDYgQEAKIAogUEFTUyBVcGdyYWRpbmcgYSBjdXN0b20gZWxlbWVudCBtdXN0IGludm9r
ZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgYW5kIGNvbm5lY3RlZENhbGxiYWNrIGJlZm9yZSBz
dGFydCB1cGdyYWRpbmcgYW5vdGhlciBlbGVtZW50IAorUEFTUyBVcGdyYWRpbmcgYSBjdXN0b20g
ZWxlbWVudCBtdXN0IG5vdCBpbnZva2UgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIGZvciB0aGUg
YXR0cmlidXRlIHRoYXQgaXMgY2hhbmdlZCBkdXJpbmcgdXBncmFkaW5nIAogUEFTUyBNdXRhdGlu
ZyBhIHVuZGVmaW5lZCBjdXN0b20gZWxlbWVudCB3aGlsZSB1cGdyYWRpbmcgYSBjdXN0b20gZWxl
bWVudCBtdXN0IG5vdCBlbnF1ZXVlIG9yIGludm9rZSByZWFjdGlvbnMgb24gdGhlIG11dGF0ZWQg
ZWxlbWVudCAKIFBBU1MgTXV0YXRpbmcgYW5vdGhlciBjdXN0b20gZWxlbWVudCBpbnNpZGUgYWRv
cHRlZCBjYWxsYmFjayBtdXN0IGludm9rZSBhbGwgcGVuZGluZyBjYWxsYmFja3Mgb24gdGhlIG11
dGF0ZWQgZWxlbWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVhY3Rpb24t
cXVldWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlYWN0aW9uLXF1ZXVlLmh0bWwKaW5kZXgg
NzM3ZGFiMTE3ZDNiZDhkMjk2Y2E2MjM1ZDA0ZTc2NjRlMzU3NDBjMC4uMjQ2YjE1YTBhZjM2Y2Zm
YTBiNjRmMWQ1N2U0MjA4NTM4YjkyYmRkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQt
cmVhY3Rpb24tcXVldWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWFjdGlvbi1xdWV1
ZS5odG1sCkBAIC01MCw2ICs1MCwzOSBAQCB0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250
ZW50V2luZG93KSB7CiAgICAgYXNzZXJ0X2Nvbm5lY3RlZF9sb2dfZW50cnkobG9nWzVdLCBlbGVt
ZW50Mik7CiB9LCAnVXBncmFkaW5nIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBpbnZva2UgYXR0cmli
dXRlQ2hhbmdlZENhbGxiYWNrIGFuZCBjb25uZWN0ZWRDYWxsYmFjayBiZWZvcmUgc3RhcnQgdXBn
cmFkaW5nIGFub3RoZXIgZWxlbWVudCcpOwogCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChj
b250ZW50V2luZG93KSB7CisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRv
dy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQud3JpdGUoJzx0ZXN0LWVsZW1lbnQ+Jyk7
CisKKyAgICBjb25zdCBlbGVtZW50ID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rl
c3QtZWxlbWVudCcpOworICAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGVs
ZW1lbnQpLCBjb250ZW50V2luZG93LkhUTUxFbGVtZW50LnByb3RvdHlwZSk7CisKKyAgICBsZXQg
bG9nID0gW107CisgICAgY2xhc3MgVGVzdEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhU
TUxFbGVtZW50IHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBzdXBlcigp
OworICAgICAgICAgICAgdGhpcy5pZCA9ICJmb28iOworICAgICAgICAgICAgdGhpcy5zZXRBdHRy
aWJ1dGUoJ2lkJywgJ2ZvbycpOworICAgICAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2lk
Jyk7CisgICAgICAgICAgICB0aGlzLnN0eWxlLmZvbnRTaXplID0gJzEwcHgnOworICAgICAgICAg
ICAgbG9nLnB1c2goY3JlYXRlX2NvbnN0cnVjdG9yX2xvZyh0aGlzKSk7CisgICAgICAgIH0KKyAg
ICAgICAgY29ubmVjdGVkQ2FsbGJhY2soLi4uYXJncykgeworICAgICAgICAgICAgbG9nLnB1c2go
Y3JlYXRlX2Nvbm5lY3RlZF9jYWxsYmFja19sb2codGhpcywgLi4uYXJncykpOworICAgICAgICB9
CisgICAgICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayguLi5hcmdzKSB7CisgICAgICAgICAg
ICBsb2cucHVzaChjcmVhdGVfYXR0cmlidXRlX2NoYW5nZWRfY2FsbGJhY2tfbG9nKHRoaXMsIC4u
LmFyZ3MpKTsKKyAgICAgICAgfQorICAgICAgICBzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRl
cygpIHsgcmV0dXJuIFsnaWQnLCAnc3R5bGUnXTsgfQorICAgIH0KKyAgICBjb250ZW50V2luZG93
LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1lbGVtZW50JywgVGVzdEVsZW1lbnQpOworICAg
IGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGVsZW1lbnQpLCBUZXN0RWxlbWVu
dC5wcm90b3R5cGUpOworCisgICAgYXNzZXJ0X2VxdWFscyhsb2cubGVuZ3RoLCAyKTsKKyAgICBh
c3NlcnRfY29uc3RydWN0b3JfbG9nX2VudHJ5KGxvZ1swXSwgZWxlbWVudCk7CisgICAgYXNzZXJ0
X2Nvbm5lY3RlZF9sb2dfZW50cnkobG9nWzFdLCBlbGVtZW50KTsKK30sICdVcGdyYWRpbmcgYSBj
dXN0b20gZWxlbWVudCBtdXN0IG5vdCBpbnZva2UgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIGZv
ciB0aGUgYXR0cmlidXRlIHRoYXQgaXMgY2hhbmdlZCBkdXJpbmcgdXBncmFkaW5nJyk7CisKIHRl
c3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKICAgICBjb25zdCBjb250
ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OwogICAgIGNvbnRlbnREb2N1bWVu
dC53cml0ZSgnPHRlc3QtZWxlbWVudCBpZD0iZmlyc3QtZWxlbWVudCI+Jyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9kZWZpbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3Vz
dG9tLWVsZW1lbnQtcmVnaXN0cnkvZGVmaW5lLWV4cGVjdGVkLnR4dAppbmRleCA5Nzc3NjBjNjlj
NGNkOTc5MmE4NmNlNGUwNGNlZDU3MWJmYmU1ZDMzLi5kYWZkNzI0ZjQxM2E4NmJlY2RjN2RlNzU5
NmRkNTZlMmI1MzllNDcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9k
ZWZpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5L2RlZmlu
ZS1leHBlY3RlZC50eHQKQEAgLTQyLDcgKzQyLDcgQEAgUEFTUyBFbGVtZW50IG5hbWVzOiBkZWZp
bmluZyBhbiBlbGVtZW50IG5hbWVkIGZvbnQtZmFjZS1uYW1lIHNob3VsZCB0aHJvdyBhIFN5bnQK
IFBBU1MgRWxlbWVudCBuYW1lczogZGVmaW5pbmcgYW4gZWxlbWVudCBuYW1lZCBtaXNzaW5nLWds
eXBoIHNob3VsZCB0aHJvdyBhIFN5bnRheEVycm9yIAogUEFTUyBJZiB0aGUgbmFtZSBpcyBhbHJl
YWR5IGRlZmluZWQsIHNob3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIAogUEFTUyBJZiB0
aGUgY29uc3RydWN0b3IgaXMgYWxyZWFkeSBkZWZpbmVkLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBw
b3J0ZWRFcnJvciAKLUZBSUwgSWYgZXh0ZW5kcyBpcyBhLSwgc2hvdWxkIHRocm93IGEgTm90U3Vw
cG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+ICB7CitGQUlMIElmIGV4
dGVuZHMgaXMgYS0sIHNob3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJv
d3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4gIHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCd0ZXN0LWRlZmluZS1leHRlbmQtdmFsaWQtbmFtZScsIGNsYXNzIHt9LCB7IGV4dGVuZHM6IG5h
bWUgfSk7CiAgICAgICB9IiBkaWQgbm90IHRocm93CiBQQVNTIElmIGV4dGVuZHMgaXMgYS1hLCBz
aG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciAKQEAgLTUyLDI1ICs1MiwyNSBAQCBQQVNT
IElmIGV4dGVuZHMgaXMgYS0uLV8sIHNob3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yCiBQ
QVNTIElmIGV4dGVuZHMgaXMgYS0wMTIzNDU2Nzg5LCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0
ZWRFcnJvciAKIFBBU1MgSWYgZXh0ZW5kcyBpcyBhLea8ouWtlywgc2hvdWxkIHRocm93IGEgTm90
U3VwcG9ydGVkRXJyb3IgCiBQQVNTIElmIGV4dGVuZHMgaXMgYS3woICLLCBzaG91bGQgdGhyb3cg
YSBOb3RTdXBwb3J0ZWRFcnJvciAKLUZBSUwgSWYgZXh0ZW5kcyBpcyBiZ3NvdW5kLCBzaG91bGQg
dGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4g
IHsKK0ZBSUwgSWYgZXh0ZW5kcyBpcyBiZ3NvdW5kLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0
ZWRFcnJvciBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+ICB7CiAgICAgICAgIGN1
c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1kZWZpbmUtZXh0ZW5kLScgKyBuYW1lLCBjbGFzcyB7
fSwgeyBleHRlbmRzOiBuYW1lIH0pOwogICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJZiBl
eHRlbmRzIGlzIGJsaW5rLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRf
dGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gIHsKK0ZBSUwgSWYgZXh0ZW5kcyBpcyBibGluaywgc2hv
dWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9u
ICIoKSA9PiAgewogICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5lLWV4
dGVuZC0nICsgbmFtZSwgY2xhc3Mge30sIHsgZXh0ZW5kczogbmFtZSB9KTsKICAgICAgIH0iIGRp
ZCBub3QgdGhyb3cKLUZBSUwgSWYgZXh0ZW5kcyBpcyBpc2luZGV4LCBzaG91bGQgdGhyb3cgYSBO
b3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gIHsKK0ZBSUwg
SWYgZXh0ZW5kcyBpcyBpc2luZGV4LCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBh
c3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+ICB7CiAgICAgICAgIGN1c3RvbUVsZW1l
bnRzLmRlZmluZSgndGVzdC1kZWZpbmUtZXh0ZW5kLScgKyBuYW1lLCBjbGFzcyB7fSwgeyBleHRl
bmRzOiBuYW1lIH0pOwogICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJZiBleHRlbmRzIGlz
IG11bHRpY29sLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBhc3NlcnRfdGhyb3dz
OiBmdW5jdGlvbiAiKCkgPT4gIHsKK0ZBSUwgSWYgZXh0ZW5kcyBpcyBtdWx0aWNvbCwgc2hvdWxk
IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIo
KSA9PiAgewogICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5lLWV4dGVu
ZC0nICsgbmFtZSwgY2xhc3Mge30sIHsgZXh0ZW5kczogbmFtZSB9KTsKICAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKLUZBSUwgSWYgZXh0ZW5kcyBpcyBuZXh0aWQsIHNob3VsZCB0aHJvdyBhIE5vdFN1
cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiAgeworRkFJTCBJZiBl
eHRlbmRzIGlzIG5leHRpZCwgc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0
X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiAgewogICAgICAgICBjdXN0b21FbGVtZW50cy5k
ZWZpbmUoJ3Rlc3QtZGVmaW5lLWV4dGVuZC0nICsgbmFtZSwgY2xhc3Mge30sIHsgZXh0ZW5kczog
bmFtZSB9KTsKICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSWYgZXh0ZW5kcyBpcyBzcGFj
ZXIsIHNob3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICIoKSA9PiAgeworRkFJTCBJZiBleHRlbmRzIGlzIHNwYWNlciwgc2hvdWxkIHRocm93IGEg
Tm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiAgewog
ICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5lLWV4dGVuZC0nICsgbmFt
ZSwgY2xhc3Mge30sIHsgZXh0ZW5kczogbmFtZSB9KTsKICAgICAgIH0iIGRpZCBub3QgdGhyb3cK
LUZBSUwgSWYgZXh0ZW5kcyBpcyBlbGVtZW50bmFtZXRvYmV1bmtub3duZWxlbWVudCwgc2hvdWxk
IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+
ICB7CitGQUlMIElmIGV4dGVuZHMgaXMgZWxlbWVudG5hbWV0b2JldW5rbm93bmVsZW1lbnQsIHNo
b3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlv
biAiKCkgPT4gIHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRlZmluZS1l
eHRlbmQtJyArIG5hbWUsIGNsYXNzIHt9LCB7IGV4dGVuZHM6IG5hbWUgfSk7CiAgICAgICB9IiBk
aWQgbm90IHRocm93CiBQQVNTIElmIGNvbnN0cnVjdG9yLnByb3RvdHlwZSB0aHJvd3MsIHNob3Vs
ZCByZXRocm93IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVnaXN0cnkvZGVmaW5l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9kZWZpbmUuaHRtbAppbmRleCBlNWQ3
MWVjNmVhYjFmYjA2ZDM5ZDk0N2FlOGQxMWY4ZDMwYTk4ODlhLi4yYWFkMWMxODAyNWFmNmY2MzIy
YzBkN2U2Y2U0YzYwODlmMWFjOTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdp
c3RyeS9kZWZpbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9kZWZpbmUu
aHRtbApAQCAtMjUsNyArMjUsNyBAQAogICBpZiAoIXRlc3RhYmxlKQogICAgIHJldHVybjsKIAot
ICBjb25zdCBleHBlY3RUeXBlRXJyb3IgPSBUeXBlRXJyb3IucHJvdG90eXBlOworICBjb25zdCBl
eHBlY3RUeXBlRXJyb3IgPSB0ZXN0V2luZG93LlR5cGVFcnJvcjsKICAgLy8gRm9sbG93aW5nIGVy
cm9ycyBhcmUgRE9NRXhjZXB0aW9uLCBub3QgSmF2YVNjcmlwdCBlcnJvcnMuCiAgIGNvbnN0IGV4
cGVjdFN5bnRheEVycm9yID0gJ1NZTlRBWF9FUlInOwogICBjb25zdCBleHBlY3ROb3RTdXBwb3J0
ZWRFcnJvciA9ICdOT1RfU1VQUE9SVEVEX0VSUic7CkBAIC0zMywxMiArMzMsMTIgQEAKICAgLy8g
MS4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsCiAgIC8vIHRoZW4gdGhy
b3cgYSBUeXBlRXJyb3IgYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogICB0ZXN0KCgpID0+ICB7Ci0g
ICAgYXNzZXJ0X3Rocm93cyhleHBlY3RUeXBlRXJyb3IsICgpID0+ICB7CisgICAgYXNzZXJ0X3Ro
cm93c19qcyhleHBlY3RUeXBlRXJyb3IsICgpID0+ICB7CiAgICAgICBjdXN0b21FbGVtZW50cy5k
ZWZpbmUoKTsKICAgICB9KTsKICAgfSwgJ0lmIG5vIGFyZ3VtZW50cywgc2hvdWxkIHRocm93IGEg
VHlwZUVycm9yJyk7CiAgIHRlc3QoKCkgPT4gIHsKLSAgICBhc3NlcnRfdGhyb3dzKGV4cGVjdFR5
cGVFcnJvciwgKCkgPT4gIHsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKGV4cGVjdFR5cGVFcnJvciwg
KCkgPT4gIHsKICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1kZWZpbmUtb25lLWFy
ZycpOwogICAgIH0pOwogICB9LCAnSWYgb25lIGFyZ3VtZW50LCBzaG91bGQgdGhyb3cgYSBUeXBl
RXJyb3InKTsKQEAgLTUxLDcgKzUxLDcgQEAKICAgICBbICdtZXRob2QnLCAoeyBtKCkgeyB9IH0p
Lm0gXSwgLy8gSXNDb25zdHJ1Y3RvciByZXR1cm5zIGZhbHNlIGZvciBtZXRob2RzCiAgIF0uZm9y
RWFjaCh0ID0+ICB7CiAgICAgdGVzdCgoKSA9PiAgewotICAgICAgYXNzZXJ0X3Rocm93cyhleHBl
Y3RUeXBlRXJyb3IsICgpID0+ICB7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKGV4cGVjdFR5cGVF
cnJvciwgKCkgPT4gIHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKGB0ZXN0LWRlZmlu
ZS1jb25zdHJ1Y3Rvci0ke3RbMF19YCwgdFsxXSk7CiAgICAgICB9KTsKICAgICB9LCBgSWYgY29u
c3RydWN0b3IgaXMgJHt0WzBdfSwgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yYCk7CkBAIC0xMDUs
NyArMTA1LDcgQEAKICAgfSk7CiAgIGludmFsaWRDdXN0b21FbGVtZW50TmFtZXMuZm9yRWFjaChu
YW1lID0+ICB7CiAgICAgdGVzdCgoKSA9PiAgewotICAgICAgYXNzZXJ0X3Rocm93cyhleHBlY3RT
eW50YXhFcnJvciwgKCkgPT4gIHsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKGV4cGVjdFN5bnRh
eEVycm9yLCB0ZXN0V2luZG93LkRPTUV4Y2VwdGlvbiwgKCkgPT4gIHsKICAgICAgICAgY3VzdG9t
RWxlbWVudHMuZGVmaW5lKG5hbWUsIGNsYXNzIHt9KTsKICAgICAgIH0pOwogICAgIH0sIGBFbGVt
ZW50IG5hbWVzOiBkZWZpbmluZyBhbiBlbGVtZW50IG5hbWVkICR7bmFtZX0gc2hvdWxkIHRocm93
IGEgU3ludGF4RXJyb3JgKTsKQEAgLTExNSw3ICsxMTUsNyBAQAogICAvLyB0aGVuIHRocm93IGEg
Tm90U3VwcG9ydGVkRXJyb3IgYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogICB0ZXN0KCgpID0+ICB7
CiAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRlZmluZS1kdXAtbmFtZScsIGNsYXNz
IHt9KTsKLSAgICBhc3NlcnRfdGhyb3dzKGV4cGVjdE5vdFN1cHBvcnRlZEVycm9yLCAoKSA9PiAg
eworICAgIGFzc2VydF90aHJvd3NfZG9tKGV4cGVjdE5vdFN1cHBvcnRlZEVycm9yLCB0ZXN0V2lu
ZG93LkRPTUV4Y2VwdGlvbiwgKCkgPT4gIHsKICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgn
dGVzdC1kZWZpbmUtZHVwLW5hbWUnLCBjbGFzcyB7fSk7CiAgICAgfSk7CiAgIH0sICdJZiB0aGUg
bmFtZSBpcyBhbHJlYWR5IGRlZmluZWQsIHNob3VsZCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9y
Jyk7CkBAIC0xMjUsNyArMTI1LDcgQEAKICAgdGVzdCgoKSA9PiAgewogICAgIGNsYXNzIFRlc3RE
dXBDb25zdHJ1Y3RvciB7fTsKICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5l
LWR1cC1jb25zdHJ1Y3RvcicsIFRlc3REdXBDb25zdHJ1Y3Rvcik7Ci0gICAgYXNzZXJ0X3Rocm93
cyhleHBlY3ROb3RTdXBwb3J0ZWRFcnJvciwgKCkgPT4gIHsKKyAgICBhc3NlcnRfdGhyb3dzX2Rv
bShleHBlY3ROb3RTdXBwb3J0ZWRFcnJvciwgdGVzdFdpbmRvdy5ET01FeGNlcHRpb24sICgpID0+
ICB7CiAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZGVmaW5lLWR1cC1jdG9yMics
IFRlc3REdXBDb25zdHJ1Y3Rvcik7CiAgICAgfSk7CiAgIH0sICdJZiB0aGUgY29uc3RydWN0b3Ig
aXMgYWxyZWFkeSBkZWZpbmVkLCBzaG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvcicpOwpA
QCAtMTM0LDcgKzEzNCw3IEBACiAgIC8vIHRoZW4gdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvci4K
ICAgdmFsaWRDdXN0b21FbGVtZW50TmFtZXMuZm9yRWFjaChuYW1lID0+ICB7CiAgICAgdGVzdCgo
KSA9PiAgewotICAgICAgYXNzZXJ0X3Rocm93cyhleHBlY3ROb3RTdXBwb3J0ZWRFcnJvciwgKCkg
PT4gIHsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKGV4cGVjdE5vdFN1cHBvcnRlZEVycm9yLCB0
ZXN0V2luZG93LkRPTUV4Y2VwdGlvbiwgKCkgPT4gIHsKICAgICAgICAgY3VzdG9tRWxlbWVudHMu
ZGVmaW5lKCd0ZXN0LWRlZmluZS1leHRlbmQtdmFsaWQtbmFtZScsIGNsYXNzIHt9LCB7IGV4dGVu
ZHM6IG5hbWUgfSk7CiAgICAgICB9KTsKICAgICB9LCBgSWYgZXh0ZW5kcyBpcyAke25hbWV9LCBz
aG91bGQgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvcmApOwpAQCAtMTU0LDIwICsxNTQsMjAgQEAK
ICAgICAnZWxlbWVudG5hbWV0b2JldW5rbm93bmVsZW1lbnQnLAogICBdLmZvckVhY2gobmFtZSA9
PiAgewogICAgIHRlc3QoKCkgPT4gIHsKLSAgICAgIGFzc2VydF90aHJvd3MoZXhwZWN0Tm90U3Vw
cG9ydGVkRXJyb3IsICgpID0+ICB7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbShleHBlY3ROb3RT
dXBwb3J0ZWRFcnJvciwgdGVzdFdpbmRvdy5ET01FeGNlcHRpb24sICgpID0+ICB7CiAgICAgICAg
IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1kZWZpbmUtZXh0ZW5kLScgKyBuYW1lLCBjbGFz
cyB7fSwgeyBleHRlbmRzOiBuYW1lIH0pOwogICAgICAgfSk7CiAgICAgfSwgYElmIGV4dGVuZHMg
aXMgJHtuYW1lfSwgc2hvdWxkIHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3JgKTsKICAgfSk7CiAK
ICAgLy8gMTIuMS4gTGV0IHByb3RvdHlwZSBiZSBHZXQoY29uc3RydWN0b3IsICJwcm90b3R5cGUi
KS4gUmV0aHJvdyBhbnkgZXhjZXB0aW9ucy4KKyAgY29uc3QgZXJyID0gbmV3IEVycm9yKCdjaGVj
ayB0aGlzIGlzIHJldGhyb3duJyk7CisgIGVyci5uYW1lID0gJ3JldGhyb3duJzsKICAgZnVuY3Rp
b24gYXNzZXJ0X3JldGhyb3duKGZ1bmMsIGRlc2NyaXB0aW9uKSB7Ci0gICAgYXNzZXJ0X3Rocm93
cyh7IG5hbWU6ICdyZXRocm93bicgfSwgZnVuYywgZGVzY3JpcHRpb24pOworICAgIGFzc2VydF90
aHJvd3NfZXhhY3RseShlcnIsIGZ1bmMsIGRlc2NyaXB0aW9uKTsKICAgfQogICBmdW5jdGlvbiB0
aHJvd19yZXRocm93bl9lcnJvcigpIHsKLSAgICBjb25zdCBlID0gbmV3IEVycm9yKCdjaGVjayB0
aGlzIGlzIHJldGhyb3duJyk7Ci0gICAgZS5uYW1lID0gJ3JldGhyb3duJzsKLSAgICB0aHJvdyBl
OworICAgIHRocm93IGVycjsKICAgfQogICB0ZXN0KCgpID0+ICB7CiAgICAgLy8gSGFjayBmb3Ig
cHJvdG90eXBlIHRvIHRocm93IHdoaWxlIElzQ29uc3RydWN0b3IgaXMgdHJ1ZS4KQEAgLTE4NCwx
NCArMTg0LDE0IEBACiAgIC8vIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICB0
ZXN0KCgpID0+ICB7CiAgICAgY29uc3QgYyA9IChmdW5jdGlvbiAoKSB7IH0pLmJpbmQoe30pOyAv
LyBwcm90b3R5cGUgaXMgdW5kZWZpbmVkLgotICAgIGFzc2VydF90aHJvd3MoZXhwZWN0VHlwZUVy
cm9yLCAoKSA9PiAgeworICAgIGFzc2VydF90aHJvd3NfanMoZXhwZWN0VHlwZUVycm9yLCAoKSA9
PiAgewogICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRlZmluZS1jb25zdHJ1Y3Rv
ci1wcm90b3R5cGUtdW5kZWZpbmVkJywgYyk7CiAgICAgfSk7CiAgIH0sICdJZiBUeXBlKGNvbnN0
cnVjdG9yLnByb3RvdHlwZSkgaXMgdW5kZWZpbmVkLCBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3In
KTsKICAgdGVzdCgoKSA9PiAgewogICAgIGZ1bmN0aW9uIGMoKSB7fTsKICAgICBjLnByb3RvdHlw
ZSA9ICdzdHJpbmcnOwotICAgIGFzc2VydF90aHJvd3MoZXhwZWN0VHlwZUVycm9yLCAoKSA9PiAg
eworICAgIGFzc2VydF90aHJvd3NfanMoZXhwZWN0VHlwZUVycm9yLCAoKSA9PiAgewogICAgICAg
Y3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWRlZmluZS1jb25zdHJ1Y3Rvci1wcm90b3R5cGUt
c3RyaW5nJywgYyk7CiAgICAgfSk7CiAgIH0sICdJZiBUeXBlKGNvbnN0cnVjdG9yLnByb3RvdHlw
ZSkgaXMgc3RyaW5nLCBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3InKTsKQEAgLTIzMiw3ICsyMzIs
NyBAQAogICAgICAgICBpZiAoZGF0YS5zdWNjZXNzKSB7CiAgICAgICAgICAgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKGB0ZXN0LWRlZmluZS0ke25hbWUudG9Mb3dlckNhc2UoKX0tJHtkYXRhLm5hbWV9
YCwgQyk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgYXNzZXJ0X3Rocm93cyhleHBlY3RU
eXBlRXJyb3IsICgpID0+IHsKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKGV4cGVjdFR5cGVF
cnJvciwgKCkgPT4gewogICAgICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKGB0ZXN0LWRl
ZmluZS0ke25hbWUudG9Mb3dlckNhc2UoKX0tJHtkYXRhLm5hbWV9YCwgQyk7CiAgICAgICAgICAg
fSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbWl6ZWQtYnVpbHQtaW4tY29uc3Ry
dWN0b3ItZXhjZXB0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b21pemVkLWJ1aWx0LWluLWNv
bnN0cnVjdG9yLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1NmE0YzY3ZDU5
NThiNTExYzBkYWVjNDQzMWJmNjU1NDExNzNhZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0
b21pemVkLWJ1aWx0LWluLWNvbnN0cnVjdG9yLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTUgQEAKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBUaGUgc3VwZXJjbGFzcyBp
cyBub3QgYSBjb25zdHJ1Y3Rvci4KK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBUaGUgc3Vw
ZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9y
OiBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0NPTlNPTEUgTUVTU0FHRTog
VHlwZUVycm9yOiBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0NPTlNPTEUg
TUVTU0FHRTogVHlwZUVycm9yOiBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4K
KworCisgIAorCitGQUlMIEFwcGVuZGluZyBjaGlsZHJlbiBpbiBjdXN0b21pemVkIGJ1aWx0LWlu
IGNvbnN0cnVjdG9yIHNob3VsZCB3b3JrIENhbm5vdCBhY2Nlc3MgdW5pbml0aWFsaXplZCB2YXJp
YWJsZS4KK0ZBSUwgVGhyb3dpbmcgZXhjZXB0aW9uIGluIGN1c3RvbWl6ZWQgYnVpbHQtaW4gY29u
c3RydWN0b3Igc2hvdWxkIG5vdCBjcmFzaCBhbmQgc2hvdWxkIHJldHVybiBjb3JyZWN0IGVsZW1l
bnQgdHlwZSAodmlkZW8pIENhbm5vdCBhY2Nlc3MgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KK0ZB
SUwgVGhyb3dpbmcgZXhjZXB0aW9uIGluIGN1c3RvbWl6ZWQgYnVpbHQtaW4gY29uc3RydWN0b3Ig
c2hvdWxkIG5vdCBjcmFzaCBhbmQgc2hvdWxkIHJldHVybiBjb3JyZWN0IGVsZW1lbnQgdHlwZSAo
Zm9ybSkgQ2Fubm90IGFjY2VzcyB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgorRkFJTCBNYWtlIHN1
cmUgY3VzdG9taXplZCA8aW5wdXQ+IGVsZW1lbnQgZG9lc250IGNyYXNoIENhbm5vdCBhY2Nlc3Mg
dW5pbml0aWFsaXplZCB2YXJpYWJsZS4KK0ZBSUwgTWFrZSBzdXJlIGN1c3RvbWl6ZWQgPGlucHV0
PiBlbGVtZW50IHRoYXQgc2V0cyBhdHRyaWJ1dGVzIGRvZXNudCBjcmFzaCBDYW5ub3QgYWNjZXNz
IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbWl6ZWQtYnVp
bHQtaW4tY29uc3RydWN0b3ItZXhjZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9taXplZC1idWlsdC1p
bi1jb25zdHJ1Y3Rvci1leGNlcHRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjljNDQwZmU1OTQzZGE0
ODU4NGMzZWUzZTIwMTY1MzlmYTMyOTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbWl6
ZWQtYnVpbHQtaW4tY29uc3RydWN0b3ItZXhjZXB0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTA3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgY29u
c3RydWN0b3IgYmVoYXZpb3I8L3RpdGxlPgorPG1ldGEgbmFtZT0nYXV0aG9yJyB0aXRsZT0nTWFz
b24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNvbmZyZWVkQGNocm9taXVtLm9yZyc+Cis8bGluayBy
ZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1jcmVh
dGUtZWxlbWVudCc+Cis8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9z
Y3JpcHQ+CisKKzxzY3JpcHQ+CitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uIDogdHJ1
ZX0pOworCitjbGFzcyBNeUN1c3RvbVBhcmFncmFwaCBleHRlbmRzIEhUTUxQYXJhZ3JhcGhFbGVt
ZW50IHsKKyAgY29uc3RydWN0b3IoKSB7CisgICAgc3VwZXIoKTsKKyAgICB0aGlzLnRleHRDb250
ZW50ID0gJ1BBU1MnOworICB9Cit9CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2N1c3RvbS1wJywg
TXlDdXN0b21QYXJhZ3JhcGgsIHsgZXh0ZW5kczogJ3AnIH0pOworPC9zY3JpcHQ+Cis8cCBpZD10
YXJnZXRwIGlzPSdjdXN0b20tcCc+PC9wPgorPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIGxldCB0
YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0cCcpOworICBhc3NlcnRfdHJ1
ZSghIXRhcmdldCk7CisgIGFzc2VydF9lcXVhbHModGFyZ2V0LmxvY2FsTmFtZSwgJ3AnKTsKKyAg
YXNzZXJ0X3RydWUodGFyZ2V0IGluc3RhbmNlb2YgTXlDdXN0b21QYXJhZ3JhcGgpOworICBhc3Nl
cnRfdHJ1ZSh0YXJnZXQgaW5zdGFuY2VvZiBIVE1MUGFyYWdyYXBoRWxlbWVudCk7CisgIGFzc2Vy
dF9lcXVhbHModGFyZ2V0LmNoaWxkTm9kZXMubGVuZ3RoLCAxKTsKKyAgYXNzZXJ0X2VxdWFscyh0
YXJnZXQudGV4dENvbnRlbnQsICdQQVNTJyk7Cit9LCAnQXBwZW5kaW5nIGNoaWxkcmVuIGluIGN1
c3RvbWl6ZWQgYnVpbHQtaW4gY29uc3RydWN0b3Igc2hvdWxkIHdvcmsnKTsKKzwvc2NyaXB0Pgor
CisKKzxzY3JpcHQ+CitjbGFzcyBNeUN1c3RvbVZpZGVvIGV4dGVuZHMgSFRNTFZpZGVvRWxlbWVu
dCB7CisgIGNvbnN0cnVjdG9yKCkgeworICBzdXBlcigpOworICB0aHJvdyBuZXcgRXJyb3IoKTsK
KyAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20tdmlkZW8nLCBNeUN1c3RvbVZp
ZGVvLCB7IGV4dGVuZHM6ICd2aWRlbycgfSk7Cis8L3NjcmlwdD4KKzx2aWRlbyBpZD10YXJnZXR2
aWRlbyBpcz0nY3VzdG9tLXZpZGVvJz4gPHNvdXJjZT48L3NvdXJjZT4gPC92aWRlbz4KKzxzY3Jp
cHQ+Cit0ZXN0KHQgPT4geworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3RhcmdldHZpZGVvJyk7CisgIGFzc2VydF90cnVlKCEhdGFyZ2V0KTsKKyAgYXNzZXJ0X2VxdWFs
cyh0YXJnZXQubG9jYWxOYW1lLCAndmlkZW8nKTsKKyAgYXNzZXJ0X3RydWUodGFyZ2V0IGluc3Rh
bmNlb2YgTXlDdXN0b21WaWRlbyk7CisgIGFzc2VydF90cnVlKHRhcmdldCBpbnN0YW5jZW9mIEhU
TUxWaWRlb0VsZW1lbnQpOworICBhc3NlcnRfZXF1YWxzKHRhcmdldC5jaGlsZHJlbi5sZW5ndGgs
IDEpOworfSwgJ1Rocm93aW5nIGV4Y2VwdGlvbiBpbiBjdXN0b21pemVkIGJ1aWx0LWluIGNvbnN0
cnVjdG9yIHNob3VsZCBub3QgY3Jhc2ggYW5kIHNob3VsZCByZXR1cm4gY29ycmVjdCBlbGVtZW50
IHR5cGUgKHZpZGVvKScpOworPC9zY3JpcHQ+CisKKworPHNjcmlwdD4KK2NsYXNzIE15Q3VzdG9t
Rm9ybSBleHRlbmRzIEhUTUxGb3JtRWxlbWVudCB7CisgIGNvbnN0cnVjdG9yKCkgeworICBzdXBl
cigpOworICB0aHJvdyBuZXcgRXJyb3IoKTsKKyAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCdjdXN0b20tZm9ybScsIE15Q3VzdG9tRm9ybSwgeyBleHRlbmRzOiAnZm9ybScgfSk7Cis8L3Nj
cmlwdD4KKzxmb3JtIGlkPXRhcmdldGZvcm0gaXM9J2N1c3RvbS1mb3JtJz4gPGxhYmVsPjwvbGFi
ZWw+PGlucHV0PiA8L2Zvcm0+Cis8c2NyaXB0PgordGVzdCh0ID0+IHsKKyAgbGV0IHRhcmdldCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXRmb3JtJyk7CisgIGFzc2VydF90cnVlKCEh
dGFyZ2V0KTsKKyAgYXNzZXJ0X2VxdWFscyh0YXJnZXQubG9jYWxOYW1lLCAnZm9ybScpOworICBh
c3NlcnRfdHJ1ZSh0YXJnZXQgaW5zdGFuY2VvZiBNeUN1c3RvbUZvcm0pOworICBhc3NlcnRfdHJ1
ZSh0YXJnZXQgaW5zdGFuY2VvZiBIVE1MRm9ybUVsZW1lbnQpOworICBhc3NlcnRfZXF1YWxzKHRh
cmdldC5jaGlsZHJlbi5sZW5ndGgsIDIpOworfSwgJ1Rocm93aW5nIGV4Y2VwdGlvbiBpbiBjdXN0
b21pemVkIGJ1aWx0LWluIGNvbnN0cnVjdG9yIHNob3VsZCBub3QgY3Jhc2ggYW5kIHNob3VsZCBy
ZXR1cm4gY29ycmVjdCBlbGVtZW50IHR5cGUgKGZvcm0pJyk7Cis8L3NjcmlwdD4KKworPHNjcmlw
dD4KK2NsYXNzIE15SW5wdXQgZXh0ZW5kcyBIVE1MSW5wdXRFbGVtZW50IHsgfTsKK2N1c3RvbUVs
ZW1lbnRzLmRlZmluZSgnbXktaW5wdXQnLCBNeUlucHV0LCB7IGV4dGVuZHM6ICdpbnB1dCcgfSk7
Cis8L3NjcmlwdD4KKzxpbnB1dCBpZD1jdXN0b21pemVkLWlucHV0IGlzPSdteS1pbnB1dCc+Cis8
c2NyaXB0PgordGVzdCh0ID0+IHsKKyAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY3VzdG9taXplZC1pbnB1dCcpOworICBhc3NlcnRfdHJ1ZShpbnB1dCBpbnN0YW5jZW9m
IE15SW5wdXQpOworICBhc3NlcnRfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1l
bnQpOworfSwgJ01ha2Ugc3VyZSBjdXN0b21pemVkIDxpbnB1dD4gZWxlbWVudCBkb2VzbnQgY3Jh
c2gnKTsKKzwvc2NyaXB0PgorCisKKzxzY3JpcHQ+CitjbGFzcyBNeUlucHV0QXR0cnMgZXh0ZW5k
cyBIVE1MSW5wdXRFbGVtZW50IHsKKyAgY29uc3RydWN0b3IoKSB7CisgICAgc3VwZXIoKTsKKyAg
ICB0aGlzLnNldEF0dHJpYnV0ZSgnZm9vJywgJ2JhcicpOworICB9Cit9CitjdXN0b21FbGVtZW50
cy5kZWZpbmUoJ215LWlucHV0LWF0dHInLCBNeUlucHV0QXR0cnMsIHsgZXh0ZW5kczogJ2lucHV0
JyB9KTsKKzwvc2NyaXB0PgorPGlucHV0IGlkPWN1c3RvbWl6ZWQtaW5wdXQtYXR0ciBpcz0nbXkt
aW5wdXQtYXR0cic+Cis8c2NyaXB0PgordGVzdCh0ID0+IHsKKyAgY29uc3QgaW5wdXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnY3VzdG9taXplZC1pbnB1dC1hdHRyJyk7CisgIGFzc2VydF90
cnVlKGlucHV0IGluc3RhbmNlb2YgTXlJbnB1dEF0dHJzKTsKKyAgYXNzZXJ0X3RydWUoaW5wdXQg
aW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KTsKKyAgYXNzZXJ0X2VxdWFscyhpbnB1dC5nZXRB
dHRyaWJ1dGUoJ2ZvbycpLCdiYXInKTsKK30sICdNYWtlIHN1cmUgY3VzdG9taXplZCA8aW5wdXQ+
IGVsZW1lbnQgdGhhdCBzZXRzIGF0dHJpYnV0ZXMgZG9lc250IGNyYXNoJyk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL2VucXVldWUtY3VzdG9tLWVsZW1lbnQtY2FsbGJhY2stcmVhY3Rpb25z
LWluc2lkZS1hbm90aGVyLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2VucXVldWUtY3VzdG9t
LWVsZW1lbnQtY2FsbGJhY2stcmVhY3Rpb25zLWluc2lkZS1hbm90aGVyLWNhbGxiYWNrLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNTE4OThjNTgzNjMyY2QyMDQ2ODM2MzNhN2NlYWJiYmIxMDYz
YmZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZW5xdWV1ZS1jdXN0b20tZWxlbWVudC1jYWxsYmFj
ay1yZWFjdGlvbnMtaW5zaWRlLWFub3RoZXItY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTAgQEAKKworUEFTUyBEaXNjb25uZWN0aW5nIGFuIGVsZW1lbnQgd2l0aCBkaXNjb25uZWN0
ZWRDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9t
IGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCByZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJhY2sg
Z2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgcmVtb3ZhbCBjb21wbGV0ZXMgCitQQVNTIERpc2Nv
bm5lY3RpbmcgYW4gZWxlbWVudCB3aXRob3V0IGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoaWxlIGl0
IGhhcyBhIGNvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBx
dWV1ZSBtdXN0IG5vdCByZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2Vk
IGJlZm9yZSB0aGUgcmVtb3ZhbCBjb21wbGV0ZXMgCitQQVNTIENvbm5lY3RpbmcgYSBlbGVtZW50
IHdpdGggY29ubmVjdGVkQ2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgZGlzY29ubmVjdGVkQ2FsbGJh
Y2sgaW4gaXRzIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3QgcmVzdWx0IGluIGRp
c2Nvbm5lY3RlZENhbGxiYWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIGluc2VydGlvbiBj
b21wbGV0ZXMgCitQQVNTIENvbm5lY3RpbmcgYW4gZWxlbWVudCB3aXRob3V0IGNvbm5lY3RlZENh
bGxiYWNrIHdoaWxlIGl0IGhhcyBhIGRpc2Nvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20g
ZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IG5vdCByZXN1bHQgaW4gZGlzY29ubmVjdGVkQ2Fs
bGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgaW5zZXJ0aW9uIGNvbXBsZXRlcyAKK1BB
U1MgQWRvcHRpbmcgYW4gZWxlbWVudCB3aXRoIGFkb3B0aW5nQ2FsbGJhY2sgd2hpbGUgaXQgaGFz
IGEgY29ubmVjdGVkQ2FsbGJhY2sgaW4gaXRzIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVl
IG11c3QgcmVzdWx0IGluIGNvbm5lY3RlZENhbGxiYWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUg
dGhlIGFkb3B0aW9uIGNvbXBsZXRlcyAKK1BBU1MgQWRvcHRpbmcgYW4gZWxlbWVudCB3aXRob3V0
IGFkb3B0aW5nQ2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgY29ubmVjdGVkQ2FsbGJhY2sgaW4gaXRz
IGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3Qgbm90IHJlc3VsdCBpbiBjb25uZWN0
ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBhZG9wdGlvbiBjb21wbGV0ZXMg
CitQQVNTIFNldHRpbmcgYW4gb2JzZXJ2ZWQgYXR0cmlidXRlIG9uIGFuIGVsZW1lbnQgd2l0aCBh
dHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgY29ubmVjdGVkQ2FsbGJhY2sg
aW4gaXRzIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3QgcmVzdWx0IGluIGNvbm5l
Y3RlZENhbGxiYWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIGF0dHJpYnV0ZSBjaGFuZ2Ug
Y29tcGxldGVzIAorUEFTUyBTZXR0aW5nIGFuIG9ic2VydmVkIGF0dHJpYnV0ZSBvbiBhbiBlbGVt
ZW50IHdpdGggYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGNvbm5lY3Rl
ZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IG5vdCBy
ZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgYXR0
cmlidXRlIGNoYW5nZSBjb21wbGV0ZXMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2VucXVldWUtY3VzdG9t
LWVsZW1lbnQtY2FsbGJhY2stcmVhY3Rpb25zLWluc2lkZS1hbm90aGVyLWNhbGxiYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9lbnF1ZXVlLWN1c3RvbS1lbGVtZW50LWNhbGxiYWNrLXJlYWN0aW9ucy1pbnNpZGUtYW5v
dGhlci1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmZDkzMmYyOWEzYmFlM2U4MGVlOTBhMTk5
NmMxZDI1ZWE3OTM0Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9lbnF1ZXVlLWN1c3RvbS1lbGVt
ZW50LWNhbGxiYWNrLXJlYWN0aW9ucy1pbnNpZGUtYW5vdGhlci1jYWxsYmFjay5odG1sCkBAIC0w
LDAgKzEsMjIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q3Vz
dG9tIEVsZW1lbnRzOiBtdXN0IGVucXVldWUgYW4gZWxlbWVudCBvbiB0aGUgYXBwcm9wcmlhdGUg
ZWxlbWVudCBxdWV1ZSBhZnRlciBjaGVja2luZyBjYWxsYmFjayBpcyBudWxsIGFuZCB0aGUgYXR0
cmlidXRlIG5hbWU8L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBO
aXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQi
IGNvbnRlbnQ9IlRvIGVucXVldWUgYSBjdXN0b20gZWxlbWVudCBjYWxsYmFjayByZWFjdGlvbiwg
dGhlIGNhbGxiYWNrIG11c3QgYmUgY2hlY2tlZCBvZiBiZWluZyBudWxsIGFuZCB3aGV0aGVyIHRo
ZSBhdHRyaWJ1dGUgbmFtZSBpcyBvYnNlcnZlZCBvciBub3QiPgorPGxpbmsgcmVsPSJoZWxwIiBj
b250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jdXN0b20tZWxl
bWVudHMuaHRtbCNlbnF1ZXVlLWEtY3VzdG9tLWVsZW1lbnQtY2FsbGJhY2stcmVhY3Rpb24iPgor
PGxpbmsgcmVsPSJoZWxwIiBjb250ZW50PSJodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYmNvbXBv
bmVudHMvaXNzdWVzLzc2MCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKwordGVzdF93aXRo
X3dpbmRvdygoY29udGVudFdpbmRvdywgY29udGVudERvY3VtZW50KSA9PiB7CisgICAgY2xhc3Mg
UGFyZW50RWxlbWVudCBleHRlbmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1lbnQgeworICAgICAg
ICBjb25uZWN0ZWRDYWxsYmFjaygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxvZ3MucHVzaCgn
YmVnaW4nKTsKKyAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gdGhpcy5maXJzdENoaWxkOworICAg
ICAgICAgICAgY2hpbGQucmVtb3ZlKCk7CisgICAgICAgICAgICBsb2dzLnB1c2goJ2VuZCcpOwor
ICAgICAgICB9CisgICAgfQorICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCdwYXJlbnQtZWxlbWVudCcsIFBhcmVudEVsZW1lbnQpOworCisgICAgY29uc3QgbG9ncyA9IFtd
OworICAgIGNsYXNzIENoaWxkRWxlbWVudCBleHRlbmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1l
bnQgeworICAgICAgICBjb25uZWN0ZWRDYWxsYmFjaygpIHsgbG9ncy5wdXNoKCdjb25uZWN0ZWQn
KTsgfQorICAgICAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHsgbG9ncy5wdXNoKCdkaXNjb25u
ZWN0ZWQnKTsgfQorICAgIH0KKyAgICBjb250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmlu
ZSgnY2hpbGQtZWxlbWVudCcsIENoaWxkRWxlbWVudCk7CisKKyAgICBjb25zdCBwYXJlbnQgPSBu
ZXcgUGFyZW50RWxlbWVudDsKKyAgICBjb25zdCBjaGlsZCA9IG5ldyBDaGlsZEVsZW1lbnQ7Cisg
ICAgcGFyZW50LmFwcGVuZENoaWxkKGNoaWxkKTsKKworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHBhcmVudCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dzLCBbJ2Jl
Z2luJywgJ2Nvbm5lY3RlZCcsICdkaXNjb25uZWN0ZWQnLCAnZW5kJ10pOworfSwgJ0Rpc2Nvbm5l
Y3RpbmcgYW4gZWxlbWVudCB3aXRoIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBh
IGNvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBt
dXN0IHJlc3VsdCBpbiBjb25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRo
ZSByZW1vdmFsIGNvbXBsZXRlcycpOworCit0ZXN0X3dpdGhfd2luZG93KChjb250ZW50V2luZG93
LCBjb250ZW50RG9jdW1lbnQpID0+IHsKKyAgICBjbGFzcyBQYXJlbnRFbGVtZW50IGV4dGVuZHMg
Y29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkK
KyAgICAgICAgeworICAgICAgICAgICAgbG9ncy5wdXNoKCdiZWdpbicpOworICAgICAgICAgICAg
Y29uc3QgY2hpbGQgPSB0aGlzLmZpcnN0Q2hpbGQ7CisgICAgICAgICAgICBjaGlsZC5yZW1vdmUo
KTsKKyAgICAgICAgICAgIGxvZ3MucHVzaCgnZW5kJyk7CisgICAgICAgIH0KKyAgICB9CisgICAg
Y29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3BhcmVudC1lbGVtZW50JywgUGFy
ZW50RWxlbWVudCk7CisKKyAgICBjb25zdCBsb2dzID0gW107CisgICAgY2xhc3MgQ2hpbGRFbGVt
ZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAgICAgIGNvbm5lY3Rl
ZENhbGxiYWNrKCkgeyBsb2dzLnB1c2goJ2Nvbm5lY3RlZCcpOyB9CisgICAgfQorICAgIGNvbnRl
bnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjaGlsZC1lbGVtZW50JywgQ2hpbGRFbGVt
ZW50KTsKKworICAgIGNvbnN0IHBhcmVudCA9IG5ldyBQYXJlbnRFbGVtZW50OworICAgIGNvbnN0
IGNoaWxkID0gbmV3IENoaWxkRWxlbWVudDsKKyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQp
OworCisgICAgY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKyAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGxvZ3MsIFsnYmVnaW4nLCAnZW5kJywgJ2Nvbm5lY3RlZCddKTsK
K30sICdEaXNjb25uZWN0aW5nIGFuIGVsZW1lbnQgd2l0aG91dCBkaXNjb25uZWN0ZWRDYWxsYmFj
ayB3aGlsZSBpdCBoYXMgYSBjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9tIGVsZW1lbnQg
cmVhY3Rpb24gcXVldWUgbXVzdCBub3QgcmVzdWx0IGluIGNvbm5lY3RlZENhbGxiYWNrIGdldHRp
bmcgaW52b2tlZCBiZWZvcmUgdGhlIHJlbW92YWwgY29tcGxldGVzJyk7CisKK3Rlc3Rfd2l0aF93
aW5kb3coKGNvbnRlbnRXaW5kb3csIGNvbnRlbnREb2N1bWVudCkgPT4geworICAgIGNsYXNzIFBh
cmVudEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKKyAgICAgICAg
ZGlzY29ubmVjdGVkQ2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAgICBsb2dzLnB1c2go
J2JlZ2luJyk7CisgICAgICAgICAgICBjb250ZW50RG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0
aGlzLmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgbG9ncy5wdXNoKCdlbmQnKTsKKyAgICAgICAg
fQorICAgIH0KKyAgICBjb250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgncGFyZW50
LWVsZW1lbnQnLCBQYXJlbnRFbGVtZW50KTsKKworICAgIGNvbnN0IGxvZ3MgPSBbXTsKKyAgICBj
bGFzcyBDaGlsZEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKKyAg
ICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnY29ubmVjdGVkJyk7IH0KKyAg
ICAgICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnZGlzY29ubmVjdGVkJyk7
IH0KKyAgICB9CisgICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2NoaWxk
LWVsZW1lbnQnLCBDaGlsZEVsZW1lbnQpOworCisgICAgY29uc3QgcGFyZW50ID0gbmV3IFBhcmVu
dEVsZW1lbnQ7CisgICAgY29uc3QgY2hpbGQgPSBuZXcgQ2hpbGRFbGVtZW50OworICAgIHBhcmVu
dC5hcHBlbmRDaGlsZChjaGlsZCk7CisgICAgY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocGFyZW50KTsKKyAgICBwYXJlbnQucmVtb3ZlKCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhsb2dzLCBbJ2Nvbm5lY3RlZCcsICdiZWdpbicsICdkaXNjb25uZWN0ZWQnLCAnY29ubmVjdGVk
JywgJ2VuZCddKTsKK30sICdDb25uZWN0aW5nIGEgZWxlbWVudCB3aXRoIGNvbm5lY3RlZENhbGxi
YWNrIHdoaWxlIGl0IGhhcyBhIGRpc2Nvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxl
bWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IHJlc3VsdCBpbiBkaXNjb25uZWN0ZWRDYWxsYmFjayBn
ZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBpbnNlcnRpb24gY29tcGxldGVzJyk7CisKK3Rlc3Rf
d2l0aF93aW5kb3coKGNvbnRlbnRXaW5kb3csIGNvbnRlbnREb2N1bWVudCkgPT4geworICAgIGNs
YXNzIFBhcmVudEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKKyAg
ICAgICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAgICBsb2dz
LnB1c2goJ2JlZ2luJyk7CisgICAgICAgICAgICBjb250ZW50RG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZCh0aGlzLmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgbG9ncy5wdXNoKCdlbmQnKTsKKyAg
ICAgICAgfQorICAgIH0KKyAgICBjb250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgn
cGFyZW50LWVsZW1lbnQnLCBQYXJlbnRFbGVtZW50KTsKKworICAgIGNvbnN0IGxvZ3MgPSBbXTsK
KyAgICBjbGFzcyBDaGlsZEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50
IHsKKyAgICAgICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnZGlzY29ubmVj
dGVkJyk7IH0KKyAgICB9CisgICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUo
J2NoaWxkLWVsZW1lbnQnLCBDaGlsZEVsZW1lbnQpOworCisgICAgY29uc3QgcGFyZW50ID0gbmV3
IFBhcmVudEVsZW1lbnQ7CisgICAgY29uc3QgY2hpbGQgPSBuZXcgQ2hpbGRFbGVtZW50OworICAg
IHBhcmVudC5hcHBlbmRDaGlsZChjaGlsZCk7CisgICAgY29udGVudERvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocGFyZW50KTsKKyAgICBwYXJlbnQucmVtb3ZlKCk7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhsb2dzLCBbJ2JlZ2luJywgJ2VuZCcsICdkaXNjb25uZWN0ZWQnXSk7Cit9LCAnQ29u
bmVjdGluZyBhbiBlbGVtZW50IHdpdGhvdXQgY29ubmVjdGVkQ2FsbGJhY2sgd2hpbGUgaXQgaGFz
IGEgZGlzY29ubmVjdGVkQ2FsbGJhY2sgaW4gaXRzIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1
ZXVlIG11c3Qgbm90IHJlc3VsdCBpbiBkaXNjb25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9r
ZWQgYmVmb3JlIHRoZSBpbnNlcnRpb24gY29tcGxldGVzJyk7CisKK3Rlc3Rfd2l0aF93aW5kb3co
KGNvbnRlbnRXaW5kb3csIGNvbnRlbnREb2N1bWVudCkgPT4geworICAgIGNsYXNzIFBhcmVudEVs
ZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKKyAgICAgICAgY29ubmVj
dGVkQ2FsbGJhY2soKQorICAgICAgICB7CisgICAgICAgICAgICBsb2dzLnB1c2goJ2JlZ2luJyk7
CisgICAgICAgICAgICBkb2N1bWVudC5hZG9wdE5vZGUodGhpcy5maXJzdENoaWxkKTsKKyAgICAg
ICAgICAgIGxvZ3MucHVzaCgnZW5kJyk7CisgICAgICAgIH0KKyAgICB9CisgICAgY29udGVudFdp
bmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3BhcmVudC1lbGVtZW50JywgUGFyZW50RWxlbWVu
dCk7CisKKyAgICBjb25zdCBsb2dzID0gW107CisgICAgY2xhc3MgQ2hpbGRFbGVtZW50IGV4dGVu
ZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAgICAgIGFkb3B0ZWRDYWxsYmFjaygp
IHsgbG9ncy5wdXNoKCdhZG9wdGVkJyk7IH0KKyAgICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7
IGxvZ3MucHVzaCgnY29ubmVjdGVkJyk7IH0KKyAgICB9CisgICAgY29udGVudFdpbmRvdy5jdXN0
b21FbGVtZW50cy5kZWZpbmUoJ2NoaWxkLWVsZW1lbnQnLCBDaGlsZEVsZW1lbnQpOworCisgICAg
Y29uc3QgcGFyZW50ID0gbmV3IFBhcmVudEVsZW1lbnQ7CisgICAgY29uc3QgY2hpbGQgPSBuZXcg
Q2hpbGRFbGVtZW50OworICAgIHBhcmVudC5hcHBlbmRDaGlsZChjaGlsZCk7CisgICAgY29udGVu
dERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKGxvZ3MsIFsnYmVnaW4nLCAnY29ubmVjdGVkJywgJ2Fkb3B0ZWQnLCAnZW5kJ10pOworfSwg
J0Fkb3B0aW5nIGFuIGVsZW1lbnQgd2l0aCBhZG9wdGluZ0NhbGxiYWNrIHdoaWxlIGl0IGhhcyBh
IGNvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBt
dXN0IHJlc3VsdCBpbiBjb25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRo
ZSBhZG9wdGlvbiBjb21wbGV0ZXMnKTsKKwordGVzdF93aXRoX3dpbmRvdygoY29udGVudFdpbmRv
dywgY29udGVudERvY3VtZW50KSA9PiB7CisgICAgY2xhc3MgUGFyZW50RWxlbWVudCBleHRlbmRz
IGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1lbnQgeworICAgICAgICBjb25uZWN0ZWRDYWxsYmFjaygp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGxvZ3MucHVzaCgnYmVnaW4nKTsKKyAgICAgICAgICAg
IGRvY3VtZW50LmFkb3B0Tm9kZSh0aGlzLmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgbG9ncy5w
dXNoKCdlbmQnKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBjb250ZW50V2luZG93LmN1c3RvbUVs
ZW1lbnRzLmRlZmluZSgncGFyZW50LWVsZW1lbnQnLCBQYXJlbnRFbGVtZW50KTsKKworICAgIGNv
bnN0IGxvZ3MgPSBbXTsKKyAgICBjbGFzcyBDaGlsZEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2lu
ZG93LkhUTUxFbGVtZW50IHsKKyAgICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVz
aCgnY29ubmVjdGVkJyk7IH0KKyAgICB9CisgICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50
cy5kZWZpbmUoJ2NoaWxkLWVsZW1lbnQnLCBDaGlsZEVsZW1lbnQpOworCisgICAgY29uc3QgcGFy
ZW50ID0gbmV3IFBhcmVudEVsZW1lbnQ7CisgICAgY29uc3QgY2hpbGQgPSBuZXcgQ2hpbGRFbGVt
ZW50OworICAgIHBhcmVudC5hcHBlbmRDaGlsZChjaGlsZCk7CisgICAgY29udGVudERvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ3Ms
IFsnYmVnaW4nLCAnZW5kJywgJ2Nvbm5lY3RlZCddKTsKK30sICdBZG9wdGluZyBhbiBlbGVtZW50
IHdpdGhvdXQgYWRvcHRpbmdDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBjb25uZWN0ZWRDYWxsYmFj
ayBpbiBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCBub3QgcmVzdWx0IGlu
IGNvbm5lY3RlZENhbGxiYWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIGFkb3B0aW9uIGNv
bXBsZXRlcycpOworCit0ZXN0X3dpdGhfd2luZG93KChjb250ZW50V2luZG93LCBjb250ZW50RG9j
dW1lbnQpID0+IHsKKyAgICBjbGFzcyBQYXJlbnRFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRv
dy5IVE1MRWxlbWVudCB7CisgICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkKKyAgICAgICAgewor
ICAgICAgICAgICAgbG9ncy5wdXNoKCdiZWdpbicpOworICAgICAgICAgICAgdGhpcy5maXJzdENo
aWxkLnNldEF0dHJpYnV0ZSgndGl0bGUnLCAnZm9vJyk7CisgICAgICAgICAgICBsb2dzLnB1c2go
J2VuZCcpOworICAgICAgICB9CisgICAgfQorICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCdwYXJlbnQtZWxlbWVudCcsIFBhcmVudEVsZW1lbnQpOworCisgICAgY29uc3Qg
bG9ncyA9IFtdOworICAgIGNsYXNzIENoaWxkRWxlbWVudCBleHRlbmRzIGNvbnRlbnRXaW5kb3cu
SFRNTEVsZW1lbnQgeworICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soKSB7IGxvZ3Mu
cHVzaCgnYXR0cmlidXRlQ2hhbmdlZCcpOyB9CisgICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkg
eyBsb2dzLnB1c2goJ2Nvbm5lY3RlZCcpOyB9CisgICAgICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZWRB
dHRyaWJ1dGVzKCkgeyByZXR1cm4gWyd0aXRsZSddOyB9CisgICAgfQorICAgIGNvbnRlbnRXaW5k
b3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjaGlsZC1lbGVtZW50JywgQ2hpbGRFbGVtZW50KTsK
KworICAgIGNvbnN0IHBhcmVudCA9IG5ldyBQYXJlbnRFbGVtZW50OworICAgIGNvbnN0IGNoaWxk
ID0gbmV3IENoaWxkRWxlbWVudDsKKyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOworICAg
IGNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhsb2dzLCBbJ2JlZ2luJywgJ2Nvbm5lY3RlZCcsICdhdHRyaWJ1dGVDaGFuZ2Vk
JywgJ2VuZCddKTsKK30sICdTZXR0aW5nIGFuIG9ic2VydmVkIGF0dHJpYnV0ZSBvbiBhbiBlbGVt
ZW50IHdpdGggYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGNvbm5lY3Rl
ZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IHJlc3Vs
dCBpbiBjb25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBhdHRyaWJ1
dGUgY2hhbmdlIGNvbXBsZXRlcycpOworCit0ZXN0X3dpdGhfd2luZG93KChjb250ZW50V2luZG93
LCBjb250ZW50RG9jdW1lbnQpID0+IHsKKyAgICBjbGFzcyBQYXJlbnRFbGVtZW50IGV4dGVuZHMg
Y29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7CisgICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkK
KyAgICAgICAgeworICAgICAgICAgICAgbG9ncy5wdXNoKCdiZWdpbicpOworICAgICAgICAgICAg
dGhpcy5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgnbGFuZycsICdlbicpOworICAgICAgICAgICAg
bG9ncy5wdXNoKCdlbmQnKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBjb250ZW50V2luZG93LmN1
c3RvbUVsZW1lbnRzLmRlZmluZSgncGFyZW50LWVsZW1lbnQnLCBQYXJlbnRFbGVtZW50KTsKKwor
ICAgIGNvbnN0IGxvZ3MgPSBbXTsKKyAgICBjbGFzcyBDaGlsZEVsZW1lbnQgZXh0ZW5kcyBjb250
ZW50V2luZG93LkhUTUxFbGVtZW50IHsKKyAgICAgICAgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNr
KCkgeyBsb2dzLnB1c2goJ2F0dHJpYnV0ZUNoYW5nZWQnKTsgfQorICAgICAgICBjb25uZWN0ZWRD
YWxsYmFjaygpIHsgbG9ncy5wdXNoKCdjb25uZWN0ZWQnKTsgfQorICAgICAgICBzdGF0aWMgZ2V0
IG9ic2VydmVkQXR0cmlidXRlcygpIHsgcmV0dXJuIFsndGl0bGUnXTsgfQorICAgIH0KKyAgICBj
b250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnY2hpbGQtZWxlbWVudCcsIENoaWxk
RWxlbWVudCk7CisKKyAgICBjb25zdCBwYXJlbnQgPSBuZXcgUGFyZW50RWxlbWVudDsKKyAgICBj
b25zdCBjaGlsZCA9IG5ldyBDaGlsZEVsZW1lbnQ7CisgICAgcGFyZW50LmFwcGVuZENoaWxkKGNo
aWxkKTsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworICAg
IGFzc2VydF9hcnJheV9lcXVhbHMobG9ncywgWydiZWdpbicsICdlbmQnLCAnY29ubmVjdGVkJ10p
OworfSwgJ1NldHRpbmcgYW4gb2JzZXJ2ZWQgYXR0cmlidXRlIG9uIGFuIGVsZW1lbnQgd2l0aCBh
dHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgY29ubmVjdGVkQ2FsbGJhY2sg
aW4gaXRzIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3Qgbm90IHJlc3VsdCBpbiBj
b25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBhdHRyaWJ1dGUgY2hh
bmdlIGNvbXBsZXRlcycpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLU5vdFN1cHBvcnRlZEVycm9y
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLU5vdFN1
cHBvcnRlZEVycm9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTY3MjUxM2RhYjY4OTI3YTE3
MjY2Yjg3ZDhmMjM2NGY0OTgwZTYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lh
dGVkL0VsZW1lbnRJbnRlcm5hbHMtTm90U3VwcG9ydGVkRXJyb3ItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMyBAQAorCitGQUlMIEZvcm0tcmVsYXRlZCBvcGVyYXRpb25zIGFuZCBhdHRyaWJ1dGVz
IHNob3VsZCB0aHJvdyBOb3RTdXBwb3J0ZWRFcnJvcnMgZm9yIG5vbi1mb3JtLWFzc29jaWF0ZWQg
Y3VzdG9tIGVsZW1lbnRzLiBlbGVtZW50LmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlbGVtZW50LmF0dGFjaEludGVybmFscygpJywgJ2VsZW1lbnQuYXR0YWNoSW50ZXJu
YWxzJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVt
ZW50SW50ZXJuYWxzLU5vdFN1cHBvcnRlZEVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQv
RWxlbWVudEludGVybmFscy1Ob3RTdXBwb3J0ZWRFcnJvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxYmU3
MTgzYzFlMGE4NDU2YWRlNDZkZTNlY2VhNDE2NmY4OTg4ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1Ob3RTdXBwb3J0ZWRFcnJvci5odG1s
CkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdCgoKSA9
PiB7CisgIGNsYXNzIE5vdEZvcm1Bc3NvY2lhdGVkRWxlbWVudCBleHRlbmRzIEhUTUxFbGVtZW50
IHt9CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnbXktZWxlbWVudDEnLCBOb3RGb3JtQXNzb2Np
YXRlZEVsZW1lbnQpOworICBjb25zdCBlbGVtZW50ID0gbmV3IE5vdEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCgpOworICBjb25zdCBpID0gZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMoKTsKKworICBhc3Nl
cnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiBpLnNldEZvcm1WYWx1ZSgn
JykpOworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiBpLmZv
cm0pOworICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiBpLnNl
dFZhbGlkaXR5KHt9KSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdOb3RTdXBwb3J0ZWRFcnJvcics
ICgpID0+IGkud2lsbFZhbGlkYXRlKTsKKyAgYXNzZXJ0X3Rocm93c19kb20oJ05vdFN1cHBvcnRl
ZEVycm9yJywgKCkgPT4gaS52YWxpZGl0eSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdOb3RTdXBw
b3J0ZWRFcnJvcicsICgpID0+IGkudmFsaWRhdGlvbk1lc3NhZ2UpOworICBhc3NlcnRfdGhyb3dz
X2RvbSgnTm90U3VwcG9ydGVkRXJyb3InLCAoKSA9PiBpLmNoZWNrVmFsaWRpdHkoKSk7CisgIGFz
c2VydF90aHJvd3NfZG9tKCdOb3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IGkucmVwb3J0VmFsaWRp
dHkoKSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdOb3RTdXBwb3J0ZWRFcnJvcicsICgpID0+IGku
bGFiZWxzKTsKK30sICdGb3JtLXJlbGF0ZWQgb3BlcmF0aW9ucyBhbmQgYXR0cmlidXRlcyBzaG91
bGQgdGhyb3cgTm90U3VwcG9ydGVkRXJyb3JzJyArCisgICAgICcgZm9yIG5vbi1mb3JtLWFzc29j
aWF0ZWQgY3VzdG9tIGVsZW1lbnRzLicpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1hY2Nlc3NpYmlsaXR5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLWFjY2Vzc2liaWxp
dHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2ZWVkZDAyZDIwNDUwZmZjOWY3NTg4NDBhZWI3
YmRhZjJjOGYyN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVu
dEludGVybmFscy1hY2Nlc3NpYmlsaXR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NP
TlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJu
YWxzJyBpcyB1bmRlZmluZWQpCisKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlw
ZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlz
LmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQp
CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtYWNj
ZXNzaWJpbGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtYWNj
ZXNzaWJpbGl0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwNzMyMGJiODc5ODIwYmZkZTQ3NzkzN2YzNTlk
MWUxMTMyYWM3NGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVu
dEludGVybmFscy1hY2Nlc3NpYmlsaXR5Lmh0bWwKQEAgLTAsMCArMSw3OCBAQAorPCFET0NUWVBF
IEhUTUw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorY2xhc3MgVGVzdEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgIGNv
bnN0cnVjdG9yKCkgeworICAgIHN1cGVyKCk7CisgICAgdGhpcy5faW50ZXJuYWxzID0gdGhpcy5h
dHRhY2hJbnRlcm5hbHMoKTsKKyAgfQorCisgIGdldCBpbnRlcm5hbHMoKSB7CisgICAgcmV0dXJu
IHRoaXMuX2ludGVybmFsczsKKyAgfQorCisgIHNldCBpbnRlcm5hbHModmFsKSB7CisgICAgdGhy
b3cgIkNhbid0IHNldCBpbnRlcm5hbHMhIjsKKyAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCJ0ZXN0LWVsZW1lbnQiLCBUZXN0RWxlbWVudCk7Cis8L3NjcmlwdD4KKworPHRlc3QtZWxlbWVu
dCBpZD0gInRlc3RFbGVtZW50Ij48L3Rlc3QtZWxlbWVudD4KKworPHNjcmlwdD4KK2NvbnN0IGVs
ZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEVsZW1lbnQiKTsKK2NvbnN0IHBy
b3BlcnRpZXMgPSBbCisgICJyb2xlIiwKKyAgImFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCIs
CisgICJhcmlhQXRvbWljIiwKKyAgImFyaWFBdXRvQ29tcGxldGUiLAorICAiYXJpYUJ1c3kiLAor
ICAiYXJpYUNoZWNrZWQiLAorICAiYXJpYUNvbENvdW50IiwKKyAgImFyaWFDb2xJbmRleCIsCisg
ICJhcmlhQ29sU3BhbiIsCisgICJhcmlhQ29udHJvbHNFbGVtZW50cyIsCisgICJhcmlhQ3VycmVu
dCIsCisgICJhcmlhRGVzY3JpYmVkQnlFbGVtZW50cyIsCisgICJhcmlhRGV0YWlsc0VsZW1lbnRz
IiwKKyAgImFyaWFEaXNhYmxlZCIsCisgICJhcmlhRXJyb3JNZXNzYWdlRWxlbWVudCIsCisgICJh
cmlhRXhwYW5kZWQiLAorICAiYXJpYUZsb3dUb0VsZW1lbnRzIiwKKyAgImFyaWFIYXNQb3B1cCIs
CisgICJhcmlhSGlkZGVuIiwKKyAgImFyaWFLZXlTaG9ydGN1dHMiLAorICAiYXJpYUxhYmVsIiwK
KyAgImFyaWFMYWJlbGxlZEJ5RWxlbWVudHMiLAorICAiYXJpYUxldmVsIiwKKyAgImFyaWFMaXZl
IiwKKyAgImFyaWFNb2RhbCIsCisgICJhcmlhTXVsdGlMaW5lIiwKKyAgImFyaWFNdWx0aVNlbGVj
dGFibGUiLAorICAiYXJpYU9yaWVudGF0aW9uIiwKKyAgImFyaWFPd25zRWxlbWVudHMiLAorICAi
YXJpYVBsYWNlaG9sZGVyIiwKKyAgImFyaWFQb3NJblNldCIsCisgICJhcmlhUHJlc3NlZCIsCisg
ICJhcmlhUmVhZE9ubHkiLAorICAiYXJpYVJlbGV2YW50IiwKKyAgImFyaWFSZXF1aXJlZCIsCisg
ICJhcmlhUm9sZURlc2NyaXB0aW9uIiwKKyAgImFyaWFSb3dDb3VudCIsCisgICJhcmlhUm93SW5k
ZXgiLAorICAiYXJpYVJvd1NwYW4iLAorICAiYXJpYVNlbGVjdGVkIiwKKyAgImFyaWFTb3J0IiwK
KyAgImFyaWFWYWx1ZU1heCIsCisgICJhcmlhVmFsdWVNaW4iLAorICAiYXJpYVZhbHVlTm93IiwK
KyAgImFyaWFWYWx1ZVRleHQiCitdOworZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVz
KSB7CisgIHRlc3QoKCkgPT4geworICAgIGFzc2VydF9pbmhlcml0cyhlbGVtZW50LmludGVybmFs
cywgcHJvcGVydHkpOworICB9LCBwcm9wZXJ0eSArICIgaXMgZGVmaW5lZCBpbiBFbGVtZW50SW50
ZXJuYWxzIik7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9F
bGVtZW50SW50ZXJuYWxzLWxhYmVscy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQv
RWxlbWVudEludGVybmFscy1sYWJlbHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiZWM2NDA5
OWVhNmY3YmMxM2Q4ZjE2OGQ2ODFiM2EwYWNjN2RjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9m
b3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1sYWJlbHMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJu
YWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhp
cy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVy
cm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0
dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCisK
K0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiB0aGlzLmF0dGFjaElu
dGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywg
J3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCisKK0ZBSUwgTEFCRUwgYXNzb2Np
YXRpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxteS1jb250cm9sPjwv
bXktY29udHJvbD4gYnV0IGdvdCBudWxsCitGQUlMIExBQkVMIGNsaWNrIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9F
bGVtZW50SW50ZXJuYWxzLWxhYmVscy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJ
bnRlcm5hbHMtbGFiZWxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRlMGEwNDU3ZWYzNWJiZjNkZTdlMmNm
ZjA5NjUwYTViNDgxYjVkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9F
bGVtZW50SW50ZXJuYWxzLWxhYmVscy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHRpdGxlPmxhYmVscyBhdHRyaWJ1dGUgb2YgRWxlbWVudEludGVybmFscywgYW5kIGxh
YmVsIGFzc29jaWF0aW9uPC90aXRsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KKzxz
Y3JpcHQ+CitjbGFzcyBNeUNvbnRyb2wgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgIHN0YXRpYyBn
ZXQgZm9ybUFzc29jaWF0ZWQoKSB7IHJldHVybiB0cnVlOyB9CisKKyAgY29uc3RydWN0b3IoKSB7
CisgICAgc3VwZXIoKTsKKyAgICB0aGlzLmludGVybmFsc18gPSB0aGlzLmF0dGFjaEludGVybmFs
cygpOworICB9CisgIGdldCBpKCkgeyByZXR1cm4gdGhpcy5pbnRlcm5hbHNfOyB9Cit9CitjdXN0
b21FbGVtZW50cy5kZWZpbmUoJ215LWNvbnRyb2wnLCBNeUNvbnRyb2wpOworY29uc3QgY29udGFp
bmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2NvbnRhaW5lcicpOworCit0ZXN0KCgpID0+
IHsKKyAgY29udGFpbmVyLmlubmVySFRNTCA9ICc8bGFiZWw+PHNwYW4+PG15LWNvbnRyb2w+PC9t
eS1jb250cm9sPjwvc3Bhbj48L2xhYmVsPic7CisgIGxldCBsYWJlbCA9IGNvbnRhaW5lci5xdWVy
eVNlbGVjdG9yKCdsYWJlbCcpOworICBsZXQgY29udHJvbCA9IGNvbnRhaW5lci5xdWVyeVNlbGVj
dG9yKCdteS1jb250cm9sJyk7CisgIGFzc2VydF9lcXVhbHMobGFiZWwuY29udHJvbCwgY29udHJv
bCk7CisgIGFzc2VydF90cnVlKGNvbnRyb2wuaS5sYWJlbHMgaW5zdGFuY2VvZiBOb2RlTGlzdCk7
CisgIGFzc2VydF9hcnJheV9lcXVhbHMoY29udHJvbC5pLmxhYmVscywgW2xhYmVsXSk7CisKKyAg
Y29udGFpbmVyLmlubmVySFRNTCA9ICc8bGFiZWwgZm9yPSJtYyI+PC9sYWJlbD48Zm9ybT48bXkt
Y29udHJvbCBpZD0ibWMiPjwvbXktY29udHJvbD48L2Zvcm0+JzsKKyAgbGFiZWwgPSBjb250YWlu
ZXIucXVlcnlTZWxlY3RvcignbGFiZWwnKTsKKyAgY29udHJvbCA9IGNvbnRhaW5lci5xdWVyeVNl
bGVjdG9yKCdteS1jb250cm9sJyk7CisgIGFzc2VydF9lcXVhbHMobGFiZWwuY29udHJvbCwgY29u
dHJvbCk7CisgIGFzc2VydF9lcXVhbHMobGFiZWwuZm9ybSwgY29udHJvbC5pLmZvcm0pOworICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGNvbnRyb2wuaS5sYWJlbHMsIFtsYWJlbF0pOworCisgIGNvbnRh
aW5lci5pbm5lckhUTUwgPSAnPGxhYmVsIGZvcj0ibWMiPjwvbGFiZWw+PGxhYmVsIGZvcj0ibWMi
PjxteS1jb250cm9sIGlkPSJtYyI+JzsKKyAgY29uc3QgbGFiZWxzID0gY29udGFpbmVyLnF1ZXJ5
U2VsZWN0b3JBbGwoJ2xhYmVsJyk7CisgIGNvbnRyb2wgPSBjb250YWluZXIucXVlcnlTZWxlY3Rv
cignbXktY29udHJvbCcpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNvbnRyb2wuaS5sYWJlbHMs
IGxhYmVscyk7Cit9LCAnTEFCRUwgYXNzb2NpYXRpb24nKTsKKwordGVzdCgoKSA9PiB7CisgIGNv
bnRhaW5lci5pbm5lckhUTUwgPSAnPGxhYmVsIGZvcj0ibWMiPjwvbGFiZWw+PGZvcm0+PG15LWNv
bnRyb2wgaWQ9Im1jIj48L215LWNvbnRyb2w+PC9mb3JtPic7CisgIGNvbnN0IGNvbnRyb2wgPSBj
b250YWluZXIucXVlcnlTZWxlY3RvcignbXktY29udHJvbCcpOworICBsZXQgY2xpY2tDb3VudCA9
IDA7CisgIGNvbnRyb2wuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHsgKytjbGlja0Nv
dW50OyB9KTsKKyAgY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJykuY2xpY2soKTsKKyAg
YXNzZXJ0X2VxdWFscyhjbGlja0NvdW50LCAxKTsKK30sICdMQUJFTCBjbGljaycpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVy
bmFscy1zZXRGb3JtVmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1l
bnRJbnRlcm5hbHMtc2V0Rm9ybVZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YThkOTU2
YTIyNTYxNTIwOGM4Y2IxNmEzOGRmYTYzMTg4ZGM2ZDUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
Zm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtc2V0Rm9ybVZhbHVlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDIwIEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRh
Y2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMo
KScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdF
OiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVm
aW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0
YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjog
dGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09M
RSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMn
IGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaElu
dGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywg
J3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5
cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVk
KQorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlz
LmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVy
bmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCisKKworSGFybmVz
cyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5h
dHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKKworUEFTUyBTaW5nbGUgdmFsdWUgLSBuYW1l
IGlzIG1pc3NpbmcgCitGQUlMIFNpbmdsZSB2YWx1ZSAtIGVtcHR5IG5hbWUgZXhpc3RzIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9y
bVZhbHVlJykKK0ZBSUwgU2luZ2xlIHZhbHVlIC0gTm9uLWVtcHR5IG5hbWUgZXhpc3RzIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9y
bVZhbHVlJykKK0ZBSUwgTnVsbCB2YWx1ZSBzaG91bGQgc3VibWl0IG5vdGhpbmcgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFs
dWUnKQorRkFJTCBNdWx0aXBsZSB2YWx1ZXMgLSBuYW1lIGNvbnRlbnQgYXR0cmlidXRlIGlzIGln
bm9yZWQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJu
YWxzXy5zZXRGb3JtVmFsdWUnKQorRkFJTCBzZXRGb3JtVmFsdWUgd2l0aCBhbiBlbXB0eSBGb3Jt
RGF0YSBzaG91bGQgc3VibWl0IG5vdGhpbmcgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1zZXRGb3JtVmFsdWUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLXNldEZvcm1WYWx1ZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI4Y2YzZWMzZDBhNjExN2FmZGUwMTQyNTNhOWE2OGY4ZGUwZWI3ZjIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1zZXRGb3JtVmFs
dWUuaHRtbApAQCAtMCwwICsxLDEyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJjb250YWluZXIi
PjwvZGl2PgorPHNjcmlwdD4KK2NsYXNzIE15Q29udHJvbCBleHRlbmRzIEhUTUxFbGVtZW50IHsK
KyAgc3RhdGljIGdldCBmb3JtQXNzb2NpYXRlZCgpIHsgcmV0dXJuIHRydWU7IH0KKworICBjb25z
dHJ1Y3RvcigpIHsKKyAgICBzdXBlcigpOworICAgIHRoaXMuaW50ZXJuYWxzXyA9IHRoaXMuYXR0
YWNoSW50ZXJuYWxzKCk7CisgICAgdGhpcy52YWx1ZV8gPSAnJzsKKyAgfQorCisgIGdldCB2YWx1
ZSgpIHsKKyAgICByZXR1cm4gdGhpcy52YWx1ZV87CisgIH0KKyAgc2V0IHZhbHVlKHYpIHsKKyAg
ICB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKHYpOworICAgIHRoaXMudmFsdWVfID0gdjsK
KyAgfQorICBzZXRWYWx1ZXMobmFtZVZhbHVlcykgeworICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3
IEZvcm1EYXRhKCk7CisgICAgZm9yIChsZXQgcCBvZiBuYW1lVmFsdWVzKSB7CisgICAgICBmb3Jt
RGF0YS5hcHBlbmQocFswXSwgcFsxXSk7CisgICAgfQorICAgIHRoaXMuaW50ZXJuYWxzXy5zZXRG
b3JtVmFsdWUoZm9ybURhdGEpOworICB9Cit9CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ215LWNv
bnRyb2wnLCBNeUNvbnRyb2wpOworY29uc3QgJCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IuYmlu
ZChkb2N1bWVudCk7CisKK2Z1bmN0aW9uIHN1Ym1pdFByb21pc2UodCkgeworICByZXR1cm4gbmV3
IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgIGNvbnN0IGlmcmFtZSA9ICQoJ2lm
cmFtZScpOworICAgIGlmcmFtZS5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKGlmcmFtZS5jb250ZW50
V2luZG93LmxvY2F0aW9uLnNlYXJjaCk7CisgICAgaWZyYW1lLm9uZXJyb3IgPSAoKSA9PiByZWpl
Y3QobmV3IEVycm9yKCdpZnJhbWUgb25lcnJvciBmaXJlZCcpKTsKKyAgICAkKCdmb3JtJykuc3Vi
bWl0KCk7CisgIH0pOworfQorCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICQoJyNjb250YWluZXIn
KS5pbm5lckhUTUwgPSAnPGZvcm0gYWN0aW9uPSIvY29tbW9uL2JsYW5rLmh0bWwiIHRhcmdldD0i
aWYxIj4nICsKKyAgICAgICc8aW5wdXQgbmFtZT1uYW1lLXBkMSB2YWx1ZT0idmFsdWUtcGQxIj4n
ICsKKyAgICAgICc8bXktY29udHJvbD48L215LWNvbnRyb2w+JyArCisgICAgICAnPC9mb3JtPicg
KworICAgICAgJzxpZnJhbWUgbmFtZT0iaWYxIj48L2lmcmFtZT4nOworICByZXR1cm4gc3VibWl0
UHJvbWlzZSh0KS50aGVuKHF1ZXJ5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHF1ZXJ5LCAnP25h
bWUtcGQxPXZhbHVlLXBkMScpOworICB9KTsKK30sICdTaW5nbGUgdmFsdWUgLSBuYW1lIGlzIG1p
c3NpbmcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAkKCcjY29udGFpbmVyJykuaW5uZXJI
VE1MID0gJzxmb3JtIGFjdGlvbj0iL2NvbW1vbi9ibGFuay5odG1sIiB0YXJnZXQ9ImlmMSI+JyAr
CisgICAgICAnPGlucHV0IG5hbWU9bmFtZS1wZDEgdmFsdWU9InZhbHVlLXBkMSI+JyArCisgICAg
ICAnPG15LWNvbnRyb2wgbmFtZT0iIj48L215LWNvbnRyb2w+JyArCisgICAgICAnPGlucHV0IG5h
bWU9bmFtZS1wZDIgdmFsdWU9InZhbHVlLXBkMiI+JyArCisgICAgICAnPC9mb3JtPicgKworICAg
ICAgJzxpZnJhbWUgbmFtZT0iaWYxIj48L2lmcmFtZT4nOworICAkKCdteS1jb250cm9sJykudmFs
dWUgPSAndmFsdWUtY2UxJzsKKyAgcmV0dXJuIHN1Ym1pdFByb21pc2UodCkudGhlbihxdWVyeSA9
PiB7CisgICAgYXNzZXJ0X2VxdWFscyhxdWVyeSwgJz9uYW1lLXBkMT12YWx1ZS1wZDEmbmFtZS1w
ZDI9dmFsdWUtcGQyJyk7CisgIH0pOworfSwgJ1NpbmdsZSB2YWx1ZSAtIGVtcHR5IG5hbWUgZXhp
c3RzJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgJCgnI2NvbnRhaW5lcicpLmlubmVySFRN
TCA9ICc8Zm9ybSBhY3Rpb249Ii9jb21tb24vYmxhbmsuaHRtbCIgdGFyZ2V0PSJpZjEiIGFjY2Vw
dC1jaGFyc2V0PXV0Zi04PicgKworICAgICAgJzxpbnB1dCBuYW1lPW5hbWUtcGQxIHZhbHVlPSJ2
YWx1ZS1wZDEiPicgKworICAgICAgJzxteS1jb250cm9sIG5hbWU9Im5hbWUtY2UxIj48L215LWNv
bnRyb2w+JyArCisgICAgICAnPG15LWNvbnRyb2wgbmFtZT0ibmFtZS11c3YiPjwvbXktY29udHJv
bD4nICsKKyAgICAgICc8bXktY29udHJvbCBuYW1lPSJuYW1lLWZpbGUiPjwvbXktY29udHJvbD4n
ICsKKyAgICAgICc8L2Zvcm0+JyArCisgICAgICAnPGlmcmFtZSBuYW1lPSJpZjEiPjwvaWZyYW1l
Pic7CisgIGNvbnN0IFVTVl9JTlBVVCA9ICdhYmNcdURDMDBcdUQ4MDBkZWYnOworICBjb25zdCBV
U1ZfT1VUUFVUID0gJ2FiY1x1RkZGRFx1RkZGRGRlZic7CisgIGNvbnN0IEZJTEVfTkFNRSA9ICd0
ZXN0X2ZpbGUudHh0JzsKKyAgJCgnW25hbWU9bmFtZS11c3ZdJykudmFsdWUgPSBVU1ZfSU5QVVQ7
CisgICQoJ1tuYW1lPW5hbWUtZmlsZV0nKS52YWx1ZSA9IG5ldyBGaWxlKFsnZmlsZSBjb250ZW50
J10sIEZJTEVfTkFNRSk7CisgIHJldHVybiBzdWJtaXRQcm9taXNlKHQpLnRoZW4ocXVlcnkgPT4g
eworICAgIGFzc2VydF9lcXVhbHMocXVlcnksIGA/bmFtZS1wZDE9dmFsdWUtcGQxJm5hbWUtdXN2
PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFVTVl9PVVRQVVQpfSZuYW1lLWZpbGU9JHtGSUxFX05BTUV9
YCk7CisgIH0pOworfSwgJ1NpbmdsZSB2YWx1ZSAtIE5vbi1lbXB0eSBuYW1lIGV4aXN0cycpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgICQoJyNjb250YWluZXInKS5pbm5lckhUTUwgPSAnPGZv
cm0gYWN0aW9uPSIvY29tbW9uL2JsYW5rLmh0bWwiIHRhcmdldD0iaWYxIj4nICsKKyAgICAgICc8
aW5wdXQgbmFtZT1uYW1lLXBkMSB2YWx1ZT0idmFsdWUtcGQxIj4nICsKKyAgICAgICc8bXktY29u
dHJvbCBuYW1lPSJuYW1lLWNlMSI+PC9teS1jb250cm9sPicgKworICAgICAgJzxteS1jb250cm9s
IG5hbWU9Im5hbWUtY2UyIj48L215LWNvbnRyb2w+JyArCisgICAgICAnPC9mb3JtPicgKworICAg
ICAgJzxpZnJhbWUgbmFtZT0iaWYxIj48L2lmcmFtZT4nOworICAkKCdteS1jb250cm9sJykudmFs
dWUgPSBudWxsOworICByZXR1cm4gc3VibWl0UHJvbWlzZSh0KS50aGVuKHF1ZXJ5ID0+IHsKKyAg
ICBhc3NlcnRfZXF1YWxzKHF1ZXJ5LCAnP25hbWUtcGQxPXZhbHVlLXBkMScpOworICB9KTsKK30s
ICdOdWxsIHZhbHVlIHNob3VsZCBzdWJtaXQgbm90aGluZycpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgICQoJyNjb250YWluZXInKS5pbm5lckhUTUwgPSAnPGZvcm0gYWN0aW9uPSIvY29tbW9u
L2JsYW5rLmh0bWwiIHRhcmdldD0iaWYxIj4nICsKKyAgICAgICc8aW5wdXQgbmFtZT1uYW1lLXBk
MSB2YWx1ZT0idmFsdWUtcGQxIj4nICsKKyAgICAgICc8bXktY29udHJvbCBuYW1lPW5hbWUtY2Ux
PjwvbXktY29udHJvbD4nICsKKyAgICAgICc8L2Zvcm0+JyArCisgICAgICAnPGlmcmFtZSBuYW1l
PSJpZjEiPjwvaWZyYW1lPic7CisgICQoJ215LWNvbnRyb2wnKS52YWx1ZSA9ICd2YWx1ZS1jZTEn
OworICAkKCdteS1jb250cm9sJykuc2V0VmFsdWVzKFtdKTsKKyAgJCgnbXktY29udHJvbCcpLnNl
dFZhbHVlcyhbWydzdWIxJywgJ3N1YnZhbHVlMSddLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbJ3N1YjInLCAnc3VidmFsdWUyJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFsnc3ViMicsICdzdWJ2YWx1ZTMnXV0pOworICByZXR1cm4gc3VibWl0UHJvbWlzZSh0KS50aGVu
KHF1ZXJ5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHF1ZXJ5LCAnP25hbWUtcGQxPXZhbHVlLXBk
MSZzdWIxPXN1YnZhbHVlMSZzdWIyPXN1YnZhbHVlMiZzdWIyPXN1YnZhbHVlMycpOworICB9KTsK
K30sICdNdWx0aXBsZSB2YWx1ZXMgLSBuYW1lIGNvbnRlbnQgYXR0cmlidXRlIGlzIGlnbm9yZWQn
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAkKCcjY29udGFpbmVyJykuaW5uZXJIVE1MID0g
Jzxmb3JtIGFjdGlvbj0iL2NvbW1vbi9ibGFuay5odG1sIiB0YXJnZXQ9ImlmMSI+JyArCisgICAg
ICAnPGlucHV0IG5hbWU9bmFtZS1wZDEgdmFsdWU9InZhbHVlLXBkMSI+JyArCisgICAgICAnPG15
LWNvbnRyb2wgbmFtZT1uYW1lLWNlMT48L215LWNvbnRyb2w+JyArCisgICAgICAnPC9mb3JtPicg
KworICAgICAgJzxpZnJhbWUgbmFtZT0iaWYxIj48L2lmcmFtZT4nOworICAkKCdteS1jb250cm9s
JykudmFsdWUgPSAndmFsdWUtY2UxJzsKKyAgJCgnbXktY29udHJvbCcpLnNldFZhbHVlcyhbXSk7
CisgIHJldHVybiBzdWJtaXRQcm9taXNlKHQpLnRoZW4ocXVlcnkgPT4geworICAgIGFzc2VydF9l
cXVhbHMocXVlcnksICc/bmFtZS1wZDE9dmFsdWUtcGQxJyk7CisgIH0pOworfSwgJ3NldEZvcm1W
YWx1ZSB3aXRoIGFuIGVtcHR5IEZvcm1EYXRhIHNob3VsZCBzdWJtaXQgbm90aGluZycpOworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy12
YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJu
YWxzLXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1OTEwNjhkYzg2Y2NlOWY3
YTRkNGY5Zjk3ZjQ0Mjk5ZGQwYmZkMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29j
aWF0ZWQvRWxlbWVudEludGVybmFscy12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIwIEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0
dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6
IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0NPTlNP
TEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
JyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJ
bnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScs
ICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdFOiBU
eXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5l
ZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCisgCisKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1
bmRlZmluZWQpCisKK0ZBSUwgd2lsbFZhbGlkYXRlIHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgdmFsaWRpdHkgYW5kIHNldFZhbGlkaXR5KCkg
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2NvbnRyb2wuaS52YWxpZGl0
eScpCitGQUlMICJhbmNob3IiIGFyZ3VtZW50IG9mIHNldFZhbGlkaXR5KCkgYXNzZXJ0X3Rocm93
c19kb206IE5vdCBhIGRlc2NlbmRhbnQgZnVuY3Rpb24gIigpID0+IHsKKyAgICBjb250cm9sLmku
c2V0VmFsaWRpdHkoZmxhZ3MsIG0sIGRvY3VtZW50LmJvZHkpOworICB9IiB0aHJldyBvYmplY3Qg
IlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2NvbnRy
b2wuaS5zZXRWYWxpZGl0eScpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOb3RGb3VuZEVy
cm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCA4CitG
QUlMIGNoZWNrVmFsaWRpdHkoKSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnY29udHJvbC5pLmNoZWNrVmFsaWRpdHknKQorRkFJTCByZXBvcnRWYWxpZGl0eSgpIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdjb250cm9sLmkucmVwb3J0VmFsaWRp
dHknKQorRkFJTCBDdXN0b20gY29udHJvbCBhZmZlY3RzIHZhbGlkYXRpb24gYXQgdGhlIG93bmVy
IGZvcm0gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2NvbnRyb2wuaS5j
aGVja1ZhbGlkaXR5JykKK0ZBSUwgQ3VzdG9tIGNvbnRyb2wgYWZmZWN0cyA6dmFsaWQgOmludmFs
aWQgZm9yIEZPUk0gYW5kIEZJRUxEU0VUIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy12
YWxpZGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy12YWxp
ZGF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjY3ZTk2NDY1YmQ2MjY3NTBlYjUwZWJhMTc2NjIyOGVl
Y2FiOTY0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50
ZXJuYWxzLXZhbGlkYXRpb24uaHRtbApAQCAtMCwwICsxLDI1NSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8dGl0bGU+Rm9ybSB2YWxpZGF0aW9uIGZlYXR1cmVzIG9mIEVsZW1lbnRJbnRlcm5hbHMsIGFu
ZCA6dmFsaWQgOmludmFsaWQgcHNldWRvIGNsYXNzZXM8L3RpdGxlPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJjb250
YWluZXIiPjwvZGl2PgorPHNjcmlwdD4KK2NsYXNzIE15Q29udHJvbCBleHRlbmRzIEhUTUxFbGVt
ZW50IHsKKyAgc3RhdGljIGdldCBmb3JtQXNzb2NpYXRlZCgpIHsgcmV0dXJuIHRydWU7IH0KKwor
ICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcigpOworICAgIHRoaXMuaW50ZXJuYWxzXyA9IHRo
aXMuYXR0YWNoSW50ZXJuYWxzKCk7CisgIH0KKyAgZ2V0IGkoKSB7IHJldHVybiB0aGlzLmludGVy
bmFsc187IH0KK30KK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgnbXktY29udHJvbCcsIE15Q29udHJv
bCk7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBjb250cm9sID0gbmV3IE15Q29udHJvbCgpOwor
ICBhc3NlcnRfdHJ1ZShjb250cm9sLmkud2lsbFZhbGlkYXRlLCAnZGVmYXVsdCB2YWx1ZSBpcyB0
cnVlJyk7CisKKyAgY29uc3QgZGF0YWxpc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkYXRh
bGlzdCcpOworICBkYXRhbGlzdC5hcHBlbmRDaGlsZChjb250cm9sKTsKKyAgYXNzZXJ0X2ZhbHNl
KGNvbnRyb2wuaS53aWxsVmFsaWRhdGUsICdmYWxzZSBpbiBEQVRBTElTVCcpOworCisgIGNvbnN0
IGZpZWxkc2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZmllbGRzZXQnKTsKKyAgZmllbGRz
ZXQuYXBwZW5kQ2hpbGQoY29udHJvbCk7CisgIGFzc2VydF90cnVlKGNvbnRyb2wuaS53aWxsVmFs
aWRhdGUsICdJbiBlbmFibGVkIEZJRUxEU0VUJyk7CisgIGZpZWxkc2V0LmRpc2FibGVkID0gdHJ1
ZTsKKyAgYXNzZXJ0X2ZhbHNlKGNvbnRyb2wuaS53aWxsVmFsaWRhdGUsICdJbiBkaXNhYmxlZCBG
SUVMRFNFVCcpOworICBmaWVsZHNldC5yZW1vdmVDaGlsZChjb250cm9sKTsKKworICBjb250cm9s
LnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnJyk7CisgIGFzc2VydF9mYWxzZShjb250cm9sLmku
d2lsbFZhbGlkYXRlLCAnd2l0aCBkaXNhYmxlZCBhdHRyaWJ1dGUnKTsKK30sICd3aWxsVmFsaWRh
dGUnKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGNvbnRyb2wgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdteS1jb250cm9sJyk7CisgIGNvbnN0IHZhbGlkaXR5ID0gY29udHJvbC5pLnZhbGlk
aXR5OworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkudmFsdWVNaXNzaW5nLCAnZGVmYXVsdCB2YWx1
ZU1pc3NpbmcnKTsKKyAgYXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LnR5cGVNaXNtYXRjaCwgJ2RlZmF1
bHQgdHlwZU1pc21hdGNoJyk7CisgIGFzc2VydF9mYWxzZSh2YWxpZGl0eS5wYXR0ZXJuTWlzbWF0
Y2gsICdkZWZhdWx0IHBhdHRlcm5NaXNtYXRjaCcpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHku
dG9vTG9uZywgJ2RlZmF1bHQgdG9vTG9uZycpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkudG9v
U2hvcnQsICdkZWZhdWx0IHRvb1Nob3J0Jyk7CisgIGFzc2VydF9mYWxzZSh2YWxpZGl0eS5yYW5n
ZVVuZGVyZmxvdywgJ2RlZmF1bHQgcmFuZ2VVbmRlcmZsb3cnKTsKKyAgYXNzZXJ0X2ZhbHNlKHZh
bGlkaXR5LnJhbmdlT3ZlcmZsb3csICdkZWZhdWx0IHJhbmdlT3ZlcmZsb3cnKTsKKyAgYXNzZXJ0
X2ZhbHNlKHZhbGlkaXR5LnN0ZXBNaXNtYXRjaCwgJ2RlZmF1bHQgc3RlcE1pc21hdGNoJyk7Cisg
IGFzc2VydF9mYWxzZSh2YWxpZGl0eS5iYWRJbnB1dCwgJ2RlZmF1bHQgYmFkSW5wdXQnKTsKKyAg
YXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LmN1c3RvbUVycm9yLCAnZGVmYXVsdCBjdXN0b21FcnJvcicp
OworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0eS52YWxpZCwgJ2RlZmF1bHQgdmFsaWQnKTsKKworICBj
b250cm9sLmkuc2V0VmFsaWRpdHkoe3ZhbHVlTWlzc2luZzogdHJ1ZX0sICd2YWx1ZU1pc3Npbmcg
bWVzc2FnZScpOworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0eS52YWx1ZU1pc3NpbmcpOworICBhc3Nl
cnRfZmFsc2UodmFsaWRpdHkudmFsaWQpOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2wuaS52YWxp
ZGF0aW9uTWVzc2FnZSwgJ3ZhbHVlTWlzc2luZyBtZXNzYWdlJyk7CisKKyAgY29udHJvbC5pLnNl
dFZhbGlkaXR5KHt0eXBlTWlzbWF0Y2g6IHRydWV9LCAndHlwZU1pc21hdGNoIG1lc3NhZ2UnKTsK
KyAgYXNzZXJ0X3RydWUodmFsaWRpdHkudHlwZU1pc21hdGNoKTsKKyAgYXNzZXJ0X2ZhbHNlKHZh
bGlkaXR5LnZhbHVlTWlzc2luZyk7CisgIGFzc2VydF9mYWxzZSh2YWxpZGl0eS52YWxpZCk7Cisg
IGFzc2VydF9lcXVhbHMoY29udHJvbC5pLnZhbGlkYXRpb25NZXNzYWdlLCAndHlwZU1pc21hdGNo
IG1lc3NhZ2UnKTsKKworICBjb250cm9sLmkuc2V0VmFsaWRpdHkoe3BhdHRlcm5NaXNtYXRjaDog
dHJ1ZX0sICdwYXR0ZXJuTWlzbWF0Y2ggbWVzc2FnZScpOworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0
eS5wYXR0ZXJuTWlzbWF0Y2gpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkudmFsaWQpOworICBh
c3NlcnRfZXF1YWxzKGNvbnRyb2wuaS52YWxpZGF0aW9uTWVzc2FnZSwgJ3BhdHRlcm5NaXNtYXRj
aCBtZXNzYWdlJyk7CisKKyAgY29udHJvbC5pLnNldFZhbGlkaXR5KHt0b29Mb25nOiB0cnVlfSwg
J3Rvb0xvbmcgbWVzc2FnZScpOworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0eS50b29Mb25nKTsKKyAg
YXNzZXJ0X2ZhbHNlKHZhbGlkaXR5LnZhbGlkKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sLmku
dmFsaWRhdGlvbk1lc3NhZ2UsICd0b29Mb25nIG1lc3NhZ2UnKTsKKworICBjb250cm9sLmkuc2V0
VmFsaWRpdHkoe3Rvb1Nob3J0OiB0cnVlfSwgJ3Rvb1Nob3J0IG1lc3NhZ2UnKTsKKyAgYXNzZXJ0
X3RydWUodmFsaWRpdHkudG9vU2hvcnQpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkudmFsaWQp
OworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2wuaS52YWxpZGF0aW9uTWVzc2FnZSwgJ3Rvb1Nob3J0
IG1lc3NhZ2UnKTsKKworICBjb250cm9sLmkuc2V0VmFsaWRpdHkoe3JhbmdlVW5kZXJmbG93OiB0
cnVlfSwgJ3JhbmdlVW5kZXJmbG93IG1lc3NhZ2UnKTsKKyAgYXNzZXJ0X3RydWUodmFsaWRpdHku
cmFuZ2VVbmRlcmZsb3cpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkudmFsaWQpOworICBhc3Nl
cnRfZXF1YWxzKGNvbnRyb2wuaS52YWxpZGF0aW9uTWVzc2FnZSwgJ3JhbmdlVW5kZXJmbG93IG1l
c3NhZ2UnKTsKKworICBjb250cm9sLmkuc2V0VmFsaWRpdHkoe3JhbmdlT3ZlcmZsb3c6IHRydWV9
LCAncmFuZ2VPdmVyZmxvdyBtZXNzYWdlJyk7CisgIGFzc2VydF90cnVlKHZhbGlkaXR5LnJhbmdl
T3ZlcmZsb3cpOworICBhc3NlcnRfZmFsc2UodmFsaWRpdHkudmFsaWQpOworICBhc3NlcnRfZXF1
YWxzKGNvbnRyb2wuaS52YWxpZGF0aW9uTWVzc2FnZSwgJ3JhbmdlT3ZlcmZsb3cgbWVzc2FnZScp
OworCisgIGNvbnRyb2wuaS5zZXRWYWxpZGl0eSh7c3RlcE1pc21hdGNoOiB0cnVlfSwgJ3N0ZXBN
aXNtYXRjaCBtZXNzYWdlJyk7CisgIGFzc2VydF90cnVlKHZhbGlkaXR5LnN0ZXBNaXNtYXRjaCk7
CisgIGFzc2VydF9mYWxzZSh2YWxpZGl0eS52YWxpZCk7CisgIGFzc2VydF9lcXVhbHMoY29udHJv
bC5pLnZhbGlkYXRpb25NZXNzYWdlLCAnc3RlcE1pc21hdGNoIG1lc3NhZ2UnKTsKKworICBjb250
cm9sLmkuc2V0VmFsaWRpdHkoe2JhZElucHV0OiB0cnVlfSwgJ2JhZElucHV0IG1lc3NhZ2UnKTsK
KyAgYXNzZXJ0X3RydWUodmFsaWRpdHkuYmFkSW5wdXQpOworICBhc3NlcnRfZmFsc2UodmFsaWRp
dHkudmFsaWQpOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2wuaS52YWxpZGF0aW9uTWVzc2FnZSwg
J2JhZElucHV0IG1lc3NhZ2UnKTsKKworICBjb250cm9sLmkuc2V0VmFsaWRpdHkoe2N1c3RvbUVy
cm9yOiB0cnVlfSwgJ2N1c3RvbUVycm9yIG1lc3NhZ2UnKTsKKyAgYXNzZXJ0X3RydWUodmFsaWRp
dHkuY3VzdG9tRXJyb3IsICdjdXN0b21FcnJvciBzaG91bGQgYmUgdHJ1ZS4nKTsKKyAgYXNzZXJ0
X2ZhbHNlKHZhbGlkaXR5LnZhbGlkKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sLmkudmFsaWRh
dGlvbk1lc3NhZ2UsICdjdXN0b21FcnJvciBtZXNzYWdlJyk7CisKKyAgLy8gU2V0IG11bHRpcGxl
IGZsYWdzCisgIGNvbnRyb2wuaS5zZXRWYWxpZGl0eSh7YmFkSW5wdXQ6IHRydWUsIGN1c3RvbUVy
cm9yOiB0cnVlfSwgJ211bHRpcGxlIGVycm9ycycpOworICBhc3NlcnRfdHJ1ZSh2YWxpZGl0eS5i
YWRJbnB1dCk7CisgIGFzc2VydF90cnVlKHZhbGlkaXR5LmN1c3RvbUVycm9yKTsKKyAgYXNzZXJ0
X2ZhbHNlKHZhbGlkaXR5LnZhbGlkKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sLmkudmFsaWRh
dGlvbk1lc3NhZ2UsICdtdWx0aXBsZSBlcnJvcnMnKTsKKworICAvLyBDbGVhciBmbGFncworICBj
b250cm9sLmkuc2V0VmFsaWRpdHkoe30sICd1bm5lY2Vzc2FyeSBtZXNzYWdlJyk7CisgIGFzc2Vy
dF9mYWxzZSh2YWxpZGl0eS5iYWRJbnB1dCk7CisgIGFzc2VydF9mYWxzZSh2YWxpZGl0eS5jdXN0
b21FcnJvcik7CisgIGFzc2VydF90cnVlKHZhbGlkaXR5LnZhbGlkKTsKKyAgYXNzZXJ0X2VxdWFs
cyhjb250cm9sLmkudmFsaWRhdGlvbk1lc3NhZ2UsICcnKTsKKworICBhc3NlcnRfdGhyb3dzX2pz
KFR5cGVFcnJvciwgKCkgPT4geyBjb250cm9sLmkuc2V0VmFsaWRpdHkoe3ZhbHVlTWlzc2luZzog
dHJ1ZX0pOyB9LAorICAgICAgJ3NldFZhbGlkaXR5KCkgcmVxdWlyZXMgdGhlIHNlY29uZCBhcmd1
bWVudCBpZiB0aGUgZmlyc3QgYXJndW1lbnQgY29udGFpbnMgdHJ1ZScpOworfSwgJ3ZhbGlkaXR5
IGFuZCBzZXRWYWxpZGl0eSgpJyk7CisKK3Rlc3QoKCkgPT4geworICBkb2N1bWVudC5ib2R5Lmlu
c2VydEFkamFjZW50SFRNTCgnYWZ0ZXJiZWdpbicsICc8bXktY29udHJvbD48bGlnaHQtY2hpbGQ+
PC9teS1jb250cm9sPicpOworICBsZXQgY29udHJvbCA9IGRvY3VtZW50LmJvZHkuZmlyc3RDaGls
ZDsKKyAgY29uc3QgZmxhZ3MgPSB7dmFsdWVNaXNzaW5nOiB0cnVlfTsKKyAgY29uc3QgbSA9ICdu
b24tZW1wdHkgbWVzc2FnZSc7CisKKyAgYXNzZXJ0X3Rocm93c19kb20oJ05vdEZvdW5kRXJyb3In
LCAoKSA9PiB7CisgICAgY29udHJvbC5pLnNldFZhbGlkaXR5KGZsYWdzLCBtLCBkb2N1bWVudC5i
b2R5KTsKKyAgfSwgJ05vdCBhIGRlc2NlbmRhbnQnKTsKKworICBhc3NlcnRfdGhyb3dzX2RvbSgn
Tm90Rm91bmRFcnJvcicsICgpID0+IHsKKyAgICBjb250cm9sLmkuc2V0VmFsaWRpdHkoZmxhZ3Ms
IG0sIGNvbnRyb2wpOworICB9LCAnU2VsZicpOworCisgIC8vIEEgZGVzY2VuZGFudAorICBjb250
cm9sLmkuc2V0VmFsaWRpdHkoZmxhZ3MsIG0sIGNvbnRyb2wucXVlcnlTZWxlY3RvcignbGlnaHQt
Y2hpbGQnKSk7CisKKyAgLy8gQW4gZWxlbWVudCBpbiB0aGUgZGlyZWN0IHNoYWRvdyB0cmVlCisg
IGxldCBzaGFkb3cxID0gY29udHJvbC5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pOworICBs
ZXQgc2hhZG93Q2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgc2hhZG93
MS5hcHBlbmRDaGlsZChzaGFkb3dDaGlsZCk7CisgIGNvbnRyb2wuaS5zZXRWYWxpZGl0eShmbGFn
cywgbSwgc2hhZG93Q2hpbGQpOworCisgIC8vIEFuIGVsZW1lbnQgaW4gYW4gbmVzdGVkIHNoYWRv
dyB0cmVlcworICBsZXQgc2hhZG93MiA9IHNoYWRvd0NoaWxkLmF0dGFjaFNoYWRvdyh7bW9kZTog
J2Nsb3NlZCd9KTsKKyAgbGV0IG5lc3RlZFNoYWRvd0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnc3BhbicpOworICBzaGFkb3cyLmFwcGVuZENoaWxkKG5lc3RlZFNoYWRvd0NoaWxkKTsK
KyAgY29udHJvbC5pLnNldFZhbGlkaXR5KGZsYWdzLCBtLCBuZXN0ZWRTaGFkb3dDaGlsZCk7Cit9
LCAnImFuY2hvciIgYXJndW1lbnQgb2Ygc2V0VmFsaWRpdHkoKScpOworCit0ZXN0KCgpID0+IHsK
KyAgY29uc3QgY29udHJvbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ215LWNvbnRyb2wnKTsK
KyAgbGV0IGludmFsaWRDb3VudCA9IDA7CisgIGNvbnRyb2wuYWRkRXZlbnRMaXN0ZW5lcignaW52
YWxpZCcsIGUgPT4geworICAgIGFzc2VydF9lcXVhbHMoZS50YXJnZXQsIGNvbnRyb2wpOworICAg
IGFzc2VydF90cnVlKGUuY2FuY2VsYWJsZSk7CisgICAgKytpbnZhbGlkQ291bnQ7CisgIH0pOwor
CisgIGFzc2VydF90cnVlKGNvbnRyb2wuaS5jaGVja1ZhbGlkaXR5KCksICdkZWZhdWx0IHN0YXRl
Jyk7CisgIGFzc2VydF9lcXVhbHMoaW52YWxpZENvdW50LCAwKTsKKworICBjb250cm9sLmkuc2V0
VmFsaWRpdHkoe2N1c3RvbUVycm9yOnRydWV9LCAnZm9vJyk7CisgIGFzc2VydF9mYWxzZShjb250
cm9sLmkuY2hlY2tWYWxpZGl0eSgpKTsKKyAgYXNzZXJ0X2VxdWFscyhpbnZhbGlkQ291bnQsIDEp
OworfSwgJ2NoZWNrVmFsaWRpdHkoKScpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgY29udHJv
bCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ215LWNvbnRyb2wnKTsKKyAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChjb250cm9sKTsKKyAgY29udHJvbC50YWJJbmRleCA9IDA7CisgIGxldCBp
bnZhbGlkQ291bnQgPSAwOworICBjb250cm9sLmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCBl
ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGUudGFyZ2V0LCBjb250cm9sKTsKKyAgICBhc3NlcnRf
dHJ1ZShlLmNhbmNlbGFibGUpOworICAgICsraW52YWxpZENvdW50OworICB9KTsKKworICBhc3Nl
cnRfdHJ1ZShjb250cm9sLmkucmVwb3J0VmFsaWRpdHkoKSwgJ2RlZmF1bHQgc3RhdGUnKTsKKyAg
YXNzZXJ0X2VxdWFscyhpbnZhbGlkQ291bnQsIDApOworCisgIGNvbnRyb2wuaS5zZXRWYWxpZGl0
eSh7Y3VzdG9tRXJyb3I6dHJ1ZX0sICdmb28nKTsKKyAgYXNzZXJ0X2ZhbHNlKGNvbnRyb2wuaS5y
ZXBvcnRWYWxpZGl0eSgpKTsKKyAgYXNzZXJ0X2VxdWFscyhpbnZhbGlkQ291bnQsIDEpOworCisg
IGNvbnRyb2wuYmx1cigpOworICBjb250cm9sLmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCBl
ID0+IGUucHJldmVudERlZmF1bHQoKSk7CisgIGFzc2VydF9mYWxzZShjb250cm9sLmkucmVwb3J0
VmFsaWRpdHkoKSk7Cit9LCAncmVwb3J0VmFsaWRpdHkoKScpOworCit0ZXN0KCgpID0+IHsKKyAg
Y29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwor
ICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtPjxpbnB1dCB0eXBlPXN1Ym1pdD48bXktY29u
dHJvbD4nOworICBjb25zdCBmb3JtID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ2Zvcm0nKTsK
KyAgY29uc3QgY29udHJvbCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdteS1jb250cm9sJyk7
CisgIGNvbnRyb2wudGFiSW5kZXggPSAwOworICBsZXQgaW52YWxpZENvdW50ID0gMDsKKyAgY29u
dHJvbC5hZGRFdmVudExpc3RlbmVyKCdpbnZhbGlkJywgZSA9PiB7ICsraW52YWxpZENvdW50OyB9
KTsKKworICBhc3NlcnRfdHJ1ZShjb250cm9sLmkuY2hlY2tWYWxpZGl0eSgpKTsKKyAgYXNzZXJ0
X3RydWUoZm9ybS5jaGVja1ZhbGlkaXR5KCkpOworICBjb250cm9sLmkuc2V0VmFsaWRpdHkoe3Zh
bHVlTWlzc2luZzogdHJ1ZX0sICdQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCcpOworICBhc3Nl
cnRfZmFsc2UoZm9ybS5jaGVja1ZhbGlkaXR5KCkpOworICBhc3NlcnRfZXF1YWxzKGludmFsaWRD
b3VudCwgMSk7CisKKyAgYXNzZXJ0X2ZhbHNlKGZvcm0ucmVwb3J0VmFsaWRpdHkoKSk7CisgIGFz
c2VydF9lcXVhbHMoaW52YWxpZENvdW50LCAyKTsKKworICBjb250YWluZXIucXVlcnlTZWxlY3Rv
cignaW5wdXRbdHlwZT1zdWJtaXRdJykuY2xpY2soKTsKKyAgYXNzZXJ0X2VxdWFscyhpbnZhbGlk
Q291bnQsIDMpOworfSwgJ0N1c3RvbSBjb250cm9sIGFmZmVjdHMgdmFsaWRhdGlvbiBhdCB0aGUg
b3duZXIgZm9ybScpOworCitmdW5jdGlvbiBpc1ZhbGlkQWNjb3JkaW5nVG9DU1MoZWxlbWVudCwg
Y29tbWVudCkgeworICBhc3NlcnRfdHJ1ZShlbGVtZW50Lm1hdGNoZXMoJzp2YWxpZCcpLCBjb21t
ZW50ID8gKGNvbW1lbnQgKyAnIC0gOnZhbGlkJykgOiB1bmRlZmluZWQpOworICBhc3NlcnRfZmFs
c2UoZWxlbWVudC5tYXRjaGVzKCc6aW52YWxpZCcpLCBjb21tZW50ID8gKGNvbW1lbnQgKyAnIC0g
OmludmFsaWQnKSA6IHVuZGVmaW5lZCk7Cit9CisKK2Z1bmN0aW9uIGlzSW52YWxpZEFjY29yZGlu
Z1RvQ1NTKGVsZW1lbnQsIGNvbW1lbnQpIHsKKyAgYXNzZXJ0X2ZhbHNlKGVsZW1lbnQubWF0Y2hl
cygnOnZhbGlkJyksIGNvbW1lbnQgPyAoY29tbWVudCArICcgLSA6dmFsaWQnKSA6IHVuZGVmaW5l
ZCk7CisgIGFzc2VydF90cnVlKGVsZW1lbnQubWF0Y2hlcygnOmludmFsaWQnKSwgY29tbWVudCA/
IChjb21tZW50ICsgJyAtIDppbnZhbGlkJykgOiB1bmRlZmluZWQpOworfQorCit0ZXN0KCgpID0+
IHsKKyAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5l
cicpOworICBjb250YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtPjxmaWVsZHNldD48bXktY29udHJv
bD4nOworICBjb25zdCBmb3JtID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ2Zvcm0nKTsKKyAg
Y29uc3QgZmllbGRzZXQgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignZmllbGRzZXQnKTsKKyAg
Y29uc3QgY29udHJvbCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdteS1jb250cm9sJyk7CisK
KyAgaXNWYWxpZEFjY29yZGluZ1RvQ1NTKGNvbnRyb2wpOworICBpc1ZhbGlkQWNjb3JkaW5nVG9D
U1MoZm9ybSk7CisgIGlzVmFsaWRBY2NvcmRpbmdUb0NTUyhmaWVsZHNldCk7CisKKyAgY29udHJv
bC5pLnNldFZhbGlkaXR5KHt0eXBlTWlzbWF0Y2g6IHRydWV9LCAnSW52YWxpZCBmb3JtYXQnKTsK
KyAgaXNJbnZhbGlkQWNjb3JkaW5nVG9DU1MoY29udHJvbCk7CisgIGlzSW52YWxpZEFjY29yZGlu
Z1RvQ1NTKGZvcm0pOworICBpc0ludmFsaWRBY2NvcmRpbmdUb0NTUyhmaWVsZHNldCk7CisKKyAg
Y29udHJvbC5yZW1vdmUoKTsKKyAgaXNJbnZhbGlkQWNjb3JkaW5nVG9DU1MoY29udHJvbCk7Cisg
IGlzVmFsaWRBY2NvcmRpbmdUb0NTUyhmb3JtKTsKKyAgaXNWYWxpZEFjY29yZGluZ1RvQ1NTKGZp
ZWxkc2V0KTsKKworICBmaWVsZHNldC5hcHBlbmRDaGlsZChjb250cm9sKTsKKyAgaXNJbnZhbGlk
QWNjb3JkaW5nVG9DU1MoZm9ybSk7CisgIGlzSW52YWxpZEFjY29yZGluZ1RvQ1NTKGZpZWxkc2V0
KTsKKworICBjb250cm9sLmkuc2V0VmFsaWRpdHkoe30pOworICBpc1ZhbGlkQWNjb3JkaW5nVG9D
U1MoY29udHJvbCk7CisgIGlzVmFsaWRBY2NvcmRpbmdUb0NTUyhmb3JtKTsKKyAgaXNWYWxpZEFj
Y29yZGluZ1RvQ1NTKGZpZWxkc2V0KTsKK30sICdDdXN0b20gY29udHJvbCBhZmZlY3RzIDp2YWxp
ZCA6aW52YWxpZCBmb3IgRk9STSBhbmQgRklFTERTRVQnKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tYXNzb2NpYXRlZC1jYWxsYmFjay1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1hc3NvY2lhdGVkLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2U1ZGRjZGE0MWU0NGQzMzAxM2NkZTIzNTQ2MzY0
MGYxYjgzM2M0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tYXNz
b2NpYXRlZC1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorQ09OU09MRSBN
RVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlz
IHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVy
bmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVF
cnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5h
dHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQor
Q09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRl
cm5hbHMnIGlzIHVuZGVmaW5lZCkKKworICAKKworIAorIAorCisKKworSGFybmVzcyBFcnJvciAo
RkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRl
cm5hbHMnIGlzIHVuZGVmaW5lZCkKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQv
Zm9ybS1hc3NvY2lhdGVkLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1h
c3NvY2lhdGVkLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E2YTg2ZGQwZDAwYTQxMmI0MjA4
NzFmNGQ4NTllM2NmNWNiMzg1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRl
ZC9mb3JtLWFzc29jaWF0ZWQtY2FsbGJhY2suaHRtbApAQCAtMCwwICsxLDE5NSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+Zm9ybUFzc29jaWF0ZWRDYWxsYmFjaywgYW5kIGZvcm0gSURMIGF0
dHJpYnV0ZSBvZiBFbGVtZW50SW50ZXJuYWxzPC90aXRsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NsYXNzIFBy
ZURlZmluZWQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgIHN0YXRpYyBnZXQgZm9ybUFzc29jaWF0
ZWQoKSB7IHJldHVybiB0cnVlOyB9CisKKyAgY29uc3RydWN0b3IoKSB7CisgICAgc3VwZXIoKTsK
KyAgICB0aGlzLmludGVybmFsc18gPSB0aGlzLmF0dGFjaEludGVybmFscygpOworICAgIHRoaXMu
Zm9ybUhpc3RvcnlfID0gW107CisgIH0KKworICBmb3JtQXNzb2NpYXRlZENhbGxiYWNrKG51bGxh
YmxlRm9ybSkgeworICAgIHRoaXMuZm9ybUhpc3RvcnlfLnB1c2gobnVsbGFibGVGb3JtKTsKKyAg
fQorICBmb3JtSGlzdG9yeSgpIHsKKyAgICByZXR1cm4gdGhpcy5mb3JtSGlzdG9yeV87CisgIH0K
KworICBnZXQgZm9ybSgpIHsKKyAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHNfLmZvcm07CisgIH0K
K30KK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgncHJlLWRlZmluZWQnLCBQcmVEZWZpbmVkKTsKKzwv
c2NyaXB0PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKworPGZpZWxkc2V0IGlkPSJmczEiPgorPGZv
cm0gaWQ9ImZvcm0xIj4KKzxpbnB1dD4KKzxwcmUtZGVmaW5lZCBpZD0icGQxIj48L3ByZS1kZWZp
bmVkPgorPHNlbGVjdD48L3NlbGVjdD4KKzwvZm9ybT4KKzwvZmllbGRzZXQ+CisKKzxmaWVsZHNl
dCBpZD0iZnMyIj4KKzxwcmUtZGVmaW5lZCBpZD0icGQyIiBmb3JtPSJmb3JtMiI+PC9wcmUtZGVm
aW5lZD4KKzxmb3JtIGlkPSJmb3JtMiI+Cis8aW5wdXQ+Cis8c2VsZWN0Pjwvc2VsZWN0PgorPC9m
b3JtPgorPC9maWVsZHNldD4KKzxwcmUtZGVmaW5lZCBpZD0icGQzIiBmb3JtPSJmb3JtMiI+PC9w
cmUtZGVmaW5lZD4KKworPHRhYmxlPgorPGZpZWxkc2V0IGlkPSJmczMiPgorPGZvcm0gaWQ9ImZv
cm0zIj4KKzx0cj48dGQ+PHNlbGVjdD48L3NlbGVjdD48L3RyPgorPHRyPjx0ZD48cHJlLWRlZmlu
ZWQgaWQ9InBkNCI+PC9wcmUtZGVmaW5lZD48L3RyPgorPHRyPjx0ZD48aW5wdXQ+PC90cj4KKzwv
Zm9ybT4gIDwhLS0gVGhlIGVuZCB0YWcgaXMgYm9ndXMuIC0tPgorPC9maWVsZHNldD4gIDwhLS0g
VGhlIGVuZCB0YWcgaXMgYm9ndXMuIC0tPgorPHRhYmxlPgorCis8L2Rpdj4KKworPHNjcmlwdD4K
K2NvbnN0ICQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yLmJpbmQoZG9jdW1lbnQpOworCit0ZXN0
KCgpID0+IHsKKyAgbGV0IGNvbnRyb2xzID0gJCgnI2Zvcm0xJykuZWxlbWVudHM7CisgIGFzc2Vy
dF9lcXVhbHMoY29udHJvbHMubGVuZ3RoLCAzKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sc1sx
XSwgJCgnI3BkMScpLCAnZm9ybS5lbGVtZW50cycpOworICBhc3NlcnRfZXF1YWxzKCQoJyNwZDEn
KS5mb3JtLCAkKCcjZm9ybTEnKSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoJCgnI3BkMScpLmZv
cm1IaXN0b3J5KCksIFskKCcjZm9ybTEnKV0pOworICBhc3NlcnRfZXF1YWxzKCQoJyNmczEnKS5l
bGVtZW50c1sxXSwgJCgnI3BkMScpLCAnZmllbGRzZXQuZWxlbWVudHMnKTsKKworICBjb250cm9s
cyA9ICQoJyNmb3JtMicpLmVsZW1lbnRzOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xzLmxlbmd0
aCwgNCk7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbHNbMF0sICQoJyNwZDInKSwgJ2Zvcm0uZWxl
bWVudHMnKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sc1szXSwgJCgnI3BkMycpKTsKKyAgYXNz
ZXJ0X2VxdWFscygkKCcjcGQyJykuZm9ybSwgJCgnI2Zvcm0yJykpOworICBhc3NlcnRfZXF1YWxz
KCQoJyNwZDMnKS5mb3JtLCAkKCcjZm9ybTInKSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoJCgn
I3BkMicpLmZvcm1IaXN0b3J5KCksIFskKCcjZm9ybTInKV0pOworICBhc3NlcnRfYXJyYXlfZXF1
YWxzKCQoJyNwZDMnKS5mb3JtSGlzdG9yeSgpLCBbJCgnI2Zvcm0yJyldKTsKKyAgY29udHJvbHMg
PSAkKCcjZnMyJykuZWxlbWVudHM7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbHMubGVuZ3RoLCAz
KTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sc1swXSwgJCgnI3BkMicpLCAnZmllbGRzZXQuZWxl
bWVudHMnKTsKKworICBjb250cm9scyA9ICQoJyNmb3JtMycpLmVsZW1lbnRzOworICBhc3NlcnRf
ZXF1YWxzKGNvbnRyb2xzLmxlbmd0aCwgMik7CisgIGFzc2VydF9ub3RfZXF1YWxzKGNvbnRyb2xz
WzFdLCAkKCcjcGQ0JykpOworICBhc3NlcnRfZXF1YWxzKCQoJyNmczMnKS5lbGVtZW50cy5sZW5n
dGgsIDApOworfSwgJ0Fzc29jaWF0ZSBieSBwYXJzZXIsIGN1c3RvbWl6ZWQgYXQgZWxlbWVudCBj
cmVhdGlvbicpOworCit0ZXN0KCgpID0+IHsKKyAgJCgnI2NvbnRhaW5lcicpLmlubmVySFRNTCA9
ICc8ZmllbGRzZXQgaWQ9ImZzMSI+PGZvcm0gaWQ9ImZvcm0xIj48aW5wdXQ+PHdpbGwtYmUtZGVm
aW5lZCBpZD0id2JkMSI+JyArCisgICAgICAnPC93aWxsLWJlLWRlZmluZWQ+PHNlbGVjdD48L3Nl
bGVjdD48L2Zvcm0+PC9maWVsZHNldD4nICsKKyAgICAgICc8ZmllbGRzZXQgaWQ9ImZzMiI+PHdp
bGwtYmUtZGVmaW5lZCBpZD0id2JkMiIgZm9ybT0iZm9ybTIiPjwvd2lsbC1iZS1kZWZpbmVkPicg
KworICAgICAgJzxmb3JtIGlkPSJmb3JtMiI+PC9mb3JtPjwvZmllbGRzZXQ+PHdpbGwtYmUtZGVm
aW5lZCBpZD0id2JkMyIgZm9ybT0iZm9ybTIiPjwvd2lsbC1iZS1kZWZpbmVkPic7CisgIGxldCBj
b250cm9scyA9ICQoJyNmb3JtMScpLmVsZW1lbnRzOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xz
Lmxlbmd0aCwgMik7CisgIGFzc2VydF9ub3RfZXF1YWxzKGNvbnRyb2xzWzFdLCAkKCcjd2JkMScp
KTsKKyAgY29udHJvbHMgPSAkKCcjZnMxJykuZWxlbWVudHM7CisgIGFzc2VydF9lcXVhbHMoY29u
dHJvbHMubGVuZ3RoLCAyKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMoY29udHJvbHNbMV0sICQoJyN3
YmQxJykpOworCisgIGFzc2VydF9lcXVhbHMoJCgnI2Zvcm0yJykuZWxlbWVudHMubGVuZ3RoLCAw
KTsKKyAgYXNzZXJ0X2VxdWFscygkKCcjZnMyJykuZWxlbWVudHMubGVuZ3RoLCAwKTsKKworICBj
bGFzcyBXaWxsQmVEZWZpbmVkIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgIHN0YXRpYyBnZXQg
Zm9ybUFzc29jaWF0ZWQoKSB7IHJldHVybiB0cnVlOyB9CisKKyAgICBjb25zdHJ1Y3RvcigpIHsK
KyAgICAgIHN1cGVyKCk7CisgICAgICB0aGlzLmludGVybmFsc18gPSB0aGlzLmF0dGFjaEludGVy
bmFscygpOworICAgICAgdGhpcy5mb3JtSGlzdG9yeV8gPSBbXTsKKyAgICB9CisKKyAgICBmb3Jt
QXNzb2NpYXRlZENhbGxiYWNrKG51bGxhYmxlRm9ybSkgeworICAgICAgdGhpcy5mb3JtSGlzdG9y
eV8ucHVzaChudWxsYWJsZUZvcm0pOworICAgIH0KKyAgICBmb3JtSGlzdG9yeSgpIHsKKyAgICAg
IHJldHVybiB0aGlzLmZvcm1IaXN0b3J5XzsKKyAgICB9CisKKyAgICBnZXQgZm9ybSgpIHsKKyAg
ICAgIHJldHVybiB0aGlzLmludGVybmFsc18uZm9ybTsKKyAgICB9CisgIH0KKyAgY3VzdG9tRWxl
bWVudHMuZGVmaW5lKCd3aWxsLWJlLWRlZmluZWQnLCBXaWxsQmVEZWZpbmVkKTsKKyAgY3VzdG9t
RWxlbWVudHMudXBncmFkZShjb250YWluZXIpOworCisgIGNvbnRyb2xzID0gJCgnI2Zvcm0xJyku
ZWxlbWVudHM7CisgIGFzc2VydF9lcXVhbHMoY29udHJvbHMubGVuZ3RoLCAzLCAnZm9ybS5lbGVt
ZW50cy5sZW5ndGgnKTsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sc1sxXSwgJCgnI3diZDEnKSk7
CisgIGFzc2VydF9lcXVhbHMoJCgnI3diZDEnKS5mb3JtLCAkKCcjZm9ybTEnKSk7CisgIGNvbnRy
b2xzID0gJCgnI2ZzMScpLmVsZW1lbnRzOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xzLmxlbmd0
aCwgMywgJ2ZpZWxkc2V0LmVsZW1lbnRzLmxlbmd0aCcpOworICBhc3NlcnRfZXF1YWxzKGNvbnRy
b2xzWzFdLCAkKCcjd2JkMScpKTsKKworICBjb250cm9scyA9ICQoJyNmb3JtMicpLmVsZW1lbnRz
OworICBhc3NlcnRfZXF1YWxzKCQoJyN3YmQyJykuZm9ybSwgJCgnI2Zvcm0yJykpOworICBhc3Nl
cnRfZXF1YWxzKCQoJyN3YmQzJykuZm9ybSwgJCgnI2Zvcm0yJykpOworICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKCQoJyN3YmQyJykuZm9ybUhpc3RvcnkoKSwgWyQoJyNmb3JtMicpXSk7CisgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoJCgnI3diZDMnKS5mb3JtSGlzdG9yeSgpLCBbJCgnI2Zvcm0yJyldKTsK
KyAgYXNzZXJ0X2VxdWFscyhjb250cm9scy5sZW5ndGgsIDIsICdmb3JtLmVsZW1lbnRzLmxlbmd0
aCcpOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xzWzBdLCAkKCcjd2JkMicpKTsKKyAgYXNzZXJ0
X2VxdWFscyhjb250cm9sc1sxXSwgJCgnI3diZDMnKSk7CisgIGNvbnRyb2xzID0gJCgnI2ZzMicp
LmVsZW1lbnRzOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xzLmxlbmd0aCwgMSwgJ2ZpZWxkc2V0
LmVsZW1lbnRzLmxlbmd0aCcpOworICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xzWzBdLCAkKCcjd2Jk
MicpKTsKK30sICdQYXJzZWQsIGNvbm5lY3RlZCwgdGhlbiB1cGdyYWRlZCcpOworCit0ZXN0KCgp
ID0+IHsKKyAgJCgnI2NvbnRhaW5lcicpLmlubmVySFRNTCA9ICc8ZmllbGRzZXQgaWQ9ImZzMSI+
PGZvcm0gaWQ9ImZvcm0xIj48aW5wdXQ+PHByZS1kZWZpbmVkIGlkPSJwZDEiPicgKworICAgICAg
JzwvcHJlLWRlZmluZWQ+PHNlbGVjdD48L3NlbGVjdD48L2Zvcm0+PC9maWVsZHNldD4nICsKKyAg
ICAgICc8ZmllbGRzZXQgaWQ9ImZzMiI+PHByZS1kZWZpbmVkIGlkPSJwZDIiIGZvcm09ImZvcm0y
Ij48L3ByZS1kZWZpbmVkPicgKworICAgICAgJzxmb3JtIGlkPSJmb3JtMiI+PC9mb3JtPjwvZmll
bGRzZXQ+PHByZS1kZWZpbmVkIGlkPSJwZDMiIGZvcm09ImZvcm0yIj48L3ByZS1kZWZpbmVkPic7
CisKKyAgY29uc3QgcGQxID0gJCgnI3BkMScpOworICBhc3NlcnRfZXF1YWxzKCQoJyNmb3JtMScp
LmVsZW1lbnRzLmxlbmd0aCwgMywgJ2Zvcm0uZWxlbWVudHMubGVuZ3RoIGJlZm9yZSByZW1vdmFs
Jyk7CisgIGFzc2VydF9lcXVhbHMoJCgnI2ZzMScpLmVsZW1lbnRzLmxlbmd0aCwgMywgJ2ZpbGRz
ZXQuZWxlbWVudHMubGVuZ3RoIGJlZm9yZSByZW1vdmFsJyk7CisgIHBkMS5yZW1vdmUoKTsKKyAg
YXNzZXJ0X2VxdWFscyhwZDEuZm9ybSwgbnVsbCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMocGQx
LmZvcm1IaXN0b3J5KCksIFskKCcjZm9ybTEnKSwgbnVsbF0pOworICBhc3NlcnRfZXF1YWxzKCQo
JyNmb3JtMScpLmVsZW1lbnRzLmxlbmd0aCwgMiwgJ2Zvcm0uZWxlbWVudHMubGVuZ3RoIGFmdGVy
IHJlbW92YWwnKTsKKyAgYXNzZXJ0X2VxdWFscygkKCcjZnMxJykuZWxlbWVudHMubGVuZ3RoLCAy
LCAnZmlsZHNldC5lbGVtZW50cy5sZW5ndGggYWZ0ZXIgcmVtb3ZhbCcpOworCisgIGNvbnN0IHBk
MiA9ICQoJyNwZDInKTsKKyAgY29uc3QgcGQzID0gJCgnI3BkMycpOworICBhc3NlcnRfZXF1YWxz
KCQoJyNmb3JtMicpLmVsZW1lbnRzLmxlbmd0aCwgMiwgJ2Zvcm0uZWxlbWVudHMubGVuZ3RoIGJl
Zm9yZSByZW1vdmFsJyk7CisgIGFzc2VydF9lcXVhbHMoJCgnI2ZzMicpLmVsZW1lbnRzLmxlbmd0
aCwgMSwgJ2ZpZWxkc2V0LmVsZW1lbnRzLmxlbmd0aCBiZWZvcmUgcmVtb3ZhbCcpOworICBwZDIu
cmVtb3ZlKCk7CisgIHBkMy5yZW1vdmUoKTsKKyAgYXNzZXJ0X2VxdWFscyhwZDIuZm9ybSwgbnVs
bCk7CisgIGFzc2VydF9lcXVhbHMocGQzLmZvcm0sIG51bGwpOworICBhc3NlcnRfYXJyYXlfZXF1
YWxzKHBkMi5mb3JtSGlzdG9yeSgpLCBbJCgnI2Zvcm0yJyksIG51bGxdKTsKKyAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhwZDMuZm9ybUhpc3RvcnkoKSwgWyQoJyNmb3JtMicpLCBudWxsXSk7CisgIGFz
c2VydF9lcXVhbHMoJCgnI2Zvcm0yJykuZWxlbWVudHMubGVuZ3RoLCAwLCAnZm9ybS5lbGVtZW50
cy5sZW5ndGggYWZ0ZXIgcmVtb3ZhbCcpOworICBhc3NlcnRfZXF1YWxzKCQoJyNmczInKS5lbGVt
ZW50cy5sZW5ndGgsIDAsICdmaWVsZHNldC5lbGVtZW50cy5sZW5ndGggYWZ0ZXIgcmVtb3ZhbCcp
OworfSwgJ0Rpc2Fzc29jaWF0aW9uJyk7CisKK3Rlc3QoKCkgPT4geworICAkKCcjY29udGFpbmVy
JykuaW5uZXJIVE1MID0gJzxmb3JtIGlkPSJmb3JtMSI+PC9mb3JtPicgKworICAgICAgJzxwcmUt
ZGVmaW5lZCBpZD0icGQxIj48L3ByZS1kZWZpbmVkPjxmb3JtIGlkPSJmb3JtMiI+PC9mb3JtPic7
CisgIGNvbnN0IHBkMSA9ICQoJyNwZDEnKTsKKyAgY29uc3QgZm9ybTEgPSAkKCcjZm9ybTEnKTsK
KyAgY29uc3QgZm9ybTIgPSAkKCcjZm9ybTInKTsKKyAgYXNzZXJ0X2VxdWFscyhwZDEuZm9ybSwg
bnVsbCk7CisKKyAgcGQxLnNldEF0dHJpYnV0ZSgnZm9ybScsICdmb3JtMScpOworICBhc3NlcnRf
ZXF1YWxzKHBkMS5mb3JtLCBmb3JtMSk7CisKKyAgcGQxLnNldEF0dHJpYnV0ZSgnZm9ybScsICdm
b3JtMicpOworICBhc3NlcnRfZXF1YWxzKHBkMS5mb3JtLCBmb3JtMik7CisKKyAgJCgnI2NvbnRh
aW5lcicpLmlubmVySFRNTCA9ICcnOworICBhc3NlcnRfZXF1YWxzKHBkMS5mb3JtLCBudWxsKTsK
K30sICdVcGRhdGluZyAiZm9ybSIgY29udGVudCBhdHRyaWJ1dGUnKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tZGlzYWJsZWQtY2FsbGJh
Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tZGlzYWJsZWQtY2FsbGJh
Y2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMDM5YWVlZTRhN2I4ZDFmMzgzMTU4OTQ1ODUw
MWY2ZDAyMmZiOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1k
aXNhYmxlZC1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorQ09OU09MRSBN
RVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlz
IHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVy
bmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IFR5cGVF
cnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5h
dHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQor
Q09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRl
cm5hbHMnIGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0
dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFs
cygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCisKKworCitIYXJuZXNz
IEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0
dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorCitGQUlMIEFkZGluZy9yZW1vdmluZyBkaXNh
YmxlZCBjb250ZW50IGF0dHJpYnV0ZSB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
JyBpcyB1bmRlZmluZWQpCitGQUlMIFJlbGF0aW9uc2hpcCB3aXRoIEZJRUxEU0VUIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBBIGRpc2FibGVkIGZvcm0tYXNzb2Np
YXRlZCBjdXN0b20gZWxlbWVudCBzaG91bGQgbm90IHByb3ZpZGUgYW4gZW50cnkgZm9yIGl0IAor
RkFJTCBBIGRpc2FibGVkIGZvcm0tYXNzb2NpYXRlZCBjdXN0b20gZWxlbWVudCBzaG91bGQgbm90
IHN1Ym1pdCBhbiBlbnRyeSBmb3IgaXQgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlIC0xCitGQUlMIERpc2FibGVkIGF0dHJpYnV0ZSBhZmZlY3RzIGZvY3VzLWNhcGFiaWxp
dHkgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRh
Y2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorRkFJ
TCBVcGdyYWRpbmcgYW4gZWxlbWVudCB3aXRoIGRpc2FibGVkIGNvbnRlbnQgYXR0cmlidXRlIGFz
c2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tZGlzYWJsZWQtY2FsbGJhY2suaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLWRpc2FibGVkLWNhbGxiYWNrLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTU0YzNmM2Y2ZWVjYzk1YjEyZmZiMjM1ZmZlMjg3Njc1ZjczNDQyOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLWRpc2FibGVkLWNhbGxiYWNrLmh0bWwK
QEAgLTAsMCArMSwxMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPmZvcm1EaXNhYmxlZENh
bGxiYWNrLCBhbmQgOmRpc2FibGVkIDplbmFibGVkIHBzZXVkbyBjbGFzc2VzPC90aXRsZT4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9yZXNv
dXJjZXMvdGFyZ2V0dGVkLWZvcm0uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NsYXNzIE15Q29u
dHJvbCBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgc3RhdGljIGdldCBmb3JtQXNzb2NpYXRlZCgp
IHsgcmV0dXJuIHRydWU7IH0KKworICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcigpOworICAg
IHRoaXMuaW50ZXJuYWxzXyA9IHRoaXMuYXR0YWNoSW50ZXJuYWxzKCk7CisgICAgdGhpcy5pbnRl
cm5hbHNfLnNldEZvcm1WYWx1ZSgnbXktY29udHJvbC12YWx1ZScpOworICAgIHRoaXMuZGlzYWJs
ZWRIaXN0b3J5XyA9IFtdOworICB9CisKKyAgZm9ybURpc2FibGVkQ2FsbGJhY2soaXNEaXNhYmxl
ZCkgeworICAgIHRoaXMuZGlzYWJsZWRIaXN0b3J5Xy5wdXNoKGlzRGlzYWJsZWQpOworICB9Cisg
IGRpc2FibGVkSGlzdG9yeSgpIHsKKyAgICByZXR1cm4gdGhpcy5kaXNhYmxlZEhpc3RvcnlfOwor
ICB9Cit9CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ215LWNvbnRyb2wnLCBNeUNvbnRyb2wpOwor
Cit0ZXN0KCgpID0+IHsKKyAgY29uc3QgY29udHJvbCA9IG5ldyBNeUNvbnRyb2woKTsKKyAgYXNz
ZXJ0X3RydWUoY29udHJvbC5tYXRjaGVzKCc6ZW5hYmxlZCcpKTsKKyAgYXNzZXJ0X2ZhbHNlKGNv
bnRyb2wubWF0Y2hlcygnOmRpc2FibGVkJykpOworCisgIGNvbnRyb2wuc2V0QXR0cmlidXRlKCdk
aXNhYmxlZCcsICcnKTsKKyAgYXNzZXJ0X2ZhbHNlKGNvbnRyb2wubWF0Y2hlcygnOmVuYWJsZWQn
KSk7CisgIGFzc2VydF90cnVlKGNvbnRyb2wubWF0Y2hlcygnOmRpc2FibGVkJykpOworCisgIGNv
bnRyb2wucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcsICcnKTsKKyAgYXNzZXJ0X3RydWUoY29u
dHJvbC5tYXRjaGVzKCc6ZW5hYmxlZCcpKTsKKyAgYXNzZXJ0X2ZhbHNlKGNvbnRyb2wubWF0Y2hl
cygnOmRpc2FibGVkJykpOworCisgIGFzc2VydF9hcnJheV9lcXVhbHMoY29udHJvbC5kaXNhYmxl
ZEhpc3RvcnkoKSwgW3RydWUsIGZhbHNlXSk7Cit9LCAnQWRkaW5nL3JlbW92aW5nIGRpc2FibGVk
IGNvbnRlbnQgYXR0cmlidXRlJyk7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBjb250YWluZXIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmaWVsZHNldCcpOworICBjb250YWluZXIuaW5uZXJI
VE1MID0gJzxmaWVsZHNldD48ZmllbGRzZXQ+PG15LWNvbnRyb2w+PC9teS1jb250cm9sPjwvZmll
bGRzZXQ+PC9maWVsZHNldD4nOworICBjb25zdCBtaWRkbGVGaWVsZHNldCA9IGNvbnRhaW5lci5m
aXJzdENoaWxkOworICBjb25zdCBjb250cm9sID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ215
LWNvbnRyb2wnKTsKKworICBhc3NlcnRfdHJ1ZShjb250cm9sLm1hdGNoZXMoJzplbmFibGVkJykp
OworICBhc3NlcnRfZmFsc2UoY29udHJvbC5tYXRjaGVzKCc6ZGlzYWJsZWQnKSk7CisKKyAgbWlk
ZGxlRmllbGRzZXQuZGlzYWJsZWQgPSB0cnVlOworICBhc3NlcnRfZmFsc2UoY29udHJvbC5tYXRj
aGVzKCc6ZW5hYmxlZCcpKTsKKyAgYXNzZXJ0X3RydWUoY29udHJvbC5tYXRjaGVzKCc6ZGlzYWJs
ZWQnKSk7CisKKyAgbWlkZGxlRmllbGRzZXQuZGlzYWJsZWQgPSBmYWxzZTsKKyAgYXNzZXJ0X3Ry
dWUoY29udHJvbC5tYXRjaGVzKCc6ZW5hYmxlZCcpKTsKKyAgYXNzZXJ0X2ZhbHNlKGNvbnRyb2wu
bWF0Y2hlcygnOmRpc2FibGVkJykpOworCisgIGNvbnRhaW5lci5kaXNhYmxlZCA9IHRydWU7Cisg
IGFzc2VydF9mYWxzZShjb250cm9sLm1hdGNoZXMoJzplbmFibGVkJykpOworICBhc3NlcnRfdHJ1
ZShjb250cm9sLm1hdGNoZXMoJzpkaXNhYmxlZCcpKTsKKyAgY29udHJvbC5yZW1vdmUoKTsKKyAg
YXNzZXJ0X3RydWUoY29udHJvbC5tYXRjaGVzKCc6ZW5hYmxlZCcpKTsKKyAgYXNzZXJ0X2ZhbHNl
KGNvbnRyb2wubWF0Y2hlcygnOmRpc2FibGVkJykpOworCisgIG1pZGRsZUZpZWxkc2V0LmFwcGVu
ZENoaWxkKGNvbnRyb2wpOworICBhc3NlcnRfZmFsc2UoY29udHJvbC5tYXRjaGVzKCc6ZW5hYmxl
ZCcpKTsKKyAgYXNzZXJ0X3RydWUoY29udHJvbC5tYXRjaGVzKCc6ZGlzYWJsZWQnKSk7CisKKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyhjb250cm9sLmRpc2FibGVkSGlzdG9yeSgpLCBbdHJ1ZSwgZmFs
c2UsIHRydWUsIGZhbHNlLCB0cnVlXSk7Cit9LCAnUmVsYXRpb25zaGlwIHdpdGggRklFTERTRVQn
KTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdmb3JtJyk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7CisgIGZvcm0uaW5u
ZXJIVE1MID0gJzxteS1jb250cm9sIG5hbWU9Im4xIiBkaXNhYmxlZD48L215LWNvbnRyb2w+PGlu
cHV0IG5hbWU9Im4yIj4nCisgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKGZvcm0pOwor
ICBhc3NlcnRfZXF1YWxzKGZvcm1EYXRhLmdldCgnbjEnKSwgbnVsbCk7Cit9LCAnQSBkaXNhYmxl
ZCBmb3JtLWFzc29jaWF0ZWQgY3VzdG9tIGVsZW1lbnQgc2hvdWxkIG5vdCBwcm92aWRlIGFuIGVu
dHJ5IGZvciBpdCcpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGxldCBmb3JtID0g
cG9wdWxhdGVGb3JtKCc8bXktY29udHJvbCBuYW1lPWQgZGlzYWJsZWQ+PC9teS1jb250cm9sPicg
KworICAgICAgJzxteS1jb250cm9sIG5hbWU9ZT48L215LWNvbnRyb2w+Jyk7CisgIGxldCBxdWVy
eSA9IGF3YWl0IHN1Ym1pdFByb21pc2UoZm9ybSwgZm9ybS5wcmV2aW91c1NpYmxpbmcpOworICBh
c3NlcnRfZXF1YWxzKHF1ZXJ5LmluZGV4T2YoJ2Q9bXktY29udHJvbC12YWx1ZScpLCAtMSk7Cisg
IGFzc2VydF9ub3RfZXF1YWxzKHF1ZXJ5LmluZGV4T2YoJ2U9bXktY29udHJvbC12YWx1ZScpLCAt
MSk7Cit9LCAnQSBkaXNhYmxlZCBmb3JtLWFzc29jaWF0ZWQgY3VzdG9tIGVsZW1lbnQgc2hvdWxk
IG5vdCBzdWJtaXQgYW4gZW50cnkgZm9yIGl0Jyk7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBj
b250cm9sID0gbmV3IE15Q29udHJvbCgpOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNv
bnRyb2wpOworICBjb250cm9sLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpOworICBjb250
cm9sLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnJyk7CisgIGNvbnRyb2wuZm9jdXMoKTsKKyAg
YXNzZXJ0X25vdF9lcXVhbHMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCwgY29udHJvbCk7CisKKyAg
Y29udHJvbC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7CisgIGNvbnRyb2wuZm9jdXMoKTsK
KyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hY3RpdmVFbGVtZW50LCBjb250cm9sKTsKK30sICdE
aXNhYmxlZCBhdHRyaWJ1dGUgYWZmZWN0cyBmb2N1cy1jYXBhYmlsaXR5Jyk7CisKK3Rlc3QoKCkg
PT4geworICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
KyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpOworICAvLyBpbm5lSFRNTCB1
cGdyYWRlcyBteS1jb250cm9sIGF0IGl0cyBDRVJlYWNpb25zIHRpbWluZy4KKyAgY29udGFpbmVy
LmlubmVySFRNTCA9ICc8bXktY29udHJvbCBkaXNhYmxlZD4nOworICBhc3NlcnRfYXJyYXlfZXF1
YWxzKGNvbnRhaW5lci5maXJzdENoaWxkLmRpc2FibGVkSGlzdG9yeSgpLCBbdHJ1ZV0pOworCisg
IGNvbnRhaW5lci5pbm5lckhUTUwgPSAnPGZpZWxkc2V0IGRpc2FibGVkPjxteS1jb250cm9sPic7
CisgIGFzc2VydF9hcnJheV9lcXVhbHMoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ215LWNvbnRy
b2wnKS5kaXNhYmxlZEhpc3RvcnkoKSwgW3RydWVdKTsKK30sICdVcGdyYWRpbmcgYW4gZWxlbWVu
dCB3aXRoIGRpc2FibGVkIGNvbnRlbnQgYXR0cmlidXRlJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLXJlc2V0LWNhbGxiYWNrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLXJlc2V0LWNhbGxiYWNrLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NzFiYTJkMjg3MzdhYmVkY2YwMWNhNGJmYmM4MTRkYjQyYjgzOGIx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tcmVzZXQtY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCisKKworRkFJTCBmb3JtLnJlc2V0KCkg
c2hvdWxkIHRyaWdnZXIgZm9ybVJlc2V0Q2FsbGJhY2sgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitGQUlMIGZvcm0ucmVzZXQoKTogZm9ybVJlc2V0Q2FsbGJhY2sgaXMgY2Fs
bGVkIGFmdGVyIHJlc2V0IG9mIHRoZSBsYXN0IGJ1aWx0LWluIGZvcm0gY29udHJvbCBhbmQgYmVm
b3JlIHRoZSBuZXh0IHN0YXRlbWVudC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIENsaWNraW5nIGEgcmVzZXQgYnV0dG9uIGludm9rZXMgZm9ybVJlc2V0Q2FsbGJh
Y2sgaW4gYSBtaWNyb3Rhc2sgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLXJlc2V0LWNhbGxiYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1yZXNldC1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhiODQ5N2Y4YjZjNDI2OGEwZmNkMTBiYWViMzliZGExNWEwOWFjMGUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1yZXNldC1jYWxsYmFjay5odG1sCkBAIC0wLDAg
KzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY2xhc3MgTXlDb250cm9sIGV4
dGVuZHMgSFRNTEVsZW1lbnQgeworICBzdGF0aWMgZ2V0IGZvcm1Bc3NvY2lhdGVkKCkgeyByZXR1
cm4gdHJ1ZTsgfQorCisgIGNvbnN0cnVjdG9yKCkgeworICAgIHN1cGVyKCk7CisgICAgdGhpcy5y
ZXNldENhbGxlZF8gPSBmYWxzZTsKKyAgfQorCisgIGZvcm1SZXNldENhbGxiYWNrKCkgeworICAg
IHRoaXMucmVzZXRDYWxsZWRfID0gdHJ1ZTsKKyAgfQorICBnZXQgcmVzZXRDYWxsZWQoKSB7IHJl
dHVybiB0aGlzLnJlc2V0Q2FsbGVkXzsgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdteS1j
b250cm9sJywgTXlDb250cm9sKTsKKwordGVzdCgoKSA9PiB7CisgIGRvY3VtZW50LmJvZHkuaW5z
ZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLAorICAgICAgJzxmb3JtPjxteS1jb250cm9sPjwv
bXktY29udHJvbD48L2Zvcm0+Jyk7CisgIGxldCBmb3JtID0gZG9jdW1lbnQuYm9keS5sYXN0Q2hp
bGQ7CisgIGxldCBjdXN0b20gPSBmb3JtLmZpcnN0Q2hpbGQ7CisgIGZvcm0ucmVzZXQoKTsKKyAg
YXNzZXJ0X3RydWUoY3VzdG9tLnJlc2V0Q2FsbGVkKTsKK30sICdmb3JtLnJlc2V0KCkgc2hvdWxk
IHRyaWdnZXIgZm9ybVJlc2V0Q2FsbGJhY2snKTsKKwordGVzdCgoKSA9PiB7CisgIGRvY3VtZW50
LmJvZHkuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLAorICAgICAgJzxmb3JtPjxteS1j
b250cm9sPjwvbXktY29udHJvbD48b3V0cHV0PmRlZmF1bHQ8L291dHB1dD48L2Zvcm0+Jyk7Cisg
IGxldCBmb3JtID0gZG9jdW1lbnQuYm9keS5sYXN0Q2hpbGQ7CisgIGxldCBjdXN0b20gPSBmb3Jt
LmZpcnN0Q2hpbGQ7CisgIGxldCBvdXRwdXQgPSBmb3JtLmxhc3RDaGlsZDsKKyAgb3V0cHV0LnZh
bHVlID0gJ3VwZGF0ZWQnOworICBvdXRwdXQuYWRkRXZlbnRMaXN0ZW5lcignRE9NU3VidHJlZU1v
ZGlmaWVkJywgKCkgPT4geworICAgIGFzc2VydF9mYWxzZShjdXN0b20ucmVzZXRDYWxsZWQsICdm
b3JtUmVzZXRDYWxsYmFjayBzaG91bGQgbm90IGJlICcgKworICAgICAgICAgICAgICAgICAnY2Fs
bGVkIGJlZm9yZSBidWlsdC1pbiBjb250cm9sXCdzIHJlc2V0Jyk7CisgIH0pOworICBmb3JtLnJl
c2V0KCk7CisgIGFzc2VydF90cnVlKGN1c3RvbS5yZXNldENhbGxlZCk7Cit9LCAnZm9ybS5yZXNl
dCgpOiBmb3JtUmVzZXRDYWxsYmFjayBpcyBjYWxsZWQgYWZ0ZXIgcmVzZXQgb2YgdGhlIGxhc3Qg
JyArCisgICAnYnVpbHQtaW4gZm9ybSBjb250cm9sIGFuZCBiZWZvcmUgdGhlIG5leHQgc3RhdGVt
ZW50LicpOworCitwcm9taXNlX3Rlc3QoKCkgPT4geworICBkb2N1bWVudC5ib2R5Lmluc2VydEFk
amFjZW50SFRNTCgnYmVmb3JlZW5kJywKKyAgICAgICc8Zm9ybT48bXktY29udHJvbD48L215LWNv
bnRyb2w+PGlucHV0IHR5cGU9cmVzZXQ+PC9mb3JtPicpOworICBsZXQgZm9ybSA9IGRvY3VtZW50
LmJvZHkubGFzdENoaWxkOworICBsZXQgY3VzdG9tID0gZm9ybS5maXJzdENoaWxkOworICBsZXQg
cmVzZXRCdXR0b24gPSBmb3JtLmxhc3RDaGlsZDsKKyAgYXNzZXJ0X2ZhbHNlKGN1c3RvbS5yZXNl
dENhbGxlZCk7CisgIHJlc2V0QnV0dG9uLmNsaWNrKCk7CisgIGFzc2VydF9mYWxzZShjdXN0b20u
cmVzZXRDYWxsZWQpOworICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiBhc3Nl
cnRfdHJ1ZShjdXN0b20ucmVzZXRDYWxsZWQpKTsKK30sICdDbGlja2luZyBhIHJlc2V0IGJ1dHRv
biBpbnZva2VzIGZvcm1SZXNldENhbGxiYWNrIGluIGEgbWljcm90YXNrJyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2Zvcm0tYXNzb2NpYXRlZC93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzVlOTkwMzQ2
MDE0NzJlYzdmM2UyNmI2MWIzZDQxZDc0YTU2MmI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9y
bS1hc3NvY2lhdGVkL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjQgQEAKK1RoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgor
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLU5vdFN1cHBvcnRlZEVycm9yLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1hY2Nlc3NpYmlsaXR5Lmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1sYWJlbHMuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zv
cm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLXNldEZvcm1WYWx1ZS5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9y
bS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtdmFsaWRhdGlvbi5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1h
c3NvY2lhdGVkL2Zvcm0tYXNzb2NpYXRlZC1jYWxsYmFjay5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lh
dGVkL2Zvcm0tZGlzYWJsZWQtY2FsbGJhY2suaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3Jt
LXJlc2V0LWNhbGxiYWNrLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2hpc3RvcmljYWwuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2hpc3RvcmljYWwuaHRtbAppbmRleCA3MDk4MWNlNTljNDFkZDM1MmJjY2YxYjcwYTFjYjdjOGNl
Y2YzMGVjLi41YTk2MWIxM2FkN2Y0NGY2NGIzZGY2ZGFmZWViOTMyMWU4YmY2NzYyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9oaXN0b3JpY2FsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvaGlzdG9yaWNhbC5odG1sCkBAIC0xNyw3
ICsxNyw3IEBAIHRlc3QoKCkgPT4gewogICAgIGFzc2VydF9mYWxzZShlbGVtZW50Lmhhc0F0dHJp
YnV0ZSgnaXMnKSkKICAgfSBjYXRjaCAoZSkgewogICAgIC8vIElmIHYxIGlzIHN1cHBvcnRlZCwg
dGhlbiBjb252ZXJ0aW5nIHN0cmluZyB0byBkaWN0aW9uYXJ5IHNob3VsZCB0aHJvdy4KLSAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0pCisgICAg
YXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyB0aHJvdyBlIH0pCiAgIH0K
IH0sICdkb2N1bWVudC5jcmVhdGVFbGVtZW50KGxvY2FsTmFtZSwgInN0cmluZyIpIHNob3VsZCBu
b3Qgd29yaycpCiAKQEAgLTI5LDcgKzI5LDcgQEAgdGVzdCgoKSA9PiB7CiAgICAgYXNzZXJ0X2Zh
bHNlKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdpcycpKQogICB9IGNhdGNoIChlKSB7CiAgICAgLy8g
SWYgdjEgaXMgc3VwcG9ydGVkLCB0aGVuIGNvbnZlcnRpbmcgc3RyaW5nIHRvIGRpY3Rpb25hcnkg
c2hvdWxkIHRocm93LgotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7IHRocm93IGUgfSkKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7IHRocm93IGUgfSkKICAgfQogfSwgJ2RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3Bh
Y2UsIHF1YWxpZmllZE5hbWUsICJzdHJpbmciKSBzaG91bGQgbm90IHdvcmsnKQogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWN1c3RvbS1lbGVtZW50LWluLWZvcmVpZ24t
Y29udGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWN1c3RvbS1lbGVtZW50LWlu
LWZvcmVpZ24tY29udGVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ4YjY2OWFmYTk2Nzli
NWM1MDc5MmY3NzFiZjU1NzExZDljOGYxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9w
YXJzZXItY3VzdG9tLWVsZW1lbnQtaW4tZm9yZWlnbi1jb250ZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBIVE1MIHBhcnNlciBzaG91bGQgbm90IGNyZWF0ZSBjdXN0b20g
ZWxlbWVudHMgaW4gbm9uLUhUTUwgbmFtZXNwYWNlcyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2Vy
L3BhcnNlci1jdXN0b20tZWxlbWVudC1pbi1mb3JlaWduLWNvbnRlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNl
ci9wYXJzZXItY3VzdG9tLWVsZW1lbnQtaW4tZm9yZWlnbi1jb250ZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmFlMGYxMzA5YzYyYjQyYmE4MjUzZTQwZmIwNDVmM2JhNzc0ODg5NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3BhcnNlci9wYXJzZXItY3VzdG9tLWVsZW1lbnQtaW4tZm9yZWlnbi1jb250ZW50
Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVs
ZW1lbnRzOiBDdXN0b20gZWxlbWVudCBpbiBmb3JlaWduIGNvbnRlbnQ8L3RpdGxlPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJIVE1MIHBhcnNlciBzaG91bGQgbm90IGNyZWF0ZSBub24t
SFRNTCBuYW1lc3BhY2UgY3VzdG9tIGVsZW1lbnRzIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY3JlYXRlLWFuLWVsZW1lbnQtZm9yLXRoZS10
b2tlbiI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9y
Zy8jY29uY2VwdC1jcmVhdGUtZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY2xhc3MgVGhyb3dzRXhjZXB0aW9uIGV4
dGVuZHMgSFRNTEVsZW1lbnQgeworICBjb25zdHJ1Y3RvcigpIHsKKyAgICB0aHJvdyAnQmFkJzsK
KyAgfQorfTsKK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgndGhyb3dzLWV4Y2VwdGlvbicsIFRocm93
c0V4Y2VwdGlvbik7Cis8L3NjcmlwdD4KKzxzdmc+CisgIDx0aHJvd3MtZXhjZXB0aW9uLz4KKzwv
c3ZnPgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24gKCkgeworICB2YXIgaW5zdGFuY2UgPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCd0aHJvd3MtZXhjZXB0aW9uJyk7CisgIGFzc2VydF9mYWxzZShp
bnN0YW5jZSBpbnN0YW5jZW9mIFRocm93c0V4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICdUaGUg
SFRNTCBwYXJzZXIgbXVzdCBOT1QgaW5zdGFudGlhdGUgYSBjdXN0b20gZWxlbWVudCBpbiBub24t
SFRNTCBuYW1lc3BhY2VzJyk7CisgIGFzc2VydF9mYWxzZShpbnN0YW5jZSBpbnN0YW5jZW9mIEhU
TUxVbmtub3duRWxlbWVudCwgJ1RoZSBIVE1MIHBhcnNlciBzaG91bGQgbm90IGZhbGxiYWNrJyk7
CisgIGFzc2VydF90cnVlKGluc3RhbmNlIGluc3RhbmNlb2YgU1ZHRWxlbWVudCwKKyAgICAgICAg
ICAgICAgJ1RoZSBlbGVtZW50IGNyZWF0ZWQgYnkgdGhlIEhUTUwgcGFyc2VyIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgU1ZHRWxlbWVudCcpOworfSwgJ0hUTUwgcGFyc2VyIHNob3VsZCBub3QgY3Jl
YXRlIGN1c3RvbSBlbGVtZW50cyBpbiBub24tSFRNTCBuYW1lc3BhY2VzJyk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItdXNlcy1yZWdpc3RyeS1vZi1vd25lci1kb2N1
bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVzZXMtcmVnaXN0cnktb2Ytb3du
ZXItZG9jdW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDEzMGVkMWYyODNmNWI1NTlhNmRkNjFmZTZi
ZWU0ZWE1OGQzZjAwM2UuLjAwZTg5MzcwMTU1MGJkOTM1MTM5MjYwZGYyOTI0Yjk2MDkwZDc2NDcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItdXNlcy1yZWdpc3RyeS1vZi1vd25lci1kb2N1
bWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci11c2VzLXJlZ2lzdHJ5LW9m
LW93bmVyLWRvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtNyw2ICs3LDYgQEAgUEFTUyBIVE1MIHBh
cnNlciBtdXN0IHVzZSB0aGUgcmVnaXN0cnkgb2Ygd2luZG93LmRvY3VtZW50IGluIGEgZG9jdW1l
bnQgY3JlYXRlZAogUEFTUyBIVE1MIHBhcnNlciBtdXN0IHVzZSB0aGUgcmVnaXN0cnkgb2Ygd2lu
ZG93LmRvY3VtZW50IGluIGEgZG9jdW1lbnQgY3JlYXRlZCBieSBkb2N1bWVudC5pbXBsZW1lbnRh
dGlvbi5jcmVhdGVYSFRNTERvY3VtZW50KCkgCiBQQVNTIEhUTUwgcGFyc2VyIG11c3QgdXNlIHRo
ZSByZWdpc3RyeSBvZiB3aW5kb3cuZG9jdW1lbnQgaW4gYSBkb2N1bWVudCBjcmVhdGVkIGJ5IG5l
dyBEb2N1bWVudCAKIFBBU1MgSFRNTCBwYXJzZXIgbXVzdCB1c2UgdGhlIHJlZ2lzdHJ5IG9mIHdp
bmRvdy5kb2N1bWVudCBpbiBhIGRvY3VtZW50IGNyZWF0ZWQgYnkgWE1MSHR0cFJlcXVlc3QgCi1G
QUlMIGRvY3VtZW50LndyaXRlKCkgbXVzdCBub3QgaW5zdGFudGlhdGUgYSBjdXN0b20gZWxlbWVu
dCB3aXRob3V0IGEgZGVmaW5lZCBpbnNlcnRpb24gcG9pbnQgYXNzZXJ0X2ZhbHNlOiBleHBlY3Rl
ZCBmYWxzZSBnb3QgdHJ1ZQotRkFJTCBkb2N1bWVudC53cml0ZWxuKCkgbXVzdCBub3QgaW5zdGFu
dGlhdGUgYSBjdXN0b20gZWxlbWVudCB3aXRob3V0IGEgZGVmaW5lZCBpbnNlcnRpb24gcG9pbnQg
YXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBkb2N1bWVudC53cml0
ZSgpIG11c3Qgbm90IGluc3RhbnRpYXRlIGEgY3VzdG9tIGVsZW1lbnQgd2l0aG91dCBhIGRlZmlu
ZWQgaW5zZXJ0aW9uIHBvaW50IAorUEFTUyBkb2N1bWVudC53cml0ZWxuKCkgbXVzdCBub3QgaW5z
dGFudGlhdGUgYSBjdXN0b20gZWxlbWVudCB3aXRob3V0IGEgZGVmaW5lZCBpbnNlcnRpb24gcG9p
bnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItdXNlcy1yZWdpc3RyeS1vZi1vd25l
ci1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci11c2VzLXJlZ2lzdHJ5LW9mLW93bmVy
LWRvY3VtZW50Lmh0bWwKaW5kZXggNTFlM2U1ZGRmYjFjOTJlNmMyYjM5Y2ZkM2Q0Yjg1MWVhYmUw
ODc3NS4uYmIyNTZkYTI5NTE2NWYwZmVlNzMyMTQ0NjBhYTUxOTYwMTA0NmM0ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcGFyc2VyL3BhcnNlci11c2VzLXJlZ2lzdHJ5LW9mLW93bmVyLWRvY3VtZW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcGFyc2VyL3BhcnNlci11c2VzLXJlZ2lzdHJ5LW9mLW93bmVyLWRvY3VtZW50Lmh0
bWwKQEAgLTEyNSwyOSArMTI1LDI3IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbiAoKSB7CiAKIHRl
c3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3csIGNvbnRlbnREb2N1bWVudCkg
ewogICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRfaW5fd2luZG93KGNv
bnRlbnRXaW5kb3csICdteS1jdXN0b20tZWxlbWVudCcsIFtdKTsKLSAgICAvLyBkb2N1bWVudC1v
cGVuLXN0ZXBzIHNwZWMgZG9lc24ndCBtYXRjaCBtb3N0IGJyb3dzZXJzOyBzZWUgaHR0cHM6Ly9n
aXRodWIuY29tL3doYXR3Zy9odG1sL2lzc3Vlcy8xNjk4LgotICAgIC8vIEhvd2V2ZXIsIGFzIGV4
cGxhaW5lZCBpbiBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzE2OTgjaXNz
dWVjb21tZW50LTI5ODc0ODY0MQotICAgIC8vIHRoZSBjdXN0b20gZWxlbWVudCByZWdpc3RyeSB3
aWxsIGJlIHJlcGxhY2VkIGFmdGVyIGRvY3VtZW50LW9wZW4tc3RlcHMuCisgICAgLy8gZG9jdW1l
bnQtb3Blbi1zdGVwcyBzcGVjIGRvZXNuJ3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgY3VzdG9tIGVs
ZW1lbnQKKyAgICAvLyByZWdpc3RyeSwgc28gaXQgc2hvdWxkIGp1c3Qgc3RpY2sgYXJvdW5kLgog
ICAgIGNvbnRlbnREb2N1bWVudC53cml0ZSgnPG15LWN1c3RvbS1lbGVtZW50PjwvbXktY3VzdG9t
LWVsZW1lbnQ+Jyk7CiAKICAgICB2YXIgaW5zdGFuY2UgPSBjb250ZW50RG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignbXktY3VzdG9tLWVsZW1lbnQnKTsKIAogICAgIGFzc2VydF90cnVlKGluc3RhbmNl
IGluc3RhbmNlb2YgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCk7Ci0gICAgYXNzZXJ0X2ZhbHNl
KGluc3RhbmNlIGluc3RhbmNlb2YgZWxlbWVudC5jbGFzcyk7CisgICAgYXNzZXJ0X3RydWUoaW5z
dGFuY2UgaW5zdGFuY2VvZiBlbGVtZW50LmNsYXNzKTsKIAogfSwgJ2RvY3VtZW50LndyaXRlKCkg
bXVzdCBub3QgaW5zdGFudGlhdGUgYSBjdXN0b20gZWxlbWVudCB3aXRob3V0IGEgZGVmaW5lZCBp
bnNlcnRpb24gcG9pbnQnKTsKIAogdGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVudFdp
bmRvdywgY29udGVudERvY3VtZW50KSB7CiAgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0
b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRvdywgJ215LWN1c3RvbS1lbGVtZW50Jywg
W10pOwotICAgIC8vIGRvY3VtZW50LW9wZW4tc3RlcHMgc3BlYyBkb2Vzbid0IG1hdGNoIG1vc3Qg
YnJvd3NlcnM7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzE2OTgu
Ci0gICAgLy8gSG93ZXZlciwgYXMgZXhwbGFpbmVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0
d2cvaHRtbC9pc3N1ZXMvMTY5OCNpc3N1ZWNvbW1lbnQtMjk4NzQ4NjQxCi0gICAgLy8gdGhlIGN1
c3RvbSBlbGVtZW50IHJlZ2lzdHJ5IHdpbGwgYmUgcmVwbGFjZWQgYWZ0ZXIgZG9jdW1lbnQtb3Bl
bi1zdGVwcy4KKyAgICAvLyBkb2N1bWVudC1vcGVuLXN0ZXBzIHNwZWMgZG9lc24ndCBkbyBhbnl0
aGluZyB3aXRoIHRoZSBjdXN0b20gZWxlbWVudAorICAgIC8vIHJlZ2lzdHJ5LCBzbyBpdCBzaG91
bGQganVzdCBzdGljayBhcm91bmQuCiAgICAgY29udGVudERvY3VtZW50LndyaXRlbG4oJzxteS1j
dXN0b20tZWxlbWVudD48L215LWN1c3RvbS1lbGVtZW50PicpOwogCiAgICAgdmFyIGluc3RhbmNl
ID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ215LWN1c3RvbS1lbGVtZW50Jyk7CiAK
ICAgICBhc3NlcnRfdHJ1ZShpbnN0YW5jZSBpbnN0YW5jZW9mIGNvbnRlbnRXaW5kb3cuSFRNTEVs
ZW1lbnQpOwotICAgIGFzc2VydF9mYWxzZShpbnN0YW5jZSBpbnN0YW5jZW9mIGVsZW1lbnQuY2xh
c3MpOworICAgIGFzc2VydF90cnVlKGluc3RhbmNlIGluc3RhbmNlb2YgZWxlbWVudC5jbGFzcyk7
CiAKIH0sICdkb2N1bWVudC53cml0ZWxuKCkgbXVzdCBub3QgaW5zdGFudGlhdGUgYSBjdXN0b20g
ZWxlbWVudCB3aXRob3V0IGEgZGVmaW5lZCBpbnNlcnRpb24gcG9pbnQnKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcGFyc2VyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3czYy1pbXBvcnQubG9nCmlu
ZGV4IGVmMDFiZTMzZWIyNjY0ZmRmMGI1OTZkYjNmOTU2MjMwMjZhOTU3ZTQuLjRmYmRlMjQ3MzI0
MTZhODU5Y2RiMTdmZTU3N2VmNGM0ZWYzZTc5M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvdzNjLWltcG9ydC5sb2cKQEAgLTE4LDYgKzE4LDcg
QEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWNvbnN0cnVjdHMtY3VzdG9tLWVs
ZW1lbnQtc3luY2hyb25vdXNseS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1jb25zdHJ1Y3RzLWN1
c3RvbS1lbGVtZW50cy13aXRoLWlzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWNvbnN0cnVjdHMt
Y3VzdG9tLWVsZW1lbnRzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWN1c3RvbS1lbGVtZW50LWlu
LWZvcmVpZ24tY29udGVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1mYWxsc2JhY2stdG8tdW5r
bm93bi1lbGVtZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXNldHMtYXR0cmlidXRlcy1hbmQt
Y2hpbGRyZW4uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItdXNlcy1jb25zdHJ1Y3RlZC1lbGVtZW50
Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BlcmZvcm0tbWljcm90YXNrLWNoZWNrcG9pbnQtYmVmb3Jl
LWNvbnN0cnVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wZXJmb3JtLW1pY3JvdGFzay1jaGVja3Bv
aW50LWJlZm9yZS1jb25zdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2NTZiZjJi
YzNkODczZjZjNGFmMmUwN2ZiNWJjNmQ1NzRmNDMyZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9w
ZXJmb3JtLW1pY3JvdGFzay1jaGVja3BvaW50LWJlZm9yZS1jb25zdHJ1Y3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIEhUTUwgcGFyc2VyIG11c3QgcGVyZm9ybSBhIG1p
Y3JvdGFzayBjaGVja3BvaW50IGJlZm9yZSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAK
K1BBU1MgSFRNTCBwYXJzZXIgbXVzdCBwZXJmb3JtIGEgbWljcm90YXNrIGNoZWNrcG9pbnQgYmVm
b3JlIGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IGR1cmluZyB0aGUgYWRvcHRpb24gYWdl
bmN5IGFsZ29yaXRobSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGVyZm9ybS1taWNyb3Rhc2stY2hlY2tw
b2ludC1iZWZvcmUtY29uc3RydWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wZXJmb3JtLW1pY3JvdGFzay1jaGVj
a3BvaW50LWJlZm9yZS1jb25zdHJ1Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44M2Q4MjNhZDlmMWI2
OWRhZDAwYjdlYjg0NTdjMGQ0OTBiY2YyNDg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGVyZm9y
bS1taWNyb3Rhc2stY2hlY2twb2ludC1iZWZvcmUtY29uc3RydWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSwxNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DdXN0b20g
RWxlbWVudHM6IGNyZWF0ZSBhbiBlbGVtZW50IGZvciBhIHRva2VuIG11c3QgcGVyZm9ybSBhIG1p
Y3JvdGFzayBjaGVja3BvaW50PC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5
b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgorPG1ldGEgbmFtZT0i
YXNzZXJ0IiBjb250ZW50PSJXaGVuIHRoZSBIVE1MIHBhcnNlciBjcmVhdGVzIGFuIGVsZW1lbnQg
Zm9yIGEgdG9rZW4sIGl0IG11c3QgcGVyZm9ybSBhIG1pY3JvdGFzayBjaGVja3BvaW50IGJlZm9y
ZSBpbnZva2luZyB0aGUgY29uc3RydWN0b3IiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0i
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvcGFyc2luZy5odG1sI2NyZWF0
ZS1hbi1lbGVtZW50LWZvci10aGUtdG9rZW4iPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0i
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI3Bl
cmZvcm0tYS1taWNyb3Rhc2stY2hlY2twb2ludCI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9wYXJzaW5nLmh0bWwjYWRv
cHRpb24tYWdlbmN5LWFsZ29yaXRobSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50
cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK2FzeW5jIGZ1bmN0aW9uIGNvbnN0cnVjdF9jdXN0b21fZWxlbWVu
dF9pbl9wYXJzZXIodGVzdCwgbWFya3VwKQoreworICAgIGNvbnN0IHdpbmRvdyA9IGF3YWl0IGNy
ZWF0ZV93aW5kb3dfaW5fdGVzdCh0ZXN0LCBgCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+PHNjcmlwdD4KK2NsYXNzIFNvbWVFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAg
IGNvbnN0cnVjdG9yKCkgeworICAgICAgICBzdXBlcigpOworICAgICAgICB3aW5kb3cucmVjb3Jk
c0xpc3RJbkNvbnN0cnVjdG9yID0gcmVjb3Jkc0xpc3QubWFwKChyZWNvcmRzKSA9PiByZWNvcmRz
LnNsaWNlKDApKTsKKyAgICB9Cit9CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NvbWUtZWxlbWVu
dCcsIFNvbWVFbGVtZW50KTsKKworY29uc3QgcmVjb3Jkc0xpc3QgPSBbXTsKK2NvbnN0IG9ic2Vy
dmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKHJlY29yZHMpID0+IHsKKyAgICByZWNvcmRzTGlz
dC5wdXNoKHJlY29yZHMpOworfSk7CitvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHtj
aGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWV9KTsKKword2luZG93Lm9ubG9hZCA9ICgpID0+
IHsKKyAgICB3aW5kb3cucmVjb3Jkc0xpc3RJbkRPTUNvbnRlbnRMb2FkZWQgPSByZWNvcmRzTGlz
dC5tYXAoKHJlY29yZHMpID0+IHJlY29yZHMuc2xpY2UoMCkpOworfQorCis8L3NjcmAgKyBgaXB0
PiR7bWFya3VwfTwvYm9keT48L2h0bWw+YCk7CisgICAgcmV0dXJuIHdpbmRvdzsKK30KKworcHJv
bWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCBjb250ZW50V2luZG93ID0g
YXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAnPGI+PHNvbWUt
ZWxlbWVudD48L2I+Jyk7CisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRv
dy5kb2N1bWVudDsKKworICAgIGxldCByZWNvcmRzTGlzdCA9IGNvbnRlbnRXaW5kb3cucmVjb3Jk
c0xpc3RJbkNvbnN0cnVjdG9yOworICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkocmVjb3Jk
c0xpc3QpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZHNMaXN0Lmxlbmd0aCwgMSk7CisgICAg
YXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShyZWNvcmRzTGlzdFswXSkpOworICAgIGFzc2VydF9l
cXVhbHMocmVjb3Jkc0xpc3RbMF0ubGVuZ3RoLCAxKTsKKyAgICBsZXQgcmVjb3JkID0gcmVjb3Jk
c0xpc3RbMF1bMF07CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudHlwZSwgJ2NoaWxkTGlzdCcp
OworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnRhcmdldCwgY29udGVudERvY3VtZW50LmJvZHkp
OworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnByZXZpb3VzU2libGluZywgY29udGVudERvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdCcpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5u
ZXh0U2libGluZywgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucmVtb3ZlZE5vZGVz
Lmxlbmd0aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGgs
IDEpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXNbMF0sIGNvbnRlbnREb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCdiJykpOworCisgICAgcmVjb3Jkc0xpc3QgPSBjb250ZW50V2lu
ZG93LnJlY29yZHNMaXN0SW5ET01Db250ZW50TG9hZGVkOworICAgIGFzc2VydF90cnVlKEFycmF5
LmlzQXJyYXkocmVjb3Jkc0xpc3QpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZHNMaXN0Lmxl
bmd0aCwgMik7CisgICAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShyZWNvcmRzTGlzdFsxXSkp
OworICAgIGFzc2VydF9lcXVhbHMocmVjb3Jkc0xpc3RbMV0ubGVuZ3RoLCAxKTsKKyAgICByZWNv
cmQgPSByZWNvcmRzTGlzdFsxXVswXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50eXBlLCAn
Y2hpbGRMaXN0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudGFyZ2V0LCBjb250ZW50RG9j
dW1lbnQucXVlcnlTZWxlY3RvcignYicpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5wcmV2
aW91c1NpYmxpbmcsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLm5leHRTaWJsaW5n
LCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5yZW1vdmVkTm9kZXMubGVuZ3RoLCAw
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzLmxlbmd0aCwgMSk7CisgICAg
YXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlc1swXSwgY29udGVudERvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ3NvbWUtZWxlbWVudCcpKTsKK30sICdIVE1MIHBhcnNlciBtdXN0IHBlcmZvcm0g
YSBtaWNyb3Rhc2sgY2hlY2twb2ludCBiZWZvcmUgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1l
bnQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCBjb250
ZW50V2luZG93ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlz
LCAnPGI+PGk+aGVsbG88L2I+PHNvbWUtZWxlbWVudD4nKTsKKyAgICBjb25zdCBjb250ZW50RG9j
dW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGxldCByZWNvcmRzTGlzdCA9IGNv
bnRlbnRXaW5kb3cucmVjb3Jkc0xpc3RJbkNvbnN0cnVjdG9yOworICAgIGFzc2VydF90cnVlKEFy
cmF5LmlzQXJyYXkocmVjb3Jkc0xpc3QpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZHNMaXN0
Lmxlbmd0aCwgMSk7CisgICAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShyZWNvcmRzTGlzdFsw
XSkpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3Jkc0xpc3RbMF0ubGVuZ3RoLCA0KTsKKworICAg
IGxldCByZWNvcmQgPSByZWNvcmRzTGlzdFswXVswXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29y
ZC50eXBlLCAnY2hpbGRMaXN0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudGFyZ2V0LCBj
b250ZW50RG9jdW1lbnQuYm9keSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucHJldmlvdXNT
aWJsaW5nLCBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2NyaXB0JykpOworICAgIGFz
c2VydF9lcXVhbHMocmVjb3JkLm5leHRTaWJsaW5nLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJlY29yZC5yZW1vdmVkTm9kZXMubGVuZ3RoLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29y
ZC5hZGRlZE5vZGVzLmxlbmd0aCwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWRO
b2Rlc1swXSwgY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2InKSk7CisKKyAgICByZWNv
cmQgPSByZWNvcmRzTGlzdFswXVsxXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50eXBlLCAn
Y2hpbGRMaXN0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudGFyZ2V0LCBjb250ZW50RG9j
dW1lbnQucXVlcnlTZWxlY3RvcignYicpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5wcmV2
aW91c1NpYmxpbmcsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLm5leHRTaWJsaW5n
LCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5yZW1vdmVkTm9kZXMubGVuZ3RoLCAw
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzLmxlbmd0aCwgMSk7CisgICAg
YXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlc1swXSwgY29udGVudERvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ2knKSk7CisKKyAgICByZWNvcmQgPSByZWNvcmRzTGlzdFswXVsyXTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJlY29yZC50eXBlLCAnY2hpbGRMaXN0Jyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhyZWNvcmQudGFyZ2V0LCBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcignaScpKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJlY29yZC5wcmV2aW91c1NpYmxpbmcsIG51bGwpOworICAgIGFzc2Vy
dF9lcXVhbHMocmVjb3JkLm5leHRTaWJsaW5nLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJl
Y29yZC5yZW1vdmVkTm9kZXMubGVuZ3RoLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5h
ZGRlZE5vZGVzLmxlbmd0aCwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rl
c1swXS5ub2RlVHlwZSwgTm9kZS5URVhUX05PREUpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3Jk
LmFkZGVkTm9kZXNbMF0uZGF0YSwgImhlbGxvIik7CisKKyAgICByZWNvcmQgPSByZWNvcmRzTGlz
dFswXVszXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50eXBlLCAnY2hpbGRMaXN0Jyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudGFyZ2V0LCBjb250ZW50RG9jdW1lbnQuYm9keSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucHJldmlvdXNTaWJsaW5nLCBjb250ZW50RG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignYicpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5uZXh0U2libGlu
ZywgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucmVtb3ZlZE5vZGVzLmxlbmd0aCwg
MCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGgsIDEpOworICAg
IGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXNbMF0sIGNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCdpJylbMV0pOworCisgICAgcmVjb3Jkc0xpc3QgPSBjb250ZW50V2luZG93
LnJlY29yZHNMaXN0SW5ET01Db250ZW50TG9hZGVkOworICAgIGFzc2VydF90cnVlKEFycmF5Lmlz
QXJyYXkocmVjb3Jkc0xpc3QpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZHNMaXN0Lmxlbmd0
aCwgMik7CisgICAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShyZWNvcmRzTGlzdFsxXSkpOwor
ICAgIGFzc2VydF9lcXVhbHMocmVjb3Jkc0xpc3RbMV0ubGVuZ3RoLCAxKTsKKworICAgIHJlY29y
ZCA9IHJlY29yZHNMaXN0WzFdWzBdOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnR5cGUsICdj
aGlsZExpc3QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50YXJnZXQsIGNvbnRlbnREb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpJylbMV0pOworICAgIGFzc2VydF9lcXVhbHMocmVjb3Jk
LnByZXZpb3VzU2libGluZywgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQubmV4dFNp
YmxpbmcsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnJlbW92ZWROb2Rlcy5sZW5n
dGgsIDApOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXMubGVuZ3RoLCAxKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzWzBdLCBjb250ZW50RG9jdW1lbnQu
cXVlcnlTZWxlY3Rvcignc29tZS1lbGVtZW50JykpOworfSwgJ0hUTUwgcGFyc2VyIG11c3QgcGVy
Zm9ybSBhIG1pY3JvdGFzayBjaGVja3BvaW50IGJlZm9yZSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20g
ZWxlbWVudCBkdXJpbmcgdGhlIGFkb3B0aW9uIGFnZW5jeSBhbGdvcml0aG0nKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wc2V1ZG8tY2xhc3MtZGVmaW5l
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9wc2V1ZG8tY2xhc3MtZGVmaW5lZC1leHBlY3RlZC50eHQKaW5k
ZXggOTQ1OTI3N2Y1MjVlNzgwYjZiNzFmYmZlMjVlMjliMzJkMDFiYjNhNC4uZDJhZDgwNDgyMDhi
M2ZjNWM2OWQxZTFmNjU0YWY2MjEzMzIwNDI0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcHNldWRvLWNsYXNz
LWRlZmluZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BzZXVkby1jbGFzcy1kZWZpbmVkLWV4cGVj
dGVkLnR4dApAQCAtMSw1ICsxLDYgQEAKIAogCitQQVNTIHRoaXMubWF0Y2hlcyg6ZGVmaW5lZCkg
c2hvdWxkIG5vdCBtYXRjaCBkdXJpbmcgYW4gdXBncmFkZSAKIFBBU1MgPGRpdj4gc2hvdWxkIGJl
IDpkZWZpbmVkIAogUEFTUyBjcmVhdGVFbGVtZW50KCJkaXYiKSBzaG91bGQgYmUgOmRlZmluZWQg
CiBQQVNTIGNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsICJk
aXYiKSBzaG91bGQgYmUgOmRlZmluZWQgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wc2V1ZG8tY2xhc3MtZGVm
aW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvcHNldWRvLWNsYXNzLWRlZmluZWQuaHRtbAppbmRleCA2MGQ4OGNmZmI1
MTdjMDA2MmRiMzM4ZTViYTg5ZTk4Zjc3NDhjMjgwLi5lZDEyODMwZDVhOTU4MmRiZjNlYzMwYzc0
YTQzZmUzODEyMjFhMTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wc2V1ZG8tY2xhc3MtZGVmaW5lZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3BzZXVkby1jbGFzcy1kZWZpbmVkLmh0bWwKQEAgLTE2LDYgKzE2LDcgQEAgY29u
c3QgdGVzdExpc3QgPSBbCiBjb25zdCBuZWl0aGVyID0gJ3JnYigyNTUsIDAsIDApJzsKIGNvbnN0
IGRlZmluZWQgPSAncmdiKDI1NSwgMTY1LCAwKSc7CiBjb25zdCBub3RfZGVmaW5lZCA9ICdyZ2Io
MCwgMCwgMjU1KSc7Citjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWZy
YW1lIik7CiBpZnJhbWUuc3JjZG9jID0gYDxzdHlsZT4KICAgKiB7IGNvbG9yOiR7bmVpdGhlcn07
IH0KICAgOmRlZmluZWQgeyBjb2xvcjoke2RlZmluZWR9OyB9CkBAIC05MCw0ICs5MSwyMiBAQCBm
dW5jdGlvbiB0ZXN0X2RlZmluZWQoZXhwZWN0ZWQsIGVsZW1lbnQsIGRlc2NyaXB0aW9uKSB7CiAg
ICAgYXNzZXJ0X2VxdWFscyhzdHlsZS5jb2xvciwgZXhwZWN0ZWQgPyBkZWZpbmVkIDogbm90X2Rl
ZmluZWQsICdnZXRDb21wdXRlZFN0eWxlJyk7CiAgIH0sIGAke2Rlc2NyaXB0aW9ufSBzaG91bGQg
JHtleHBlY3RlZCA/ICdiZScgOiAnbm90IGJlJ30gOmRlZmluZWRgKTsKIH0KKwordGVzdChmdW5j
dGlvbiAoKSB7CisgICAgdmFyIGxvZyA9IFtdOworICAgIHZhciBpbnN0YW5jZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ215LWN1c3RvbS1lbGVtZW50LTInKTsKKyAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGluc3RhbmNlKTsKKyAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ215LWN1
c3RvbS1lbGVtZW50LTInLGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgICAgICBjb25z
dHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICBsb2cucHVzaChb
dGhpcywgJ2JlZ2luJ10pOworICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHRoaXMubWF0Y2hlcygi
OmRlZmluZWQiKSwgIkR1cmluZyBjb25zdHJ1Y3Rpb24sIHRoaXMgc2hvdWxkIG5vdCBtYXRjaCA6
ZGVmaW5lZCIpOworICAgICAgICAgICAgbG9nLnB1c2goW3RoaXMsICdlbmQnXSk7CisgICAgICAg
IH0KKyAgICB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGxvZy5sZW5ndGgsIDIpOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMobG9nWzBdLCBbaW5zdGFuY2UsICdiZWdpbiddKTsKKyAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKGxvZ1sxXSwgW2luc3RhbmNlLCAnZW5kJ10pOworfSwgJ3RoaXMubWF0Y2hl
cyg6ZGVmaW5lZCkgc2hvdWxkIG5vdCBtYXRjaCBkdXJpbmcgYW4gdXBncmFkZScpOworCiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9uLXRpbWluZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbi10aW1pbmctZXhwZWN0ZWQudHh0CmluZGV4IDlmMDMwNDc0MTM0NzgzNjY5NmIxOThl
YmMyMzgzYTk4MWJhODAxMzUuLjBkZDE3MTM4Yjg5NjY1ZTVmZGVlNDg4MDdmNDU4ZjkyYTUyYzQz
MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9uLXRpbWluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb24tdGltaW5nLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKIAogUEFTUyBzZXRB
dHRyaWJ1dGUgYW5kIHJlbW92ZUF0dHJpYnV0ZSBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhdHRy
aWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgCitQQVNTIHRvZ2dsZUF0dHJpYnV0ZSBtdXN0IGVucXVldWUg
YW5kIGludm9rZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgCiBQQVNTIENhbGxpbmcgTm9kZS5w
cm90b3R5cGUuY2xvbmVOb2RlKGZhbHNlKSBtdXN0IHB1c2ggYSBuZXcgZWxlbWVudCBxdWV1ZSB0
byB0aGUgcHJvY2Vzc2luZyBzdGFjayAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb24tdGltaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbi10aW1pbmcuaHRtbAppbmRleCA5ZTViYWZiZWRmZWM0MmQyOGVi
OTRjOTVlZDg0Mzk2OTQxYmM2MWFjLi40NTRjYzI2YzBmMDc1NzJjODI0NWE5YmM5NDUyY2JmNDVi
NmVjODk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbi10aW1pbmcuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbi10aW1pbmcuaHRtbApAQCAtNDcsNiArNDcsMzEgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAK
IH0sICdzZXRBdHRyaWJ1dGUgYW5kIHJlbW92ZUF0dHJpYnV0ZSBtdXN0IGVucXVldWUgYW5kIGlu
dm9rZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2snKTsKIAordGVzdChmdW5jdGlvbiAoKSB7Cisg
ICAgdmFyIGluc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbXktY3VzdG9tLWVsZW1l
bnQnKTsKKyAgICB2YXIgYW5vdGhlckluc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
bXktY3VzdG9tLWVsZW1lbnQnKTsKKworICAgIHZhciBjYWxsYmFja09yZGVyID0gW107CisgICAg
aW5zdGFuY2UuaGFuZGxlciA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgY2FsbGJhY2tPcmRlci5w
dXNoKFt0aGlzLCAnYmVnaW4nXSk7CisgICAgICAgIGFub3RoZXJJbnN0YW5jZS50b2dnbGVBdHRy
aWJ1dGUoJ2RhdGEtdGl0bGUnKTsKKyAgICAgICAgY2FsbGJhY2tPcmRlci5wdXNoKFt0aGlzLCAn
ZW5kJ10pOworICAgIH0KKyAgICBhbm90aGVySW5zdGFuY2UuaGFuZGxlciA9IGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgY2FsbGJhY2tPcmRlci5wdXNoKFt0aGlzLCAnYmVnaW4nXSk7CisgICAgICAg
IGNhbGxiYWNrT3JkZXIucHVzaChbdGhpcywgJ2VuZCddKTsKKyAgICB9CisKKyAgICBpbnN0YW5j
ZS50b2dnbGVBdHRyaWJ1dGUoJ3RpdGxlJyk7CisgICAgYXNzZXJ0X2VxdWFscyhjYWxsYmFja09y
ZGVyLmxlbmd0aCwgNCk7CisKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxiYWNrT3JkZXJb
MF0sIFtpbnN0YW5jZSwgJ2JlZ2luJ10pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY2FsbGJh
Y2tPcmRlclsxXSwgW2Fub3RoZXJJbnN0YW5jZSwgJ2JlZ2luJ10pOworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoY2FsbGJhY2tPcmRlclsyXSwgW2Fub3RoZXJJbnN0YW5jZSwgJ2VuZCddKTsKKyAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNhbGxiYWNrT3JkZXJbM10sIFtpbnN0YW5jZSwgJ2VuZCdd
KTsKKworfSwgJ3RvZ2dsZUF0dHJpYnV0ZSBtdXN0IGVucXVldWUgYW5kIGludm9rZSBhdHRyaWJ1
dGVDaGFuZ2VkQ2FsbGJhY2snKTsKKwogdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgdmFyIHNob3Vs
ZENsb25lQW5vdGhlckluc3RhbmNlID0gZmFsc2U7CiAgICAgdmFyIGFub3RoZXJJbnN0YW5jZUNs
b25lOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0RvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvRG9jdW1lbnQuaHRtbAppbmRleCA3MjFhZDFmNGNlZDg0YjhjODEyOTFmZTkyZmE0MDJlN2I2
Mzg0MzU4Li4xZjA1OTgyYTkwY2Y5NGU4YTBiYTc5YmQxMDdmNjYzZWQ5MGVlYWQwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvRG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRG9jdW1l
bnQuaHRtbApAQCAtMTMwLDExICsxMzAsNiBAQCB0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChj
b250ZW50V2luZG93LCBjb250ZW50RG9jdW1lbnQpIHsKIAogdGVzdF93aXRoX3dpbmRvdyhmdW5j
dGlvbiAoY29udGVudFdpbmRvdywgY29udGVudERvY3VtZW50KSB7CiAgICAgY29udGVudFdpbmRv
dy5kb2N1bWVudC5vcGVuKCk7Ci0gICAgLy8gZG9jdW1lbnQub3BlbigpJ3Mgc3BlYyBkb2Vzbid0
IG1hdGNoIG1vc3QgYnJvd3NlcnM7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwv
aXNzdWVzLzE2OTguCi0gICAgLy8gSG93ZXZlciwgYXMgZXhwbGFpbmVkIGluIGh0dHBzOi8vZ2l0
aHViLmNvbS93aGF0d2cvaHRtbC9pc3N1ZXMvMTY5OCNpc3N1ZWNvbW1lbnQtMjk4NzQ4NjQxCi0g
ICAgLy8gdGhlIGN1c3RvbSBlbGVtZW50IHJlZ2lzdHJ5IHdpbGwgYmUgcmVwbGFjZWQgYWZ0ZXIg
ZG9jdW1lbnQub3BlbigpIGNhbGwsCi0gICAgLy8gU28gY2FsbCBjdXN0b21FbGVtZW50cy5kZWZp
bmUoKSBhZnRlciB0aGF0IGluIG9yZGVyIHRvIHJlZ2lzdGVyIGRlZmludGlvbgotICAgIC8vIHRv
IGNvcnJlY3QgY3VzdG9tIGVsZW1lbnRzIHJlZ2lzdHJ5LgogICAgIGNvbnN0IGVsZW1lbnQgPSBk
ZWZpbmVfY3VzdG9tX2VsZW1lbnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdjdXN0b20tZWxl
bWVudCcsIFtdKTsKICAgICBjb250ZW50V2luZG93LmRvY3VtZW50LndyaXRlKCc8Y3VzdG9tLWVs
ZW1lbnQ+PC9jdXN0b20tZWxlbWVudD4nKTsKICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1l
bnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOwpAQCAt
MTUxLDExICsxNDYsNiBAQCB0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93
LCBjb250ZW50RG9jdW1lbnQpIHsKIAogdGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVu
dFdpbmRvdykgewogICAgIGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQub3BlbigpOwotICAgIC8vIGRv
Y3VtZW50Lm9wZW4oKSdzIHNwZWMgZG9lc24ndCBtYXRjaCBtb3N0IGJyb3dzZXJzOyBzZWUgaHR0
cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL2lzc3Vlcy8xNjk4LgotICAgIC8vIEhvd2V2ZXIs
IGFzIGV4cGxhaW5lZCBpbiBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzE2
OTgjaXNzdWVjb21tZW50LTI5ODc0ODY0MQotICAgIC8vIHRoZSBjdXN0b20gZWxlbWVudCByZWdp
c3RyeSB3aWxsIGJlIHJlcGxhY2VkIGFmdGVyIGRvY3VtZW50Lm9wZW4oKSBjYWxsLAotICAgIC8v
IFNvIGNhbGwgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCkgYWZ0ZXIgdGhhdCBpbiBvcmRlciB0byBy
ZWdpc3RlciBkZWZpbnRpb24KLSAgICAvLyB0byBjb3JyZWN0IGN1c3RvbSBlbGVtZW50cyByZWdp
c3RyeS4KICAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRv
dyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CiAgICAgY29udGVudFdpbmRv
dy5kb2N1bWVudC53cml0ZWxuKCc8Y3VzdG9tLWVsZW1lbnQ+PC9jdXN0b20tZWxlbWVudD4nKTsK
ICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29u
c3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0VsZW1l
bnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0VsZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4
IDFhODI1MmRkNmI4ZDIwYTk3ZmQ1ODBiOGYxODIwNGRkN2FiYTkyOWEuLjFlN2ZmY2E2ZmE1MjY2
ZDYyMjcwMDhjZWY0ODM1NWE2ZmUxMmNkODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9FbGVt
ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRWxlbWVudC1leHBlY3RlZC50eHQK
QEAgLTE5LDYgKzE5LDEyIEBAIFBBU1MgcmVtb3ZlQXR0cmlidXRlIG9uIEVsZW1lbnQgbXVzdCBu
b3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoCiBQQVNTIHJlbW92ZUF0
dHJpYnV0ZU5TIG9uIEVsZW1lbnQgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gdW5vYnNlcnZlZCBhdHRyaWJ1dGUgCiBQQVNTIHJl
bW92ZUF0dHJpYnV0ZU5TIG9uIEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiByZW1vdmluZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgCiBQQVNTIHJl
bW92ZUF0dHJpYnV0ZU5TIG9uIEVsZW1lbnQgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gZXhpc3RpbmcgdW5vYnNlcnZlZCBhdHRy
aWJ1dGUgCitQQVNTIHRvZ2dsZUF0dHJpYnV0ZSAob25seSByZW1vdmVzKSBvbiBFbGVtZW50IG11
c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlbW92aW5n
IGFuIHVub2JzZXJ2ZWQgYXR0cmlidXRlIAorUEFTUyB0b2dnbGVBdHRyaWJ1dGUgKG9ubHkgcmVt
b3Zlcykgb24gRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIHJlbW92aW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSAKK1BBU1MgdG9nZ2xlQXR0cmli
dXRlIChvbmx5IHJlbW92ZXMpIG9uIEVsZW1lbnQgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gZXhpc3RpbmcgdW5vYnNlcnZlZCBh
dHRyaWJ1dGUgCitQQVNTIHRvZ2dsZUF0dHJpYnV0ZSAoZm9yY2UgZmFsc2UpIG9uIEVsZW1lbnQg
bXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3Zp
bmcgYW4gdW5vYnNlcnZlZCBhdHRyaWJ1dGUgCitQQVNTIHRvZ2dsZUF0dHJpYnV0ZSAoZm9yY2Ug
ZmFsc2UpIG9uIEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rp
b24gd2hlbiByZW1vdmluZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgCitQQVNTIHRvZ2dsZUF0dHJp
YnV0ZSAoZm9yY2UgZmFsc2UpIG9uIEVsZW1lbnQgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gZXhpc3RpbmcgdW5vYnNlcnZlZCBh
dHRyaWJ1dGUgCiBQQVNTIHNldEF0dHJpYnV0ZU5vZGUgb24gRWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhbiBhdHRyaWJ1dGUgCiBQ
QVNTIHNldEF0dHJpYnV0ZU5vZGUgb24gRWxlbWVudCBtdXN0IG5vdCBlbnF1ZXVlIGFuIGF0dHJp
YnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYW4gdW5vYnNlcnZlZCBhdHRyaWJ1dGUg
CiBQQVNTIHNldEF0dHJpYnV0ZU5vZGUgb24gRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0Vs
ZW1lbnQuaHRtbAppbmRleCA4MzcwNzI0MDYxYWQxOTNlNzE1NzQ1OTZlZmE2OGM5MTZlNTU1MzVj
Li5lMTU3NjczNGQwY2MxNjljMGNjMDcyYzY0NGEwZTMwMDAxNzk3N2RhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvRWxlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9FbGVtZW50Lmh0bWwK
QEAgLTM1LDYgKzM1LDE1IEBAIHRlc3RBdHRyaWJ1dGVSZW1vdmVyKGZ1bmN0aW9uIChlbGVtZW50
LCBuYW1lKSB7CiAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGVOUyhudWxsLCBuYW1lKTsKIH0s
ICdyZW1vdmVBdHRyaWJ1dGVOUyBvbiBFbGVtZW50Jyk7CiAKK3Rlc3RBdHRyaWJ1dGVSZW1vdmVy
KGZ1bmN0aW9uIChlbGVtZW50LCBuYW1lLCB2YWx1ZSkgeworICBpZiAoZWxlbWVudC5oYXNBdHRy
aWJ1dGUobmFtZSkpCisgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUobmFtZSk7Cit9LCAndG9n
Z2xlQXR0cmlidXRlIChvbmx5IHJlbW92ZXMpIG9uIEVsZW1lbnQnKTsKKwordGVzdEF0dHJpYnV0
ZVJlbW92ZXIoZnVuY3Rpb24gKGVsZW1lbnQsIG5hbWUsIHZhbHVlKSB7CisgICAgZWxlbWVudC50
b2dnbGVBdHRyaWJ1dGUobmFtZSwgZmFsc2UpOworfSwgJ3RvZ2dsZUF0dHJpYnV0ZSAoZm9yY2Ug
ZmFsc2UpIG9uIEVsZW1lbnQnKTsKKwogdGVzdEF0dHJpYnV0ZUFkZGVyKGZ1bmN0aW9uIChlbGVt
ZW50LCBuYW1lLCB2YWx1ZSkgewogICAgIHZhciBhdHRyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmli
dXRlKG5hbWUpOwogICAgIGF0dHIudmFsdWUgPSB2YWx1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy9IVE1MQXJlYUVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxBcmVh
RWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFmM2Y4NDk4NThhNzAxMTdlYmZiMmM5
MGM2ZTk3MmJjMTcxMjE1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MQXJl
YUVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKKyAKKworRkFJTCBhbHQgb24g
SFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9u
IHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KK0ZBSUwgYWx0IG9uIEhUTUxBcmVhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1
dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGNvb3JkcyBvbiBI
VE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0
cnVjdG9yLgorRkFJTCBjb29yZHMgb24gSFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgc2hhcGUgb24g
SFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9u
IHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KK0ZBSUwgc2hhcGUgb24gSFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdGFyZ2V0IG9u
IEhUTUxBcmVhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29u
c3RydWN0b3IuCitGQUlMIHRhcmdldCBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBkb3dubG9h
ZCBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorRkFJTCBkb3dubG9hZCBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1
ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3Rp
bmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBw
aW5nIG9uIEhUTUxBcmVhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIHBpbmcgb24gSFRNTEFyZWFFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcmVs
IG9uIEhUTUxBcmVhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFj
dGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEg
Y29uc3RydWN0b3IuCitGQUlMIHJlbCBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCByZWZlcnJl
clBvbGljeSBvbiBIVE1MQXJlYUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCByZWZlcnJlclBvbGljeSBvbiBIVE1MQXJlYUVsZW1l
bnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNp
bmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEFyZWFFbGVtZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvSFRNTEFyZWFFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUwNTliN2M4ZDA4
NjA2YzQ1YWEzMTVlYmEyN2MzMDk0NWFkOTZlNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy9IVE1MQXJlYUVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxBcmVhRWxlbWVu
dCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJl
Zj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJh
bHQsIGNvb3Jkcywgc2hhcGUsIHRhcmdldCwgZG93bmxvYWQsIHBpbmcsIHJlbCwKKyAgcmVmZXJy
ZXJQb2xpY3kgb2YgSFRNTEFyZWFFbGVtZW50IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlv
bnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy8jdGhlLWFyZWEtZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVt
ZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFj
dGlvbnMuanMiPjwvc2NyaXB0PgorCis8bWFwIG5hbWU9InllbGxvdyIgaWQ9Im1hcCI+Cis8L21h
cD4KKzxpbWcgdXNlbWFwPSIjeWVsbG93IiBzcmM9Ii9pbWFnZXMveWVsbG93LnBuZyIgYWx0PSJ5
ZWxsb3cgcGljIj4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gZ2V0UGFyZW50RWxlbWVudCgpIHsK
KyAgbGV0IG1hcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXAnKTsKKyAgcmV0dXJuIG1h
cDsKK30KKworZnVuY3Rpb24gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSkgeworICBpbnN0YW5jZS5z
ZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnL2ltYWdlcy95ZWxsb3cucG5nJyk7Cit9CisKK3Rlc3RSZWZs
ZWN0QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdhbHQnLCAnYWx0JywgJ3ll
bGxvdyBwaWMnLAorICAneWVsbG93IHBpYzInLCAnYWx0IG9uIEhUTUxBcmVhRWxlbWVudCcsICdh
cmVhJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0
YW5jZSksIEhUTUxBcmVhRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBhcmVu
dE5vZGUoCisgICdjb29yZHMnLCAnY29vcmRzJywgJzEsIDEsIDUsIDUnLAorICAnMiwgMiwgNiwg
NicsICdjb29yZHMgb24gSFRNTEFyZWFFbGVtZW50JywgJ2FyZWEnLAorICBnZXRQYXJlbnRFbGVt
ZW50LCBIVE1MQXJlYUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRl
bnRBdHRyaWJ1dGVzKAorICAnc2hhcGUnLCAnc2hhcGUnLCAncmVjdGFuZ2xlJywKKyAgJ2RlZmF1
bHQnLCAnc2hhcGUgb24gSFRNTEFyZWFFbGVtZW50JywgJ2FyZWEnLAorICBnZXRQYXJlbnRFbGVt
ZW50LCBpbnN0YW5jZSA9PiBpbnN0YW5jZS5zZXRBdHRyaWJ1dGUoJ2Nvb3JkcycsICcxLCAxLCA1
LCA1JyksCisgIEhUTUxBcmVhRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aERl
cGVuZGVudEF0dHJpYnV0ZXMoCisgICd0YXJnZXQnLCAndGFyZ2V0JywgJ19ibGFuaycsCisgICdf
dG9wJywgJ3RhcmdldCBvbiBIVE1MQXJlYUVsZW1lbnQnLCAnYXJlYScsCisgIGdldFBhcmVudEVs
ZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MQXJlYUVsZW1l
bnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAn
ZG93bmxvYWQnLCAnZG93bmxvYWQnLCAncGljMScsCisgICdwaWMyJywgJ2Rvd25sb2FkIG9uIEhU
TUxBcmVhRWxlbWVudCcsICdhcmVhJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4g
c2V0QXR0cmlidXRlcyhpbnN0YW5jZSksIEhUTUxBcmVhRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0
QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdwaW5nJywgJ3BpbmcnLCAnbG9j
YXRpb24uaHJlZicsCisgIGAke2xvY2F0aW9uLnByb3RvY29sfVwvXC8ke2xvY2F0aW9uLmhvc3R9
YCwgJ3Bpbmcgb24gSFRNTEFyZWFFbGVtZW50JywgJ2FyZWEnLAorICBnZXRQYXJlbnRFbGVtZW50
LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSwgSFRNTEFyZWFFbGVtZW50Cisp
OwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ3JlbCcs
ICdyZWwnLCAnaGVscCcsCisgICdub3JlZmVycmVyJywgJ3JlbCBvbiBIVE1MQXJlYUVsZW1lbnQn
LCAnYXJlYScsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMo
aW5zdGFuY2UpLCBIVE1MQXJlYUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhE
ZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAncmVmZXJyZXJQb2xpY3knLCAncmVmZXJyZXJwb2xpY3kn
LCAnc2FtZS1vcmlnaW4nLAorICAnb3JpZ2luJywgJ3JlZmVycmVyUG9saWN5IG9uIEhUTUxBcmVh
RWxlbWVudCcsICdhcmVhJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0
cmlidXRlcyhpbnN0YW5jZSksIEhUTUxBcmVhRWxlbWVudAorKTsKKworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEJhc2VFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
YWN0aW9ucy9IVE1MQmFzZUVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwNDgzNDdh
MTI3MGI5NmQwYjE1NjUyYzgwZWNiZTY2YTQyMTNiODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTEJhc2VFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKwor
RkFJTCBocmVmIG9uIEhUTUxCYXNlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3Mg
aXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGhyZWYgb24gSFRNTEJhc2VFbGVtZW50IG11c3Qg
ZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4
aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZB
SUwgdGFyZ2V0IG9uIEhUTUxCYXNlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3Mg
aXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHRhcmdldCBvbiBIVE1MQmFzZUVsZW1lbnQgbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4g
ZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEJhc2VFbGVtZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvSFRNTEJhc2VFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJhYjkyMjgwNDMwNTNkMjY0
OTZjNmVjMTA2YjgxMmRhNWE2NjI2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MQmFzZUVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
ZWFkPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTEJhc2VFbGVt
ZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBo
cmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9
ImhyZWYsIHRhcmdldCBvZiBIVE1MQmFzZUVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJl
YWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnLyN0aGUtYmFzZS1lbGVtZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9t
LWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBn
ZXRQYXJlbnRFbGVtZW50KCkgeworICByZXR1cm4gZG9jdW1lbnQuaGVhZDsKK30KKwordGVzdFJl
ZmxlY3RBdHRyaWJ1dGVXaXRoUGFyZW50Tm9kZSgnaHJlZicsICdocmVmJywgJy8nLCAnaHR0cDov
L2V4YW1wbGUuY29tLycsICdocmVmIG9uIEhUTUxCYXNlRWxlbWVudCcsICdiYXNlJywgZ2V0UGFy
ZW50RWxlbWVudCwgSFRNTEJhc2VFbGVtZW50KTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBh
cmVudE5vZGUoJ3RhcmdldCcsICd0YXJnZXQnLCAnX2JsYW5rJywgJ19zZWxmJywgJ3RhcmdldCBv
biBIVE1MQmFzZUVsZW1lbnQnLCAnYmFzZScsIGdldFBhcmVudEVsZW1lbnQsIEhUTUxCYXNlRWxl
bWVudCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxCdXR0b25F
bGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MQnV0dG9uRWxlbWVudC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFjOTYyMGRlODhmNmJjODNmODhiNmMxNDhlN2I0MzMzNjcz
MzEyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MQnV0dG9uRWxlbWVudC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorCitGQUlMIGF1dG9mb2N1cyBvbiBIVE1MQnV0
dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVu
IGFkZGluZyBhdXRvZm9jdXMgY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIGF1dG9mb2N1cyBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBl
eGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitG
QUlMIGRpc2FibGVkIG9uIEhUTUxCdXR0b25FbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGRpc2FibGVkIGNvbnRlbnQgYXR0cmlidXRl
IFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBkaXNhYmxlZCBvbiBI
VE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMg
bm90IGEgY29uc3RydWN0b3IuCitGQUlMIG5hbWUgb24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBl
bnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgbmFtZSBjb250
ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwg
bmFtZSBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdl
ZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVy
Y2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHZhbHVlIG9uIEhUTUxCdXR0b25FbGVt
ZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5n
IHZhbHVlIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorRkFJTCB2YWx1ZSBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1
dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHR5cGUgb24gSFRN
TEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0
cnVjdG9yLgorRkFJTCB0eXBlIG9uIEhUTUxCdXR0b25FbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZm9ybUFjdGlv
biBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIGZvcm1BY3Rpb24gb24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4g
ZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
RkFJTCBmb3JtRW5jdHlwZSBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGZvcm1FbmN0eXBlIG9uIEhUTUxC
dXR0b25FbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdo
ZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3Qg
YSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZm9ybU1ldGhvZCBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGZvcm1N
ZXRob2Qgb24gSFRNTEJ1dHRvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBl
cmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBmb3JtTm9WYWxpZGF0ZSBvbiBIVE1M
QnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCitGQUlMIGZvcm1Ob1ZhbGlkYXRlIG9uIEhUTUxCdXR0b25FbGVtZW50IG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwg
Zm9ybVRhcmdldCBvbiBIVE1MQnV0dG9uRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xh
c3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGZvcm1UYXJnZXQgb24gSFRNTEJ1dHRvbkVs
ZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBs
YWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0
cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEJ1dHRvbkVsZW1lbnQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MQnV0dG9uRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5N2I2
ZGFhMGI1YzIzYjgzZWE5MTZlMmJmNzU2YjQ5ZWNmM2E1MWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvSFRNTEJ1dHRvbkVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDgwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxC
dXR0b25FbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxl
PSJaaGFuZyBYaWFveXUiIGhyZWY9InhpYW95dXguemhhbmdAaW50ZWwuY29tIj4KKzxtZXRhIG5h
bWU9ImFzc2VydCIgY29udGVudD0iIGF1dG9mb2N1cywgZGlzYWJsZWQsIGZvcm1BY3Rpb24sIGZv
cm1FbmN0eXBlLAorICBmb3JtTWV0aG9kLCBmb3JtTm9WYWxpZGF0ZSwgZm9ybVRhcmdldCwgbmFt
ZSwgdHlwZSwgdmFsdWUKKyAgb2YgSFRNTEJ1dHRvbkVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2
ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnLyNodG1sYnV0dG9uZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorCitmdW5j
dGlvbiBnZXRQYXJlbnRFbGVtZW50KHBhcmVudEVsZW1lbnROYW1lKSB7CisgIGxldCBwYXJlbnRF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJlbnRFbGVtZW50TmFtZSk7CisgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50RWxlbWVudCk7CisgIHJldHVybiBwYXJlbnRF
bGVtZW50OworfQorCitmdW5jdGlvbiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSB7CisgIGluc3Rh
bmNlLnNldEF0dHJpYnV0ZSgndHlwZScsICdzdWJtaXQnKTsKK30KKwordGVzdFJlZmxlY3RCb29s
ZWFuQXR0cmlidXRlKAorICAnYXV0b2ZvY3VzJywgJ2F1dG9mb2N1cycsICdhdXRvZm9jdXMgb24g
SFRNTEJ1dHRvbkVsZW1lbnQnLAorICAnYnV0dG9uJywgSFRNTEJ1dHRvbkVsZW1lbnQKKyk7Cit0
ZXN0UmVmbGVjdEJvb2xlYW5BdHRyaWJ1dGUoCisgICdkaXNhYmxlZCcsICdkaXNhYmxlZCcsJ2Rp
c2FibGVkIG9uIEhUTUxCdXR0b25FbGVtZW50JywKKyAgJ2J1dHRvbicsIEhUTUxCdXR0b25FbGVt
ZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoCisgICduYW1lJywgJ25hbWUnLCAnaW50ZWwn
LAorICAnaW50ZWwxJywgJ25hbWUgb24gSFRNTEJ1dHRvbkVsZW1lbnQnLCAnYnV0dG9uJywKKyAg
SFRNTEJ1dHRvbkVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgKKyAgJ3ZhbHVlJywg
J3ZhbHVlJywgJ0hUTUwnLAorICAnQ1NTJywgJ3ZhbHVlIG9uIEhUTUxCdXR0b25FbGVtZW50Jywg
J2J1dHRvbicsCisgIEhUTUxCdXR0b25FbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVX
aXRoUGFyZW50Tm9kZSgKKyAgJ3R5cGUnLCAndHlwZScsICdzdWJtaXQnLAorICAncmVzZXQnLCAg
J3R5cGUgb24gSFRNTEJ1dHRvbkVsZW1lbnQnLCAnYnV0dG9uJywKKyAgKCkgPT4gZ2V0UGFyZW50
RWxlbWVudCgnZm9ybScpLCBIVE1MQnV0dG9uRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmli
dXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdmb3JtQWN0aW9uJywgJ2Zvcm1hY3Rpb24n
LCAnaW50ZWwuYXNwJywKKyAgJ2ludGVsMS5hc3AnLCAnZm9ybUFjdGlvbiBvbiBIVE1MQnV0dG9u
RWxlbWVudCcsICdidXR0b24nLAorICAoKSA9PiBnZXRQYXJlbnRFbGVtZW50KCdmb3JtJyksIGlu
c3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLAorICBIVE1MQnV0dG9uRWxlbWVudAor
KTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdmb3Jt
RW5jdHlwZScsICdmb3JtZW5jdHlwZScsICd0ZXh0L3BsYWluJywgJ211bHRpcGFydC9mb3JtLWRh
dGEnLAorICAnZm9ybUVuY3R5cGUgb24gSFRNTEJ1dHRvbkVsZW1lbnQnLCAnYnV0dG9uJywgKCkg
PT4gZ2V0UGFyZW50RWxlbWVudCgnZm9ybScpLAorICBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVz
KGluc3RhbmNlKSwKKyAgSFRNTEJ1dHRvbkVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0
ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnZm9ybU1ldGhvZCcsICdmb3JtbWV0aG9kJywg
J2dldCcsCisgICdwb3N0JywgJ2Zvcm1NZXRob2Qgb24gSFRNTEJ1dHRvbkVsZW1lbnQnLCAnYnV0
dG9uJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxlbWVudCgnZm9ybScpLCBpbnN0YW5jZSA9PiBzZXRB
dHRyaWJ1dGVzKGluc3RhbmNlKSwKKyAgSFRNTEJ1dHRvbkVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVj
dEJvb2xlYW5BdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ2Zvcm1Ob1ZhbGlk
YXRlJywgJ2Zvcm1ub3ZhbGlkYXRlJywgJ2Zvcm1Ob1ZhbGlkYXRlIG9uIEhUTUxCdXR0b25FbGVt
ZW50JywKKyAgJ2J1dHRvbicsICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ2Zvcm0nKSwKKyAgaW5z
dGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSksCisgIEhUTUxCdXR0b25FbGVtZW50Cisp
OwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ2Zvcm1U
YXJnZXQnLCAnZm9ybXRhcmdldCcsICdfYmxhbmsnLAorICAnX3NlbGYnLCAnZm9ybVRhcmdldCBv
biBIVE1MQnV0dG9uRWxlbWVudCcsICdidXR0b24nLAorICAoKSA9PiBnZXRQYXJlbnRFbGVtZW50
KCdmb3JtJyksIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLAorICBIVE1MQnV0
dG9uRWxlbWVudAorKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvSFRNTENhbnZhc0VsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxD
YW52YXNFbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDhhNmZjNWMwYWI4OGYwOWFm
NzA2NmM1MTYzOTE4ZTFhNTgxYjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hU
TUxDYW52YXNFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworRkFJTCB3aWR0
aCBvbiBIVE1MQ2FudmFzRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyB3aWR0aCBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFz
cyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgd2lkdGggb24gSFRNTENhbnZhc0VsZW1lbnQg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcg
YW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9y
LgorRkFJTCBoZWlnaHQgb24gSFRNTENhbnZhc0VsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJp
YnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgaGVpZ2h0IGNvbnRlbnQgYXR0cmlidXRl
IFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBoZWlnaHQgb24gSFRN
TENhbnZhc0VsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5v
dCBhIGNvbnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTENhbnZhc0Vs
ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MQ2FudmFzRWxlbWVudC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ2YjkyMDFlN2YyMmQ1ZDNlMWNiNmFmMWNlZGMwMGMzYjI4ZDhjZGEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTENhbnZhc0VsZW1lbnQuaHRtbApAQCAtMCwwICsxLDE2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25z
IG9uIEhUTUxDYW52YXNFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1l
PSJhc3NlcnQiIGNvbnRlbnQ9IndpZHRoLCBoZWlnaHQgb2YgSFRNTENhbnZhc0VsZW1lbnQgaW50
ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtY2FudmFzLWVsZW1lbnQiPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPHNjcmlw
dD4KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ3dpZHRoJywgJ3dpZHRoJywgJzE1JywgJzIwJywg
J3dpZHRoIG9uIEhUTUxDYW52YXNFbGVtZW50JywgJ2NhbnZhcycsIEhUTUxDYW52YXNFbGVtZW50
KTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKCdoZWlnaHQnLCAnaGVpZ2h0JywgJzIzJywgJzQ1Jywg
J2hlaWdodCBvbiBIVE1MQ2FudmFzRWxlbWVudCcsICdjYW52YXMnLCBIVE1MQ2FudmFzRWxlbWVu
dCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxEYXRhRWxlbWVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTERhdGFFbGVtZW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNzY3MDI0ODQ3NzkwMWNlOGEyN2RhMWI4ZDAyY2UwNzE4NjUzODQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxEYXRhRWxlbWVudC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACisKK0ZBSUwgbmFtZSBvbiBIVE1MRGF0YUVsZW1lbnQgbXVzdCBl
bnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgdmFsdWUgY29u
dGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IG5hbWUgb24gSFRNTERhdGFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hU
TUxEYXRhRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxEYXRhRWxlbWVudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjAxYTNiZjM0MjgxZjVhNGNlNjg0ZWE1MWVhNTRmN2ZjYzkxNzEyMTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTERhdGFFbGVtZW50Lmh0bWwKQEAgLTAsMCAr
MSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0
aW9ucyBvbiBIVE1MRGF0YUVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5h
bWU9ImFzc2VydCIgY29udGVudD0idmFsdWUgb2YgSFRNTERhdGFFbGVtZW50IGludGVyZmFjZSBt
dXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWRhdGEtZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCit0ZXN0
UmVmbGVjdEF0dHJpYnV0ZSgndmFsdWUnLCAndmFsdWUnLCAnMTIzNCcsICcyMzQ1JywgJ25hbWUg
b24gSFRNTERhdGFFbGVtZW50JywgJ2RhdGEnLCBIVE1MRGF0YUVsZW1lbnQpOworCis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRGV0YWlsc0VsZW1lbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxEZXRhaWxzRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjFiZmZiYjMxODUxZjc3NTJmMjA2MzFmOGRmMGExOWI0OTY2ZGFkOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRGV0YWlsc0VsZW1lbnQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorCitGQUlMIG9wZW4gb24gSFRNTERldGFpbHNFbGVtZW50IG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIG9wZW4gY29udGVu
dCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIG9w
ZW4gb24gSFRNTERldGFpbHNFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hU
TUxEZXRhaWxzRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxEZXRhaWxzRWxlbWVudC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNkY2MyZmNhYmY1YTcwMmNlMTU4MzEzMWYwYzEwMmNhYjliZWJmN2YK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTERldGFpbHNFbGVtZW50Lmh0bWwK
QEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRz
OiBDRVJlYWN0aW9ucyBvbiBIVE1MRGV0YWlsc0VsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29t
Ij4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0ib3BlbiBvZiBIVE1MRGV0YWlsc0VsZW1l
bnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBj
b250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtZGV0YWlscy1lbGVtZW50
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisK
KzxzY3JpcHQ+CisKK3Rlc3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZSgnb3BlbicsICdvcGVuJywg
J29wZW4gb24gSFRNTERldGFpbHNFbGVtZW50JywgJ2RldGFpbHMnLCBIVE1MRGV0YWlsc0VsZW1l
bnQpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRW1iZWRFbGVt
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRW1iZWRFbGVtZW50LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jMzQ1MjI0M2E2M2NiMGQyMGQzMDIzMTUyYjE3NTBiNzI2ZDg1MDk1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxFbWJlZEVsZW1lbnQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworRkFJTCBzcmMgb24gSFRNTEVtYmVkRWxlbWVudCBt
dXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBzcmMg
Y29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitG
QUlMIHNyYyBvbiBIVE1MRW1iZWRFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFu
Z2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3Vw
ZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdHlwZSBvbiBIVE1MRW1iZWRFbGVt
ZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5n
IHR5cGUgY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0
b3IuCitGQUlMIHR5cGUgb24gSFRNTEVtYmVkRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHdpZHRoIG9uIEhUTUxF
bWJlZEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hl
biBhZGRpbmcgd2lkdGggY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEg
Y29uc3RydWN0b3IuCitGQUlMIHdpZHRoIG9uIEhUTUxFbWJlZEVsZW1lbnQgbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3Rpbmcg
YXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBoZWln
aHQgb24gSFRNTEVtYmVkRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyBoZWlnaHQgY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xh
c3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGhlaWdodCBvbiBIVE1MRW1iZWRFbGVtZW50
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5n
IGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxFbWJlZEVsZW1lbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy9IVE1MRW1iZWRFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA1ZDllMzIxNWIx
YjJmMDc1ZTM5NmRmYmE0ZWQwZjE0NDIxMDc5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy9IVE1MRW1iZWRFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MRW1iZWRFbGVt
ZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBo
cmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9
InNyYywgdHlwZSwgd2lkdGgsIGhlaWdodCBvZgorICBIVE1MRW1iZWRFbGVtZW50IGludGVyZmFj
ZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0
cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWVtYmVkLWVsZW1lbnQiPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKwor
dGVzdFJlZmxlY3RBdHRyaWJ1dGUoCisgICdzcmMnLCAnc3JjJywgJy9tZWRpYS9tb3ZpZV81Lm1w
NCcsCisgICcvbWVkaWEvc291bmRfNS5tcDMnLCAnc3JjIG9uIEhUTUxFbWJlZEVsZW1lbnQnLCAn
ZW1iZWQnLAorICBIVE1MRW1iZWRFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoCisg
ICd0eXBlJywgJ3R5cGUnLCAndmlkZW8vd2VibScsCisgICd2aWRlby9tcDQnLCAndHlwZSBvbiBI
VE1MRW1iZWRFbGVtZW50JywgJ2VtYmVkJywKKyAgSFRNTEVtYmVkRWxlbWVudAorKTsKK3Rlc3RS
ZWZsZWN0QXR0cmlidXRlKAorICAnd2lkdGgnLCAnd2lkdGgnLCAnMTAwJywKKyAgJzEyMCcsICd3
aWR0aCBvbiBIVE1MRW1iZWRFbGVtZW50JywgJ2VtYmVkJywKKyAgSFRNTEVtYmVkRWxlbWVudAor
KTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKAorICAnaGVpZ2h0JywgJ2hlaWdodCcsICcxMDAnLAor
ICAnMTIwJywgJ2hlaWdodCBvbiBIVE1MRW1iZWRFbGVtZW50JywgJ2VtYmVkJywKKyAgSFRNTEVt
YmVkRWxlbWVudAorKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TEZpZWxkU2V0RWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEZpZWxkU2V0
RWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI5Yjk2OGVhYTllOWI1ZWYzOTNhMGQ3
MjQ1N2I2MjA4NDgwZmIxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRmll
bGRTZXRFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworRkFJTCBkaXNhYmxl
ZCBvbiBIVE1MRmllbGRTZXRFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBu
b3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZGlzYWJsZWQgb24gSFRNTEZpZWxkU2V0RWxlbWVudCBt
dXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBh
biBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3Iu
CitGQUlMIG5hbWUgb24gSFRNTEZpZWxkU2V0RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVy
Y2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIG5hbWUgb24gSFRNTEZpZWxkU2V0RWxl
bWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxh
Y2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MRmllbGRTZXRFbGVtZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTEZpZWxkU2V0RWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRh
ZWEyNzgwYmE1ZDI3OWJjZDU0Zjk3ODVlMzY0ZDAxMmIyNWMwNzkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvSFRNTEZpZWxkU2V0RWxlbWVudC5odG1sCkBAIC0wLDAgKzEsMzIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24g
SFRNTEZpZWxkU2V0RWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0i
YXNzZXJ0IiBjb250ZW50PSJkaXNhYmxlZCwgbmFtZSBvZgorICBIVE1MRmllbGRTZXRFbGVtZW50
IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29u
dGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWZpZWxkc2V0LWVsZW1lbnQi
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKwor
PGJvZHk+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBnZXRQYXJlbnRFbGVtZW50KCkgeworICBsZXQg
Zm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTsKKyAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChmb3JtKTsKKyAgcmV0dXJuIGZvcm07Cit9CisKK3Rlc3RSZWZsZWN0Qm9vbGVh
bkF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAorICAnZGlzYWJsZWQnLCAnZGlzYWJsZWQnLCAnZGlz
YWJsZWQgb24gSFRNTEZpZWxkU2V0RWxlbWVudCcsCisgICdmaWVsZHNldCcsIGdldFBhcmVudEVs
ZW1lbnQsIEhUTUxGaWVsZFNldEVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQ
YXJlbnROb2RlKAorICAnbmFtZScsICduYW1lJywgJ2ZpZWxkc2V0MScsCisgICdmaWVsZHNldDIn
LCAnbmFtZSBvbiBIVE1MRmllbGRTZXRFbGVtZW50JywgJ2ZpZWxkc2V0JywKKyAgZ2V0UGFyZW50
RWxlbWVudCwgSFRNTEZpZWxkU2V0RWxlbWVudAorKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEltYWdlRWxlbWVudC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvSFRNTEltYWdlRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM1
MjgwNjM4YTJkOGE1NmMyZTQxNWNhZTBiZWI0MTc0MTFmMTRmOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9IVE1MSW1hZ2VFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0
IEBACisKK0ZBSUwgYWx0IG9uIEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJp
YnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBl
cmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBhbHQgb24gSFRNTEltYWdlRWxlbWVu
dCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2lu
ZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0
b3IuCitGQUlMIHNyYyBvbiBIVE1MSW1hZ2VFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgc3JjIG9uIEhUTUxJbWFnZUVsZW1lbnQg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcg
YW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9y
LgorRkFJTCBzcmNzZXQgb24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVy
Y2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHNyY3NldCBvbiBIVE1MSW1hZ2VFbGVt
ZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFj
aW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1
Y3Rvci4KK0ZBSUwgc2l6ZXMgb24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHNpemVzIG9uIEhUTUxJbWFnZUVs
ZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBs
YWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0
cnVjdG9yLgorRkFJTCBjcm9zc09yaWdpbiBvbiBIVE1MSW1hZ2VFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0
ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY3Jvc3NPcmlnaW4g
b24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFj
dGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3Mg
aXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHVzZU1hcCBvbiBIVE1MSW1hZ2VFbGVtZW50IG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdXNl
TWFwIG9uIEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQg
cmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBpc01hcCBvbiBIVE1MSW1hZ2VFbGVtZW50
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEg
bmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwg
aXNNYXAgb24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdl
ZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVy
Y2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHdpZHRoIG9uIEhUTUxJbWFnZUVsZW1l
bnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcg
YSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJ
TCB3aWR0aCBvbiBIVE1MSW1hZ2VFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFu
Z2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3Vw
ZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgaGVpZ2h0IG9uIEhUTUxJbWFnZUVs
ZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRp
bmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
RkFJTCBoZWlnaHQgb24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhl
IHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHJlZmVycmVyUG9saWN5IG9u
IEhUTUxJbWFnZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rp
b24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorRkFJTCByZWZlcnJlclBvbGljeSBvbiBIVE1MSW1hZ2VFbGVtZW50IG11c3Qg
ZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4
aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZB
SUwgZGVjb2Rpbmcgb24gSFRNTEltYWdlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xh
c3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGRlY29kaW5nIG9uIEhUTUxJbWFnZUVsZW1l
bnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNp
bmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEltYWdlRWxlbWVudC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxJbWFnZUVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDgzYzM2NjQw
NTFlNGM1ZTQzZjlmOTEwM2VhMDcyYmE1Yjk3ZGY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxJbWFnZUVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDg5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxJbWFnZUVs
ZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwi
IGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVu
dD0iYWx0LCBzcmMsIHNyY3NldCwgc2l6ZXMsIGNyb3NzT3JpZ2luLCB1c2VNYXAsCisgIGlzTWFw
LCB3aWR0aCwgaGVpZ2h0LCByZWZlcnJlclBvbGljeSwgZGVjb2Rpbmcgb2YKKyAgSFRNTEltYWdl
RWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9Imhl
bHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1pbWctZWxlbWVu
dCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0Pgor
Cis8bWFwIG5hbWU9InllbGxvdyI+PC9tYXA+Cis8bWFwIG5hbWU9ImdyZWVuIj48L21hcD4KKzxh
IGhyZWY9Ii8iIGlkPSJhIj4KKzwvYT4KKzxib2R5PgorPHNjcmlwdD4KKworZnVuY3Rpb24gZ2V0
UGFyZW50RWxlbWVudCgpIHsKKyAgcmV0dXJuIGRvY3VtZW50LmJvZHk7Cit9CisKK2Z1bmN0aW9u
IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpIHsKKyAgaW5zdGFuY2Uuc2V0QXR0cmlidXRlKCdzcmMn
LCAnL2ltYWdlcy9ncmVlbi0xeDEucG5nJyk7Cit9CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0
aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdhbHQnLCAnYWx0JywgJ2ltYWdlMScsCisgICdpbWFn
ZTInLCAnYWx0IG9uIEhUTUxJbWFnZUVsZW1lbnQnLCAnaW1nJywKKyAgZ2V0UGFyZW50RWxlbWVu
dCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSksIEhUTUxJbWFnZUVsZW1lbnQK
Kyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAorICAnc3JjJywgJ3NyYycs
ICcvaW1hZ2VzL2dyZWVuLTF4MS5wbmcnLAorICAnL2ltYWdlcy9ncmVlbi0yeDIucG5nJywgJ3Ny
YyBvbiBIVE1MSW1hZ2VFbGVtZW50JywgJ2ltZycsCisgIGdldFBhcmVudEVsZW1lbnQsIEhUTUxJ
bWFnZUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1
dGVzKAorICAnc3Jjc2V0JywgJ3NyY3NldCcsICcvaW1hZ2VzL2dyZWVuLnBuZycsCisgICcvaW1h
Z2VzL2dyZWVuLTJ4Mi5wbmcnLCAnc3Jjc2V0IG9uIEhUTUxJbWFnZUVsZW1lbnQnLCAnaW1nJywK
KyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSks
IEhUTUxJbWFnZUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRB
dHRyaWJ1dGVzKAorICAnc2l6ZXMnLCAnc2l6ZXMnLCAnKG1heC13aWR0aDogMzJweCkgMjhweCcs
CisgICcobWF4LXdpZHRoOiA0OHB4KSA0NHB4JywgJ3NpemVzIG9uIEhUTUxJbWFnZUVsZW1lbnQn
LCAnaW1nJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4geworICAgIGluc3RhbmNl
LnNldEF0dHJpYnV0ZSgnc3JjJywgJy9pbWFnZXMvZ3JlZW4tMXgxLnBuZycpOworICAgIGluc3Rh
bmNlLnNldEF0dHJpYnV0ZSgnc3Jjc2V0JywgJy9pbWFnZXMvZ3JlZW4tMngyLnBuZyAxeCcpOwor
ICB9LCBIVE1MSW1hZ2VFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5k
ZW50QXR0cmlidXRlcygKKyAgJ2Nyb3NzT3JpZ2luJywgJ2Nyb3Nzb3JpZ2luJywgJ3VzZS1jcmVk
ZW50aWFscycsCisgICdhbm9ueW1vdXMnLCAnY3Jvc3NPcmlnaW4gb24gSFRNTEltYWdlRWxlbWVu
dCcsICdpbWcnLAorICBnZXRQYXJlbnRFbGVtZW50LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVz
KGluc3RhbmNlKSwgSFRNTEltYWdlRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0
aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICd1c2VNYXAnLCAndXNlbWFwJywgJyN5ZWxsb3cnLAor
ICAnI2dyZWVuJywgJ3VzZU1hcCBvbiBIVE1MSW1hZ2VFbGVtZW50JywgJ2ltZycsCisgIGdldFBh
cmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MSW1h
Z2VFbGVtZW50CispOwordGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0
dHJpYnV0ZXMoCisgICdpc01hcCcsICdpc21hcCcsICdpc01hcCBvbiBIVE1MSW1hZ2VFbGVtZW50
JywKKyAgJ2ltZycsICgpID0+IHsgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhJykg
fSwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSksCisgIEhUTUxJbWFnZUVs
ZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAor
ICAnd2lkdGgnLCAnd2lkdGgnLCAnMScsCisgICcyJywgJ3dpZHRoIG9uIEhUTUxJbWFnZUVsZW1l
bnQnLCAnaW1nJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRl
cyhpbnN0YW5jZSksIEhUTUxJbWFnZUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdp
dGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnaGVpZ2h0JywgJ2hlaWdodCcsICcxJywKKyAgJzIn
LCAnaGVpZ2h0IG9uIEhUTUxJbWFnZUVsZW1lbnQnLCAnaW1nJywKKyAgZ2V0UGFyZW50RWxlbWVu
dCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSksIEhUTUxJbWFnZUVsZW1lbnQK
Kyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAncmVm
ZXJyZXJQb2xpY3knLCAncmVmZXJyZXJwb2xpY3knLCAnc2FtZS1vcmlnaW4nLAorICAnb3JpZ2lu
JywgJ3JlZmVycmVyUG9saWN5IG9uIEhUTUxJbWFnZUVsZW1lbnQnLCAnaW1nJywKKyAgZ2V0UGFy
ZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSksIEhUTUxJbWFn
ZUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVz
KAorICAnZGVjb2RpbmcnLCAnZGVjb2RpbmcnLCAnYXN5bmMnLAorICAnc3luYycsICdkZWNvZGlu
ZyBvbiBIVE1MSW1hZ2VFbGVtZW50JywgJ2ltZycsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3Rh
bmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MSW1hZ2VFbGVtZW50CispOworCis8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MSW5wdXRFbGVt
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTElucHV0RWxlbWVudC5odG1sCmluZGV4IGRjNGIy
MmEyMmVlYTNlYTg0MWIxMzgwZTdkYjNlNzVlN2Y0ZWIyNTYuLjEzZDE1OTFiMDFmZGY5YjRmY2M1
YjNmODk0MzhiZmY1NWRmNzUyNzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MSW5wdXRF
bGVtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxJbnB1dEVsZW1lbnQuaHRtbApAQCAt
MTEsNyArMTEsNyBAQAogPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9z
Y3JpcHQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1pZiAoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUu
Y2FwdHVyZSkgeworaWYgKCdjYXB0dXJlJyBpbiBIVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZSkg
ewogICAgIHRlc3QoKCkgPT4gewogICAgICAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2J1aWxk
X2luX2N1c3RvbV9lbGVtZW50KFsnY2FwdHVyZSddLCBIVE1MSW5wdXRFbGVtZW50LCAnaW5wdXQn
KTsKICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcsIHsgaXM6IGVsZW1lbnQubmFtZSB9KTsKQEAgLTIwLDcgKzIwLDcgQEAgaWYgKEhUTUxJbnB1
dEVsZW1lbnQucHJvdG90eXBlLmNhcHR1cmUpIHsKICAgICAgICAgaW5zdGFuY2VbJ2NhcHR1cmUn
XSA9ICd1c2VyJzsKICAgICAgICAgY29uc3QgbG9nRW50cmllcyA9IGVsZW1lbnQudGFrZUxvZygp
OwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ0VudHJpZXMudHlwZXMoKSwgWydhdHRy
aWJ1dGVDaGFuZ2VkJ10pOwotICAgICAgICBhc3NlcnRfYXR0cmlidXRlX2xvZ19lbnRyeShsb2dF
bnRyaWVzLmxhc3QoKSwge25hbWU6ICdjYXB0dXJlJywgb2xkVmFsdWU6ICcnLCBuZXdWYWx1ZTog
J3VzZXInLCBuYW1lc3BhY2U6IG51bGx9KTsKKyAgICAgICAgYXNzZXJ0X2F0dHJpYnV0ZV9sb2df
ZW50cnkobG9nRW50cmllcy5sYXN0KCksIHtuYW1lOiAnY2FwdHVyZScsIG9sZFZhbHVlOiBudWxs
LCBuZXdWYWx1ZTogJ3VzZXInLCBuYW1lc3BhY2U6IG51bGx9KTsKICAgICB9LCAnY2FwdHVyZSBv
biBIVE1MSW5wdXRFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gYWRkaW5nIG5ldyBhdHRyaWJ1dGUnKTsKIAogICAgIHRlc3QoKCkgPT4gewpAQCAt
NDMsNyArNDMsNyBAQCBpZiAoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUuY2FwdHVyZSkgewog
ICAgICAgICBpbnN0YW5jZVsnY2FwdHVyZSddID0gJ2FzZGYnOwogICAgICAgICBjb25zdCBsb2dF
bnRyaWVzID0gZWxlbWVudC50YWtlTG9nKCk7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
bG9nRW50cmllcy50eXBlcygpLCBbJ2F0dHJpYnV0ZUNoYW5nZWQnXSk7Ci0gICAgICAgIGFzc2Vy
dF9hdHRyaWJ1dGVfbG9nX2VudHJ5KGxvZ0VudHJpZXMubGFzdCgpLCB7bmFtZTogJ2NhcHR1cmUn
LCBvbGRWYWx1ZTogJycsIG5ld1ZhbHVlOiAnYXNkZicsIG5hbWVzcGFjZTogbnVsbH0pOworICAg
ICAgICBhc3NlcnRfYXR0cmlidXRlX2xvZ19lbnRyeShsb2dFbnRyaWVzLmxhc3QoKSwge25hbWU6
ICdjYXB0dXJlJywgb2xkVmFsdWU6IG51bGwsIG5ld1ZhbHVlOiAnYXNkZicsIG5hbWVzcGFjZTog
bnVsbH0pOwogICAgIH0sICdjYXB0dXJlIG9uIEhUTUxJbnB1dEVsZW1lbnQgbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgaW52YWxpZCB2YWx1ZSBk
ZWZhdWx0Jyk7CiAKICAgICB0ZXN0KCgpID0+IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MTElFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTElFbGVtZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDIyNWY4YWVmZTE2NjMxOTU4YWE3ZWFkYTMyZGQ4MjY1
ZGEzNjM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxMSUVsZW1lbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorCitGQUlMIHZhbHVlIG9uIEhUTUxMSUVsZW1lbnQg
aW4gb2wgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRp
bmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
RkFJTCB2YWx1ZSBvbiBIVE1MTElFbGVtZW50IGluIG9sIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBU
aGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdmFsdWUgb24gSFRNTExJ
RWxlbWVudCBpbiB1bCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCitGQUlMIHZhbHVlIG9uIEhUTUxMSUVsZW1lbnQgaW4gdWwgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCB2YWx1ZSBv
biBIVE1MTElFbGVtZW50IGluIG1lbnUgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQg
cmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5v
dCBhIGNvbnN0cnVjdG9yLgorRkFJTCB2YWx1ZSBvbiBIVE1MTElFbGVtZW50IGluIG1lbnUgbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4g
ZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTExJRWxlbWVudC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rp
b25zL0hUTUxMSUVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjVjZWE3NzE5ZjA2MjNmNjMyZWYx
NGQ2NmEyMTE5MjU5NzQwOGY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxM
SUVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5D
dXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxMSUVsZW1lbnQgaW50ZXJmYWNlPC90
aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cu
aW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIKKyAgY29udGVudD0idmFsdWUgb2YgSFRN
TExJRWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9
ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1saS1lbGVt
ZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+
CisKKzxib2R5PgorPHNjcmlwdD4KKworZnVuY3Rpb24gZ2V0UGFyZW50RWxlbWVudChwYXJlbnRF
bGVtZW50TmFtZSkgeworICBsZXQgcGFyZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQocGFyZW50RWxlbWVudE5hbWUpOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVu
dEVsZW1lbnQpOworICByZXR1cm4gcGFyZW50RWxlbWVudDsKK30KKwordGVzdFJlZmxlY3RBdHRy
aWJ1dGVXaXRoUGFyZW50Tm9kZSgKKyAgJ3ZhbHVlJywgJ3ZhbHVlJywgJzMnLAorICAnNScsICd2
YWx1ZSBvbiBIVE1MTElFbGVtZW50IGluIG9sJywgJ2xpJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxl
bWVudCgnb2wnKSwgSFRNTExJRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBh
cmVudE5vZGUoCisgICd2YWx1ZScsICd2YWx1ZScsICczJywKKyAgJzUnLCAndmFsdWUgb24gSFRN
TExJRWxlbWVudCBpbiB1bCcsICdsaScsCisgICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ3VsJyks
IEhUTUxMSUVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAor
ICAndmFsdWUnLCAndmFsdWUnLCAnMycsCisgICc1JywgJ3ZhbHVlIG9uIEhUTUxMSUVsZW1lbnQg
aW4gbWVudScsICdsaScsCisgICgpID0+IGdldFBhcmVudEVsZW1lbnQoJ21lbnUnKSwgSFRNTExJ
RWxlbWVudAorKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTExhYmVsRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTExhYmVs
RWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJlNGNiMjhiZjQwMTk1OWM4MWZhOGI4
ZjJmMTk0NzViMjQyZTRhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTGFi
ZWxFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKyAgCisKK0ZBSUwgaHRtbEZv
ciBvbiBIVE1MTGFiZWxFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJl
YWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3Qg
YSBjb25zdHJ1Y3Rvci4KK0ZBSUwgaHRtbEZvciBvbiBIVE1MTGFiZWxFbGVtZW50IG11c3QgZW5x
dWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxMYWJlbEVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9IVE1MTGFiZWxFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTMwNDY5YTdkZjA1YTU2YmQ0YTBj
MmMwMjhmOTVmNjc4YWYyMjE3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
TGFiZWxFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0
bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MTGFiZWxFbGVtZW50IGludGVy
ZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRw
Oi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiCisgIGNvbnRlbnQ9Imh0bWxG
b3Igb2YgSFRNTExhYmVsRWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4K
KzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
I3RoZS1sYWJlbC1lbGVtZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRz
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9u
cy5qcyI+PC9zY3JpcHQ+CisKKzxmb3JtIGlkPSJmb3JtIj4KKyAgPGlucHV0IHR5cGU9InJhZGlv
IiBuYW1lPSJnZW5kZXIiIGlkPSJtYWxlIiB2YWx1ZT0ibWFsZSI+CisgIDxpbnB1dCB0eXBlPSJy
YWRpbyIgbmFtZT0iZ2VuZGVyIiBpZD0iZmVtYWxlIiB2YWx1ZT0iZmVtYWxlIj4KKzwvZm9ybT4K
KzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoKSB7CisgIGxldCBwYXJlbnRF
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0iKTsKKyAgcmV0dXJuIHBhcmVu
dEVsZW1lbnQ7Cit9CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBhcmVudE5vZGUoCisgICdo
dG1sRm9yJywgJ2ZvcicsICdtYWxlJywKKyAgJ2ZlbWFsZScsICdodG1sRm9yIG9uIEhUTUxMYWJl
bEVsZW1lbnQnLCAnbGFiZWwnLAorICBnZXRQYXJlbnRFbGVtZW50LCBIVE1MTGFiZWxFbGVtZW50
CispOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWFwRWxlbWVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1hcEVsZW1lbnQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUxZGJjMGM0ZWQyZWI4ZWNiMWNiMDg5MDk0NzhkYTllOTA3M2IwYTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1hcEVsZW1lbnQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorIAorCitGQUlMIG5hbWUgb24gSFRNTE1hcEVsZW1lbnQgbXVzdCBl
bnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgbmFtZSBjb250
ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwg
bmFtZSBvbiBIVE1MTWFwRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xh
c3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
TWFwRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNYXBFbGVtZW50Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjZiZDA0YmQxZjljOWE5MjUxNGQ4ZWUzZTYyNmIzODk4ZWUwZGFhZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWFwRWxlbWVudC5odG1sCkBAIC0wLDAgKzEsMTcg
QEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMg
b24gSFRNTE1hcEVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFz
c2VydCIgY29udGVudD0ibmFtZSBvZiBIVE1MTWFwRWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZl
IENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvI3RoZS1tYXAtZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1
c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8aW1nIHVzZW1hcD0iI3llbGxvdyIgc3Jj
PSIvaW1hZ2VzL3llbGxvdy5wbmciIGFsdD0ieWVsbG93IHBpYyI+Cis8aW1nIHVzZW1hcD0iI2dy
ZWVuIiBzcmM9Ii9pbWFnZXMvZ3JlZW4ucG5nIiBhbHQ9ImdyZWVuIHBpYyI+Cis8c2NyaXB0Pgor
Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgnbmFtZScsICduYW1lJywgJ3llbGxvdycsICdncmVlbics
ICduYW1lIG9uIEhUTUxNYXBFbGVtZW50JywgJ21hcCcsIEhUTUxNYXBFbGVtZW50KTsKKworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1lZGlhRWxlbWVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1lZGlhRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODc1Zjg2NWZmNDgyYTA4NzFkODJjMTRhNTUwMDVjNDA0ZmFhMDVhZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWVkaWFFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMwIEBACisKK0ZBSUwgc3JjIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gYXVkaW8gbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgc3JjIGNv
bnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJ
TCBzcmMgb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbyBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGNyb3NzT3JpZ2luIG9u
IEhUTUxNZWRpYUVsZW1lbnQgaW4gYXVkaW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjcm9zc09yaWdpbiBvbiBIVE1MTWVkaWFFbGVtZW50
IGluIGF1ZGlvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
cmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgcHJlbG9hZCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvIG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcHJl
bG9hZCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBU
aGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgYXV0b3BsYXkgb24gSFRN
TE1lZGlhRWxlbWVudCBpbiBhdWRpbyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIGF1dG9wbGF5IG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gYXVk
aW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNp
bmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorRkFJTCBsb29wIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gYXVkaW8gbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRl
IFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBsb29wIG9uIEhUTUxN
ZWRpYUVsZW1lbnQgaW4gYXVkaW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNz
IGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjb250cm9scyBvbiBIVE1MTWVkaWFFbGVtZW50
IGluIGF1ZGlvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
YWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KK0ZBSUwgY29udHJvbHMgb24gSFRNTE1lZGlhRWxlbWVudCBpbiBhdWRpbyBtdXN0IGVucXVl
dWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGlu
ZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGRl
ZmF1bHRNdXRlZCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvIG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUg
c3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgZGVmYXVsdE11dGVkIG9uIEhU
TUxNZWRpYUVsZW1lbnQgaW4gYXVkaW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQg
cmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBzcmMgb24gSFRNTE1lZGlhRWxlbWVudCBp
biB2aWRlbyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFk
ZGluZyBzcmMgY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCitGQUlMIHNyYyBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVvIG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY3Jv
c3NPcmlnaW4gb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2aWRlbyBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1
cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGNyb3NzT3JpZ2luIG9uIEhUTUxN
ZWRpYUVsZW1lbnQgaW4gdmlkZW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNz
IGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBwcmVsb2FkIG9uIEhUTUxNZWRpYUVsZW1lbnQg
aW4gdmlkZW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBh
ZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9y
LgorRkFJTCBwcmVsb2FkIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gdmlkZW8gbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3Rpbmcg
YXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBhdXRv
cGxheSBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVvIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgYXV0b3BsYXkgb24gSFRNTE1lZGlhRWxl
bWVudCBpbiB2aWRlbyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIGxvb3Agb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2aWRlbyBt
dXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5l
dyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGxv
b3Agb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2aWRlbyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhl
IHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGNvbnRyb2xzIG9uIEhUTUxN
ZWRpYUVsZW1lbnQgaW4gdmlkZW8gbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorRkFJTCBjb250cm9scyBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVv
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5n
IGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KK0ZBSUwgZGVmYXVsdE11dGVkIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW4gdmlkZW8gbXVzdCBl
bnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBkZWZhdWx0
TXV0ZWQgb24gSFRNTE1lZGlhRWxlbWVudCBpbiB2aWRlbyBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
YWN0aW9ucy9IVE1MTWVkaWFFbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1lZGlhRWxl
bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmMjliMzVmMjhiNzQ1N2VjOWY5ZDVlMzVjYzM2M2U0Mzg5
Yzc0YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1lZGlhRWxlbWVudC5o
dG1sCkBAIC0wLDAgKzEsMTA3IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxl
bWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4K
KzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwu
Y29tIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0ic3JjLCBjcm9zc09yaWdpbiwgcHJl
bG9hZCwgYXV0b3BsYXksIGxvb3AsCisgIGNvbnRyb2xzLCBkZWZhdWx0TXV0ZWQgb2YgSFRNTE1l
ZGlhRWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9
ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI21lZGlhLWVsZW1l
bnRzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+
CisKKzxib2R5PgorPHNjcmlwdD4KKworZnVuY3Rpb24gZ2V0UGFyZW50RWxlbWVudCgpIHsKKyAg
cmV0dXJuIGRvY3VtZW50LmJvZHk7Cit9CisKK2Z1bmN0aW9uIHNldEF0dHJpYnV0ZXMoaW5zdGFu
Y2UsIHZhbHVlKSB7CisgIGluc3RhbmNlLnNldEF0dHJpYnV0ZSgnc3JjJywgdmFsdWUpOworfQor
Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgKKyAgJ3NyYycsICdzcmMnLCAnL21lZGlhL3NvdW5kXzAu
bXAzJywKKyAgJy9tZWRpYS9zb3VuZF81Lm1wMycsICdzcmMgb24gSFRNTE1lZGlhRWxlbWVudCBp
biBhdWRpbycsICdhdWRpbycsCisgIEhUTUxBdWRpb0VsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0
dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnY3Jvc3NPcmlnaW4nLCAnY3Jvc3Nv
cmlnaW4nLCAndXNlLWNyZWRlbnRpYWxzJywKKyAgJ2Fub255bW91cycsICdjcm9zc09yaWdpbiBv
biBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvJywgJ2F1ZGlvJywKKyAgZ2V0UGFyZW50RWxlbWVu
dCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgJy9tZWRpYS9zb3VuZF81Lm1w
MycpLAorICBIVE1MQXVkaW9FbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVw
ZW5kZW50QXR0cmlidXRlcygKKyAgJ3ByZWxvYWQnLCAncHJlbG9hZCcsICdhdXRvJywKKyAgJ25v
bmUnLCAncHJlbG9hZCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvJywgJ2F1ZGlvJywKKyAg
Z2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgJy9t
ZWRpYS9zb3VuZF81Lm1wMycpLAorICBIVE1MQXVkaW9FbGVtZW50CispOwordGVzdFJlZmxlY3RC
b29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdhdXRvcGxheScsICdh
dXRvcGxheScsICdhdXRvcGxheSBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvJywKKyAgJ2F1
ZGlvJywgZ2V0UGFyZW50RWxlbWVudCwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0
YW5jZSwgJy9tZWRpYS9zb3VuZF81Lm1wMycpLAorICBIVE1MQXVkaW9FbGVtZW50CispOwordGVz
dFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdsb29w
JywgJ2xvb3AnLCAnbG9vcCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvJywKKyAgJ2F1ZGlv
JywgZ2V0UGFyZW50RWxlbWVudCwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5j
ZSwgJy9tZWRpYS9zb3VuZF81Lm1wMycpLCBIVE1MQXVkaW9FbGVtZW50CispOwordGVzdFJlZmxl
Y3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdjb250cm9scycs
ICdjb250cm9scycsICdjb250cm9scyBvbiBIVE1MTWVkaWFFbGVtZW50IGluIGF1ZGlvJywKKyAg
J2F1ZGlvJywgZ2V0UGFyZW50RWxlbWVudCwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhp
bnN0YW5jZSwgJy9tZWRpYS9zb3VuZF81Lm1wMycpLAorICBIVE1MQXVkaW9FbGVtZW50CispOwor
dGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdk
ZWZhdWx0TXV0ZWQnLCAnbXV0ZWQnLCAnZGVmYXVsdE11dGVkIG9uIEhUTUxNZWRpYUVsZW1lbnQg
aW4gYXVkaW8nLAorICAnYXVkaW8nLCBnZXRQYXJlbnRFbGVtZW50LAorICBpbnN0YW5jZSA9PiBz
ZXRBdHRyaWJ1dGVzKGluc3RhbmNlLCAnL21lZGlhL3NvdW5kXzUubXAzJyksCisgIEhUTUxBdWRp
b0VsZW1lbnQKKyk7CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKAorICAnc3JjJywgJ3NyYycsICcv
bWVkaWEvdmlkZW8ub2d2JywKKyAgJy9tZWRpYS9tb3ZpZV81Lm1wNCcsICdzcmMgb24gSFRNTE1l
ZGlhRWxlbWVudCBpbiB2aWRlbycsICd2aWRlbycsCisgIEhUTUxWaWRlb0VsZW1lbnQKKyk7Cit0
ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnY3Jvc3NPcmln
aW4nLCAnY3Jvc3NvcmlnaW4nLCAndXNlLWNyZWRlbnRpYWxzJywKKyAgJ2Fub255bW91cycsICdj
cm9zc09yaWdpbiBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVvJywgJ3ZpZGVvJywKKyAgZ2V0
UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgJy9tZWRp
YS9tb3ZpZV81Lm1wNCcpLAorICBIVE1MVmlkZW9FbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRy
aWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ3ByZWxvYWQnLCAncHJlbG9hZCcsICdh
dXRvJywKKyAgJ25vbmUnLCAncHJlbG9hZCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVvJywg
J3ZpZGVvJywKKyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhp
bnN0YW5jZSwgJy9tZWRpYS9tb3ZpZV81Lm1wNCcpLAorICBIVE1MVmlkZW9FbGVtZW50CispOwor
dGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdh
dXRvcGxheScsICdhdXRvcGxheScsICdhdXRvcGxheSBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZp
ZGVvJywKKyAgJ3ZpZGVvJywgZ2V0UGFyZW50RWxlbWVudCwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0
cmlidXRlcyhpbnN0YW5jZSwgJy9tZWRpYS9tb3ZpZV81Lm1wNCcpLAorICBIVE1MVmlkZW9FbGVt
ZW50CispOwordGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0
ZXMoCisgICdsb29wJywgJ2xvb3AnLCAnbG9vcCBvbiBIVE1MTWVkaWFFbGVtZW50IGluIHZpZGVv
JywKKyAgJ3ZpZGVvJywgZ2V0UGFyZW50RWxlbWVudCwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0cmli
dXRlcyhpbnN0YW5jZSwgJy9tZWRpYS9tb3ZpZV81Lm1wNCcpLAorICBIVE1MVmlkZW9FbGVtZW50
CispOwordGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMo
CisgICdjb250cm9scycsICdjb250cm9scycsICdjb250cm9scyBvbiBIVE1MTWVkaWFFbGVtZW50
IGluIHZpZGVvJywKKyAgJ3ZpZGVvJywgZ2V0UGFyZW50RWxlbWVudCwKKyAgaW5zdGFuY2UgPT4g
c2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgJy9tZWRpYS9tb3ZpZV81Lm1wNCcpLAorICBIVE1MVmlk
ZW9FbGVtZW50CispOwordGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0
dHJpYnV0ZXMoCisgICdkZWZhdWx0TXV0ZWQnLCAnbXV0ZWQnLCAnZGVmYXVsdE11dGVkIG9uIEhU
TUxNZWRpYUVsZW1lbnQgaW4gdmlkZW8nLAorICAndmlkZW8nLCBnZXRQYXJlbnRFbGVtZW50LAor
ICBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlLCAnL21lZGlhL21vdmllXzUubXA0
JyksCisgIEhUTUxWaWRlb0VsZW1lbnQKKyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNZXRhRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvSFRNTE1ldGFFbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTM0MTFlNzVh
MjM2ZGYzMjJjNjM1M2RiYjY1YzAwNTcwZGQxMWU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxNZXRhRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKK0ZB
SUwgbmFtZSBvbiBIVE1MTWV0YUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBuYW1lIG9uIEhUTUxNZXRhRWxlbWVudCBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlz
dGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IGNvbnRlbnQgb24gSFRNTE1ldGFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFu
Z2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBp
cyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY29udGVudCBvbiBIVE1MTWV0YUVsZW1lbnQgbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4g
ZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgor
RkFJTCBodHRwRXF1aXYgb24gSFRNTE1ldGFFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgaHR0cEVxdWl2IG9uIEhUTUxNZXRhRWxl
bWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxh
Y2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWV0YUVsZW1lbnQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9IVE1MTWV0YUVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDEwYWE3MzY3
Y2RhZGE5MTlhY2YxZTIyODU3ZTQ0MDRhNjgxMjEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxNZXRhRWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTE1ldGFFbGVt
ZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBo
cmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9
Im5hbWUsIGh0dHBFcXVpdiwgY29udGVudCBvZgorICBIVE1MTWV0YUVsZW1lbnQgaW50ZXJmYWNl
IG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbWV0YS1lbGVtZW50Ij4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoKSB7CisgIHJldHVybiBkb2N1bWVudC5oZWFkOworfQor
CitmdW5jdGlvbiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlLCBhdHRyaWJ1dGUsIHZhbHVlKSB7Cisg
IGluc3RhbmNlLnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIHZhbHVlKTsKK30KKwordGVzdFJlZmxl
Y3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ25hbWUnLCAnbmFtZScsICdk
ZXNjcmlwdGlvbicsCisgICdrZXl3b3JkcycsICduYW1lIG9uIEhUTUxNZXRhRWxlbWVudCcsICdt
ZXRhJywKKyAgZ2V0UGFyZW50RWxlbWVudCwKKyAgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhp
bnN0YW5jZSwgJ2NvbnRlbnQnLCAnSFRNTE1ldGFFbGVtZW50JyksCisgIEhUTUxNZXRhRWxlbWVu
dAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdj
b250ZW50JywgJ2NvbnRlbnQnLCAnbmFtZTEnLAorICAnbmFtZTInLCAnY29udGVudCBvbiBIVE1M
TWV0YUVsZW1lbnQnLCAnbWV0YScsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNl
dEF0dHJpYnV0ZXMoaW5zdGFuY2UsICduYW1lJywgJ2F1dGhvcicpLAorICBIVE1MTWV0YUVsZW1l
bnQKKyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgZWxlbWVudCA9IGRlZmluZV9idWlsZF9pbl9j
dXN0b21fZWxlbWVudCgKKyAgICBbJ2h0dHAtZXF1aXYnXSwgSFRNTE1ldGFFbGVtZW50LCAnbWV0
YScKKyAgKTsKKyAgbGV0IGluc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScs
IHsgaXM6IGVsZW1lbnQubmFtZSB9KTsKKworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQu
dGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnXSk7CisgIGRvY3VtZW50LmhlYWQuYXBw
ZW5kQ2hpbGQoaW5zdGFuY2UpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxv
ZygpLnR5cGVzKCksIFsnY29ubmVjdGVkJ10pOworICBpbnN0YW5jZVsnY29udGVudCddID0gJzMw
MCc7CisgIGluc3RhbmNlWydodHRwRXF1aXYnXSA9ICdyZWZyZXNoJzsKKyAgbGV0IGxvZ0VudHJp
ZXMgPSBlbGVtZW50LnRha2VMb2coKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dFbnRyaWVz
LnR5cGVzKCksIFsnYXR0cmlidXRlQ2hhbmdlZCddKTsKKyAgYXNzZXJ0X2F0dHJpYnV0ZV9sb2df
ZW50cnkobG9nRW50cmllcy5sYXN0KCksIHsKKyAgICBuYW1lOiAnaHR0cC1lcXVpdicsIG9sZFZh
bHVlOiBudWxsLCBuZXdWYWx1ZTogJ3JlZnJlc2gnLCBuYW1lc3BhY2U6IG51bGwKKyAgfSk7Cit9
LCAnaHR0cEVxdWl2IG9uIEhUTUxNZXRhRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCcKKyAgKyAnIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZScpOwor
Cit0ZXN0KCgpID0+IHsKKyAgbGV0IGVsZW1lbnQgPSBkZWZpbmVfYnVpbGRfaW5fY3VzdG9tX2Vs
ZW1lbnQoCisgICAgWydodHRwLWVxdWl2J10sIEhUTUxNZXRhRWxlbWVudCwgJ21ldGEnCisgICk7
CisgIGxldCBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGEnLCB7IGlzOiBl
bGVtZW50Lm5hbWUgfSk7CisgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOwor
CisgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25z
dHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7CisgIGluc3RhbmNlWydjb250ZW50J10gPSAndGV4dC9o
dG1sOyBjaGFyc2V0PVVURi04JzsKKyAgaW5zdGFuY2VbJ2h0dHBFcXVpdiddID0gJ2NvbnRlbnQt
dHlwZSc7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwg
WydhdHRyaWJ1dGVDaGFuZ2VkJ10pOworICBpbnN0YW5jZVsnY29udGVudCddID0gJzMwMCc7Cisg
IGluc3RhbmNlWydodHRwRXF1aXYnXSA9ICdyZWZyZXNoJzsKKyAgbGV0IGxvZ0VudHJpZXMgPSBl
bGVtZW50LnRha2VMb2coKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dFbnRyaWVzLnR5cGVz
KCksIFsnYXR0cmlidXRlQ2hhbmdlZCddKTsKKyAgYXNzZXJ0X2F0dHJpYnV0ZV9sb2dfZW50cnko
bG9nRW50cmllcy5sYXN0KCksIHsKKyAgICBuYW1lOiAnaHR0cC1lcXVpdicsIG9sZFZhbHVlOiAn
Y29udGVudC10eXBlJywKKyAgICBuZXdWYWx1ZTogJ3JlZnJlc2gnLCBuYW1lc3BhY2U6IG51bGwK
KyAgfSk7Cit9LCAnaHR0cEVxdWl2IG9uIEhUTUxNZXRhRWxlbWVudCBtdXN0IGVucXVldWUgYW4g
YXR0cmlidXRlQ2hhbmdlZCcKKyAgKyAnIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZScpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MTWV0ZXJFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWV0ZXJFbGVt
ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MGJlYTJhZWY0NzUwNWRmMjk3NTgwNDExN2Y5
ODk4Njg1ZWZlYzBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNZXRlckVs
ZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKKworRkFJTCB2YWx1ZSBvbiBIVE1M
TWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdo
ZW4gYWRkaW5nIHZhbHVlIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorRkFJTCB2YWx1ZSBvbiBIVE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgbWlu
IG9uIEhUTUxNZXRlckVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorRkFJTCBtaW4gb24gSFRNTE1ldGVyRWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIG1heCBv
biBIVE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgbWF4IG9uIEhUTUxNZXRlckVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBsb3cgb24g
SFRNTE1ldGVyRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29u
c3RydWN0b3IuCitGQUlMIGxvdyBvbiBIVE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgaGlnaCBvbiBI
VE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9u
IHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KK0ZBSUwgaGlnaCBvbiBIVE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgb3B0aW11bSBv
biBIVE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgb3B0aW11bSBvbiBIVE1MTWV0ZXJFbGVtZW50IG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNZXRlckVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MTWV0ZXJFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE1MmViMGY1YTAwZjc3ODkwNjc1MWNl
YTU4YTE4Nzc1NmU2ODVmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWV0
ZXJFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+
Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MTWV0ZXJFbGVtZW50IGludGVyZmFj
ZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8v
d3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9InZhbHVlLCBtaW4s
IG1heCwgbG93LCBoaWdoLCBvcHRpbXVtIG9mCisgIEhUTUxNZXRlckVsZW1lbnQgaW50ZXJmYWNl
IG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbWV0ZXItZWxlbWVudCI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8Ym9keT4KKzxzY3Jp
cHQ+CisKK2Z1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoKSB7CisgIHJldHVybiBkb2N1bWVudC5i
b2R5OworfQorCitmdW5jdGlvbiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSB7CisgIGluc3RhbmNl
LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnMC42Jyk7Cit9CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRl
KAorICAndmFsdWUnLCAndmFsdWUnLCAnMC4zJywKKyAgJzAuNCcsICd2YWx1ZSBvbiBIVE1MTWV0
ZXJFbGVtZW50JywgJ21ldGVyJywKKyAgSFRNTE1ldGVyRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0
QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdtaW4nLCAnbWluJywgJzAuMScs
CisgICcwLjInLCAnbWluIG9uIEhUTUxNZXRlckVsZW1lbnQnLCAnbWV0ZXInLAorICBnZXRQYXJl
bnRFbGVtZW50LCBpbnN0YW5jZSA9PiBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKSwgSFRNTE1ldGVy
RWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMo
CisgICdtYXgnLCAnbWF4JywgJzInLAorICAnMycsICdtYXggb24gSFRNTE1ldGVyRWxlbWVudCcs
ICdtZXRlcicsCisgIGdldFBhcmVudEVsZW1lbnQsIGluc3RhbmNlID0+IHNldEF0dHJpYnV0ZXMo
aW5zdGFuY2UpLCBIVE1MTWV0ZXJFbGVtZW50CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRo
RGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ2xvdycsICdsb3cnLCAnMC4xJywKKyAgJzAuMicsICds
b3cgb24gSFRNTE1ldGVyRWxlbWVudCcsICdtZXRlcicsCisgIGdldFBhcmVudEVsZW1lbnQsIGlu
c3RhbmNlID0+IHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpLCBIVE1MTWV0ZXJFbGVtZW50CispOwor
dGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcygKKyAgJ2hpZ2gnLCAn
aGlnaCcsICcyJywKKyAgJzMnLCAnaGlnaCBvbiBIVE1MTWV0ZXJFbGVtZW50JywgJ21ldGVyJywK
KyAgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSks
IEhUTUxNZXRlckVsZW1lbnQKKyk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRB
dHRyaWJ1dGVzKAorICAnb3B0aW11bScsICdvcHRpbXVtJywgJzAuMycsCisgICcwLjQnLCAnb3B0
aW11bSBvbiBIVE1MTWV0ZXJFbGVtZW50JywgJ21ldGVyJywKKyAgZ2V0UGFyZW50RWxlbWVudCwg
aW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSksIEhUTUxNZXRlckVsZW1lbnQKKyk7
CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNb2RF
bGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTW9kRWxlbWVudC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2Q0OGMzYWJjMmNiNmQ5NzA4MGRkZjE5NWUwM2Q3MGViM2FjYjFi
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTW9kRWxlbWVudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMCBAQAorCitGQUlMIGNpdGUgb24gaW5zIHVzZSBIVE1MTW9kRWxl
bWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGlu
ZyBjaXRlIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorRkFJTCBjaXRlIG9uIGlucyB1c2UgSFRNTE1vZEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBkYXRlVGlt
ZSBvbiBpbnMgdXNlIEhUTUxNb2RFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFu
Z2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGRhdGV0aW1lIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBz
dXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBkYXRlVGltZSBvbiBpbnMgdXNl
IEhUTUxNb2RFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9u
IHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBu
b3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY2l0ZSBvbiBkZWwgdXNlIEhUTUxNb2RFbGVtZW50IG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGNpdGUg
Y29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitG
QUlMIGNpdGUgb24gZGVsIHVzZSBIVE1MTW9kRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGRhdGVUaW1lIG9uIGRl
bCB1c2UgSFRNTE1vZEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiBhZGRpbmcgZGF0ZXRpbWUgY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xh
c3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGRhdGVUaW1lIG9uIGRlbCB1c2UgSFRNTE1v
ZEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBy
ZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE1vZEVsZW1lbnQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MTW9kRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1MGZlMTcw
YTUwZDIxYzFhNWNiNWEwNDJmMDViZDJmYjA2MmQzZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTE1vZEVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUg
aHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxNb2RFbGVt
ZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBo
cmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9
ImNpdGUsIGRhdGVUaW1lIG9mIEhUTUxNb2RFbGVtZW50IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VS
ZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy8jYXR0cmlidXRlcy1jb21tb24tdG8taW5zLWFuZC1kZWwtZWxlbWVudHMiPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPHNj
cmlwdD4KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ2NpdGUnLCAnY2l0ZScsICcuLi9yZXNvdXJj
ZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMnLCAnLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpz
JywgJ2NpdGUgb24gaW5zIHVzZSBIVE1MTW9kRWxlbWVudCcsICdpbnMnLCBIVE1MTW9kRWxlbWVu
dCk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgnZGF0ZVRpbWUnLCAnZGF0ZXRpbWUnLCAnMjAxOC0x
Mi0xOSAwMDowMFonLCAnMjAxOC0xMi0yMCAwMDowMFonLCAnZGF0ZVRpbWUgb24gaW5zIHVzZSBI
VE1MTW9kRWxlbWVudCcsICdpbnMnLCBIVE1MTW9kRWxlbWVudCk7Cit0ZXN0UmVmbGVjdEF0dHJp
YnV0ZSgnY2l0ZScsICdjaXRlJywgJy4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVy
cy5qcycsICcuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMnLCAnY2l0ZSBvbiBkZWwgdXNlIEhUTUxN
b2RFbGVtZW50JywgJ2RlbCcsIEhUTUxNb2RFbGVtZW50KTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRl
KCdkYXRlVGltZScsICdkYXRldGltZScsICcyMDE4LTEwLTExVDAxOjI1LTA3OjAwJywgJzIwMTgt
MTAtMTJUMDE6MjUtMDc6MDAnLCAnZGF0ZVRpbWUgb24gZGVsIHVzZSBIVE1MTW9kRWxlbWVudCcs
ICdkZWwnLCBIVE1MTW9kRWxlbWVudCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxPTGlzdEVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxP
TGlzdEVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyYWIxNDQ5NTM2ZGNlM2Y0ZDky
MmU1NTRhZjgxMjBhNDAxODFmNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TE9MaXN0RWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKK0ZBSUwgcmV2ZXJz
ZWQgb24gSFRNTE9MaXN0RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGFkZGluZyByZXZlcnNlZCBjb250ZW50IGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcmV2ZXJzZWQgb24gSFRNTE9MaXN0RWxl
bWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxh
Y2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3Ry
dWN0b3IuCitGQUlMIHN0YXJ0IG9uIEhUTUxPTGlzdEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgc3RhcnQgY29udGVudCBhdHRyaWJ1
dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHN0YXJ0IG9uIEhU
TUxPTGlzdEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5v
dCBhIGNvbnN0cnVjdG9yLgorRkFJTCB0eXBlIG9uIEhUTUxPTGlzdEVsZW1lbnQgbXVzdCBlbnF1
ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgdHlwZSBjb250ZW50
IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgdHlw
ZSBvbiBIVE1MT0xpc3RFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJl
YWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFz
cyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxP
TGlzdEVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MT0xpc3RFbGVtZW50Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGU1M2NkYjBhNTEwNDUzOTYwZmVjY2QyMTA0MTA5NjEwZjIzZTY2NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MT0xpc3RFbGVtZW50Lmh0bWwKQEAgLTAsMCAr
MSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0
aW9ucyBvbiBIVE1MT0xpc3RFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBu
YW1lPSJhc3NlcnQiIGNvbnRlbnQ9InJldmVyc2VkLCBzdGFydCwgdHlwZSBvZiBIVE1MT0xpc3RF
bGVtZW50IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVs
cCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLW9sLWVsZW1lbnQi
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKwor
PHNjcmlwdD4KKwordGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlKCdyZXZlcnNlZCcsICdyZXZl
cnNlZCcsICdyZXZlcnNlZCBvbiBIVE1MT0xpc3RFbGVtZW50JywgJ29sJywgSFRNTE9MaXN0RWxl
bWVudCk7Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgnc3RhcnQnLCAnc3RhcnQnLCAnMicsICc1Jywg
J3N0YXJ0IG9uIEhUTUxPTGlzdEVsZW1lbnQnLCAnb2wnLCBIVE1MT0xpc3RFbGVtZW50KTsKK3Rl
c3RSZWZsZWN0QXR0cmlidXRlKCd0eXBlJywgJ3R5cGUnLCAnMScsICdhJywgJ3R5cGUgb24gSFRN
TE9MaXN0RWxlbWVudCcsICdvbCcsIEhUTUxPTGlzdEVsZW1lbnQpOworCis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MT3B0R3JvdXBFbGVtZW50LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9IVE1MT3B0R3JvdXBFbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43MzBkMmM4YjE5YWRkOGU3YmY5ZTcxMjQ0NTEyYmVkYmI0OGFhZjU1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPcHRHcm91cEVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNyBAQAorCisKK0ZBSUwgZGlzYWJsZWQgb24gSFRNTE9wdEdyb3VwRWxlbWVudCBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGRpc2Fi
bGVkIG9uIEhUTUxPcHRHcm91cEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBl
cmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBsYWJlbCBvbiBIVE1MT3B0R3JvdXBF
bGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRk
aW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4K
K0ZBSUwgbGFiZWwgb24gSFRNTE9wdEdyb3VwRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
YWN0aW9ucy9IVE1MT3B0R3JvdXBFbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdEdy
b3VwRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmYTMxYmI0NjVmMzNkZWJhZTc5Y2JjMGNiZWY0
ZGUwZGIzODI2ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdEdyb3Vw
RWxlbWVudC5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkN1
c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTE9wdEdyb3VwRWxlbWVudCBpbnRlcmZh
Y2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDov
L3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJkaXNhYmxlZCwg
bGFiZWwgb2YKKyAgSFRNTE9wdEdyb3VwRWxlbWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVh
Y3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvI3RoZS1vcHRncm91cC1lbGVtZW50Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY3Vz
dG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzxib2R5PgorPHNjcmlwdD4KKworZnVuY3Rp
b24gZ2V0UGFyZW50RWxlbWVudCgpIHsKKyAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzZWxlY3QnKTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsK
KyAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKK2Z1bmN0aW9uIHNldEF0dHJpYnV0ZXMoaW5zdGFuY2Up
IHsKKyAgaW5zdGFuY2Uuc2V0QXR0cmlidXRlKCdsYWJlbCcsICdncm91cDEnKTsKK30KKwordGVz
dFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICdkaXNh
YmxlZCcsICdkaXNhYmxlZCcsICdkaXNhYmxlZCBvbiBIVE1MT3B0R3JvdXBFbGVtZW50JywKKyAg
J29wdGdyb3VwJywgZ2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhp
bnN0YW5jZSksCisgIEhUTUxPcHRHcm91cEVsZW1lbnQKKyk7CisKK3Rlc3RSZWZsZWN0QXR0cmli
dXRlV2l0aFBhcmVudE5vZGUoCisgICdsYWJlbCcsICdsYWJlbCcsICdncm91cDEnLAorICAnZ3Jv
dXAyJywgJ2xhYmVsIG9uIEhUTUxPcHRHcm91cEVsZW1lbnQnLCAnb3B0Z3JvdXAnLAorICBnZXRQ
YXJlbnRFbGVtZW50LCBIVE1MT3B0R3JvdXBFbGVtZW50CispOworCis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUGFyYW1FbGVtZW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MUGFyYW1FbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NzgxOWI5YjUzYzg4ZjhhMTQwMzAwMGZjY2U4NGUyYzc3Y2Q2Y2RkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxQYXJhbUVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNyBAQAorCisKK0ZBSUwgbmFtZSBvbiBIVE1MUGFyYW1FbGVtZW50IG11c3QgZW5xdWV1ZSBh
biBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBU
aGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgbmFtZSBvbiBIVE1MUGFy
YW1FbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
cmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK0ZBSUwgdmFsdWUgb24gSFRNTFBhcmFtRWxlbWVudCBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUg
VGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHZhbHVlIG9uIEhUTUxQ
YXJhbUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hl
biByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBh
IGNvbnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFBhcmFtRWxlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxQYXJhbUVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
M2YyNGRkYjU0ZWQ1MDI2ZjA5M2Y5MTZhZGI1NGM4NTA4ZTFmNmU4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxQYXJhbUVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDQxIEBACis8
IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhU
TUxQYXJhbUVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFzc2Vy
dCIgY29udGVudD0ibmFtZSwgdmFsdWUgb2YgSFRNTFBhcmFtRWxlbWVudAorICBpbnRlcmZhY2Ug
bXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1wYXJhbS1lbGVtZW50Ij4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzxib2R5PgorPHNjcmlw
dD4KKworZnVuY3Rpb24gZ2V0UGFyZW50RWxlbWVudCgpIHsKKyAgbGV0IGVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdvYmplY3QnKTsKKyAgZWxlbWVudFsndHlwZSddID0gJ2ltYWdl
L3BuZyc7CisgIGVsZW1lbnRbJ2RhdGEnXSA9ICcvaW1hZ2VzL2JsdWUucG5nJzsKKyAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKK2Z1
bmN0aW9uIHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UsIGF0dHJpYnV0ZSwgdmFsdWUpIHsKKyAgaW5z
dGFuY2Uuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpOworfQorCit0ZXN0UmVmbGVjdEF0
dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRyaWJ1dGVzKAorICAnbmFtZScsICduYW1lJywgJ2ltYWdl
MScsCisgICdpbWFnZTInLCAnbmFtZSBvbiBIVE1MUGFyYW1FbGVtZW50JywgJ3BhcmFtJywKKyAg
Z2V0UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgJ3Zh
bHVlJywgJ2JsdWUnKSwKKyAgSFRNTFBhcmFtRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmli
dXRlV2l0aERlcGVuZGVudEF0dHJpYnV0ZXMoCisgICd2YWx1ZScsICd2YWx1ZScsICdibHVlMScs
CisgICdibHVlMicsICd2YWx1ZSBvbiBIVE1MUGFyYW1FbGVtZW50JywgJ3BhcmFtJywKKyAgZ2V0
UGFyZW50RWxlbWVudCwgaW5zdGFuY2UgPT4gc2V0QXR0cmlidXRlcyhpbnN0YW5jZSwgJ25hbWUn
LCAnaW1hZ2UnKSwKKyAgSFRNTFBhcmFtRWxlbWVudAorKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFByb2dyZXNzRWxlbWVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTFByb2dyZXNzRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjQ4NzAxYWJlNDVjMDVlMmJiYTBhMzVhMGYyMWFkZmYwOGYyNDliNQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MUHJvZ3Jlc3NFbGVtZW50LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDYgQEAKKworRkFJTCB2YWx1ZSBvbiBIVE1MUHJvZ3Jlc3NFbGVtZW50IG11c3Qg
ZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIHZhbHVlIGNv
bnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJ
TCB2YWx1ZSBvbiBIVE1MUHJvZ3Jlc3NFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUg
c3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgbWF4IG9uIEhUTUxQcm9ncmVz
c0VsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBh
ZGRpbmcgbWF4IGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0
cnVjdG9yLgorRkFJTCBtYXggb24gSFRNTFByb2dyZXNzRWxlbWVudCBtdXN0IGVucXVldWUgYW4g
YXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRy
aWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9IVE1MUHJvZ3Jlc3NFbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TFByb2dyZXNzRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiZTQ1ZjhkMzk1YjlmNGFiNjkxMWMw
NDE1MWJkM2QxY2I0NWYyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFBy
b2dyZXNzRWxlbWVudC5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTFByb2dyZXNzRWxlbWVudCBp
bnRlcmZhY2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0i
aHR0cDovL3d3dy5pbnRlbC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ2YWx1
ZSwgbWF4IG9mIEhUTUxQcm9ncmVzc0VsZW1lbnQKKyAgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJl
YWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnLyN0aGUtcHJvZ3Jlc3MtZWxlbWVudCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1
c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCit0ZXN0UmVmbGVjdEF0
dHJpYnV0ZSgKKyAgJ3ZhbHVlJywgJ3ZhbHVlJywgJzAuMTUnLAorICAnMC4yJywgJ3ZhbHVlIG9u
IEhUTUxQcm9ncmVzc0VsZW1lbnQnLCAncHJvZ3Jlc3MnLAorICBIVE1MUHJvZ3Jlc3NFbGVtZW50
CispOwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoCisgICdtYXgnLCAnbWF4JywgJzInLAorICAnNCcs
ICdtYXggb24gSFRNTFByb2dyZXNzRWxlbWVudCcsICdwcm9ncmVzcycsCisgIEhUTUxQcm9ncmVz
c0VsZW1lbnQKKyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxR
dW90ZUVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxRdW90ZUVsZW1lbnQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2ODAwYWVlODFkMzQ1NjMzM2U1Yzg1NWRjNmFjM2Vl
MWFmNmIyNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFF1b3RlRWxlbWVu
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwgY2l0ZSBvbiBibG9ja3F1b3Rl
IHVzZSBIVE1MUXVvdGVFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJl
YWN0aW9uIHdoZW4gYWRkaW5nIGNpdGUgY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3Mg
aXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGNpdGUgb24gYmxvY2txdW90ZSB1c2UgSFRNTFF1
b3RlRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVu
IHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEg
Y29uc3RydWN0b3IuCitGQUlMIGNpdGUgb24gcSB1c2UgSFRNTFF1b3RlRWxlbWVudCBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBjaXRlIGNvbnRl
bnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBj
aXRlIG9uIHEgdXNlIEhUTUxRdW90ZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNo
YW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBz
dXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTFF1b3RlRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxRdW90ZUVsZW1lbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45N2FiMTBhMTcwZTY2ZWJhN2UwMzYzMjExMTFlOTlkYmJhOGJjZmY4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxRdW90ZUVsZW1lbnQuaHRtbApA
QCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6
IENFUmVhY3Rpb25zIG9uIEhUTUxRdW90ZUVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4K
KzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iY2l0ZSBvZiBIVE1MUXVvdGVFbGVtZW50IGlu
dGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVu
dD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWJsb2NrcXVvdGUtZWxlbWVudCI+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorCis8
c2NyaXB0PgorCit0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgnY2l0ZScsICdjaXRlJywgJy4uL3Jlc291
cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcycsICcuL3Jlc291cmNlcy9yZWFjdGlvbnMu
anMnLCAnY2l0ZSBvbiBibG9ja3F1b3RlIHVzZSBIVE1MUXVvdGVFbGVtZW50JywgJ2Jsb2NrcXVv
dGUnLCBIVE1MUXVvdGVFbGVtZW50KTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKCdjaXRlJywgJ2Np
dGUnLCAnLi4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzJywgJy4vcmVzb3Vy
Y2VzL3JlYWN0aW9ucy5qcycsICdjaXRlIG9uIHEgdXNlIEhUTUxRdW90ZUVsZW1lbnQnLCAncScs
IEhUTUxRdW90ZUVsZW1lbnQpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9IVE1MU2xvdEVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTbG90RWxl
bWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA3OGU4MjRkZGY1YzMxYmM2ODFiN2FhNzg4
NzFmMDc1YmMzOTEyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU2xvdEVs
ZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIG5hbWUgb24gSFRNTFNs
b3RFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
YWRkaW5nIG5hbWUgY29udGVudCBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29u
c3RydWN0b3IuCitGQUlMIG5hbWUgb24gSFRNTFNsb3RFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxTbG90RWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTbG90
RWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiYThmMjBjY2ZjZGUzYjllMTg1MmNiNGQ0OTZkZjVj
Zjg1ZTVlNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFNsb3RFbGVtZW50
Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q3VzdG9tIEVs
ZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MU2xvdEVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4K
KzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwu
Y29tIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0ibmFtZSBvZiBIVE1MU2xvdEVsZW1l
bnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBj
b250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtc2xvdC1lbGVtZW50Ij4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzxz
Y3JpcHQ+CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlKCduYW1lJywgJ25hbWUnLCAnc2xvdDEnLCAn
c2xvdDInLCAnbmFtZSBvbiBIVE1MU2xvdEVsZW1lbnQnLCAnc2xvdCcsIEhUTUxTbG90RWxlbWVu
dCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTdHlsZUVsZW1l
bnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTdHlsZUVsZW1lbnQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk0YWVkOTU3MzAyY2NlMWMzZGYwNjExMzRmYWJhMTY3MDA0Y2U0NTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFN0eWxlRWxlbWVudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0IEBACisKK0ZBSUwgbWVkaWEgb24gSFRNTFN0eWxlRWxlbWVudCBt
dXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5l
dyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIG1l
ZGlhIG9uIEhUTUxTdHlsZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQg
cmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TFN0eWxlRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTdHlsZUVsZW1lbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43MThiM2NlZmM3Yjc2NzRhOWY2NjY1MjYxMWQ1NzRhMTBjMmZkZTg2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTdHlsZUVsZW1lbnQuaHRtbApAQCAtMCww
ICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVh
Y3Rpb25zIG9uIEhUTUxTdHlsZUVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRh
IG5hbWU9ImFzc2VydCIgY29udGVudD0ibWVkaWEgb2YgSFRNTFN0eWxlRWxlbWVudCBpbnRlcmZh
Y2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1zdHlsZS1lbGVtZW50Ij4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisK
K2Z1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoKSB7CisgIHJldHVybiBkb2N1bWVudC5oZWFkOwor
fQorCit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAorICAnbWVkaWEnLCAnbWVk
aWEnLCAncHJpbnQnLAorICAnc2NyZWVuJywgJ21lZGlhIG9uIEhUTUxTdHlsZUVsZW1lbnQnLCAn
c3R5bGUnLAorICBnZXRQYXJlbnRFbGVtZW50LCBIVE1MU3R5bGVFbGVtZW50CispOworCis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVDZWxsRWxlbWVudC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlQ2VsbEVsZW1lbnQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQzMDU3ZTQzYzI2NGY3ZTlmY2MyMzM4NWI3MjIxMWQ4MTBjYzlhNmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlQ2VsbEVsZW1lbnQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKKworRkFJTCBjb2xTcGFuIG9uIEhUTUxUYWJsZUNlbGxF
bGVtZW50IGluIHRkIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdo
ZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1
Y3Rvci4KK0ZBSUwgY29sU3BhbiBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0ZCBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlz
dGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlM
IGNvbFNwYW4gb24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4gdGggbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBz
dXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBjb2xTcGFuIG9uIEhUTUxUYWJs
ZUNlbGxFbGVtZW50IGluIHRoIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBp
cyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcm93U3BhbiBvbiBIVE1MVGFibGVDZWxsRWxlbWVu
dCBpbiB0ZCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFk
ZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3Iu
CitGQUlMIHJvd1NwYW4gb24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4gdGQgbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3Rpbmcg
YXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCByb3dT
cGFuIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRoIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgbmV3IGF0dHJpYnV0ZSBUaGUgc3VwZXJj
bGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgcm93U3BhbiBvbiBIVE1MVGFibGVDZWxs
RWxlbWVudCBpbiB0aCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90
IGEgY29uc3RydWN0b3IuCitGQUlMIGhlYWRlcnMgb24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4g
dGQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcg
YSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJ
TCBoZWFkZXJzIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRkIG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgaGVhZGVycyBv
biBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0aCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3Mg
aXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIGhlYWRlcnMgb24gSFRNTFRhYmxlQ2VsbEVsZW1l
bnQgaW4gdGggbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBy
ZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNv
bnN0cnVjdG9yLgorRkFJTCBzY29wZSBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0aCBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBh
dHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29uc3RydWN0b3IuCitGQUlMIHNjb3Bl
IG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRoIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUg
c3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgYWJiciBvbiBIVE1MVGFibGVD
ZWxsRWxlbWVudCBpbiB0aCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUgVGhlIHN1cGVyY2xhc3MgaXMgbm90IGEgY29u
c3RydWN0b3IuCitGQUlMIGFiYnIgb24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4gdGggbXVzdCBl
bnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhp
c3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
YWN0aW9ucy9IVE1MVGFibGVDZWxsRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhYzJhYjkxYzEw
NmY3NDczOTk2NDZjYTk4OGYwMjViNzk5ZTdkZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDYzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxUYWJs
ZUNlbGxFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9
IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbSI+Cis8bWV0YSBuYW1lPSJhc3NlcnQi
IGNvbnRlbnQ9ImNvbFNwYW4sIHJvd1NwYW4sIGhlYWRlcnMsIHNjb3BlLCBhYmJyIG9mCisgIEhU
TUxUYWJsZUNlbGxFbGVtZW50IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1l
dGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhl
LXRkLWVsZW1lbnQiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVy
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48
L3NjcmlwdD4KKworPHRhYmxlPjx0ciBpZD0iY29sU3BhbiI+PC90YWJsZT4KKzx0YWJsZT48dHIg
aWQ9InJvd1NwYW4iPjx0cj48dHI+PC90YWJsZT4KKzx0YWJsZT48dHI+PHRoIGlkPSJpZDEiPjx0
aCBpZD0iaWQyIj48dHIgaWQ9InRkX2hlYWRlcnMiPjx0ciBpZD0idGhfaGVhZGVycyI+PC90YWJs
ZT4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoaWQpIHsKKyAgbGV0IHBh
cmVudEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CisgIHJldHVybiBwYXJl
bnRFbGVtZW50OworfQorCit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAorICAn
Y29sU3BhbicsICdjb2xzcGFuJywgJzInLAorICAnMycsICdjb2xTcGFuIG9uIEhUTUxUYWJsZUNl
bGxFbGVtZW50IGluIHRkJywgJ3RkJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxlbWVudCgnY29sU3Bh
bicpLCBIVE1MVGFibGVDZWxsRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBh
cmVudE5vZGUoCisgICdjb2xTcGFuJywgJ2NvbHNwYW4nLCAnMicsCisgICczJywgJ2NvbFNwYW4g
b24gSFRNTFRhYmxlQ2VsbEVsZW1lbnQgaW4gdGgnLCAndGgnLAorICAoKSA9PiBnZXRQYXJlbnRF
bGVtZW50KCdjb2xTcGFuJyksIEhUTUxUYWJsZUNlbGxFbGVtZW50CispOwordGVzdFJlZmxlY3RB
dHRyaWJ1dGVXaXRoUGFyZW50Tm9kZSgKKyAgJ3Jvd1NwYW4nLCAncm93c3BhbicsICcyJywKKyAg
JzMnLCAncm93U3BhbiBvbiBIVE1MVGFibGVDZWxsRWxlbWVudCBpbiB0ZCcsICd0ZCcsCisgICgp
ID0+IGdldFBhcmVudEVsZW1lbnQoJ3Jvd1NwYW4nKSwgSFRNTFRhYmxlQ2VsbEVsZW1lbnQKKyk7
Cit0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhQYXJlbnROb2RlKAorICAncm93U3BhbicsICdyb3dz
cGFuJywgJzInLAorICAnMycsICdyb3dTcGFuIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRo
JywgJ3RoJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxlbWVudCgncm93U3BhbicpLCBIVE1MVGFibGVD
ZWxsRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBhcmVudE5vZGUoCisgICdo
ZWFkZXJzJywgJ2hlYWRlcnMnLCAnaWQxJywKKyAgJ2lkMicsICdoZWFkZXJzIG9uIEhUTUxUYWJs
ZUNlbGxFbGVtZW50IGluIHRkJywgJ3RkJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxlbWVudCgndGRf
aGVhZGVycycpLCBIVE1MVGFibGVDZWxsRWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRl
V2l0aFBhcmVudE5vZGUoCisgICdoZWFkZXJzJywgJ2hlYWRlcnMnLCAnaWQxJywKKyAgJ2lkMics
ICdoZWFkZXJzIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRoJywgJ3RoJywKKyAgKCkgPT4g
Z2V0UGFyZW50RWxlbWVudCgndGhfaGVhZGVycycpLCBIVE1MVGFibGVDZWxsRWxlbWVudAorKTsK
K3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBhcmVudE5vZGUoCisgICdzY29wZScsICdzY29wZScs
ICdyb3cnLAorICAnY29sJywgJ3Njb3BlIG9uIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluIHRoJywg
J3RoJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxlbWVudCgnY29sU3BhbicpLCBIVE1MVGFibGVDZWxs
RWxlbWVudAorKTsKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBhcmVudE5vZGUoCisgICdhYmJy
JywgJ2FiYnInLCAnTW9kZWwxJywKKyAgJ01vZGVsMicsICdhYmJyIG9uIEhUTUxUYWJsZUNlbGxF
bGVtZW50IGluIHRoJywgJ3RoJywKKyAgKCkgPT4gZ2V0UGFyZW50RWxlbWVudCgnY29sU3Bhbicp
LCBIVE1MVGFibGVDZWxsRWxlbWVudAorKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTFRhYmxlQ29sRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
SFRNTFRhYmxlQ29sRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTcyODFhZWFjMGFj
MjViM2I3ZTdmMzRkYjM3NzkwNjMzOWEyNDNmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy9IVE1MVGFibGVDb2xFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKwor
RkFJTCBzcGFuIG9uIEhUTUxUYWJsZUNvbEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSBuZXcgYXR0cmlidXRlIFRoZSBzdXBlcmNs
YXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorRkFJTCBzcGFuIG9uIEhUTUxUYWJsZUNvbEVsZW1l
bnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNp
bmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlQ29sRWxlbWVudC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZUNvbEVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTdj
Nzk5OWY0ZGU5OWUxOGE2YjQ2Y2UyZDliM2UyNmQ2MmY3MzkwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxUYWJsZUNvbEVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDI1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhU
TUxUYWJsZUNvbEVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tIj4KKzxtZXRhIG5hbWU9ImFz
c2VydCIgY29udGVudD0ic3BhbiBvZiBIVE1MVGFibGVDb2xFbGVtZW50IGludGVyZmFjZSBtdXN0
IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWNvbGdyb3VwLWVsZW1lbnQiPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKworPHRhYmxlIGlkPSJ0Ymwi
PjwvdGFibGU+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBnZXRQYXJlbnRFbGVtZW50KCkgeworICBs
ZXQgcGFyZW50RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YmwnKTsKKyAgcmV0
dXJuIHBhcmVudEVsZW1lbnQ7Cit9CisKK3Rlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBhcmVudE5v
ZGUoCisgICdzcGFuJywgJ3NwYW4nLCAnMicsCisgICcxJywgJ3NwYW4gb24gSFRNTFRhYmxlQ29s
RWxlbWVudCcsICdjb2xncm91cCcsCisgIGdldFBhcmVudEVsZW1lbnQsIEhUTUxUYWJsZUNvbEVs
ZW1lbnQKKyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUaW1l
RWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRpbWVFbGVtZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41Y2M0ZmVhYmM0MjE5MzcyM2Q1OTEwM2Q3YjRiNzM4YWE3ODcw
MjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUaW1lRWxlbWVudC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK0ZBSUwgZGF0ZVRpbWUgb24gSFRNTFRpbWVFbGVt
ZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5n
IGRhdGV0aW1lIGNvbnRlbnQgYXR0cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0
cnVjdG9yLgorRkFJTCBkYXRlVGltZSBvbiBIVE1MVGltZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0
cmlidXRlIFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvSFRNTFRpbWVFbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRp
bWVFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY0M2UzNDBmNTE3ZGEyODY2MjcxMmM3YjlmZWY4
YmViODMyYzdmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGltZUVsZW1l
bnQuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DdXN0b20g
RWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxUaW1lRWxlbWVudCBpbnRlcmZhY2U8L3RpdGxl
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRl
bC5jb20iPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJuYW1lIG9mIEhUTUxUaW1lRWxl
bWVudCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAi
IGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS10aW1lLWVsZW1lbnQi
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKwor
PHNjcmlwdD4KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ2RhdGVUaW1lJywgJ2RhdGV0aW1lJywg
JzIwMTgtMTItMTAnLCAnMjAxOC0xMi0xMicsICdkYXRlVGltZSBvbiBIVE1MVGltZUVsZW1lbnQn
LCAndGltZScsIEhUTUxUaW1lRWxlbWVudCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb25zL3Jlc291cmNlcy9yZWFjdGlvbnMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvcmVzb3VyY2Vz
L3JlYWN0aW9ucy5qcwppbmRleCA0M2NlNGZkN2FkODNlYzQwNjZhYmZmYTI4YjM1ODFmMTY4NWQx
ZjkzLi41ZWQzMmE0ZmE0OGM4MTZmNTdiMmNkMGY2ZGY1ZTdkZWRhOTUwMDBiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvcmVzb3VyY2VzL3JlYWN0aW9ucy5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
cmVzb3VyY2VzL3JlYWN0aW9ucy5qcwpAQCAtMzIsNyArMzIsNyBAQCBmdW5jdGlvbiB0ZXN0Tm9k
ZURpc2Nvbm5lY3Rvcih0ZXN0RnVuY3Rpb24sIG5hbWUpIHsKICAgICBsZXQgY29udGFpbmVyID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgY29udGFpbmVyLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGNvbnRhaW5lcik7Ci0gCisKICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgICAgICAg
dmFyIGVsZW1lbnQgPSBkZWZpbmVfbmV3X2N1c3RvbV9lbGVtZW50KCk7CiAgICAgICAgIHZhciBp
bnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKQEAgLTEyNiwx
MCArMTI2LDE1IEBAIGZ1bmN0aW9uIHRlc3RDbG9uZXIodGVzdEZ1bmN0aW9uLCBuYW1lKSB7CiAg
ICAgfSwgbmFtZSArICcgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiBjbG9uaW5nIGFuIGVsZW1lbnQgb25seSBmb3Igb2JzZXJ2ZWQgYXR0cmlidXRlcycpOwog
fQogCi1mdW5jdGlvbiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhDb250ZW50VmFsdWVzKGpzQXR0
cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZU5hbWUsIHZhbGlkVmFsdWUxLCBjb250ZW50VmFs
dWUxLCB2YWxpZFZhbHVlMiwgY29udGVudFZhbHVlMiwgbmFtZSkgeworZnVuY3Rpb24gdGVzdFJl
ZmxlY3RBdHRyaWJ1dGVXaXRoQ29udGVudFZhbHVlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRB
dHRyaWJ1dGVOYW1lLCB2YWxpZFZhbHVlMSwgY29udGVudFZhbHVlMSwgdmFsaWRWYWx1ZTIsIGNv
bnRlbnRWYWx1ZTIsIG5hbWUsIGVsZW1lbnROYW1lLCBpbnRlcmZhY2VOYW1lKSB7CiAgICAgdGVz
dChmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBlbGVtZW50ID0gZGVmaW5lX25ld19jdXN0b21f
ZWxlbWVudChbY29udGVudEF0dHJpYnV0ZU5hbWVdKTsKLSAgICAgICAgdmFyIGluc3RhbmNlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVtZW50Lm5hbWUpOworICAgICAgICBpZiAoZWxlbWVu
dE5hbWUgPT09IHVuZGVmaW5lZCkgeworICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkZWZpbmVf
bmV3X2N1c3RvbV9lbGVtZW50KFtjb250ZW50QXR0cmlidXRlTmFtZV0pOworICAgICAgICAgICAg
dmFyIGluc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVtZW50Lm5hbWUpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkZWZpbmVfYnVpbGRfaW5f
Y3VzdG9tX2VsZW1lbnQoW2NvbnRlbnRBdHRyaWJ1dGVOYW1lXSwgaW50ZXJmYWNlTmFtZSwgZWxl
bWVudE5hbWUpOworICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudChlbGVtZW50TmFtZSwgeyBpczogZWxlbWVudC5uYW1lIH0pOworICAgICAgICB9CiAgICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25z
dHJ1Y3RlZCddKTsKICAgICAgICAgaW5zdGFuY2VbanNBdHRyaWJ1dGVOYW1lXSA9IHZhbGlkVmFs
dWUxOwogICAgICAgICB2YXIgbG9nRW50cmllcyA9IGVsZW1lbnQudGFrZUxvZygpOwpAQCAtMTM5
LDggKzE0NCwxMyBAQCBmdW5jdGlvbiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhDb250ZW50VmFs
dWVzKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZQogICAgIH0sIG5hbWUgKyAnIG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nICcgKyBj
b250ZW50QXR0cmlidXRlTmFtZSArICcgY29udGVudCBhdHRyaWJ1dGUnKTsKIAogICAgIHRlc3Qo
ZnVuY3Rpb24gKCkgewotICAgICAgICB2YXIgZWxlbWVudCA9IGRlZmluZV9uZXdfY3VzdG9tX2Vs
ZW1lbnQoW2NvbnRlbnRBdHRyaWJ1dGVOYW1lXSk7Ci0gICAgICAgIHZhciBpbnN0YW5jZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKKyAgICAgICAgaWYgKGVsZW1lbnRO
YW1lID09PSB1bmRlZmluZWQpIHsKKyAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZGVmaW5lX25l
d19jdXN0b21fZWxlbWVudChbY29udGVudEF0dHJpYnV0ZU5hbWVdKTsKKyAgICAgICAgICAgIHZh
ciBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZGVmaW5lX2J1aWxkX2luX2N1
c3RvbV9lbGVtZW50KFtjb250ZW50QXR0cmlidXRlTmFtZV0sIGludGVyZmFjZU5hbWUsIGVsZW1l
bnROYW1lKTsKKyAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoZWxlbWVudE5hbWUsIHsgaXM6IGVsZW1lbnQubmFtZSB9KTsKKyAgICAgICAgfQogICAgICAg
ICBpbnN0YW5jZVtqc0F0dHJpYnV0ZU5hbWVdID0gdmFsaWRWYWx1ZTE7CiAgICAgICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcs
ICdhdHRyaWJ1dGVDaGFuZ2VkJ10pOwogICAgICAgICBpbnN0YW5jZVtqc0F0dHJpYnV0ZU5hbWVd
ID0gdmFsaWRWYWx1ZTI7CkBAIC0xNTAsMTIgKzE2MCw5MyBAQCBmdW5jdGlvbiB0ZXN0UmVmbGVj
dEF0dHJpYnV0ZVdpdGhDb250ZW50VmFsdWVzKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJp
YnV0ZQogICAgIH0sIG5hbWUgKyAnIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJl
YWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZScpOwogfQogCi1mdW5j
dGlvbiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZShqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1
dGVOYW1lLCB2YWxpZFZhbHVlMSwgdmFsaWRWYWx1ZTIsIG5hbWUpIHsKLSAgICB0ZXN0UmVmbGVj
dEF0dHJpYnV0ZVdpdGhDb250ZW50VmFsdWVzKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJp
YnV0ZU5hbWUsIHZhbGlkVmFsdWUxLCB2YWxpZFZhbHVlMSwgdmFsaWRWYWx1ZTIsIHZhbGlkVmFs
dWUyLCBuYW1lKTsKK2Z1bmN0aW9uIHRlc3RSZWZsZWN0QXR0cmlidXRlKGpzQXR0cmlidXRlTmFt
ZSwgY29udGVudEF0dHJpYnV0ZU5hbWUsIHZhbGlkVmFsdWUxLCB2YWxpZFZhbHVlMiwgbmFtZSwg
ZWxlbWVudE5hbWUsIGludGVyZmFjZU5hbWUpIHsKKyAgICB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdp
dGhDb250ZW50VmFsdWVzKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZU5hbWUsIHZh
bGlkVmFsdWUxLCB2YWxpZFZhbHVlMSwgdmFsaWRWYWx1ZTIsIHZhbGlkVmFsdWUyLCBuYW1lLCBl
bGVtZW50TmFtZSwgaW50ZXJmYWNlTmFtZSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZWZsZWN0Qm9v
bGVhbkF0dHJpYnV0ZShqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1lLCBuYW1l
LCBlbGVtZW50TmFtZSwgaW50ZXJmYWNlTmFtZSkgeworICAgIHRlc3RSZWZsZWN0QXR0cmlidXRl
V2l0aENvbnRlbnRWYWx1ZXMoanNBdHRyaWJ1dGVOYW1lLCBjb250ZW50QXR0cmlidXRlTmFtZSwg
dHJ1ZSwgJycsIGZhbHNlLCBudWxsLCBuYW1lLCBlbGVtZW50TmFtZSwgaW50ZXJmYWNlTmFtZSk7
Cit9CisKK2Z1bmN0aW9uIHRlc3RSZWZsZWN0QXR0cmlidXRlV2l0aENvbnRlbnRWYWx1ZXNBbmRE
ZXBlbmRlbnRBdHRyaWJ1dGVzKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZU5hbWUs
IHZhbGlkVmFsdWUxLCBjb250ZW50VmFsdWUxLCB2YWxpZFZhbHVlMiwgY29udGVudFZhbHVlMiwg
bmFtZSwgZWxlbWVudE5hbWUsIGdldFBhcmVudEVsZW1lbnQsIHNldEF0dHJpYnV0ZXMsIGludGVy
ZmFjZU5hbWUpIHsKKyAgICBsZXQgcGFyZW50RWxlbWVudCA9IGdldFBhcmVudEVsZW1lbnQoKTsK
KworICAgIHRlc3QoKCkgPT4geworICAgICAgICBsZXQgZWxlbWVudCA9IGRlZmluZV9idWlsZF9p
bl9jdXN0b21fZWxlbWVudChbY29udGVudEF0dHJpYnV0ZU5hbWVdLCBpbnRlcmZhY2VOYW1lLCBl
bGVtZW50TmFtZSk7CisgICAgICAgIGxldCBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoZWxlbWVudE5hbWUsIHsgaXM6IGVsZW1lbnQubmFtZSB9KTsKKworICAgICAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnXSk7
CisgICAgICAgIHBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgICAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29ubmVjdGVk
J10pOworICAgICAgICBzZXRBdHRyaWJ1dGVzKGluc3RhbmNlKTsKKyAgICAgICAgaW5zdGFuY2Vb
anNBdHRyaWJ1dGVOYW1lXSA9IHZhbGlkVmFsdWUxOworICAgICAgICBsZXQgbG9nRW50cmllcyA9
IGVsZW1lbnQudGFrZUxvZygpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ0VudHJp
ZXMudHlwZXMoKSwgWydhdHRyaWJ1dGVDaGFuZ2VkJ10pOworICAgICAgICBhc3NlcnRfYXR0cmli
dXRlX2xvZ19lbnRyeShsb2dFbnRyaWVzLmxhc3QoKSwgeyBuYW1lOiBjb250ZW50QXR0cmlidXRl
TmFtZSwgb2xkVmFsdWU6IG51bGwsIG5ld1ZhbHVlOiBjb250ZW50VmFsdWUxLCBuYW1lc3BhY2U6
IG51bGwgfSk7CisKKyAgICB9LCBuYW1lICsgJyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUnKTsKKworICAgIHRlc3Qo
KCkgPT4geworICAgICAgICBsZXQgZWxlbWVudCA9IGRlZmluZV9idWlsZF9pbl9jdXN0b21fZWxl
bWVudChbY29udGVudEF0dHJpYnV0ZU5hbWVdLCBpbnRlcmZhY2VOYW1lLCBlbGVtZW50TmFtZSk7
CisgICAgICAgIGxldCBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudE5h
bWUsIHsgaXM6IGVsZW1lbnQubmFtZSB9KTsKKyAgICAgICAgcGFyZW50RWxlbWVudC5hcHBlbmRD
aGlsZChpbnN0YW5jZSk7CisgICAgICAgIHNldEF0dHJpYnV0ZXMoaW5zdGFuY2UpOworICAgICAg
ICBpbnN0YW5jZVtqc0F0dHJpYnV0ZU5hbWVdID0gdmFsaWRWYWx1ZTE7CisKKyAgICAgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVk
JywgJ2Nvbm5lY3RlZCcsICdhdHRyaWJ1dGVDaGFuZ2VkJ10pOworICAgICAgICBpbnN0YW5jZVtq
c0F0dHJpYnV0ZU5hbWVdID0gdmFsaWRWYWx1ZTI7CisgICAgICAgIGxldCBsb2dFbnRyaWVzID0g
ZWxlbWVudC50YWtlTG9nKCk7CisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nRW50cmll
cy50eXBlcygpLCBbJ2F0dHJpYnV0ZUNoYW5nZWQnXSk7CisgICAgICAgIGFzc2VydF9hdHRyaWJ1
dGVfbG9nX2VudHJ5KGxvZ0VudHJpZXMubGFzdCgpLCB7IG5hbWU6IGNvbnRlbnRBdHRyaWJ1dGVO
YW1lLCBvbGRWYWx1ZTogY29udGVudFZhbHVlMSwgbmV3VmFsdWU6IGNvbnRlbnRWYWx1ZTIsIG5h
bWVzcGFjZTogbnVsbCB9KTsKKworICAgIH0sIG5hbWUgKyAnIG11c3QgZW5xdWV1ZSBhbiBhdHRy
aWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0
ZScpOworfQorCitmdW5jdGlvbiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhEZXBlbmRlbnRBdHRy
aWJ1dGVzKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZU5hbWUsIHZhbGlkVmFsdWUx
LCB2YWxpZFZhbHVlMiwgbmFtZSwgZWxlbWVudE5hbWUsIGdldFBhcmVudEVsZW1lbnQsIHNldEF0
dHJpYnV0ZXMsIGludGVyZmFjZU5hbWUpIHsKKyAgICB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhD
b250ZW50VmFsdWVzQW5kRGVwZW5kZW50QXR0cmlidXRlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRl
bnRBdHRyaWJ1dGVOYW1lLCB2YWxpZFZhbHVlMSwgdmFsaWRWYWx1ZTEsIHZhbGlkVmFsdWUyLCB2
YWxpZFZhbHVlMiwgbmFtZSwgZWxlbWVudE5hbWUsIGdldFBhcmVudEVsZW1lbnQsIHNldEF0dHJp
YnV0ZXMsIGludGVyZmFjZU5hbWUpOworfQorCitmdW5jdGlvbiB0ZXN0UmVmbGVjdEJvb2xlYW5B
dHRyaWJ1dGVXaXRoRGVwZW5kZW50QXR0cmlidXRlcyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRB
dHRyaWJ1dGVOYW1lLCBuYW1lLCBlbGVtZW50TmFtZSwgZ2V0UGFyZW50RWxlbWVudCwgc2V0QXR0
cmlidXRlcywgaW50ZXJmYWNlTmFtZSkgeworICAgIHRlc3RSZWZsZWN0QXR0cmlidXRlV2l0aENv
bnRlbnRWYWx1ZXNBbmREZXBlbmRlbnRBdHRyaWJ1dGVzKGpzQXR0cmlidXRlTmFtZSwgY29udGVu
dEF0dHJpYnV0ZU5hbWUsIHRydWUsICcnLCBmYWxzZSwgbnVsbCwgbmFtZSwgZWxlbWVudE5hbWUs
IGdldFBhcmVudEVsZW1lbnQsIHNldEF0dHJpYnV0ZXMsIGludGVyZmFjZU5hbWUpOworfQorCitm
dW5jdGlvbiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZVdpdGhDb250ZW50VmFsdWVzQW5kUGFyZW50Tm9k
ZShqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1lLCB2YWxpZFZhbHVlMSwgY29u
dGVudFZhbHVlMSwgdmFsaWRWYWx1ZTIsIGNvbnRlbnRWYWx1ZTIsIG5hbWUsIGVsZW1lbnROYW1l
LCBnZXRQYXJlbnRFbGVtZW50LCBpbnRlcmZhY2VOYW1lKSB7CisgICAgbGV0IHBhcmVudEVsZW1l
bnQgPSBnZXRQYXJlbnRFbGVtZW50KCk7CisKKyAgICB0ZXN0KCgpID0+IHsKKyAgICAgICAgbGV0
IGVsZW1lbnQgPSBkZWZpbmVfYnVpbGRfaW5fY3VzdG9tX2VsZW1lbnQoW2NvbnRlbnRBdHRyaWJ1
dGVOYW1lXSwgaW50ZXJmYWNlTmFtZSwgZWxlbWVudE5hbWUpOworICAgICAgICBsZXQgaW5zdGFu
Y2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnROYW1lLCB7IGlzOiBlbGVtZW50Lm5h
bWUgfSk7CisKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50
eXBlcygpLCBbJ2NvbnN0cnVjdGVkJ10pOworICAgICAgICBwYXJlbnRFbGVtZW50LmFwcGVuZENo
aWxkKGluc3RhbmNlKTsKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VM
b2coKS50eXBlcygpLCBbJ2Nvbm5lY3RlZCddKTsKKyAgICAgICAgaW5zdGFuY2VbanNBdHRyaWJ1
dGVOYW1lXSA9IHZhbGlkVmFsdWUxOworICAgICAgICBsZXQgbG9nRW50cmllcyA9IGVsZW1lbnQu
dGFrZUxvZygpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ0VudHJpZXMudHlwZXMo
KSwgWydhdHRyaWJ1dGVDaGFuZ2VkJ10pOworICAgICAgICBhc3NlcnRfYXR0cmlidXRlX2xvZ19l
bnRyeShsb2dFbnRyaWVzLmxhc3QoKSwgeyBuYW1lOiBjb250ZW50QXR0cmlidXRlTmFtZSwgb2xk
VmFsdWU6IG51bGwsIG5ld1ZhbHVlOiBjb250ZW50VmFsdWUxLCBuYW1lc3BhY2U6IG51bGwgfSk7
Cit9LCBuYW1lICsgJyBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIGFkZGluZyBhIG5ldyBhdHRyaWJ1dGUnKTsKKworICAgIHRlc3QoKCkgPT4geworICAgICAg
ICBsZXQgZWxlbWVudCA9IGRlZmluZV9idWlsZF9pbl9jdXN0b21fZWxlbWVudChbY29udGVudEF0
dHJpYnV0ZU5hbWVdLCBpbnRlcmZhY2VOYW1lLCBlbGVtZW50TmFtZSk7CisgICAgICAgIGxldCBp
bnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudE5hbWUsIHsgaXM6IGVsZW1l
bnQubmFtZSB9KTsKKyAgICAgICAgcGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChpbnN0YW5jZSk7
CisKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygp
LCBbJ2NvbnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCddKTsKKyAgICAgICAgaW5zdGFuY2VbanNBdHRy
aWJ1dGVOYW1lXSA9IHZhbGlkVmFsdWUxOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVs
ZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnYXR0cmlidXRlQ2hhbmdlZCddKTsKKyAgICAgICAg
aW5zdGFuY2VbanNBdHRyaWJ1dGVOYW1lXSA9IHZhbGlkVmFsdWUyOworICAgICAgICBsZXQgbG9n
RW50cmllcyA9IGVsZW1lbnQudGFrZUxvZygpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGxvZ0VudHJpZXMudHlwZXMoKSwgWydhdHRyaWJ1dGVDaGFuZ2VkJ10pOworICAgICAgICBhc3Nl
cnRfYXR0cmlidXRlX2xvZ19lbnRyeShsb2dFbnRyaWVzLmxhc3QoKSwgeyBuYW1lOiBjb250ZW50
QXR0cmlidXRlTmFtZSwgb2xkVmFsdWU6IGNvbnRlbnRWYWx1ZTEsIG5ld1ZhbHVlOiBjb250ZW50
VmFsdWUyLCBuYW1lc3BhY2U6IG51bGwgfSk7CisgICAgfSwgbmFtZSArICcgbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3Rpbmcg
YXR0cmlidXRlJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZWZsZWN0QXR0cmlidXRlV2l0aFBhcmVu
dE5vZGUoanNBdHRyaWJ1dGVOYW1lLCBjb250ZW50QXR0cmlidXRlTmFtZSwgdmFsaWRWYWx1ZTEs
IHZhbGlkVmFsdWUyLCBuYW1lLCBlbGVtZW50TmFtZSwgZ2V0UGFyZW50RWxlbWVudCwgaW50ZXJm
YWNlTmFtZSkgeworICAgIHRlc3RSZWZsZWN0QXR0cmlidXRlV2l0aENvbnRlbnRWYWx1ZXNBbmRQ
YXJlbnROb2RlKGpzQXR0cmlidXRlTmFtZSwgY29udGVudEF0dHJpYnV0ZU5hbWUsIHZhbGlkVmFs
dWUxLCB2YWxpZFZhbHVlMSwgdmFsaWRWYWx1ZTIsIHZhbGlkVmFsdWUyLCBuYW1lLCBlbGVtZW50
TmFtZSwgZ2V0UGFyZW50RWxlbWVudCwgaW50ZXJmYWNlTmFtZSk7CiB9CiAKLWZ1bmN0aW9uIHRl
c3RSZWZsZWN0Qm9vbGVhbkF0dHJpYnV0ZShqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1
dGVOYW1lLCBuYW1lKSB7Ci0gICAgdGVzdFJlZmxlY3RBdHRyaWJ1dGVXaXRoQ29udGVudFZhbHVl
cyhqc0F0dHJpYnV0ZU5hbWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1lLCB0cnVlLCAnJywgZmFsc2Us
IG51bGwsIG5hbWUpOworZnVuY3Rpb24gdGVzdFJlZmxlY3RCb29sZWFuQXR0cmlidXRlV2l0aFBh
cmVudE5vZGUoanNBdHRyaWJ1dGVOYW1lLCBjb250ZW50QXR0cmlidXRlTmFtZSwgbmFtZSwgZWxl
bWVudE5hbWUsIGdldFBhcmVudEVsZW1lbnQsIGludGVyZmFjZU5hbWUpIHsKKyAgICB0ZXN0UmVm
bGVjdEF0dHJpYnV0ZVdpdGhDb250ZW50VmFsdWVzQW5kUGFyZW50Tm9kZShqc0F0dHJpYnV0ZU5h
bWUsIGNvbnRlbnRBdHRyaWJ1dGVOYW1lLCB0cnVlLCAnJywgZmFsc2UsIG51bGwsIG5hbWUsIGVs
ZW1lbnROYW1lLCBnZXRQYXJlbnRFbGVtZW50LCBpbnRlcmZhY2VOYW1lKTsKIH0KIAogZnVuY3Rp
b24gdGVzdEF0dHJpYnV0ZUFkZGVyKHRlc3RGdW5jdGlvbiwgbmFtZSkgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3czYy1pbXBvcnQubG9n
CmluZGV4IDdiZjRlZjgwMTAzMzE2Y2FmYjM3MjM3Yzc2OTU2ZDlkMzgyOTdiMTEuLmUyNjJkNDY0
ZWFkYmE0YjYzMGY4MTZjZTdmODJjNjI1ZjAzZDdiNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvdzNjLWltcG9ydC5sb2cKQEAgLTIz
LDE1ICsyMyw0MSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9FbGVtZW50Lmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvRWxlbWVudENvbnRlbnRFZGl0YWJsZS5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxBbmNob3JFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEFyZWFFbGVtZW50Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTEJhc2VFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TEJ1dHRvbkVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MQ2FudmFzRWxlbWVudC5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxEYXRhRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxE
ZXRhaWxzRWxlbWVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxFbGVtZW50Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTEVtYmVkRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxGaWVsZFNl
dEVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MSW1hZ2VFbGVtZW50Lmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTElucHV0RWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxMSUVsZW1l
bnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTGFiZWxFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTE1hcEVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MTWVkaWFFbGVtZW50Lmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTE1ldGFFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TE1ldGVyRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxNb2RFbGVtZW50Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvSFRNTE9MaXN0RWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPcHRH
cm91cEVsZW1lbnQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MT3B0aW9uRWxlbWVudC5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hU
TUxPdXRwdXRFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFBhcmFtRWxlbWVudC5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxQcm9ncmVzc0VsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MUXVvdGVFbGVtZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFNlbGVjdEVsZW1lbnQuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MU2xvdEVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
U3R5bGVFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVDb2xFbGVtZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
SFRNTFRhYmxlRWxlbWVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZVJvd0VsZW1lbnQu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxUaW1lRWxlbWVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUaXRsZUVsZW1l
bnQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9OYW1lZE5vZGVNYXAuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9O
b2RlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMuaHRtbAppbmRleCA4MmUwZjU5YzkzMDIyZmNk
NjMyMWM2YjhhZDFmOGQ3MDE0Yjc0MzgyLi4xMzEzNDhiMWM0MWFiODY5OGU0ZGFhZjFkMjcwNzE5
OTRiYWJiMGE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhjZXB0aW9ucy5odG1sCkBAIC0yNSw3ICsyNSwxMSBA
QCB0ZXN0X3dpdGhfd2luZG93KChjb250ZW50V2luZG93LCBjb250ZW50RG9jdW1lbnQpID0+IHsK
ICAgY29udGVudERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0ZXh0KTsKICAg
Y29uc3QgZWxlbWVudCA9IGNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjdXN0b20tZWxl
bWVudCIpOwogICBjb250ZW50RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGVs
ZW1lbnQpOwotICBhc3NlcnRfdGhyb3dzKCJIaWVyYXJjaHlSZXF1ZXN0RXJyb3IiLCAoKSA9PiB0
ZXh0LmJlZm9yZSgiIiwgY29udGVudERvY3VtZW50LmRvY3VtZW50RWxlbWVudCkpOworICBhc3Nl
cnRfdGhyb3dzX2RvbSgKKyAgICAiSGllcmFyY2h5UmVxdWVzdEVycm9yIiwKKyAgICBjb250ZW50
V2luZG93LkRPTUV4Y2VwdGlvbiwKKyAgICAoKSA9PiB0ZXh0LmJlZm9yZSgiIiwgY29udGVudERv
Y3VtZW50LmRvY3VtZW50RWxlbWVudCkKKyAgKTsKICAgYXNzZXJ0X3RydWUocmVhY3Rpb25SYW4p
OwogfSwgIlJlYWN0aW9uIG11c3QgcnVuIGV2ZW4gYWZ0ZXIgdGhlIGV4Y2VwdGlvbiBpcyB0aHJv
d24iKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVzb3VyY2VzL25hdmlnYXRpb24tZGVz
dGluYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWRlc3RpbmF0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTBlMjhmMGVkODdmYzEyZWYwZjY1OTQzM2RmOTdiZTljMTRiOWU3MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9uYXZpZ2F0aW9uLWRlc3RpbmF0aW9uLmh0bWwK
QEAgLTAsMCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKyA8aHRtbD4KKyA8Ym9keT4KKyA8cD5O
YXZpZ2F0ZWQhPC9wPgorIDxzY3JpcHQ+CisgcGFyZW50LnBvc3RNZXNzYWdlKCdkaWROYXZpZ2F0
ZScsICcqJyk7CisgPC9zY3JpcHQ+CisgPC9ib2R5PgorIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpp
bmRleCBhOTk1ODNlMWNkMzI5MGY5NzVkNzI3NTRkYTM2Y2EzMzkxOWNiYmE4Li5jYTk5ODU5Njg1
ZDYxNTFjMzIyYmFmZTc5NDNkZTNiZjMwMjY0OWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZXNvdXJjZXMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xNywz
ICsxNyw0IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1o
ZWxwZXJzLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvcmVzb3VyY2VzL2VtcHR5LWh0bWwtZG9jdW1lbnQuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
c291cmNlcy9teS1jdXN0b20tZWxlbWVudC1odG1sLWRvY3VtZW50Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZXNvdXJj
ZXMvbmF2aWdhdGlvbi1kZXN0aW5hdGlvbi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50
YXRpdmUvRWxlbWVudEludGVybmFscy1zdGF0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVu
dGF0aXZlL0VsZW1lbnRJbnRlcm5hbHMtc3RhdGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ZDVjNjg1NWY3NDJhNzMyOGEzMTNjZTAzNWU1ZmJlNTNjYTJjMjFmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvc3RhdGUudGVudGF0aXZlL0VsZW1lbnRJbnRlcm5hbHMtc3RhdGVzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKKworRkFJTCBET01Ub2tlbkxpc3QgYmVoYXZpb3Igb2YgRWxlbWVu
dEludGVybmFscy5zdGF0ZXM6IEluaXRpYWwgc3RhdGUgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFj
aEludGVybmFscycgaXMgdW5kZWZpbmVkKQorRkFJTCBET01Ub2tlbkxpc3QgYmVoYXZpb3Igb2Yg
RWxlbWVudEludGVybmFscy5zdGF0ZXM6IEV4Y2VwdGlvbnMgdGhpcy5hdHRhY2hJbnRlcm5hbHMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0
dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorRkFJTCBET01Ub2tlbkxpc3QgYmVoYXZpb3Ig
b2YgRWxlbWVudEludGVybmFscy5zdGF0ZXM6IE1vZGlmaWNhdGlvbnMgdGhpcy5hdHRhY2hJbnRl
cm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0
aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0
ZS50ZW50YXRpdmUvRWxlbWVudEludGVybmFscy1zdGF0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3N0YXRlLnRlbnRh
dGl2ZS9FbGVtZW50SW50ZXJuYWxzLXN0YXRlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyOTBhODRkNDEw
ZGQ3ODc0MTI0ZmE1NGU2MDNkNDg1YjY5ZWY5ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0
ZS50ZW50YXRpdmUvRWxlbWVudEludGVybmFscy1zdGF0ZXMuaHRtbApAQCAtMCwwICsxLDY1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CitjbGFzcyBUZXN0RWxlbWVudCBleHRlbmRzIEhUTUxFbGVt
ZW50IHsKKyAgY29uc3RydWN0b3IoKSB7CisgICAgc3VwZXIoKTsKKyAgICB0aGlzLl9pbnRlcm5h
bHMgPSB0aGlzLmF0dGFjaEludGVybmFscygpOworICB9CisKKyAgZ2V0IGludGVybmFscygpIHsK
KyAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxzOworICB9Cit9CitjdXN0b21FbGVtZW50cy5kZWZp
bmUoInRlc3QtZWxlbWVudCIsIFRlc3RFbGVtZW50KTsKKwordGVzdCgoKSA9PiB7CisgIGxldCBp
ID0gKG5ldyBUZXN0RWxlbWVudCgpKS5pbnRlcm5hbHM7CisKKyAgYXNzZXJ0X3RydWUoaS5zdGF0
ZXMgaW5zdGFuY2VvZiBET01Ub2tlbkxpc3QpOworICBhc3NlcnRfZXF1YWxzKGkuc3RhdGVzLmxl
bmd0aCwgMCk7CisgIGFzc2VydF9mYWxzZShpLnN0YXRlcy5jb250YWlucygnZm9vJykpOworICBh
c3NlcnRfZXF1YWxzKGkuc3RhdGVzLnZhbHVlLCAnJyk7CisgIGFzc2VydF9lcXVhbHMoaS5zdGF0
ZXMudG9TdHJpbmcoKSwgJycpOworfSwgJ0RPTVRva2VuTGlzdCBiZWhhdmlvciBvZiBFbGVtZW50
SW50ZXJuYWxzLnN0YXRlczogSW5pdGlhbCBzdGF0ZScpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0
IGkgPSAobmV3IFRlc3RFbGVtZW50KCkpLmludGVybmFsczsKKyAgYXNzZXJ0X3Rocm93c19qcyhU
eXBlRXJyb3IsICgpID0+IHsgaS5zdGF0ZXMuc3VwcG9ydHMoJ2ZvbycpOyB9KTsKKyAgYXNzZXJ0
X3Rocm93c19kb20oJ1N5bnRheEVycm9yJywgKCkgPT4geyBpLnN0YXRlcy5hZGQoJycpOyB9KTsK
KyAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRDaGFyYWN0ZXJFcnJvcicsICgpID0+IHsgaS5z
dGF0ZXMuYWRkKCdhXHRiJyk7IH0pOworfSwgJ0RPTVRva2VuTGlzdCBiZWhhdmlvciBvZiBFbGVt
ZW50SW50ZXJuYWxzLnN0YXRlczogRXhjZXB0aW9ucycpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0
IGkgPSAobmV3IFRlc3RFbGVtZW50KCkpLmludGVybmFsczsKKyAgaS5zdGF0ZXMuYWRkKCdmb28n
LCAnYmFyJywgJ2ZvbycpOworICBhc3NlcnRfZXF1YWxzKGkuc3RhdGVzLmxlbmd0aCwgMik7Cisg
IGFzc2VydF90cnVlKGkuc3RhdGVzLmNvbnRhaW5zKCdmb28nKSk7CisgIGFzc2VydF90cnVlKGku
c3RhdGVzLmNvbnRhaW5zKCdiYXInKSk7CisgIGFzc2VydF9lcXVhbHMoaS5zdGF0ZXMuaXRlbSgw
KSwgJ2ZvbycpOworICBhc3NlcnRfZXF1YWxzKGkuc3RhdGVzLml0ZW0oMSksICdiYXInKTsKKyAg
YXNzZXJ0X2VxdWFscyhpLnN0YXRlc1swXSwgJ2ZvbycpOworICBhc3NlcnRfZXF1YWxzKGkuc3Rh
dGVzWzFdLCAnYmFyJyk7CisgIGFzc2VydF9lcXVhbHMoaS5zdGF0ZXMudmFsdWUsICdmb28gYmFy
Jyk7CisgIGkuc3RhdGVzLnJlbW92ZSgnZm9vJyk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoaS5z
dGF0ZXMsIFsnYmFyJ10pOworICBhc3NlcnRfZXF1YWxzKGkuc3RhdGVzLnZhbHVlLCAnYmFyJyk7
CisgIGkuc3RhdGVzLnRvZ2dsZSgnZm9vJyk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoaS5zdGF0
ZXMsIFsnYmFyJywgJ2ZvbyddKTsKKyAgYXNzZXJ0X2VxdWFscyhpLnN0YXRlcy52YWx1ZSwgJ2Jh
ciBmb28nKTsKKyAgaS5zdGF0ZXMucmVwbGFjZSgnYmFyJywgJ2JheicpOworICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGkuc3RhdGVzLCBbJ2JheicsICdmb28nXSk7CisgIGFzc2VydF9lcXVhbHMoaS5z
dGF0ZXMudmFsdWUsICdiYXogZm9vJyk7CisKKyAgaS5zdGF0ZXMudmFsdWUgPSAnICBjIHUgcyB0
IG8gbyBvIG8gIG0nOworICBhc3NlcnRfZXF1YWxzKGkuc3RhdGVzLmxlbmd0aCwgNik7CisgIGFz
c2VydF9hcnJheV9lcXVhbHMoaS5zdGF0ZXMsIFsnYycsICd1JywgJ3MnLCAndCcsICdvJywgJ20n
XSk7CisKKyAgaS5zdGF0ZXMudmFsdWUgPSAnJzsKKyAgLy8gTm8gdGhyb3cgZm9yIGEgdG9rZW4g
d2hpY2ggY2FuJ3QgYmUgYSBDU1MgPGlkZW50Pi4KKyAgaS5zdGF0ZXMuYWRkKCdmb28pJyk7Cisg
IGFzc2VydF9hcnJheV9lcXVhbHMoaS5zdGF0ZXMsIFsnZm9vKSddKTsKK30sICdET01Ub2tlbkxp
c3QgYmVoYXZpb3Igb2YgRWxlbWVudEludGVybmFscy5zdGF0ZXM6IE1vZGlmaWNhdGlvbnMnKTsK
Kzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvUkVBRE1FLm1kIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvc3RhdGUudGVudGF0aXZlL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTE3ODRiZDA3ZTY4OWIx
NmIzMTZjZWZiN2E5Y2IwM2JhOGZjNTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVu
dGF0aXZlL1JFQURNRS5tZApAQCAtMCwwICsxIEBACitUZXN0cyBmb3IgW0N1c3RvbSBTdGF0ZSBQ
c2V1ZG8gQ2xhc3NdKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vY3VzdG9tLXN0YXRlLXBzZXVkby1j
bGFzcy8pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvc3RhdGUtcHNldWRvLWNsYXNz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3N0YXRlLnRlbnRhdGl2ZS9zdGF0ZS1wc2V1ZG8tY2xhc3MtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5NjQ4MDc4MzQzNTc4ODMzNWYwMDc2YTAyOTM4MmZkMTM5
NzlmOWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvc3RhdGUtcHNldWRv
LWNsYXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworUEFTUyA6c3RhdGUoKSBwYXJz
aW5nIGZhaWx1cmVzIAorRkFJTCA6c3RhdGUoKSBzZXJpYWxpemF0aW9uIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxl
c1sxXS5jc3NUZXh0JykKK0ZBSUwgOnN0YXRlKCkgaW4gc2ltcGxlIGNhc2VzIHRoaXMuYXR0YWNo
SW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCkn
LCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgOnN0YXRlKCkgYW5k
IG90aGVyIHBzZXVkbyBjbGFzc2VzIHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgOnN0YXRlKCkgYW5kIDo6cGFydCgpIHRoaXMuYXR0YWNoSW50
ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAn
dGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgOnN0YXRlKCkgYW5kIDpo
b3N0KCkgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5h
dHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvc3RhdGUtcHNldWRvLWNsYXNzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9zdGF0ZS50ZW50YXRpdmUvc3RhdGUtcHNldWRvLWNsYXNzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWE4MTBiNmIwMDBjMzFiOTUyMWMyMDViNjUwMDJlMmM2MjA1YmNjZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3N0YXRlLnRlbnRhdGl2ZS9zdGF0ZS1wc2V1ZG8tY2xhc3MuaHRtbApAQCAtMCwwICsx
LDEyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Cisjc3RhdGUtYW5kLXBhcnQ6OnBhcnQoaW5uZXIp
IHsKKyAgb3BhY2l0eTogMDsKK30KKyNzdGF0ZS1hbmQtcGFydDo6cGFydChpbm5lcik6c3RhdGUo
aW5uZXJGb28pIHsKKyAgb3BhY2l0eTogMC41OworfQorI3N0YXRlLWFuZC1wYXJ0OnN0YXRlKG91
dGVyRm9vKTo6cGFydChpbm5lcikgeworICBvcGFjaXR5OiAwLjI1OworfQorOnN0YXRlKCBcKGVz
Y2FwZWRcIHN0YXRlICApIHt9Cis8L3N0eWxlPgorPGJvZHk+Cis8c2NyaXB0PgorY2xhc3MgVGVz
dEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgIGNvbnN0cnVjdG9yKCkgeworICAgIHN1
cGVyKCk7CisgICAgdGhpcy5faW50ZXJuYWxzID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTsKKyAg
fQorCisgIGdldCBpKCkgeworICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbHM7CisgIH0KK30KK2N1
c3RvbUVsZW1lbnRzLmRlZmluZSgndGVzdC1lbGVtZW50JywgVGVzdEVsZW1lbnQpOworCitjbGFz
cyBDb250YWluZXJFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICBjb25zdHJ1Y3Rvcigp
IHsKKyAgICBzdXBlcigpOworICAgIHRoaXMuX2ludGVybmFscyA9IHRoaXMuYXR0YWNoSW50ZXJu
YWxzKCk7CisgICAgdGhpcy5fc2hhZG93ID0gdGhpcy5hdHRhY2hTaGFkb3coe21vZGU6J29wZW4n
fSk7CisgICAgdGhpcy5fc2hhZG93LmlubmVySFRNTCA9IGAKKzxzdHlsZT4KKzpob3N0IHsKKyAg
Ym9yZGVyLXN0eWxlOiBzb2xpZDsKK30KKzpob3N0KDpzdGF0ZShkb3R0ZWQpKSB7CisgIGJvcmRl
ci1zdHlsZTogZG90dGVkOworfQorPC9zdHlsZT4KKzx0ZXN0LWVsZW1lbnQgcGFydD0iaW5uZXIi
PjwvdGVzdC1lbGVtZW50PmA7CisgIH0KKworICBnZXQgaSgpIHsKKyAgICByZXR1cm4gdGhpcy5f
aW50ZXJuYWxzOworICB9CisgIGdldCBpbm5lckVsZW1lbnQoKSB7CisgICAgcmV0dXJuIHRoaXMu
X3NoYWRvdy5xdWVyeVNlbGVjdG9yKCd0ZXN0LWVsZW1lbnQnKTsKKyAgfQorfQorY3VzdG9tRWxl
bWVudHMuZGVmaW5lKCdjb250YWluZXItZWxlbWVudCcsIENvbnRhaW5lckVsZW1lbnQpOworCit0
ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X3Rocm93c19kb20oJ1N5bnRheEVycm9yJywgKCkgPT4geyBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCc6c3RhdGUnKTsgfSk7CisgIGFzc2VydF90aHJvd3NfZG9t
KCdTeW50YXhFcnJvcicsICgpID0+IHsgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignOnN0YXRlKCcp
OyB9KTsKKyAgYXNzZXJ0X3Rocm93c19kb20oJ1N5bnRheEVycm9yJywgKCkgPT4geyBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCc6c3RhdGUoKScpOyB9KTsKKyAgYXNzZXJ0X3Rocm93c19kb20oJ1N5
bnRheEVycm9yJywgKCkgPT4geyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCc6c3RhdGUoPSknKTsg
fSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcicsICgpID0+IHsgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignOnN0YXRlKG5hbWU9dmFsdWUpJyk7IH0pOworICBhc3NlcnRfdGhyb3dz
X2RvbSgnU3ludGF4RXJyb3InLCAoKSA9PiB7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJzpzdGF0
ZSggZm9vIGJhciknKTsgfSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcicsICgp
ID0+IHsgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignOnN0YXRlKDE2cHgpJyk7IH0pOworfSwgJzpz
dGF0ZSgpIHBhcnNpbmcgZmFpbHVyZXMnKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9lcXVh
bHMoZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXNbMV0uY3NzVGV4dCwKKyAgICAgICcj
c3RhdGUtYW5kLXBhcnQ6OnBhcnQoaW5uZXIpOnN0YXRlKGlubmVyRm9vKSB7IG9wYWNpdHk6IDAu
NTsgfScpOworICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLmNzc1J1bGVz
WzNdLnNlbGVjdG9yVGV4dCwKKyAgICAgICc6c3RhdGUoXFwoZXNjYXBlZFxcIHN0YXRlKScpOwor
fSwgJzpzdGF0ZSgpIHNlcmlhbGl6YXRpb24nKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCBlbGVt
ZW50ID0gbmV3IFRlc3RFbGVtZW50KCk7CisgIGxldCBzdGF0ZXMgPSBlbGVtZW50Lmkuc3RhdGVz
OworCisgIGFzc2VydF9mYWxzZShlbGVtZW50Lm1hdGNoZXMoJzpzdGF0ZShmb28pJykpOworICBh
c3NlcnRfdHJ1ZShlbGVtZW50Lm1hdGNoZXMoJzpub3QoOnN0YXRlKGZvbykpJykpOworICBzdGF0
ZXMuYWRkKCdmb28nKTsKKyAgYXNzZXJ0X3RydWUoZWxlbWVudC5tYXRjaGVzKCc6c3RhdGUoZm9v
KScpKTsKKyAgYXNzZXJ0X3RydWUoZWxlbWVudC5tYXRjaGVzKCc6aXMoOnN0YXRlKGZvbykpJykp
OworICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2MxJywgJ2MyJyk7CisgIGFzc2VydF90cnVlKGVs
ZW1lbnQubWF0Y2hlcygnLmMxOnN0YXRlKGZvbyknKSk7CisgIGFzc2VydF90cnVlKGVsZW1lbnQu
bWF0Y2hlcygnOnN0YXRlKGZvbykuYzEnKSk7CisgIGFzc2VydF90cnVlKGVsZW1lbnQubWF0Y2hl
cygnLmMyOnN0YXRlKGZvbykuYzEnKSk7Cit9LCAnOnN0YXRlKCkgaW4gc2ltcGxlIGNhc2VzJyk7
CisKK3Rlc3QoKCkgPT4geworICBsZXQgZWxlbWVudCA9IG5ldyBUZXN0RWxlbWVudCgpOworICBl
bGVtZW50LnRhYkluZGV4ID0gMDsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50
KTsKKyAgZWxlbWVudC5mb2N1cygpOworICBsZXQgc3RhdGVzID0gZWxlbWVudC5pLnN0YXRlczsK
KworICBzdGF0ZXMudmFsdWUgPSAnZm9vJzsKKyAgYXNzZXJ0X3RydWUoZWxlbWVudC5tYXRjaGVz
KCc6Zm9jdXM6c3RhdGUoZm9vKScpKTsKKyAgYXNzZXJ0X3RydWUoZWxlbWVudC5tYXRjaGVzKCc6
c3RhdGUoZm9vKTpmb2N1cycpKTsKK30sICc6c3RhdGUoKSBhbmQgb3RoZXIgcHNldWRvIGNsYXNz
ZXMnKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCBvdXRlciA9IG5ldyBDb250YWluZXJFbGVtZW50
KCk7CisgIG91dGVyLmlkID0gJ3N0YXRlLWFuZC1wYXJ0JzsKKyAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChvdXRlcik7CisgIGxldCBpbm5lciA9IG91dGVyLmlubmVyRWxlbWVudDsKKyAgbGV0
IGlubmVyU3RhdGVzID0gaW5uZXIuaS5zdGF0ZXM7CisKKyAgaW5uZXJTdGF0ZXMuYWRkKCdpbm5l
ckZvbycpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaW5uZXIpLm9wYWNpdHks
ICcwLjUnLAorICAgICAgJzo6cGFydCgpIGZvbGxvd2VkIGJ5IDpzdGF0ZSgpJyk7CisgIGlubmVy
U3RhdGVzLnJlcGxhY2UoJ2lubmVyRm9vJywgJ2lubmVyZm9vJyk7CisgIGFzc2VydF9lcXVhbHMo
Z2V0Q29tcHV0ZWRTdHlsZShpbm5lcikub3BhY2l0eSwgJzAnLAorICAgICAgJzpzdGF0ZSgpIG1h
dGNoaW5nIHNob3VsZCBiZSBjYXNlLXNlbnNpdGl2ZScpOworICBpbm5lclN0YXRlcy5yZW1vdmUo
J2lubmVyZm9vJyk7CisKKyAgb3V0ZXIuaS5zdGF0ZXMuYWRkKCdvdXRlckZvbycpOworICBhc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaW5uZXIpLm9wYWNpdHksICcwLjI1JywKKyAgICAg
ICc6c3RhdGUoKSBmb2xsb3dlZCBieSA6OnBhcnQoKScpOworfSwgJzpzdGF0ZSgpIGFuZCA6OnBh
cnQoKScpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IG91dGVyID0gbmV3IENvbnRhaW5lckVsZW1l
bnQoKTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvdXRlcik7CisKKyAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKG91dGVyKS5ib3JkZXJTdHlsZSwgJ3NvbGlkJyk7CisgIG91
dGVyLmkuc3RhdGVzLnRvZ2dsZSgnZG90dGVkJyk7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZShvdXRlcikuYm9yZGVyU3R5bGUsICdkb3R0ZWQnKTsKK30sICc6c3RhdGUoKSBhbmQg
Omhvc3QoKScpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50
YXRpdmUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvdzNjLWltcG9ydC5sb2cK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGRhOGNlYmI2ZTRiY2VlMTI5OTVlYmY5ODY4YjU3YTI0MjdlMGY1MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3N0YXRlLnRlbnRhdGl2ZS93M2MtaW1wb3J0LmxvZwpAQCAtMCww
ICsxLDE5IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0
eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50YXRpdmUvRWxlbWVudEludGVybmFscy1z
dGF0ZXMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3N0YXRlLnRlbnRhdGl2ZS9SRUFETUUubWQKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS50ZW50
YXRpdmUvc3RhdGUtcHNldWRvLWNsYXNzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Rocm93LW9uLWR5
bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVyLWNvbnN0cnVjdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1jb25zdHJ1Y3QtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5NzZmZTc3MDQ3OWVkZWJjODY3NDQ5YmZlMTg5NjBhN2Mz
MTgzOWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNl
cnRpb24tY291bnRlci1jb25zdHJ1Y3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKKwor
UEFTUyBkb2N1bWVudC5vcGVuKCkgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVu
IHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGRvY3Vt
ZW50Lm9wZW4oInRleHQvaHRtbCIpIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hl
biBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1
bWVudC5vcGVuKFVSTCkgbXVzdCBOT1QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBz
eW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1bWVu
dC5jbG9zZSgpIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91
c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1bWVudC53cml0ZSBt
dXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1
Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1MgZG9jdW1lbnQud3JpdGVsbiBtdXN0IHRocm93
IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBj
dXN0b20gZWxlbWVudCAKK1BBU1MgZG9jdW1lbnQub3BlbigpIG9mIGFub3RoZXIgZG9jdW1lbnQg
bXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNv
bnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1bWVudC5vcGVuKCJ0ZXh0L2h0
bWwiKSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVy
cm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BB
U1MgZG9jdW1lbnQuY2xvc2UoKSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFu
IEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0
b20gZWxlbWVudCAKK1BBU1MgZG9jdW1lbnQud3JpdGUgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0
IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3Ry
dWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGRvY3VtZW50LndyaXRlbG4gb2YgYW5vdGhl
ciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNo
cm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3Rocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVyLWNvbnN0cnVjdC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uLWNvdW50ZXItY29uc3RydWN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2U5MjU0ZTJhNTBmMGNhNTcyYjllOWFhMTY0MWE0ZGFiNWYyMmU1
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Rocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlv
bi1jb3VudGVyLWNvbnN0cnVjdC5odG1sCkBAIC0wLDAgKzEsMTE3IEBACis8IURPQ1RZUEUgaHRt
bD4KKyA8aHRtbD4KKyA8aGVhZD4KKyA8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBjcmVhdGUgYW4g
ZWxlbWVudCBmb3IgYSB0b2tlbiBtdXN0IGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGRvY3VtZW50
J3MgdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uIGNvdW50ZXI8L3RpdGxlPgorIDxt
ZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdh
QHdlYmtpdC5vcmciPgorIDxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iSW52b2tpbmcgZG9j
dW1lbnQub3BlbiwgZG9jdW1lbnQud3JpdGUsIGRvY3VtZW50LndyaXRlbG4sIGFuZCBkb2N1bWVu
dC53cml0ZSBtdXN0IHRocm93IGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBIVE1MIHBhcnNlciBpcyBj
cmVhdGluZyBhIGN1c3RvbSBlbGVtZW50IGZvciBhIHRva2VuIj4KKyA8bWV0YSBuYW1lPSJoZWxw
IiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9wYXJzaW5n
Lmh0bWwjY3JlYXRlLWFuLWVsZW1lbnQtZm9yLXRoZS10b2tlbiI+CisgPG1ldGEgbmFtZT0iaGVs
cCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZHluYW1p
Yy1tYXJrdXAtaW5zZXJ0aW9uLmh0bWwjdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9u
LWNvdW50ZXIiPgorIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKyA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+CisgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKyA8L2hlYWQ+CisgPGJvZHk+CisgPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KyA8c2NyaXB0PgorCisgYXN5bmMgZnVuY3Rpb24gY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2lu
X3BhcnNlcih0ZXN0LCBjYWxsX2Z1bmN0aW9uKQorIHsKKyAgICAgY29uc3Qgd2luZG93ID0gYXdh
aXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0KHRlc3QpOworICAgICBjb25zdCBkb2N1bWVudCA9IHdp
bmRvdy5kb2N1bWVudDsKKworICAgICBkb2N1bWVudC5vcGVuKCk7CisKKyAgICAgbGV0IGV4ZWN1
dGVkID0gZmFsc2U7CisgICAgIGxldCBleGNlcHRpb24gPSBudWxsOworICAgICBjbGFzcyBDdXN0
b21FbGVtZW50IGV4dGVuZHMgd2luZG93LkhUTUxFbGVtZW50IHsKKyAgICAgICAgIGNvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgY2FsbF9mdW5jdGlvbihkb2N1bWVudCwgd2luZG93KTsKKyAgICAgICAgICAg
ICB9IGNhdGNoIChlcnJvcikgeworICAgICAgICAgICAgICAgICBleGNlcHRpb24gPSBlcnJvcjsK
KyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgZXhlY3V0ZWQgPSB0cnVlOworICAgICAgICAg
fQorICAgICB9CisgICAgIHdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NvbWUtZWxlbWVu
dCcsIEN1c3RvbUVsZW1lbnQpOworCisgICAgIGRvY3VtZW50LndyaXRlKCc8IURPQ1RZUEUgaHRt
bD48aHRtbD48Ym9keT48c29tZS1lbGVtZW50Pjwvc29tZS1lbGVtZW50PjwvYm9keT48L2h0bWw+
Jyk7CisgICAgIGRvY3VtZW50LmNsb3NlKCk7CisKKyAgICAgYXNzZXJ0X3RydWUoZXhlY3V0ZWQs
ICdNdXN0IHN5bmNocm9ub3VzbHkgaW5zdGFudGlhdGUgYSBjdXN0b20gZWxlbWVudCcpOworICAg
ICByZXR1cm4ge3dpbmRvdywgZG9jdW1lbnQsIGV4Y2VwdGlvbn07CisgfQorCisgcHJvbWlzZV90
ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29uc3Ry
dWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGRvY3VtZW50
Lm9wZW4oKSk7CisgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIHJl
c3VsdC53aW5kb3cuRE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3VsdC5leGNlcHRpb247
IH0sICdNdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yJyk7CisgfSwgJ2RvY3VtZW50Lm9w
ZW4oKSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBj
b25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCisgcHJvbWlzZV90ZXN0KGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9l
bGVtZW50X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGRvY3VtZW50Lm9wZW4oJ3RleHQv
aHRtbCcpKTsKKyAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVz
dWx0LndpbmRvdy5ET01FeGNlcHRpb24sICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsg
fSwgJ011c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3InKTsKKyB9LCAnZG9jdW1lbnQub3Bl
bigidGV4dC9odG1sIikgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNo
cm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKworIC8vIGh0dHBzOi8v
aHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2R5bmFtaWMtbWFya3VwLWluc2VydGlvbi5o
dG1sI2RvbS1kb2N1bWVudC1vcGVuLXdpbmRvdworIHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgIGxldCBsb2FkX3Byb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
d2luZG93Lm9ubWVzc2FnZSA9IChldmVudCkgPT4gcmVzb2x2ZShldmVudC5kYXRhKSk7CisgICAg
IGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIo
dGhpcywgKGRvY3VtZW50LCB3aW5kb3cpID0+IGRvY3VtZW50Lm9wZW4oJ3Jlc291cmNlcy9uYXZp
Z2F0aW9uLWRlc3RpbmF0aW9uLmh0bWwnLCAnX3NlbGYnLCAnJykpOworICAgICBhc3NlcnRfZXF1
YWxzKHJlc3VsdC5leGNlcHRpb24sIG51bGwpOworICAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGxv
YWRfcHJvbWlzZSwgJ2RpZE5hdmlnYXRlJyk7CisgfSwgJ2RvY3VtZW50Lm9wZW4oVVJMKSBtdXN0
IE5PVCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3Ry
dWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKworIHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlv
biAoKSB7CisgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVu
dF9pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBkb2N1bWVudC5jbG9zZSgpKTsKKyAgICAg
YXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0LndpbmRvdy5ET01F
eGNlcHRpb24sICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwgJ011c3QgdGhyb3cg
YW4gSW52YWxpZFN0YXRlRXJyb3InKTsKKyB9LCAnZG9jdW1lbnQuY2xvc2UoKSBtdXN0IHRocm93
IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBj
dXN0b20gZWxlbWVudCcpOworCisgcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNl
cih0aGlzLCAoZG9jdW1lbnQpID0+IGRvY3VtZW50LndyaXRlKCc8Yj5zb21lIHRleHQ8L2I+Jykp
OworICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCByZXN1bHQud2lu
ZG93LkRPTUV4Y2VwdGlvbiwgKCkgPT4geyB0aHJvdyByZXN1bHQuZXhjZXB0aW9uOyB9LCAnTXVz
dCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvcicpOworICAgICBhc3NlcnRfZXF1YWxzKHJlc3Vs
dC5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdiJyksIG51bGwsICdNdXN0IG5vdCBpbnNlcnQgbmV3
IGNvbnRlbnQnKTsKKyAgICAgYXNzZXJ0X2ZhbHNlKHJlc3VsdC5kb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQuaW5uZXJIVE1MLmluY2x1ZGVzKCdzb21lIHRleHQnKSwgJ011c3Qgbm90IGluc2VydCBu
ZXcgY29udGVudCcpOworIH0sICdkb2N1bWVudC53cml0ZSBtdXN0IHRocm93IGFuIEludmFsaWRT
dGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVu
dCcpOworCisgcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICAgY29uc3QgcmVz
dWx0ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAoZG9j
dW1lbnQpID0+IGRvY3VtZW50LndyaXRlbG4oJzxiPnNvbWUgdGV4dDwvYj4nKSk7CisgICAgIGFz
c2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIHJlc3VsdC53aW5kb3cuRE9NRXhj
ZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3VsdC5leGNlcHRpb247IH0sICdNdXN0IHRocm93IGFu
IEludmFsaWRTdGF0ZUVycm9yJyk7CisgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ2InKSwgbnVsbCwgJ011c3Qgbm90IGluc2VydCBuZXcgY29udGVudCcp
OworICAgICBhc3NlcnRfZmFsc2UocmVzdWx0LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5l
ckhUTUwuaW5jbHVkZXMoJ3NvbWUgdGV4dCcpLCAnTXVzdCBub3QgaW5zZXJ0IG5ldyBjb250ZW50
Jyk7CisgfSwgJ2RvY3VtZW50LndyaXRlbG4gbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJv
ciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKwor
IHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgIGNvbnN0IGFub3RoZXJfd2lu
ZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0KHRoaXMpOworICAgICBjb25zdCByZXN1
bHQgPSBhd2FpdCBjb25zdHJ1Y3RfY3VzdG9tX2VsZW1lbnRfaW5fcGFyc2VyKHRoaXMsIChkb2N1
bWVudCkgPT4gYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQub3BlbigpKTsKKyAgICAgYXNzZXJ0X2Vx
dWFscyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsKKyB9LCAnZG9jdW1lbnQub3BlbigpIG9mIGFu
b3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBz
eW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKyBwcm9taXNl
X3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgICBjb25zdCBhbm90aGVyX3dpbmRvdyA9IGF3
YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAgICAgY29uc3QgcmVzdWx0ID0gYXdh
aXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+
IGFub3RoZXJfd2luZG93LmRvY3VtZW50Lm9wZW4oJ3RleHQvaHRtbCcpKTsKKyAgICAgYXNzZXJ0
X2VxdWFscyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsKKyB9LCAnZG9jdW1lbnQub3BlbigidGV4
dC9odG1sIikgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3Rh
dGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQn
KTsKKworIHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgIGNvbnN0IGFub3Ro
ZXJfd2luZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0KHRoaXMpOworICAgICBjb25z
dCByZXN1bHQgPSBhd2FpdCBjb25zdHJ1Y3RfY3VzdG9tX2VsZW1lbnRfaW5fcGFyc2VyKHRoaXMs
IChkb2N1bWVudCkgPT4gYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQuY2xvc2UoKSk7CisgICAgIGFz
c2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7CisgfSwgJ2RvY3VtZW50LmNsb3Nl
KCkgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJv
ciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKwor
IHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgIGNvbnN0IGFub3RoZXJfd2lu
ZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0KHRoaXMpOworICAgICBjb25zdCByZXN1
bHQgPSBhd2FpdCBjb25zdHJ1Y3RfY3VzdG9tX2VsZW1lbnRfaW5fcGFyc2VyKHRoaXMsIChkb2N1
bWVudCkgPT4gYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQud3JpdGUoJzxiPnNvbWUgdGV4dDwvYj4n
KSk7CisgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7CisgICAgIGFz
c2VydF9lcXVhbHMoYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYicpLm91
dGVySFRNTCwgJzxiPnNvbWUgdGV4dDwvYj4nKTsKKyB9LCAnZG9jdW1lbnQud3JpdGUgb2YgYW5v
dGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5
bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKworIHByb21pc2Vf
dGVzdChhc3luYyBmdW5jdGlvbiAoKSB7CisgICAgIGNvbnN0IGFub3RoZXJfd2luZG93ID0gYXdh
aXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0KHRoaXMpOworICAgICBjb25zdCByZXN1bHQgPSBhd2Fp
dCBjb25zdHJ1Y3RfY3VzdG9tX2VsZW1lbnRfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4g
YW5vdGhlcl93aW5kb3cuZG9jdW1lbnQud3JpdGVsbignPGI+c29tZSB0ZXh0PC9iPicpKTsKKyAg
ICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsKKyAgICAgYXNzZXJ0X2Vx
dWFscyhhbm90aGVyX3dpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdiJykub3V0ZXJIVE1M
LCAnPGI+c29tZSB0ZXh0PC9iPicpOworIH0sICdkb2N1bWVudC53cml0ZWxuIG9mIGFub3RoZXIg
ZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJv
bm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKyA8L3NjcmlwdD4KKyA8
L2JvZHk+CisgPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdGhyb3ctb24tZHluYW1pYy1tYXJrdXAt
aW5zZXJ0aW9uLWNvdW50ZXItcmVhY3Rpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Rocm93LW9uLWR5
bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVyLXJlYWN0aW9ucy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTE5ZWQxMTk0NWJkNjkwMTNjNzRhYTViMDliZmUyZmRiMjYzNGNmOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3Rocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVy
LXJlYWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorCitQQVNTIGRvY3VtZW50
Lm9wZW4oKSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBj
dXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3Vz
dG9tIGVsZW1lbnQgCitQQVNTIGRvY3VtZW50Lm9wZW4oInRleHQvaHRtbCIpIG11c3QgdGhyb3cg
YW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0
aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudCAKK1BBU1Mg
ZG9jdW1lbnQub3BlbihVUkwpIG11c3QgTk9UIHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdo
ZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMg
Y29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGRvY3VtZW50LmNsb3NlKCkgbXVzdCB0
aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQg
cmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAor
UEFTUyBkb2N1bWVudC53cml0ZSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4g
cHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29u
c3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGRvY3VtZW50LndyaXRlbG4gbXVzdCB0aHJv
dyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVh
Y3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAorUEFT
UyBkb2N1bWVudC5vcGVuKCkgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJ
bnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25z
IGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1
bWVudC5vcGVuKCJ0ZXh0L2h0bWwiKSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93
IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFj
dGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQgCitQQVNT
IGRvY3VtZW50LmNsb3NlKCkgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJ
bnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25z
IGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkb2N1
bWVudC53cml0ZSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRT
dGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEg
c3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGRvY3VtZW50Lndy
aXRlbG4gb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVF
cnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNo
cm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50IAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy90aHJv
dy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1yZWFjdGlvbnMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3Rocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVyLXJlYWN0aW9ucy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU3OThkMzMyZTM4YjJlODU3MDNlNzc1MjQ4NmZlMjIxMzc2MjEyZGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291
bnRlci1yZWFjdGlvbnMuaHRtbApAQCAtMCwwICsxLDExNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogY3JlYXRlIGFuIGVsZW1lbnQg
Zm9yIGEgdG9rZW4gbXVzdCBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBkb2N1bWVudCdzIHRocm93
LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlvbiBjb3VudGVyPC90aXRsZT4KKzxtZXRhIG5hbWU9
ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5v
cmciPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJJbnZva2luZyBkb2N1bWVudC5vcGVu
LCBkb2N1bWVudC53cml0ZSwgZG9jdW1lbnQud3JpdGVsbiwgYW5kIGRvY3VtZW50LndyaXRlIG11
c3QgdGhyb3cgYW4gZXhjZXB0aW9uIHdoZW4gdGhlIEhUTUwgcGFyc2VyIGlzIGNyZWF0aW5nIGEg
Y3VzdG9tIGVsZW1lbnQgZm9yIGEgdG9rZW4iPgorIDxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9
Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCNjcmVh
dGUtYW4tZWxlbWVudC1mb3ItdGhlLXRva2VuIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9
Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2R5bmFtaWMtbWFya3VwLWlu
c2VydGlvbi5odG1sI3Rocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVyIj4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorCithc3lu
YyBmdW5jdGlvbiBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRlc3QsIGNhbGxf
ZnVuY3Rpb24pCit7CisgICAgY29uc3Qgd2luZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90
ZXN0KHRlc3QpOworICAgIGNvbnN0IGRvY3VtZW50ID0gd2luZG93LmRvY3VtZW50OworCisgICAg
ZG9jdW1lbnQub3BlbigpOworCisgICAgbGV0IGV4ZWN1dGVkID0gZmFsc2U7CisgICAgbGV0IGV4
Y2VwdGlvbiA9IG51bGw7CisgICAgY2xhc3MgQ3VzdG9tRWxlbWVudCBleHRlbmRzIHdpbmRvdy5I
VE1MRWxlbWVudCB7CisgICAgICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGRW
YWx1ZSwgbmV3VmFsdWUpIHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgY2Fs
bF9mdW5jdGlvbihkb2N1bWVudCwgd2luZG93KTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9y
KSB7CisgICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gZXJyb3I7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgIGV4ZWN1dGVkID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAgICBDdXN0b21F
bGVtZW50Lm9ic2VydmVkQXR0cmlidXRlcyA9IFsndGl0bGUnXTsKKyAgICB3aW5kb3cuY3VzdG9t
RWxlbWVudHMuZGVmaW5lKCdzb21lLWVsZW1lbnQnLCBDdXN0b21FbGVtZW50KTsKKworICAgIGRv
Y3VtZW50LndyaXRlKCc8IURPQ1RZUEUgaHRtbD48aHRtbD48Ym9keT48c29tZS1lbGVtZW50IHRp
dGxlPSJzb21lIHRpdGxlIj48L3NvbWUtZWxlbWVudD48L2JvZHk+PC9odG1sPicpOworICAgIGRv
Y3VtZW50LmNsb3NlKCk7CisKKyAgICBhc3NlcnRfdHJ1ZShleGVjdXRlZCwgJ011c3QgaW1tZWRp
YXRlbHkgcHJvY2VzcyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIHNldHRpbmcgYXR0cmli
dXRlcycpOworICAgIHJldHVybiB7ZnJhbWVFbGVtZW50LCB3aW5kb3csIGRvY3VtZW50LCBleGNl
cHRpb259OworfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGNvbnN0
IHJlc3VsdCA9IGF3YWl0IGN1c3RvbV9lbGVtZW50X3JlYWN0aW9uc19pbl9wYXJzZXIodGhpcywg
KGRvY3VtZW50KSA9PiBkb2N1bWVudC5vcGVuKCkpOworICAgIGFzc2VydF90aHJvd3NfZG9tKCdJ
bnZhbGlkU3RhdGVFcnJvcicsIHJlc3VsdC53aW5kb3cuRE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRo
cm93IHJlc3VsdC5leGNlcHRpb247IH0sICdNdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
Jyk7Cit9LCAnZG9jdW1lbnQub3BlbigpIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Ig
d2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91
cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudCcpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVu
Y3Rpb24gKCkgeworICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGN1c3RvbV9lbGVtZW50X3JlYWN0
aW9uc19pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBkb2N1bWVudC5vcGVuKCd0ZXh0L2h0
bWwnKSk7CisgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0
LndpbmRvdy5ET01FeGNlcHRpb24sICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwg
J011c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3InKTsKK30sICdkb2N1bWVudC5vcGVuKCJ0
ZXh0L2h0bWwiKSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2lu
ZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQg
Y3VzdG9tIGVsZW1lbnQnKTsKKworLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2UvZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uLmh0bWwjZG9tLWRvY3VtZW50LW9wZW4td2lu
ZG93Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGxldCBsb2FkX3Byb21p
c2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gd2luZG93Lm9ubWVzc2FnZSA9IChldmVudCkg
PT4gcmVzb2x2ZShldmVudC5kYXRhKSk7CisgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY3VzdG9t
X2VsZW1lbnRfcmVhY3Rpb25zX2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQsIHdpbmRvdykgPT4g
ZG9jdW1lbnQub3BlbigncmVzb3VyY2VzL25hdmlnYXRpb24tZGVzdGluYXRpb24uaHRtbCcsICdf
c2VsZicsICcnKSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsK
KyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGxvYWRfcHJvbWlzZSwgJ2RpZE5hdmlnYXRlJyk7Cit9
LCAnZG9jdW1lbnQub3BlbihVUkwpIG11c3QgTk9UIHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
IHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25v
dXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1
bmN0aW9uICgpIHsKKyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFj
dGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gZG9jdW1lbnQuY2xvc2UoKSk7Cisg
ICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0LndpbmRvdy5E
T01FeGNlcHRpb24sICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwgJ011c3QgdGhy
b3cgYW4gSW52YWxpZFN0YXRlRXJyb3InKTsKK30sICdkb2N1bWVudC5jbG9zZSgpIG11c3QgdGhy
b3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJl
YWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudCcpOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGNvbnN0IHJlc3VsdCA9IGF3
YWl0IGN1c3RvbV9lbGVtZW50X3JlYWN0aW9uc19pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9
PiBkb2N1bWVudC53cml0ZSgnPGI+c29tZSB0ZXh0PC9iPicpKTsKKyAgICBhc3NlcnRfdGhyb3dz
X2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCByZXN1bHQud2luZG93LkRPTUV4Y2VwdGlvbiwgKCkg
PT4geyB0aHJvdyByZXN1bHQuZXhjZXB0aW9uOyB9LCAnTXVzdCB0aHJvdyBhbiBJbnZhbGlkU3Rh
dGVFcnJvcicpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJ2InKSwgbnVsbCwgJ011c3Qgbm90IGluc2VydCBuZXcgY29udGVudCcpOworICAgIGFzc2Vy
dF9mYWxzZShyZXN1bHQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmlubmVySFRNTC5pbmNsdWRl
cygnc29tZSB0ZXh0JyksICdNdXN0IG5vdCBpbnNlcnQgbmV3IGNvbnRlbnQnKTsKK30sICdkb2N1
bWVudC53cml0ZSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2lu
ZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQg
Y3VzdG9tIGVsZW1lbnQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAg
ICBjb25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2Vy
KHRoaXMsIChkb2N1bWVudCkgPT4gZG9jdW1lbnQud3JpdGVsbignPGI+c29tZSB0ZXh0PC9iPicp
KTsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCByZXN1bHQud2lu
ZG93LkRPTUV4Y2VwdGlvbiwgKCkgPT4geyB0aHJvdyByZXN1bHQuZXhjZXB0aW9uOyB9LCAnTXVz
dCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvcicpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2InKSwgbnVsbCwgJ011c3Qgbm90IGluc2VydCBuZXcg
Y29udGVudCcpOworICAgIGFzc2VydF9mYWxzZShyZXN1bHQuZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LmlubmVySFRNTC5pbmNsdWRlcygnc29tZSB0ZXh0JyksICdNdXN0IG5vdCBpbnNlcnQgbmV3
IGNvbnRlbnQnKTsKK30sICdkb2N1bWVudC53cml0ZWxuIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0
YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBz
eW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudCcpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGNvbnN0IGFub3RoZXJfd2luZG93ID0gYXdhaXQgY3Jl
YXRlX3dpbmRvd19pbl90ZXN0KHRoaXMpOworICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGN1c3Rv
bV9lbGVtZW50X3JlYWN0aW9uc19pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBhbm90aGVy
X3dpbmRvdy5kb2N1bWVudC5vcGVuKCkpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2Vw
dGlvbiwgbnVsbCk7Cit9LCAnZG9jdW1lbnQub3BlbigpIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVz
dCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBl
bGVtZW50IHJlYWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxl
bWVudCcpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgeworICAgIGNvbnN0IGFu
b3RoZXJfd2luZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0KHRoaXMpOworICAgIGNv
bnN0IHJlc3VsdCA9IGF3YWl0IGN1c3RvbV9lbGVtZW50X3JlYWN0aW9uc19pbl9wYXJzZXIodGhp
cywgKGRvY3VtZW50KSA9PiBhbm90aGVyX3dpbmRvdy5kb2N1bWVudC5vcGVuKCd0ZXh0L2h0bWwn
KSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsKK30sICdkb2N1
bWVudC5vcGVuKCJ0ZXh0L2h0bWwiKSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93
IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFj
dGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKKwor
cHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCBhbm90aGVyX3dpbmRv
dyA9IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAgICBjb25zdCByZXN1bHQg
PSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVu
dCkgPT4gYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQuY2xvc2UoKSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsKK30sICdkb2N1bWVudC5jbG9zZSgpIG9mIGFub3Ro
ZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9j
ZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1
Y3RlZCBjdXN0b20gZWxlbWVudCcpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkg
eworICAgIGNvbnN0IGFub3RoZXJfd2luZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0
KHRoaXMpOworICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGN1c3RvbV9lbGVtZW50X3JlYWN0aW9u
c19pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBhbm90aGVyX3dpbmRvdy5kb2N1bWVudC53
cml0ZSgnPGI+c29tZSB0ZXh0PC9iPicpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5leGNl
cHRpb24sIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMoYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignYicpLm91dGVySFRNTCwgJzxiPnNvbWUgdGV4dDwvYj4nKTsKK30sICdk
b2N1bWVudC53cml0ZSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFs
aWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9y
IGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKKworcHJvbWlzZV90
ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgICBjb25zdCBhbm90aGVyX3dpbmRvdyA9IGF3YWl0
IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKKyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBj
dXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gYW5v
dGhlcl93aW5kb3cuZG9jdW1lbnQud3JpdGVsbignPGI+c29tZSB0ZXh0PC9iPicpKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJlc3VsdC5leGNlcHRpb24sIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMo
YW5vdGhlcl93aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYicpLm91dGVySFRNTCwgJzxi
PnNvbWUgdGV4dDwvYj4nKTsKK30sICdkb2N1bWVudC53cml0ZWxuIG9mIGFub3RoZXIgZG9jdW1l
bnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1
c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0
b20gZWxlbWVudCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3VwZ3JhZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy91cGdyYWRpbmctZXhwZWN0ZWQudHh0Cmlu
ZGV4IGNlYjVmMzQzZTU2ODdjYjcyNjgzMmE4ZDM2MTJiYjRiMjYwZTdiMGYuLmFjNDE5YzI3YTg1
ZTljZDY1YWEzY2M1NDMzOWI4NzBjMTliNzE3NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3VwZ3JhZGluZy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5nLWV4cGVjdGVkLnR4dApAQCAtMjQsNCArMjQs
NyBAQCBQQVNTIEluc2VydGluZyBhbiB1bnJlc29sdmVkIGN1c3RvbSBlbGVtZW50IGludG8gdGhl
IGRvY3VtZW50IG9mIGFuIGlmcmFtZSBtdXN0CiBQQVNTICJkZWZpbmUiIGluIHRoZSBkb2N1bWVu
dCBvZiBhbiBpZnJhbWUgbXVzdCBlbnF1ZXVlIGEgY3VzdG9tIGVsZW1lbnQgdXBncmFkZSByZWFj
dGlvbiBvbiBhIGNvbm5lY3RlZCB1bnJlc29sdmVkIGN1c3RvbSBlbGVtZW50IAogUEFTUyBBZG9w
dGluZyAoYW5kIGxlYXZpbmcgZGlzY29ubmNldGVkKSBhbiB1bnJlc29sdmVkIGN1c3RvbSBlbGVt
ZW50IGludG8gdGhlIGRvY3VtZW50IG9mIGFuIGlmcmFtZSBtdXN0IG5vdCBlbnF1ZXVlIGEgY3Vz
dG9tIGVsZW1lbnQgdXBncmFkZSByZWFjdGlvbiAKIFBBU1MgQWRvcHRpbmcgYW5kIGluc2VydGlu
ZyBhbiB1bnJlc29sdmVkIGN1c3RvbSBlbGVtZW50IGludG8gdGhlIGRvY3VtZW50IG9mIGFuIGlm
cmFtZSBtdXN0IGVucXVldWUgYSBjdXN0b20gZWxlbWVudCB1cGdyYWRlIHJlYWN0aW9uIAorRkFJ
TCBJZiBkZWZpbml0aW9uJ3MgZGlzYWJsZSBzaGFkb3cgaXMgdHJ1ZSBhbmQgZWxlbWVudCdzIHNo
YWRvdyByb290IGlzIG5vbi1udWxsLCB0aGVuIHRocm93IGEgIk5vdFN1cHBvcnRlZEVycm9yIiBE
T01FeGNlcHRpb24uIGFzc2VydF9mYWxzZTogVXBncmFkaW5nIHNob3VsZCBmYWlsLiBleHBlY3Rl
ZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBJbmZpbml0ZSBjb25zdHJ1Y3RvciByZWN1cnNpb24gd2l0
aCB1cGdyYWRlKHRoaXMpIHNob3VsZCBub3QgYmUgcG9zc2libGUgCitGQUlMIEluZmluaXRlIGNv
bnN0cnVjdG9yIHJlY3Vyc2lvbiB3aXRoIGFwcGVuZENoaWxkIHNob3VsZCBub3QgYmUgcG9zc2li
bGUgYXNzZXJ0X2FycmF5X2VxdWFsczogZXhwZWN0ZWQgcHJvcGVydHkgMCB0byBiZSBFbGVtZW50
IG5vZGUgPGluZmluaXRlLWNsb25pbmctZWxlbWVudC0yIGlkPSJiIj48L2luZmluaXRlLWNsb25p
bmctZWxlLi4uIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxpbmZpbml0ZS1jbG9uaW5nLWVsZW1lbnQt
MiBpZD0iYSI+PC9pbmZpbml0ZS1jbG9uaW5nLWVsZS4uLiAoZXhwZWN0ZWQgYXJyYXkgW0VsZW1l
bnQgbm9kZSA8aW5maW5pdGUtY2xvbmluZy1lbGVtZW50LTIgaWQ9ImIiPjwvaW5maW5pdGUtY2xv
bmluZy1lbGUuLi4sICJiZWdpbiJdIGdvdCBbRWxlbWVudCBub2RlIDxpbmZpbml0ZS1jbG9uaW5n
LWVsZW1lbnQtMiBpZD0iYSI+PC9pbmZpbml0ZS1jbG9uaW5nLWVsZS4uLiwgImVuZCJdKQogIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvdXBncmFkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy91cGdyYWRpbmcuaHRtbAppbmRleCBh
YWVhMGNiNGEwMjExNjk2MzFjMmI1MGQwZjU5N2NiNzI3YTBiNjE0Li5hYzBmZGZmN2EyMTExNTA3
NjMyYWMyYzM2ZmQ1YzYwYTZmODMyYjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy91cGdyYWRpbmcuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy91cGdyYWRpbmcuaHRtbApAQCAtMTIsOCArMTIsMTIgQEAKIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHk+Cis8aW5maW5pdGUtY2xvbmluZy1lbGVtZW50LTE+PC9pbmZpbml0ZS1jbG9uaW5nLWVs
ZW1lbnQtMT4KKzxpbmZpbml0ZS1jbG9uaW5nLWVsZW1lbnQtMiBpZD0iYSI+PC9pbmZpbml0ZS1j
bG9uaW5nLWVsZW1lbnQtMj4KKzxpbmZpbml0ZS1jbG9uaW5nLWVsZW1lbnQtMiBpZD0iYiI+PC9p
bmZpbml0ZS1jbG9uaW5nLWVsZW1lbnQtMj4KIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8c2NyaXB0
Pgorc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSk7CiAKIGNsYXNzIFByZWRl
ZmluZWRDdXN0b21FbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge30KIGN1c3RvbUVsZW1lbnRz
LmRlZmluZSgncHJlZGVmaW5lZC1jdXN0b20tZWxlbWVudCcsIFByZWRlZmluZWRDdXN0b21FbGVt
ZW50KTsKQEAgLTE4NSw2ICsxODksNzAgQEAgZG9jdW1lbnRfdHlwZXMoKS5maWx0ZXIoZnVuY3Rp
b24gKGVudHJ5KSB7IHJldHVybiAhZW50cnkuaXNPd25lciAmJiBlbnRyeS5oYXNCcm8KIAogfSk7
CiAKK3Rlc3QoKCkgPT4geworICAgIGNsYXNzIFNoYWRvd0Rpc2FibGVkRWxlbWVudCBleHRlbmRz
IEhUTUxFbGVtZW50IHsKKyAgICAgIHN0YXRpYyBnZXQgZGlzYWJsZWRGZWF0dXJlcygpIHsgcmV0
dXJuIFsnc2hhZG93J107IH0KKyAgICB9CisgICAgbGV0IGVycm9yID0gbnVsbDsKKyAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBlID0+IHsgZXJyb3IgPSBlLmVycm9yOyB9LCB7
b25jZTogdHJ1ZX0pOworICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c2hhZG93LWRpc2FibGVkJyk7CisgICAgZWxlbWVudC5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVu
J30pOworICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnc2hhZG93LWRpc2FibGVkJywgU2hhZG93
RGlzYWJsZWRFbGVtZW50KTsKKyAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKGVsZW1lbnQpOwor
ICAgIGFzc2VydF9mYWxzZShlbGVtZW50IGluc3RhbmNlb2YgU2hhZG93RGlzYWJsZWRFbGVtZW50
LAorICAgICAgICAgICAgICAgICAnVXBncmFkaW5nIHNob3VsZCBmYWlsLicpOworICAgIGFzc2Vy
dF90cnVlKGVycm9yIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGVycm9yLm5hbWUsICdOb3RTdXBwb3J0ZWRFcnJvcicpOworfSwgJ0lmIGRlZmluaXRpb25cJ3Mg
ZGlzYWJsZSBzaGFkb3cgaXMgdHJ1ZSBhbmQgZWxlbWVudFwncyBzaGFkb3cgcm9vdCBpcyAnICsK
KyAgICAnbm9uLW51bGwsIHRoZW4gdGhyb3cgYSAiTm90U3VwcG9ydGVkRXJyb3IiIERPTUV4Y2Vw
dGlvbi4nKTsKKwordGVzdCgoKSA9PiB7CisgICAgdmFyIGxvZyA9IFtdOworCisgICAgY3VzdG9t
RWxlbWVudHMuZGVmaW5lKCdpbmZpbml0ZS1jbG9uaW5nLWVsZW1lbnQtMScsY2xhc3MgZXh0ZW5k
cyBIVE1MRWxlbWVudCB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgc3Vw
ZXIoKTsKKyAgICAgICAgICAgIGxvZy5wdXNoKFt0aGlzLCAnYmVnaW4nXSk7CisgICAgICAgICAg
ICAvLyBQb3RlbnRpYWwgaW5maW5pdGUgcmVjdXJzaW9uOgorICAgICAgICAgICAgY3VzdG9tRWxl
bWVudHMudXBncmFkZSh0aGlzKTsKKyAgICAgICAgICAgIGxvZy5wdXNoKFt0aGlzLCAnZW5kJ10p
OworICAgICAgICB9CisgICAgfSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGxvZy5sZW5ndGgsIDIp
OworICAgIGNvbnN0IGluc3RhbmNlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5maW5pdGUt
Y2xvbmluZy1lbGVtZW50LTEiKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ1swXSwgW2lu
c3RhbmNlLCAnYmVnaW4nXSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dbMV0sIFtpbnN0
YW5jZSwgJ2VuZCddKTsKK30sICdJbmZpbml0ZSBjb25zdHJ1Y3RvciByZWN1cnNpb24gd2l0aCB1
cGdyYWRlKHRoaXMpIHNob3VsZCBub3QgYmUgcG9zc2libGUnKTsKKwordGVzdCgoKSA9PiB7Cisg
ICAgdmFyIGxvZyA9IFtdOworCisgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdpbmZpbml0ZS1j
bG9uaW5nLWVsZW1lbnQtMicsY2xhc3MgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgICAgIGNv
bnN0cnVjdG9yKCkgeworICAgICAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgICAgIGxvZy5wdXNo
KFt0aGlzLCAnYmVnaW4nXSk7CisgICAgICAgICAgICBjb25zdCBiID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiI2IiKTsKKyAgICAgICAgICAgIGIucmVtb3ZlKCk7CisgICAgICAgICAgICAvLyBX
aGlsZSB0aGlzIGNvbnN0cnVjdG9yIGlzIHJ1bm5pbmcgZm9yICJhIiwgImIiIGlzIHN0aWxsCisg
ICAgICAgICAgICAvLyB1bmRlZmluZWQsIGFuZCBzbyBpbnNlcnRpbmcgaXQgaW50byB0aGUgZG9j
dW1lbnQgd2lsbCBlbnF1ZXVlIGEKKyAgICAgICAgICAgIC8vIHNlY29uZCB1cGdyYWRlIHJlYWN0
aW9uIGZvciAiYiIgaW4gYWRkaXRpb24gdG8gdGhlIG9uZSBlbnF1ZXVlZAorICAgICAgICAgICAg
Ly8gYnkgZGVmaW5pbmcgeC1mb28uCisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGIpOworICAgICAgICAgICAgbG9nLnB1c2goW3RoaXMsICdlbmQnXSk7CisgICAgICAgIH0K
KyAgICB9KTsKKworICAgIGFzc2VydF9lcXVhbHMobG9nLmxlbmd0aCwgNCk7CisgICAgY29uc3Qg
aW5zdGFuY2VBID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2EiKTsKKyAgICBjb25zdCBpbnN0
YW5jZUIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYiIpOworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMobG9nWzBdLCBbaW5zdGFuY2VBLCAnYmVnaW4nXSk7CisgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhsb2dbMV0sIFtpbnN0YW5jZUIsICdiZWdpbiddKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKGxvZ1syXSwgW2luc3RhbmNlQiwgJ2VuZCddKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGxvZ1szXSwgW2luc3RhbmNlQSwgJ2VuZCddKTsKK30sICdJbmZpbml0ZSBjb25zdHJ1Y3RvciBy
ZWN1cnNpb24gd2l0aCBhcHBlbmRDaGlsZCBzaG91bGQgbm90IGJlIHBvc3NpYmxlJyk7CisKKwog
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3czYy1pbXBvcnQubG9nCmluZGV4IGQxNGQxNjc2ZWRlOWFkZjljZjFjYzhlNTVjMzJk
MzI4MjI1YmU3YTMuLmM2ZjcxM2NkYmFmNTQ4MTVhNDAwNGIzZTFmNWY4ZDRhZWFkNjcwYTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3czYy1pbXBvcnQubG9nCkBAIC0x
OCw2ICsxOCw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1z
dmcuc3ZnCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvRG9jdW1lbnQtY3Jl
YXRlRWxlbWVudE5TLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9IVE1MRWxlbWVudC1hdHRhY2hJbnRlcm5hbHMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL0hUTUxFbGVtZW50LWNvbnN0cnVjdG9yLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9NRVRBLnltbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Fkb3B0
ZWQtY2FsbGJhY2suaHRtbApAQCAtMjYsMTAgKzI3LDE1IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
Y29ubmVjdGVkLWNhbGxiYWNrcy1odG1sLWZyYWdtZW50LXBhcnNpbmcuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Nvbm5l
Y3RlZC1jYWxsYmFja3MuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlYWN0aW9uLXF1ZXVlLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9jdXN0b21pemVkLWJ1aWx0LWluLWNvbnN0cnVjdG9yLWV4Y2VwdGlvbnMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2Rpc2Nvbm5lY3RlZC1jYWxsYmFja3MuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2VucXVldWUtY3VzdG9tLWVsZW1l
bnQtY2FsbGJhY2stcmVhY3Rpb25zLWluc2lkZS1hbm90aGVyLWNhbGxiYWNrLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9o
aXN0b3JpY2FsLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9taWNyb3Rhc2tzLWFuZC1jb25zdHJ1Y3RvcnMuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3BlcmZvcm0tbWljcm90YXNrLWNoZWNrcG9pbnQtYmVmb3JlLWNvbnN0cnVjdGlvbi5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcHNldWRvLWNsYXNzLWRlZmluZWQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JhbmdlLWFuZC1jb25zdHJ1Y3RvcnMu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9uLXRpbWluZy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdGhyb3ctb24tZHluYW1pYy1tYXJr
dXAtaW5zZXJ0aW9uLWNvdW50ZXItY29uc3RydWN0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWlj
LW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1yZWFjdGlvbnMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3VwZ3JhZGluZy5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MSW5wdXRF
bGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxJ
bnB1dEVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4NDAwNDg4NTE4ODU4OGFjYzUx
NmJkMjJmYzY0NDBhYzZlOWZmMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9IVE1MSW5wdXRFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKKworRkFJTCBjYXB0dXJlIG9uIEhUTUxJbnB1dEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgbmV3IGF0dHJpYnV0ZSBUaGUgc3Vw
ZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY2FwdHVyZSBvbiBIVE1MSW5wdXRF
bGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVw
bGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25z
dHJ1Y3Rvci4KK0ZBSUwgY2FwdHVyZSBvbiBIVE1MSW5wdXRFbGVtZW50IG11c3QgZW5xdWV1ZSBh
biBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGludmFsaWQgdmFsdWUgZGVm
YXVsdCBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK0ZBSUwgY2FwdHVyZSBv
biBIVE1MSW5wdXRFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gcmVtb3ZpbmcgdGhlIGF0dHJpYnV0ZSBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>