<?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>241098</bug_id>
          
          <creation_ts>2022-05-30 04:10:05 -0700</creation_ts>
          <short_desc>[:has() pseudo-class] Fix invalidation with scope breaking :is/not()</short_desc>
          <delta_ts>2022-06-30 07:47:33 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=242190</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>227702</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1872715</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-05-30 04:10:05 -0700</bug_when>
    <thetext>:has(:is:(foo bar)) can be affected by mutations outside the :has scope</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1872719</commentid>
    <comment_count>1</comment_count>
      <attachid>459855</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-05-30 04:16:21 -0700</bug_when>
    <thetext>Created attachment 459855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1872727</commentid>
    <comment_count>2</comment_count>
      <attachid>459857</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-05-30 04:45:48 -0700</bug_when>
    <thetext>Created attachment 459857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1872782</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-30 10:59:38 -0700</bug_when>
    <thetext>Found 1 new test failure: webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1872832</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-30 15:11:05 -0700</bug_when>
    <thetext>Committed r295035 (251130@main): &lt;https://commits.webkit.org/251130@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 459857.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1872833</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-30 15:12:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/94123183&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459855</attachid>
            <date>2022-05-30 04:16:21 -0700</date>
            <delta_ts>2022-05-30 04:45:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-241098-20220530141619.patch</filename>
            <type>text/plain</type>
            <size>147019</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBhZGYyNGFjM2EzZTk5OWZhMTk5NjcwMDNlNTM3ZTE3YjYzMjRkOTFlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDMwIE1heSAyMDIyIDE0OjEwOjU2ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gWzpoYXMo
KSBwc2V1ZG8tY2xhc3NdIEZpeCBpbnZhbGlkYXRpb24gd2l0aCBzY29wZSBicmVha2luZwogOmlz
L25vdCgpIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDEwOTgKClJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKU2VsZWN0b3IgbGlrZSA6aGFzKDppcyhmb28gYmFy
KSkgY2FuIGJlIGFmZmVjdGVkIGJ5IG11dGF0aW9ucyBvdXRzaWRlIHRoZSA6aGFzIHNjb3BlLgoK
KiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFz
c2VzLWluLWhhcy5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2VtcHR5LXBzZXVkby1pbi1o
YXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2VtcHR5LXBzZXVkby1pbi1o
YXMuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9oYXMtaW4tYWRqYWNlbnQtcG9zaXRpb24u
aHRtbDoKKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1pbi1hbmNlc3Rvci1wb3NpdGlvbi5odG1sOgoqIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9p
bnZhbGlkYXRpb24vaGFzLWluLXBhcmVudC1wb3NpdGlvbi5odG1sOgoqIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24v
aGFzLWluLXNpYmxpbmctcG9zaXRpb24uaHRtbDoKKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lzLXBzZXVkby1j
b250YWluaW5nLWNvbXBsZXgtaW4taGFzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRh
dGlvbi9pcy1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy5odG1sOiBBZGRlZC4KKiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL2xpbmstcHNldWRvLWluLWhhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9p
bnZhbGlkYXRpb24vbGluay1wc2V1ZG8taW4taGFzLmh0bWw6IEFkZGVkLgoqIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbm90LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2Vs
ZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1oYXMu
aHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi90eXBlZC1jaGlsZC1pbmRleGVkLXBzZXVkby1j
bGFzc2VzLWluLWhhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdHlwZWQt
Y2hpbGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMuaHRtbDogQWRkZWQuCiogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFs
aWRhdGlvbi93M2MtaW1wb3J0LmxvZzoKClJlaW1wb3J0IHNlbGVjdG9yIGludmFsaWRhdGlvbiB0
ZXN0cy4KCiogU291cmNlL1dlYkNvcmUvc3R5bGUvQ2hpbGRDaGFuZ2VJbnZhbGlkYXRpb24uY3Bw
OgooV2ViQ29yZTo6U3R5bGU6OkNoaWxkQ2hhbmdlSW52YWxpZGF0aW9uOjppbnZhbGlkYXRlRm9y
Q2hhbmdlZEVsZW1lbnQpOgooV2ViQ29yZTo6U3R5bGU6Om5lZWRzRGVzY2VuZGFudFRyYXZlcnNh
bCk6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuY3BwOgooV2ViQ29yZTo6U3R5
bGU6OmlzU2libGluZ09yU3ViamVjdCk6CihXZWJDb3JlOjpTdHlsZTo6aXNIYXNQc2V1ZG9DbGFz
c01hdGNoRWxlbWVudCk6CihXZWJDb3JlOjpTdHlsZTo6Y29tcHV0ZU5leHRNYXRjaEVsZW1lbnQp
OgooV2ViQ29yZTo6U3R5bGU6OmNvbXB1dGVIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudCk6CihX
ZWJDb3JlOjpTdHlsZTo6Y29tcHV0ZVN1YlNlbGVjdG9yTWF0Y2hFbGVtZW50KToKKFdlYkNvcmU6
OlN0eWxlOjpSdWxlRmVhdHVyZVNldDo6cmVjdXJzaXZlbHlDb2xsZWN0RmVhdHVyZXNGcm9tU2Vs
ZWN0b3IpOgoKRGV0ZWN0IHRoZSBjYXNlIGFuZCBmYWxsIGJhY2sgdG8gdmVyeSB3aWRlIGludmFs
aWRhdGlvbiAoc2FtZSBhIG5vbi1zdWJqZWN0IDpoYXMoKSBmb3Igbm93KS4KCiogU291cmNlL1dl
YkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuaDoKKFdlYkNvcmU6OlN0eWxlOjpSdWxlRmVhdHVyZVNl
dDo6dXNlc0hhc1BzZXVkb0NsYXNzIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZUludmFsaWRhdG9yLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpJbnZhbGlkYXRvcjo6aW52YWxpZGF0
ZVN0eWxlV2l0aE1hdGNoRWxlbWVudCk6Ci0tLQogLi4uL1dlYkNvcmUvc3R5bGUvQ2hpbGRDaGFu
Z2VJbnZhbGlkYXRpb24uY3BwIHwgICA0ICstCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVh
dHVyZS5jcHAgICAgICAgICAgfCAgMzMgKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVh
dHVyZS5oICAgICAgICAgICAgfCAgIDcgKy0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52
YWxpZGF0b3IuY3BwICAgICB8ICAgMiArLQogLi4uaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1o
YXMtZXhwZWN0ZWQudHh0IHwgIDY4ICsrKysrKwogLi4uL2NoaWxkLWluZGV4ZWQtcHNldWRvLWNs
YXNzZXMtaW4taGFzLmh0bWwgIHwgMTE2ICsrKysrKysrKysrCiAuLi4vZW1wdHktcHNldWRvLWlu
LWhhcy1leHBlY3RlZC50eHQgICAgICAgICAgfCAgIDUgKwogLi4uL2ludmFsaWRhdGlvbi9lbXB0
eS1wc2V1ZG8taW4taGFzLmh0bWwgICAgIHwgIDM3ICsrKysKIC4uLi9oYXMtaW4tYWRqYWNlbnQt
cG9zaXRpb24uaHRtbCAgICAgICAgICAgICB8IDE4NSArKysrKysrKysrKy0tLS0tLQogLi4uL2hh
cy1pbi1hbmNlc3Rvci1wb3NpdGlvbi5odG1sICAgICAgICAgICAgIHwgMTk1ICsrKysrKysrKysr
LS0tLS0tLQogLi4uL2ludmFsaWRhdGlvbi9oYXMtaW4tcGFyZW50LXBvc2l0aW9uLmh0bWwgIHwg
MTY1ICsrKysrKysrKystLS0tLQogLi4uL2ludmFsaWRhdGlvbi9oYXMtaW4tc2libGluZy1wb3Np
dGlvbi5odG1sIHwgMTg1ICsrKysrKysrKysrLS0tLS0tCiAuLi51ZG8tY29udGFpbmluZy1jb21w
bGV4LWluLWhhcy1leHBlY3RlZC50eHQgfCAgOTQgKysrKysrKysrCiAuLi4vaXMtcHNldWRvLWNv
bnRhaW5pbmctY29tcGxleC1pbi1oYXMuaHRtbCAgfCAxMjEgKysrKysrKysrKysKIC4uLi9saW5r
LXBzZXVkby1pbi1oYXMtZXhwZWN0ZWQudHh0ICAgICAgICAgICB8ICAgMyArCiAuLi4vaW52YWxp
ZGF0aW9uL2xpbmstcHNldWRvLWluLWhhcy5odG1sICAgICAgfCAgOTcgKysrKysrKysrCiAuLi51
ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy1leHBlY3RlZC50eHQgfCAgOTQgKysrKysrKysr
CiAuLi4vbm90LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwgfCAxMjEgKysr
KysrKysrKysKIC4uLmluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLWV4cGVjdGVkLnR4dCB8
IDEwNCArKysrKysrKysrCiAuLi5kLWNoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFz
Lmh0bWwgfCAxMzEgKysrKysrKysrKysrCiAuLi4vY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24v
dzNjLWltcG9ydC5sb2cgfCAgIDYgKwogMjEgZmlsZXMgY2hhbmdlZCwgMTQ5MSBpbnNlcnRpb25z
KCspLCAyODIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9j
aGlsZC1pbmRleGVkLXBzZXVkby1jbGFzc2VzLWluLWhhcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4t
aGFzLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2VtcHR5LXBzZXVkby1p
bi1oYXMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9lbXB0
eS1wc2V1ZG8taW4taGFzLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lz
LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaXMtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1o
YXMuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbGluay1wc2V1ZG8taW4t
aGFzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbGluay1w
c2V1ZG8taW4taGFzLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL25vdC1w
c2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvaW52YWxpZGF0aW9uL25vdC1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhh
cy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi90eXBlZC1jaGlsZC1pbmRl
eGVkLXBzZXVkby1jbGFzc2VzLWluLWhhcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL3R5cGVkLWNoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFz
Lmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9DaGlsZENoYW5nZUludmFs
aWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9DaGlsZENoYW5nZUludmFsaWRhdGlv
bi5jcHAKaW5kZXggY2EwZmVmNmZmNTQ5Li40NzNkZmRiZDVhMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL0NoaWxkQ2hhbmdlSW52YWxpZGF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9DaGlsZENoYW5nZUludmFsaWRhdGlvbi5jcHAKQEAgLTUyLDcgKzUyLDcg
QEAgdm9pZCBDaGlsZENoYW5nZUludmFsaWRhdGlvbjo6aW52YWxpZGF0ZUZvckNoYW5nZWRFbGVt
ZW50KEVsZW1lbnQmIGNoYW5nZWRFbGVtZW4KICAgICAgICAgICAgIHJldHVybiBpc0NoaWxkOwog
ICAgICAgICBjYXNlIE1hdGNoRWxlbWVudDo6SGFzRGVzY2VuZGFudDoKICAgICAgICAgY2FzZSBN
YXRjaEVsZW1lbnQ6Okhhc1NpYmxpbmdEZXNjZW5kYW50OgotICAgICAgICBjYXNlIE1hdGNoRWxl
bWVudDo6SGFzTm9uU3ViamVjdDoKKyAgICAgICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc05vblN1
YmplY3RPclNjb3BlQnJlYWtpbmc6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTM3LDcgKzEz
Nyw3IEBAIHZvaWQgQ2hpbGRDaGFuZ2VJbnZhbGlkYXRpb246OmludmFsaWRhdGVGb3JIYXNBZnRl
ck11dGF0aW9uKCkKIAogc3RhdGljIGJvb2wgbmVlZHNEZXNjZW5kYW50VHJhdmVyc2FsKGNvbnN0
IFJ1bGVGZWF0dXJlU2V0JiBmZWF0dXJlcykKIHsKLSAgICBpZiAoZmVhdHVyZXMudXNlc01hdGNo
RWxlbWVudChNYXRjaEVsZW1lbnQ6Okhhc05vblN1YmplY3QpKQorICAgIGlmIChmZWF0dXJlcy51
c2VzTWF0Y2hFbGVtZW50KE1hdGNoRWxlbWVudDo6SGFzTm9uU3ViamVjdE9yU2NvcGVCcmVha2lu
ZykpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIHJldHVybiBmZWF0dXJlcy51c2VzTWF0Y2hF
bGVtZW50KE1hdGNoRWxlbWVudDo6SGFzRGVzY2VuZGFudCkgfHwgZmVhdHVyZXMudXNlc01hdGNo
RWxlbWVudChNYXRjaEVsZW1lbnQ6Okhhc1NpYmxpbmdEZXNjZW5kYW50KTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAKaW5kZXggYzlhZjdmZTA2NzVkLi41MGQ3ZWY4MjRiYTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVGZWF0dXJlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgc3Rh
dGljIGJvb2wgaXNTaWJsaW5nT3JTdWJqZWN0KE1hdGNoRWxlbWVudCBtYXRjaEVsZW1lbnQpCiAg
ICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc0NoaWxkOgogICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpI
YXNEZXNjZW5kYW50OgogICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNTaWJsaW5nRGVzY2VuZGFu
dDoKLSAgICBjYXNlIE1hdGNoRWxlbWVudDo6SGFzTm9uU3ViamVjdDoKKyAgICBjYXNlIE1hdGNo
RWxlbWVudDo6SGFzTm9uU3ViamVjdE9yU2NvcGVCcmVha2luZzoKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTY3LDcgKzY3LDcgQEAg
Ym9vbCBpc0hhc1BzZXVkb0NsYXNzTWF0Y2hFbGVtZW50KE1hdGNoRWxlbWVudCBtYXRjaEVsZW1l
bnQpCiAgICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc0Rlc2NlbmRhbnQ6CiAgICAgY2FzZSBNYXRj
aEVsZW1lbnQ6Okhhc1NpYmxpbmc6CiAgICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc1NpYmxpbmdE
ZXNjZW5kYW50OgotICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNOb25TdWJqZWN0OgorICAgIGNh
c2UgTWF0Y2hFbGVtZW50OjpIYXNOb25TdWJqZWN0T3JTY29wZUJyZWFraW5nOgogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC05OSw4
ICs5OSw3IEBAIFJ1bGVGZWF0dXJlV2l0aEludmFsaWRhdGlvblNlbGVjdG9yOjpSdWxlRmVhdHVy
ZVdpdGhJbnZhbGlkYXRpb25TZWxlY3Rvcihjb25zdCBSCiAKIHN0YXRpYyBNYXRjaEVsZW1lbnQg
Y29tcHV0ZU5leHRNYXRjaEVsZW1lbnQoTWF0Y2hFbGVtZW50IG1hdGNoRWxlbWVudCwgQ1NTU2Vs
ZWN0b3I6OlJlbGF0aW9uVHlwZSByZWxhdGlvbikKIHsKLSAgICBpZiAoaXNIYXNQc2V1ZG9DbGFz
c01hdGNoRWxlbWVudChtYXRjaEVsZW1lbnQpKQotICAgICAgICByZXR1cm4gbWF0Y2hFbGVtZW50
OworICAgIEFTU0VSVCghaXNIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudChtYXRjaEVsZW1lbnQp
KTsKIAogICAgIGlmIChpc1NpYmxpbmdPclN1YmplY3QobWF0Y2hFbGVtZW50KSkgewogICAgICAg
ICBzd2l0Y2ggKHJlbGF0aW9uKSB7CkBAIC0xNTIsOSArMTUxLDYgQEAgTWF0Y2hFbGVtZW50IGNv
bXB1dGVIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudChjb25zdCBDU1NTZWxlY3RvciYgaGFzU2Vs
ZWN0b3IpCiAgICAgZm9yIChhdXRvKiBzaW1wbGVTZWxlY3RvciA9ICZoYXNTZWxlY3Rvcjsgc2lt
cGxlU2VsZWN0b3ItPnRhZ0hpc3RvcnkoKTsgc2ltcGxlU2VsZWN0b3IgPSBzaW1wbGVTZWxlY3Rv
ci0+dGFnSGlzdG9yeSgpKQogICAgICAgICBoYXNNYXRjaEVsZW1lbnQgPSBjb21wdXRlTmV4dE1h
dGNoRWxlbWVudChoYXNNYXRjaEVsZW1lbnQsIHNpbXBsZVNlbGVjdG9yLT5yZWxhdGlvbigpKTsK
IAotICAgIGlmIChoYXNNYXRjaEVsZW1lbnQgPT0gTWF0Y2hFbGVtZW50OjpQYXJlbnQpCi0gICAg
ICAgIHJldHVybiBNYXRjaEVsZW1lbnQ6Okhhc0NoaWxkOwotCiAgICAgc3dpdGNoIChoYXNNYXRj
aEVsZW1lbnQpIHsKICAgICBjYXNlIE1hdGNoRWxlbWVudDo6UGFyZW50OgogICAgIGNhc2UgTWF0
Y2hFbGVtZW50OjpTdWJqZWN0OgpAQCAtMTcyLDcgKzE2OCw3IEBAIE1hdGNoRWxlbWVudCBjb21w
dXRlSGFzUHNldWRvQ2xhc3NNYXRjaEVsZW1lbnQoY29uc3QgQ1NTU2VsZWN0b3ImIGhhc1NlbGVj
dG9yKQogICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNEZXNjZW5kYW50OgogICAgIGNhc2UgTWF0
Y2hFbGVtZW50OjpIYXNTaWJsaW5nOgogICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNTaWJsaW5n
RGVzY2VuZGFudDoKLSAgICBjYXNlIE1hdGNoRWxlbWVudDo6SGFzTm9uU3ViamVjdDoKKyAgICBj
YXNlIE1hdGNoRWxlbWVudDo6SGFzTm9uU3ViamVjdE9yU2NvcGVCcmVha2luZzoKICAgICBjYXNl
IE1hdGNoRWxlbWVudDo6SG9zdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgIGJyZWFrOwpAQCAtMTk0LDkgKzE5MCwxMCBAQCBzdGF0aWMgTWF0Y2hFbGVtZW50IGNvbXB1
dGVTdWJTZWxlY3Rvck1hdGNoRWxlbWVudChNYXRjaEVsZW1lbnQgbWF0Y2hFbGVtZW50LCBjbwog
CiAgICAgICAgIGlmICh0eXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0hhcykgewogICAg
ICAgICAgICAgaWYgKG1hdGNoRWxlbWVudCAhPSBNYXRjaEVsZW1lbnQ6OlN1YmplY3QpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIE1hdGNoRWxlbWVudDo6SGFzTm9uU3ViamVjdDsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gTWF0Y2hFbGVtZW50OjpIYXNOb25TdWJqZWN0T3JTY29wZUJyZWFraW5n
OwogICAgICAgICAgICAgcmV0dXJuIGNvbXB1dGVIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudChj
aGlsZFNlbGVjdG9yKTsKICAgICAgICAgfQorCiAgICAgfQogICAgIGlmIChzZWxlY3Rvci5tYXRj
aCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50KSB7CiAgICAgICAgIC8vIFNpbWlsYXJs
eSBmb3IgOjpzbG90dGVkKCkuCkBAIC0yMDcsNyArMjA0LDcgQEAgc3RhdGljIE1hdGNoRWxlbWVu
dCBjb21wdXRlU3ViU2VsZWN0b3JNYXRjaEVsZW1lbnQoTWF0Y2hFbGVtZW50IG1hdGNoRWxlbWVu
dCwgY28KICAgICByZXR1cm4gbWF0Y2hFbGVtZW50OwogfTsKIAotdm9pZCBSdWxlRmVhdHVyZVNl
dDo6cmVjdXJzaXZlbHlDb2xsZWN0RmVhdHVyZXNGcm9tU2VsZWN0b3IoU2VsZWN0b3JGZWF0dXJl
cyYgc2VsZWN0b3JGZWF0dXJlcywgY29uc3QgQ1NTU2VsZWN0b3ImIGZpcnN0U2VsZWN0b3IsIE1h
dGNoRWxlbWVudCBtYXRjaEVsZW1lbnQsIElzTmVnYXRpb24gaXNOZWdhdGlvbikKK3ZvaWQgUnVs
ZUZlYXR1cmVTZXQ6OnJlY3Vyc2l2ZWx5Q29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKFNlbGVj
dG9yRmVhdHVyZXMmIHNlbGVjdG9yRmVhdHVyZXMsIGNvbnN0IENTU1NlbGVjdG9yJiBmaXJzdFNl
bGVjdG9yLCBNYXRjaEVsZW1lbnQgbWF0Y2hFbGVtZW50LCBJc05lZ2F0aW9uIGlzTmVnYXRpb24s
IENhbkJyZWFrU2NvcGUgY2FuQnJlYWtTY29wZSkKIHsKICAgICBjb25zdCBDU1NTZWxlY3Rvciog
c2VsZWN0b3IgPSAmZmlyc3RTZWxlY3RvcjsKICAgICBkbyB7CkBAIC0yMzcsOCArMjM0LDEwIEBA
IHZvaWQgUnVsZUZlYXR1cmVTZXQ6OnJlY3Vyc2l2ZWx5Q29sbGVjdEZlYXR1cmVzRnJvbVNlbGVj
dG9yKFNlbGVjdG9yRmVhdHVyZXMmIHNlCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0b3ItPm1hdGNoKCkgPT0gQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzKSB7Ci0gICAgICAgICAgICBpZiAoIWlzTG9naWNhbENvbWJpbmF0aW9u
UHNldWRvQ2xhc3Moc2VsZWN0b3ItPnBzZXVkb0NsYXNzVHlwZSgpKSkKKyAgICAgICAgICAgIGJv
b2wgaXNMb2dpY2FsQ29tYmluYXRpb24gPSBpc0xvZ2ljYWxDb21iaW5hdGlvblBzZXVkb0NsYXNz
KHNlbGVjdG9yLT5wc2V1ZG9DbGFzc1R5cGUoKSk7CisgICAgICAgICAgICBpZiAoIWlzTG9naWNh
bENvbWJpbmF0aW9uKQogICAgICAgICAgICAgICAgIHNlbGVjdG9yRmVhdHVyZXMucHNldWRvQ2xh
c3Nlcy5hcHBlbmQoeyBzZWxlY3RvciwgbWF0Y2hFbGVtZW50LCBpc05lZ2F0aW9uIH0pOworICAg
ICAgICAgICAgY2FuQnJlYWtTY29wZSA9IGlzTG9naWNhbENvbWJpbmF0aW9uICYmIHNlbGVjdG9y
LT5wc2V1ZG9DbGFzc1R5cGUoKSAhPSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NIYXMgPyBDYW5C
cmVha1Njb3BlOjpZZXMgOiBDYW5CcmVha1Njb3BlOjpObzsKICAgICAgICAgfQogCiAgICAgICAg
IGlmICghc2VsZWN0b3JGZWF0dXJlcy5oYXNTaWJsaW5nU2VsZWN0b3IgJiYgc2VsZWN0b3ItPmlz
U2libGluZ1NlbGVjdG9yKCkpCkBAIC0yNTMsMTQgKzI1MiwyMiBAQCB2b2lkIFJ1bGVGZWF0dXJl
U2V0OjpyZWN1cnNpdmVseUNvbGxlY3RGZWF0dXJlc0Zyb21TZWxlY3RvcihTZWxlY3RvckZlYXR1
cmVzJiBzZQogICAgICAgICAgICAgICAgIGF1dG8gc3ViU2VsZWN0b3JNYXRjaEVsZW1lbnQgPSBj
b21wdXRlU3ViU2VsZWN0b3JNYXRjaEVsZW1lbnQobWF0Y2hFbGVtZW50LCAqc2VsZWN0b3IsICpz
dWJTZWxlY3Rvcik7CiAgICAgICAgICAgICAgICAgaWYgKCFzZWxlY3RvckZlYXR1cmVzLmhhc1Np
YmxpbmdTZWxlY3RvciAmJiBzZWxlY3Rvci0+aXNTaWJsaW5nU2VsZWN0b3IoKSkKICAgICAgICAg
ICAgICAgICAgICAgc2VsZWN0b3JGZWF0dXJlcy5oYXNTaWJsaW5nU2VsZWN0b3IgPSB0cnVlOwot
ICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZWx5Q29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKHNl
bGVjdG9yRmVhdHVyZXMsICpzdWJTZWxlY3Rvciwgc3ViU2VsZWN0b3JNYXRjaEVsZW1lbnQsIHN1
YlNlbGVjdG9ySXNOZWdhdGlvbik7CisgICAgICAgICAgICAgICAgcmVjdXJzaXZlbHlDb2xsZWN0
RmVhdHVyZXNGcm9tU2VsZWN0b3Ioc2VsZWN0b3JGZWF0dXJlcywgKnN1YlNlbGVjdG9yLCBzdWJT
ZWxlY3Rvck1hdGNoRWxlbWVudCwgc3ViU2VsZWN0b3JJc05lZ2F0aW9uLCBjYW5CcmVha1Njb3Bl
KTsKIAogICAgICAgICAgICAgICAgIGlmIChzZWxlY3Rvci0+bWF0Y2goKSA9PSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3MgJiYgc2VsZWN0b3ItPnBzZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc0hhcykKICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3JGZWF0dXJl
cy5oYXNQc2V1ZG9DbGFzc2VzLmFwcGVuZCh7IHN1YlNlbGVjdG9yLCBzdWJTZWxlY3Rvck1hdGNo
RWxlbWVudCwgaXNOZWdhdGlvbiB9KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAg
ICAgIG1hdGNoRWxlbWVudCA9IGNvbXB1dGVOZXh0TWF0Y2hFbGVtZW50KG1hdGNoRWxlbWVudCwg
c2VsZWN0b3ItPnJlbGF0aW9uKCkpOworICAgICAgICBtYXRjaEVsZW1lbnQgPSBbJl0geworICAg
ICAgICAgICAgaWYgKGlzSGFzUHNldWRvQ2xhc3NNYXRjaEVsZW1lbnQobWF0Y2hFbGVtZW50KSkg
eworICAgICAgICAgICAgICAgIC8vIDpoYXMoOmlzKGZvbyBiYXIpKSBjYW4gYmUgYWZmZWN0ZWQg
YnkgY2hhbmdlcyBvdXRzaWRlIHRoZSA6aGFzIHNjb3BlLgorICAgICAgICAgICAgICAgIGlmIChj
YW5CcmVha1Njb3BlID09IENhbkJyZWFrU2NvcGU6OlllcyAmJiBzZWxlY3Rvci0+cmVsYXRpb24o
KSA9PSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudFNwYWNlKQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gTWF0Y2hFbGVtZW50OjpIYXNOb25TdWJqZWN0T3JTY29wZUJyZWFraW5nOworICAgICAg
ICAgICAgICAgIHJldHVybiBtYXRjaEVsZW1lbnQ7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICByZXR1cm4gY29tcHV0ZU5leHRNYXRjaEVsZW1lbnQobWF0Y2hFbGVtZW50LCBzZWxlY3Rvci0+
cmVsYXRpb24oKSk7CisgICAgICAgIH0oKTsKIAogICAgICAgICBzZWxlY3RvciA9IHNlbGVjdG9y
LT50YWdIaXN0b3J5KCk7CiAgICAgfSB3aGlsZSAoc2VsZWN0b3IpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1
bGVGZWF0dXJlLmgKaW5kZXggMDRhZjY2NWVjZTVhLi45M2M2ZDAxMGNmM2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVGZWF0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZUZlYXR1cmUuaApAQCAtNTEsMTIgKzUxLDEzIEBAIGVudW0gY2xhc3MgTWF0Y2hF
bGVtZW50IDogdWludDhfdCB7CiAgICAgSGFzRGVzY2VuZGFudCwKICAgICBIYXNTaWJsaW5nLAog
ICAgIEhhc1NpYmxpbmdEZXNjZW5kYW50LAotICAgIEhhc05vblN1YmplY3QsIC8vIEZJWE1FOiBU
aGlzIGlzIGEgY2F0Y2gtYWxsIGZvciBjYXNlcyB3aGVyZSA6aGFzKCkgaXMgaW4gbm9uLXN1Ympl
Y3QgcG9zaXRpb24uCisgICAgSGFzTm9uU3ViamVjdE9yU2NvcGVCcmVha2luZywgLy8gRklYTUU6
IFRoaXMgaXMgYSBjYXRjaC1hbGwgZm9yIGNhc2VzIHdoZXJlIDpoYXMoKSBpcyBpbiBhIG5vbi1z
dWJqZWN0IHBvc2l0aW9uLCBvciBtYXkgYnJlYWsgc2NvcGUuCiAgICAgSG9zdAogfTsKIGNvbnN0
ZXhwciB1bnNpZ25lZCBtYXRjaEVsZW1lbnRDb3VudCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihN
YXRjaEVsZW1lbnQ6Okhvc3QpICsgMTsKIAogZW51bSBjbGFzcyBJc05lZ2F0aW9uIDogYm9vbCB7
IE5vLCBZZXMgfTsKK2VudW0gY2xhc3MgQ2FuQnJlYWtTY29wZSA6IGJvb2wgeyBObywgWWVzIH07
IC8vIDppcy9ub3QoKSBpbnNpZGUgc2NvcGVkIHNlbGVjdG9yIGNhbiBiZSBhZmZlY3RlZCBieSB0
aGluZ3Mgb3V0c2lkZSB0aGUgc2NvcGUuCiAKIC8vIEZvciBNU1ZDLgogI3ByYWdtYSBwYWNrKHB1
c2gsIDQpCkBAIC0xMzQsNyArMTM1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgVmVjdG9yPEludmFs
aWRhdGlvbkZlYXR1cmU+IHBzZXVkb0NsYXNzZXM7CiAgICAgICAgIFZlY3RvcjxJbnZhbGlkYXRp
b25GZWF0dXJlPiBoYXNQc2V1ZG9DbGFzc2VzOwogICAgIH07Ci0gICAgdm9pZCByZWN1cnNpdmVs
eUNvbGxlY3RGZWF0dXJlc0Zyb21TZWxlY3RvcihTZWxlY3RvckZlYXR1cmVzJiwgY29uc3QgQ1NT
U2VsZWN0b3ImLCBNYXRjaEVsZW1lbnQgPSBNYXRjaEVsZW1lbnQ6OlN1YmplY3QsIElzTmVnYXRp
b24gPSBJc05lZ2F0aW9uOjpObyk7CisgICAgdm9pZCByZWN1cnNpdmVseUNvbGxlY3RGZWF0dXJl
c0Zyb21TZWxlY3RvcihTZWxlY3RvckZlYXR1cmVzJiwgY29uc3QgQ1NTU2VsZWN0b3ImLCBNYXRj
aEVsZW1lbnQgPSBNYXRjaEVsZW1lbnQ6OlN1YmplY3QsIElzTmVnYXRpb24gPSBJc05lZ2F0aW9u
OjpObywgQ2FuQnJlYWtTY29wZSA9IENhbkJyZWFrU2NvcGU6Ok5vKTsKIH07CiAKIGJvb2wgaXNI
YXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudChNYXRjaEVsZW1lbnQpOwpAQCAtMTU0LDcgKzE1NSw3
IEBAIGlubGluZSBib29sIFJ1bGVGZWF0dXJlU2V0Ojp1c2VzSGFzUHNldWRvQ2xhc3MoKSBjb25z
dAogICAgICAgICB8fCB1c2VzTWF0Y2hFbGVtZW50KE1hdGNoRWxlbWVudDo6SGFzRGVzY2VuZGFu
dCkKICAgICAgICAgfHwgdXNlc01hdGNoRWxlbWVudChNYXRjaEVsZW1lbnQ6Okhhc1NpYmxpbmdE
ZXNjZW5kYW50KQogICAgICAgICB8fCB1c2VzTWF0Y2hFbGVtZW50KE1hdGNoRWxlbWVudDo6SGFz
U2libGluZykKLSAgICAgICAgfHwgdXNlc01hdGNoRWxlbWVudChNYXRjaEVsZW1lbnQ6Okhhc05v
blN1YmplY3QpOworICAgICAgICB8fCB1c2VzTWF0Y2hFbGVtZW50KE1hdGNoRWxlbWVudDo6SGFz
Tm9uU3ViamVjdE9yU2NvcGVCcmVha2luZyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFN0eWxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlSW52YWxpZGF0b3IuY3BwCmluZGV4IDkyZTZhZGNjMGY2
ZS4uYTQ4ZTEzNGQ3ZjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUlu
dmFsaWRhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFsaWRhdG9y
LmNwcApAQCAtMzQ2LDcgKzM0Niw3IEBAIHZvaWQgSW52YWxpZGF0b3I6OmludmFsaWRhdGVTdHls
ZVdpdGhNYXRjaEVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCwgTWF0Y2hFbGVtZW50CiAgICAgICAg
IH0KICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNOb25T
dWJqZWN0OiB7CisgICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc05vblN1YmplY3RPclNjb3BlQnJl
YWtpbmc6IHsKICAgICAgICAgU2VsZWN0b3JNYXRjaGluZ1N0YXRlIHNlbGVjdG9yTWF0Y2hpbmdT
dGF0ZTsKICAgICAgICAgaW52YWxpZGF0ZVN0eWxlRm9yRGVzY2VuZGFudHMoKmVsZW1lbnQuZG9j
dW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSwgJnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZSk7CiAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9jaGlsZC1pbmRleGVkLXBzZXVk
by1jbGFzc2VzLWluLWhhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4
ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLmQwODRmZDY2M2JlYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9p
bnZhbGlkYXRpb24vY2hpbGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNjggQEAKKworUEFTUyBJbml0aWFsIGNvbG9yczogI29ubHlfY2hpbGQK
K1BBU1MgSW5pdGlhbCBjb2xvcnM6ICNmaXJzdF9jaGlsZAorUEFTUyBJbml0aWFsIGNvbG9yczog
I2xhc3RfY2hpbGQKK1BBU1MgSW5pdGlhbCBjb2xvcnM6ICNudGhfY2hpbGRfM25fMQorUEFTUyBJ
bml0aWFsIGNvbG9yczogI250aF9jaGlsZF8zbl8yCitQQVNTIEluaXRpYWwgY29sb3JzOiAjbnRo
X2NoaWxkXzNuCitQQVNTIFByZXBlbmQgI2RpdjEuZ3JlZW46ICNvbmx5X2NoaWxkCitQQVNTIFBy
ZXBlbmQgI2RpdjEuZ3JlZW46ICNmaXJzdF9jaGlsZAorUEFTUyBQcmVwZW5kICNkaXYxLmdyZWVu
OiAjbGFzdF9jaGlsZAorUEFTUyBQcmVwZW5kICNkaXYxLmdyZWVuOiAjbnRoX2NoaWxkXzNuXzEK
K1BBU1MgUHJlcGVuZCAjZGl2MS5ncmVlbjogI250aF9jaGlsZF8zbl8yCitQQVNTIFByZXBlbmQg
I2RpdjEuZ3JlZW46ICNudGhfY2hpbGRfM24KK0ZBSUwgUHJlcGVuZCAjZGl2Mi55ZWxsb3c6ICNv
bmx5X2NoaWxkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1
dCBnb3QgInJnYigyNTUsIDAsIDApIgorUEFTUyBQcmVwZW5kICNkaXYyLnllbGxvdzogI2ZpcnN0
X2NoaWxkCitQQVNTIFByZXBlbmQgI2RpdjIueWVsbG93OiAjbGFzdF9jaGlsZAorUEFTUyBQcmVw
ZW5kICNkaXYyLnllbGxvdzogI250aF9jaGlsZF8zbl8xCitGQUlMIFByZXBlbmQgI2RpdjIueWVs
bG93OiAjbnRoX2NoaWxkXzNuXzIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgs
IDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitQQVNTIFByZXBlbmQgI2RpdjIueWVs
bG93OiAjbnRoX2NoaWxkXzNuCitGQUlMIFByZXBlbmQgI2RpdjMub3JhbmdlOiAjb25seV9jaGls
ZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJy
Z2IoMjU1LCAwLCAwKSIKK1BBU1MgUHJlcGVuZCAjZGl2My5vcmFuZ2U6ICNmaXJzdF9jaGlsZAor
UEFTUyBQcmVwZW5kICNkaXYzLm9yYW5nZTogI2xhc3RfY2hpbGQKK1BBU1MgUHJlcGVuZCAjZGl2
My5vcmFuZ2U6ICNudGhfY2hpbGRfM25fMQorRkFJTCBQcmVwZW5kICNkaXYzLm9yYW5nZTogI250
aF9jaGlsZF8zbl8yIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAyNTUsIDApIiBi
dXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQgI2RpdjMub3JhbmdlOiAj
bnRoX2NoaWxkXzNuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0
IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVwZW5kICNkaXY0OiAjb25seV9jaGls
ZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJy
Z2IoMjU1LCAwLCAwKSIKK0ZBSUwgUHJlcGVuZCAjZGl2NDogI2ZpcnN0X2NoaWxkIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2
NSwgMCkiCitQQVNTIFByZXBlbmQgI2RpdjQ6ICNsYXN0X2NoaWxkCitGQUlMIFByZXBlbmQgI2Rp
djQ6ICNudGhfY2hpbGRfM25fMSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwg
MCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitGQUlMIFByZXBlbmQgI2RpdjQ6ICNudGhf
Y2hpbGRfM25fMiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMTY1LCAwKSIgYnV0
IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVwZW5kICNkaXY0OiAjbnRoX2NoaWxk
XzNuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAyNTUsIDApIiBidXQgZ290ICJy
Z2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQgI2RpdjU6ICNvbmx5X2NoaWxkIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUs
IDAsIDApIgorRkFJTCBQcmVwZW5kICNkaXY1OiAjZmlyc3RfY2hpbGQgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIK
K1BBU1MgUHJlcGVuZCAjZGl2NTogI2xhc3RfY2hpbGQKK0ZBSUwgUHJlcGVuZCAjZGl2NTogI250
aF9jaGlsZF8zbl8xIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAyNTUsIDApIiBi
dXQgZ290ICJyZ2IoMjU1LCAxNjUsIDApIgorRkFJTCBQcmVwZW5kICNkaXY1OiAjbnRoX2NoaWxk
XzNuXzIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJy
Z2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQgI2RpdjU6ICNudGhfY2hpbGRfM24gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigyNTUsIDE2NSwgMCkiIGJ1dCBnb3QgInJnYigxMjgs
IDEyOCwgMTI4KSIKK0ZBSUwgUmVtb3ZlICNkaXYxOiAjb25seV9jaGlsZCBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIK
K0ZBSUwgUmVtb3ZlICNkaXYxOiAjZmlyc3RfY2hpbGQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK1BBU1MgUmVt
b3ZlICNkaXYxOiAjbGFzdF9jaGlsZAorRkFJTCBSZW1vdmUgI2RpdjE6ICNudGhfY2hpbGRfM25f
MSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAicmdi
KDI1NSwgMTY1LCAwKSIKK1BBU1MgUmVtb3ZlICNkaXYxOiAjbnRoX2NoaWxkXzNuXzIKK0ZBSUwg
UmVtb3ZlICNkaXYxOiAjbnRoX2NoaWxkXzNuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2Io
MjU1LCAxNjUsIDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFJlbW92ZSAj
ZGl2MjogI29ubHlfY2hpbGQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwg
MTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitGQUlMIFJlbW92ZSAjZGl2MjogI2ZpcnN0
X2NoaWxkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBn
b3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAjZGl2MjogI2xhc3RfY2hpbGQKK1BB
U1MgUmVtb3ZlICNkaXYyOiAjbnRoX2NoaWxkXzNuXzEKK1BBU1MgUmVtb3ZlICNkaXYyOiAjbnRo
X2NoaWxkXzNuXzIKK0ZBSUwgUmVtb3ZlICNkaXYyOiAjbnRoX2NoaWxkXzNuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAxNjUsIDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEy
OCkiCitGQUlMIFJlbW92ZSAjZGl2MzogI29ubHlfY2hpbGQgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitGQUlMIFJl
bW92ZSAjZGl2MzogI2ZpcnN0X2NoaWxkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4
LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAjZGl2
MzogI2xhc3RfY2hpbGQKK1BBU1MgUmVtb3ZlICNkaXYzOiAjbnRoX2NoaWxkXzNuXzEKK1BBU1Mg
UmVtb3ZlICNkaXYzOiAjbnRoX2NoaWxkXzNuXzIKK1BBU1MgUmVtb3ZlICNkaXYzOiAjbnRoX2No
aWxkXzNuCitQQVNTIFJlbW92ZSAjZGl2NDogI29ubHlfY2hpbGQKK0ZBSUwgUmVtb3ZlICNkaXY0
OiAjZmlyc3RfY2hpbGQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4
KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK1BBU1MgUmVtb3ZlICNkaXY0OiAjbGFzdF9j
aGlsZAorUEFTUyBSZW1vdmUgI2RpdjQ6ICNudGhfY2hpbGRfM25fMQorUEFTUyBSZW1vdmUgI2Rp
djQ6ICNudGhfY2hpbGRfM25fMgorUEFTUyBSZW1vdmUgI2RpdjQ6ICNudGhfY2hpbGRfM24KK1BB
U1MgUmVtb3ZlICNkaXY1OiAjb25seV9jaGlsZAorRkFJTCBSZW1vdmUgI2RpdjU6ICNmaXJzdF9j
aGlsZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290
ICJyZ2IoMjU1LCAxNjUsIDApIgorUEFTUyBSZW1vdmUgI2RpdjU6ICNsYXN0X2NoaWxkCitQQVNT
IFJlbW92ZSAjZGl2NTogI250aF9jaGlsZF8zbl8xCitQQVNTIFJlbW92ZSAjZGl2NTogI250aF9j
aGlsZF8zbl8yCitQQVNTIFJlbW92ZSAjZGl2NTogI250aF9jaGlsZF8zbgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41YzY4OWUyMzMzMDAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNz
ZXMtaW4taGFzLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+Q1NTIFNlbGVjdG9ycyBJbnZhbGlkYXRpb246IGNo
aWxkLWluZGV4ZWQgcHNldWRvIGNsYXNzZXMgaW4gOmhhcygpIGFyZ3VtZW50PC90aXRsZT4KKzxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iQnl1bmd3b28gTGVlIiBocmVmPSJibGVlQGlnYWxpYS5j
b20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvc2Vs
ZWN0b3JzLyNyZWxhdGlvbmFsIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgI2NvbnRhaW5lciB+IGRpdiB7IGNvbG9yOiBncmV5
IH0KKyAgI2NvbnRhaW5lcjpoYXMoOm9ubHktY2hpbGQpIH4gI29ubHlfY2hpbGQgeyBjb2xvcjog
cmVkIH0KKyAgI2NvbnRhaW5lcjpoYXMoLm9yYW5nZTpmaXJzdC1jaGlsZCkgfiAjZmlyc3RfY2hp
bGQgeyBjb2xvcjogb3JhbmdlIH0KKyAgI2NvbnRhaW5lcjpoYXMoLnllbGxvdzpmaXJzdC1jaGls
ZCkgfiAjZmlyc3RfY2hpbGQgeyBjb2xvcjogeWVsbG93IH0KKyAgI2NvbnRhaW5lcjpoYXMoLmdy
ZWVuOmZpcnN0LWNoaWxkKSB+ICNmaXJzdF9jaGlsZCB7IGNvbG9yOiBncmVlbiB9CisgICNjb250
YWluZXI6aGFzKC5vcmFuZ2U6bGFzdC1jaGlsZCkgfiAjbGFzdF9jaGlsZCB7IGNvbG9yOiBvcmFu
Z2UgfQorICAjY29udGFpbmVyOmhhcygueWVsbG93Omxhc3QtY2hpbGQpIH4gI2xhc3RfY2hpbGQg
eyBjb2xvcjogeWVsbG93IH0KKyAgI2NvbnRhaW5lcjpoYXMoLmdyZWVuOmxhc3QtY2hpbGQpIH4g
I2xhc3RfY2hpbGQgeyBjb2xvcjogZ3JlZW4gfQorICAjY29udGFpbmVyOmhhcygub3JhbmdlOm50
aC1jaGlsZCgzbikpIH4gI250aF9jaGlsZF8zbiB7IGNvbG9yOiBvcmFuZ2UgfQorICAjY29udGFp
bmVyOmhhcygueWVsbG93Om50aC1jaGlsZCgzbikpIH4gI250aF9jaGlsZF8zbiB7IGNvbG9yOiB5
ZWxsb3cgfQorICAjY29udGFpbmVyOmhhcyguZ3JlZW46bnRoLWNoaWxkKDNuKSkgfiAjbnRoX2No
aWxkXzNuIHsgY29sb3I6IGdyZWVuIH0KKyAgI2NvbnRhaW5lcjpoYXMoLm9yYW5nZTpudGgtY2hp
bGQoM24rMSkpIH4gI250aF9jaGlsZF8zbl8xIHsgY29sb3I6IG9yYW5nZSB9CisgICNjb250YWlu
ZXI6aGFzKC55ZWxsb3c6bnRoLWNoaWxkKDNuKzEpKSB+ICNudGhfY2hpbGRfM25fMSB7IGNvbG9y
OiB5ZWxsb3cgfQorICAjY29udGFpbmVyOmhhcyguZ3JlZW46bnRoLWNoaWxkKDNuKzEpKSB+ICNu
dGhfY2hpbGRfM25fMSB7IGNvbG9yOiBncmVlbiB9CisgICNjb250YWluZXI6aGFzKC5vcmFuZ2U6
bnRoLWNoaWxkKDNuKzIpKSB+ICNudGhfY2hpbGRfM25fMiB7IGNvbG9yOiBvcmFuZ2UgfQorICAj
Y29udGFpbmVyOmhhcygueWVsbG93Om50aC1jaGlsZCgzbisyKSkgfiAjbnRoX2NoaWxkXzNuXzIg
eyBjb2xvcjogeWVsbG93IH0KKyAgI2NvbnRhaW5lcjpoYXMoLmdyZWVuOm50aC1jaGlsZCgzbisy
KSkgfiAjbnRoX2NoaWxkXzNuXzIgeyBjb2xvcjogZ3JlZW4gfQorICAjY29udGFpbmVyOmhhcygu
b3JhbmdlOm50aC1jaGlsZCgzbikpIH4gI250aF9jaGlsZF8zbiB7IGNvbG9yOiBvcmFuZ2UgfQor
ICAjY29udGFpbmVyOmhhcygueWVsbG93Om50aC1jaGlsZCgzbikpIH4gI250aF9jaGlsZF8zbiB7
IGNvbG9yOiB5ZWxsb3cgfQorICAjY29udGFpbmVyOmhhcyguZ3JlZW46bnRoLWNoaWxkKDNuKSkg
fiAjbnRoX2NoaWxkXzNuIHsgY29sb3I6IGdyZWVuIH0KKzwvc3R5bGU+Cis8ZGl2IGlkPSJjb250
YWluZXIiPgorPC9kaXY+Cis8ZGl2IGlkPSJvbmx5X2NoaWxkIj48L2Rpdj4KKzxkaXYgaWQ9ImZp
cnN0X2NoaWxkIj48L2Rpdj4KKzxkaXYgaWQ9Imxhc3RfY2hpbGQiPjwvZGl2PgorPGRpdiBpZD0i
bnRoX2NoaWxkXzNuXzEiPjwvZGl2PgorPGRpdiBpZD0ibnRoX2NoaWxkXzNuXzIiPjwvZGl2Pgor
PGRpdiBpZD0ibnRoX2NoaWxkXzNuIj48L2Rpdj4KKzxzY3JpcHQ+Citjb25zdCBncmV5ID0gInJn
YigxMjgsIDEyOCwgMTI4KSI7Citjb25zdCByZWQgPSAicmdiKDI1NSwgMCwgMCkiOworY29uc3Qg
b3JhbmdlID0gInJnYigyNTUsIDE2NSwgMCkiOworY29uc3QgeWVsbG93ID0gInJnYigyNTUsIDI1
NSwgMCkiOworY29uc3QgZ3JlZW4gPSAicmdiKDAsIDEyOCwgMCkiOworCitmdW5jdGlvbiB0ZXN0
Q29sb3JzKHRlc3RfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgb25seV9jaGlsZF9jb2xvciwK
KyAgICAgICAgICAgICAgICAgICAgZmlyc3RfY2hpbGRfY29sb3IsCisgICAgICAgICAgICAgICAg
ICAgIGxhc3RfY2hpbGRfY29sb3IsCisgICAgICAgICAgICAgICAgICAgIG50aF9jaGlsZF8zbl8x
X2NvbG9yLAorICAgICAgICAgICAgICAgICAgICBudGhfY2hpbGRfM25fMl9jb2xvciwKKyAgICAg
ICAgICAgICAgICAgICAgbnRoX2NoaWxkXzNuX2NvbG9yKSB7CisgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUob25seV9jaGlsZCkuY29sb3Is
IG9ubHlfY2hpbGRfY29sb3IpOworICB9LCB0ZXN0X25hbWUgKyAiOiAjb25seV9jaGlsZCIpOwor
ICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGZpcnN0X2NoaWxkKS5jb2xvciwgZmlyc3RfY2hpbGRfY29sb3IpOworICB9LCB0ZXN0X25hbWUg
KyAiOiAjZmlyc3RfY2hpbGQiKTsKKyAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShsYXN0X2NoaWxkKS5jb2xvciwgbGFzdF9jaGlsZF9jb2xv
cik7CisgIH0sIHRlc3RfbmFtZSArICI6ICNsYXN0X2NoaWxkIik7CisgIHRlc3QoZnVuY3Rpb24o
KSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUobnRoX2NoaWxkXzNuXzEp
LmNvbG9yLCBudGhfY2hpbGRfM25fMV9jb2xvcik7CisgIH0sIHRlc3RfbmFtZSArICI6ICNudGhf
Y2hpbGRfM25fMSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKG50aF9jaGlsZF8zbl8yKS5jb2xvciwgbnRoX2NoaWxkXzNuXzJfY29s
b3IpOworICB9LCB0ZXN0X25hbWUgKyAiOiAjbnRoX2NoaWxkXzNuXzIiKTsKKyAgdGVzdChmdW5j
dGlvbigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShudGhfY2hpbGRf
M24pLmNvbG9yLCBudGhfY2hpbGRfM25fY29sb3IpOworICB9LCB0ZXN0X25hbWUgKyAiOiAjbnRo
X2NoaWxkXzNuIik7Cit9CisKK3Rlc3RDb2xvcnMoIkluaXRpYWwgY29sb3JzIiwgZ3JleSwgZ3Jl
eSwgZ3JleSwgZ3JleSwgZ3JleSwgZ3JleSk7CisKK2xldCBkaXYxID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CitkaXYxLmlkID0gImRpdjEiOworZGl2MS5jbGFzc0xpc3QuYWRkKCJn
cmVlbiIpOworY29udGFpbmVyLmluc2VydEJlZm9yZShkaXYxLCBjb250YWluZXIuZmlyc3RDaGls
ZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kICNkaXYxLmdyZWVuIiwgcmVkLCBncmVlbiwgZ3JlZW4s
IGdyZWVuLCBncmV5LCBncmV5KTsKKworbGV0IGRpdjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKK2RpdjIuaWQgPSAiZGl2MiI7CitkaXYyLmNsYXNzTGlzdC5hZGQoInllbGxvdyIp
OworY29udGFpbmVyLmluc2VydEJlZm9yZShkaXYyLCBjb250YWluZXIuZmlyc3RDaGlsZCk7Cit0
ZXN0Q29sb3JzKCJQcmVwZW5kICNkaXYyLnllbGxvdyIsIGdyZXksIHllbGxvdywgZ3JlZW4sIHll
bGxvdywgZ3JlZW4sIGdyZXkpOworCitsZXQgZGl2MyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworZGl2My5pZCA9ICJkaXYzIjsKK2RpdjMuY2xhc3NMaXN0LmFkZCgib3JhbmdlIik7
Citjb250YWluZXIuaW5zZXJ0QmVmb3JlKGRpdjMsIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rl
c3RDb2xvcnMoIlByZXBlbmQgI2RpdjMub3JhbmdlIiwgZ3JleSwgb3JhbmdlLCBncmVlbiwgb3Jh
bmdlLCB5ZWxsb3csIGdyZWVuKTsKKworbGV0IGRpdjQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKK2RpdjQuaWQgPSAiZGl2NCI7Citjb250YWluZXIuaW5zZXJ0QmVmb3JlKGRpdjQs
IGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlByZXBlbmQgI2RpdjQiLCBncmV5
LCBncmV5LCBncmVlbiwgZ3JlZW4sIG9yYW5nZSwgeWVsbG93KTsKKworbGV0IGRpdjUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RpdjUuaWQgPSAiZGl2NSI7Citjb250YWluZXIu
aW5zZXJ0QmVmb3JlKGRpdjUsIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlBy
ZXBlbmQgI2RpdjUiLCBncmV5LCBncmV5LCBncmVlbiwgeWVsbG93LCBncmVlbiwgb3JhbmdlKTsK
KworZGl2MS5yZW1vdmUoKTsKK3Rlc3RDb2xvcnMoIlJlbW92ZSAjZGl2MSIsIGdyZXksIGdyZXks
IHllbGxvdywgeWVsbG93LCBncmV5LCBvcmFuZ2UpOworCitkaXYyLnJlbW92ZSgpOwordGVzdENv
bG9ycygiUmVtb3ZlICNkaXYyIiwgZ3JleSwgZ3JleSwgb3JhbmdlLCBncmV5LCBncmV5LCBvcmFu
Z2UpOworCitkaXYzLnJlbW92ZSgpOwordGVzdENvbG9ycygiUmVtb3ZlICNkaXYzIiwgZ3JleSwg
Z3JleSwgZ3JleSwgZ3JleSwgZ3JleSwgZ3JleSk7CisKK2RpdjQucmVtb3ZlKCk7Cit0ZXN0Q29s
b3JzKCJSZW1vdmUgI2RpdjQiLCByZWQsIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXkpOwor
CitkaXY1LnJlbW92ZSgpOwordGVzdENvbG9ycygiUmVtb3ZlICNkaXY1IiwgZ3JleSwgZ3JleSwg
Z3JleSwgZ3JleSwgZ3JleSwgZ3JleSk7Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2VtcHR5LXBzZXVkby1pbi1oYXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9lbXB0eS1wc2V1ZG8taW4taGFzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmU0MjJjZjFkMDlmMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vZW1wdHktcHNldWRvLWluLWhhcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgRW1wdHkgI3N1YmplY3QKK1BBU1MgSW5z
ZXJ0IGRpdiNjaGlsZCB0byAjc3ViamVjdAorUEFTUyBJbnNlcnQgZGl2IHRvIGRpdi4jY2hpbGQK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9lbXB0eS1wc2V1ZG8taW4taGFzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL2VtcHR5LXBzZXVkby1pbi1oYXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLjgzY2YwNTE1NjU2OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9p
bnZhbGlkYXRpb24vZW1wdHktcHNldWRvLWluLWhhcy5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+Q1NTIFNlbGVj
dG9ycyBJbnZhbGlkYXRpb246IDplbXB0eSBpbiA6aGFzKCkgYXJndW1lbnQ8L3RpdGxlPgorPGxp
bmsgcmVsPSJhdXRob3IiIHRpdGxlPSJCeXVuZ3dvbyBMZWUiIGhyZWY9ImJsZWVAaWdhbGlhLmNv
bSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9zZWxl
Y3RvcnMvI3JlbGF0aW9uYWwiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAjc3ViamVjdCB7IGNvbG9yOiByZWQgfQorICAjc3Vi
amVjdDpoYXMoOmVtcHR5KSB7IGNvbG9yOiBncmVlbiB9CisgICNzdWJqZWN0Omhhcyg6bm90KDpl
bXB0eSkpIHsgY29sb3I6IGJsdWUgfQorPC9zdHlsZT4KKzxkaXYgaWQ9InN1YmplY3QiPjwvZGl2
PgorPHNjcmlwdD4KK2NvbnN0IHJlZCA9ICdyZ2IoMjU1LCAwLCAwKSc7Citjb25zdCBncmVlbiA9
ICdyZ2IoMCwgMTI4LCAwKSc7Citjb25zdCBibHVlID0gJ3JnYigwLCAwLCAyNTUpJzsKKworZnVu
Y3Rpb24gdGVzdENvbG9yKHRlc3RfbmFtZSwgY29sb3IpIHsKKyAgdGVzdChmdW5jdGlvbigpIHsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgY29s
b3IpOworICB9LCB0ZXN0X25hbWUpOworfQorCit0ZXN0Q29sb3IoIkVtcHR5ICNzdWJqZWN0Iiwg
cmVkKTsKKworbGV0IGNoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CitjaGls
ZC5pZCA9ICJjaGlsZCI7CitzdWJqZWN0LmFwcGVuZENoaWxkKGNoaWxkKTsKKwordGVzdENvbG9y
KCJJbnNlcnQgZGl2I2NoaWxkIHRvICNzdWJqZWN0IiwgZ3JlZW4pOworCitjaGlsZC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CisKK3Rlc3RDb2xvcigiSW5zZXJ0
IGRpdiB0byBkaXYuI2NoaWxkIiwgYmx1ZSk7CisKKzwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaGFzLWluLWFkamFjZW50LXBv
c2l0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1pbi1hZGphY2VudC1wb3NpdGlvbi5odG1s
CmluZGV4IGQ5ZGM5YzdkMzY3MC4uNWMxYTFlY2Y3OGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0
aW9uL2hhcy1pbi1hZGphY2VudC1wb3NpdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaGFz
LWluLWFkamFjZW50LXBvc2l0aW9uLmh0bWwKQEAgLTcsMTIgKzcsMTggQEAKIDxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3NlbGVjdG9ycy8jcmVsYXRpb25h
bCI+CiA8c3R5bGU+CiBkaXYsIG1haW4geyBjb2xvcjogZ3JleSB9Ci1kaXY6aGFzKC50ZXN0LCBb
dGVzdF9hdHRyXSkgKyAjc3ViamVjdCB7IGNvbG9yOiByZWQgfQotZGl2Omhhcyg+IC50ZXN0LCA+
IFt0ZXN0X2F0dHJdKSArICNzdWJqZWN0IHsgY29sb3I6IGdyZWVuIH0KLWRpdjpoYXMofiAudGVz
dCwgfiBbdGVzdF9hdHRyXSkgKyAjc3ViamVjdCB7IGNvbG9yOiB5ZWxsb3cgfQotZGl2Omhhcygr
IC50ZXN0LCArIFt0ZXN0X2F0dHJdKSArICNzdWJqZWN0IHsgY29sb3I6IGJsdWUgfQotZGl2Omhh
cyh+IGRpdiAudGVzdCwgfiBkaXYgW3Rlc3RfYXR0cl0pICsgI3N1YmplY3QgeyBjb2xvcjogcHVy
cGxlIH0KLWRpdjpoYXMoKyBkaXYgLnRlc3QsICsgZGl2IFt0ZXN0X2F0dHJdKSArICNzdWJqZWN0
IHsgY29sb3I6IHBpbmsgfQorZGl2OmhhcygudGVzdCkgKyAjc3ViamVjdCB7IGNvbG9yOiByZWQg
fQorZGl2OmhhcyhbdGVzdF9hdHRyXSkgKyAjc3ViamVjdCB7IGNvbG9yOiBvcmFuZ2VyZWQgfQor
ZGl2Omhhcyg+IC50ZXN0KSArICNzdWJqZWN0IHsgY29sb3I6IGdyZWVuIH0KK2RpdjpoYXMoPiBb
dGVzdF9hdHRyXSkgKyAjc3ViamVjdCB7IGNvbG9yOiBsaWdodGdyZWVuIH0KK2RpdjpoYXMofiAu
dGVzdCkgKyAjc3ViamVjdCB7IGNvbG9yOiB5ZWxsb3cgfQorZGl2Omhhcyh+IFt0ZXN0X2F0dHJd
KSArICNzdWJqZWN0IHsgY29sb3I6IGl2b3J5IH0KK2RpdjpoYXMoKyAudGVzdCkgKyAjc3ViamVj
dCB7IGNvbG9yOiBibHVlIH0KK2RpdjpoYXMoKyBbdGVzdF9hdHRyXSkgKyAjc3ViamVjdCB7IGNv
bG9yOiBza3libHVlIH0KK2RpdjpoYXMofiBkaXYgLnRlc3QpICsgI3N1YmplY3QgeyBjb2xvcjog
cHVycGxlIH0KK2RpdjpoYXMofiBkaXYgW3Rlc3RfYXR0cl0pICsgI3N1YmplY3QgeyBjb2xvcjog
dmlvbGV0IH0KK2RpdjpoYXMoKyBkaXYgLnRlc3QpICsgI3N1YmplY3QgeyBjb2xvcjogcGluayB9
CitkaXY6aGFzKCsgZGl2IFt0ZXN0X2F0dHJdKSArICNzdWJqZWN0IHsgY29sb3I6IGxpZ2h0cGlu
ayB9CiA8L3N0eWxlPgogCiA8bWFpbiBpZD1tYWluPgpAQCAtMzIsMTEgKzM4LDQ3IEBAIGRpdjpo
YXMoKyBkaXYgLnRlc3QsICsgZGl2IFt0ZXN0X2F0dHJdKSArICNzdWJqZWN0IHsgY29sb3I6IHBp
bmsgfQogPHNjcmlwdD4KIGNvbnN0IGdyZXkgPSAncmdiKDEyOCwgMTI4LCAxMjgpJzsKIGNvbnN0
IHJlZCA9ICdyZ2IoMjU1LCAwLCAwKSc7Citjb25zdCBvcmFuZ2VyZWQgPSAncmdiKDI1NSwgNjks
IDApJzsKIGNvbnN0IGdyZWVuID0gJ3JnYigwLCAxMjgsIDApJzsKK2NvbnN0IGxpZ2h0Z3JlZW4g
PSAncmdiKDE0NCwgMjM4LCAxNDQpJzsKIGNvbnN0IGJsdWUgPSAncmdiKDAsIDAsIDI1NSknOwor
Y29uc3Qgc2t5Ymx1ZSA9ICdyZ2IoMTM1LCAyMDYsIDIzNSknOwogY29uc3QgeWVsbG93ID0gJ3Jn
YigyNTUsIDI1NSwgMCknOworY29uc3QgaXZvcnkgPSAncmdiKDI1NSwgMjU1LCAyNDApJzsKIGNv
bnN0IHB1cnBsZSA9ICdyZ2IoMTI4LCAwLCAxMjgpJzsKK2NvbnN0IHZpb2xldCA9ICdyZ2IoMjM4
LCAxMzAsIDIzOCknOwogY29uc3QgcGluayA9ICdyZ2IoMjU1LCAxOTIsIDIwMyknOworY29uc3Qg
bGlnaHRwaW5rID0gJ3JnYigyNTUsIDE4MiwgMTkzKSc7Citjb25zdCBjb2xvcnMgPSB7CisgIGdy
ZXk6IHsKKyAgICBjbGFzc1Rlc3Q6IGdyZXksCisgICAgYXR0cmlidXRlVGVzdDogZ3JleSwKKyAg
fSwKKyAgcmVkOiB7CisgICAgY2xhc3NUZXN0OiByZWQsCisgICAgYXR0cmlidXRlVGVzdDogb3Jh
bmdlcmVkLAorICB9LAorICBncmVlbjogeworICAgIGNsYXNzVGVzdDogZ3JlZW4sCisgICAgYXR0
cmlidXRlVGVzdDogbGlnaHRncmVlbiwKKyAgfSwKKyAgYmx1ZTogeworICAgIGNsYXNzVGVzdDog
Ymx1ZSwKKyAgICBhdHRyaWJ1dGVUZXN0OiBza3libHVlLAorICB9LAorICB5ZWxsb3c6IHsKKyAg
ICBjbGFzc1Rlc3Q6IHllbGxvdywKKyAgICBhdHRyaWJ1dGVUZXN0OiBpdm9yeSwKKyAgfSwKKyAg
cHVycGxlOiB7CisgICAgY2xhc3NUZXN0OiBwdXJwbGUsCisgICAgYXR0cmlidXRlVGVzdDogdmlv
bGV0LAorICB9LAorICBwaW5rOiB7CisgICAgY2xhc3NUZXN0OiBwaW5rLAorICAgIGF0dHJpYnV0
ZVRlc3Q6IGxpZ2h0cGluaywKKyAgfSwKK307CiAKIGZ1bmN0aW9uIHRlc3RDb2xvcih0ZXN0X25h
bWUsIGNvbG9yKSB7CiAgICAgdGVzdChmdW5jdGlvbigpIHsKQEAgLTQ0LDI3ICs4NiwzMCBAQCBm
dW5jdGlvbiB0ZXN0Q29sb3IodGVzdF9uYW1lLCBjb2xvcikgewogICAgIH0sIHRlc3RfbmFtZSk7
CiB9CiAKLWZ1bmN0aW9uIHRlc3RDbGFzc0NoYW5nZShlbGVtZW50LCBleHBlY3RlZENvbG9yKQor
ZnVuY3Rpb24gdGVzdENsYXNzQ2hhbmdlKGVsZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1lKQogewor
ICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xv
ck5hbWVdLmNsYXNzVGVzdDsKICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKLSAg
ICB0ZXN0Q29sb3IoYGFkZCAudGVzdCB0byAke2VsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7
CisgICAgdGVzdENvbG9yKGBhZGQgLnRlc3QgdG8gJHtlbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29s
b3JGb3JDbGFzc1Rlc3QpOwogICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwog
ICAgIHRlc3RDb2xvcihgcmVtb3ZlIC50ZXN0IGZyb20gJHtlbGVtZW50LmlkfWAsIGdyZXkpOwog
fQogCi1mdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBl
eHBlY3RlZENvbG9yKQorZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoYmVmb3Jl
RWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZv
ckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0OworICAgIGNv
bnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JO
YW1lXS5hdHRyaWJ1dGVUZXN0OwogICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKQog
CiAgICAgYmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBp
bnNlcnQgZWxlbWVudCBkaXYudGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVj
dGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAg
IG5ld0VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVt
b3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBiZWZvcmUgJHti
ZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRk
KCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0
aGUgZWxlbWVudCBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVk
Q29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhl
IGVsZW1lbnQgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENv
bG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENv
bG9yKGByZW1vdmUgZWxlbWVudCBkaXYudGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAs
IGdyZXkpOwpAQCAtNzUsNyArMTIwLDcgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25C
ZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICB0ZXN0Q29sb3IoYGluc2Vy
dCBlbGVtZW50IGRpdiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAg
bmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhl
IGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBj
bGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3Jl
RWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1l
bnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBj
bGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtODYsMjUgKzEzMSwyNyBAQCBmdW5jdGlvbiB0ZXN0
RWxlbWVudEluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAg
IG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKCd0ZXN0X2F0dHInLCAnJyk7CiAKICAgICBiZWZvcmVF
bGVtZW50LmJlZm9yZShuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50
IGRpdlt0ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xv
cik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBiZWZvcmUg
JHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAog
ICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBk
aXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogfQogCi1m
dW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRD
b2xvcikKK2Z1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBl
eHBlY3RlZENvbG9yTmFtZSkKIHsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0
ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5jbGFzc1Rlc3Q7CisgICAgY29uc3QgZXhwZWN0
ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmF0dHJp
YnV0ZVRlc3Q7CiAgICAgY29uc3QgbmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpCiAKICAgICBhZnRl
ckVsZW1lbnQuYWZ0ZXIobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVu
dCBkaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAg
ICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50
LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5jbGFz
c0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0
ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAs
IGdyZXkpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVz
dENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbnNlcnRl
ZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29s
b3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGFm
dGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAg
ICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSBlbGVtZW50IGRp
di50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMTE1LDcgKzE2Miw3
IEBAIGZ1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBl
Y3RlZENvbG9yKQogICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2IGFmdGVyICR7YWZ0
ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0
ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVu
dCBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9y
KTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGlu
c2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JD
bGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAg
ICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGlu
c2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMTI2LDI3
ICsxNzMsMjkgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihhZnRlckVsZW1l
bnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgbmV3RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3Rlc3RfYXR0
cicsICcnKTsKIAogICAgIGFmdGVyRWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0ZXN0
Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50
LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2
W3Rlc3RfYXR0cl0gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckF0
dHJpYnV0ZVRlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3Io
YHJlbW92ZSBlbGVtZW50IGRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAs
IGdyZXkpOwogfQogCi1mdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVt
ZW50LCBleHBlY3RlZENvbG9yKQorZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoYmVm
b3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xv
ckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0OworICAg
IGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29s
b3JOYW1lXS5hdHRyaWJ1dGVUZXN0OwogICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBjb25zdCBuZXdDaGlsZCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKICAg
ICBuZXdFbGVtZW50LmFwcGVuZENoaWxkKG5ld0NoaWxkKTsKIAogICAgIGJlZm9yZUVsZW1lbnQu
YmVmb3JlKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdi50
ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVz
dENvbG9yKGBpbnNlcnQgdHJlZSBkaXY+ZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5p
ZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlz
dC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3Qn
IGZyb20gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxl
bWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsK
LSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50
IGluIHRoZSB0cmVlIGluc2VydGVkIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0
ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0
aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50Lmlk
fWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUo
KTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0cmVlIGRpdj5kaXYudGVzdCBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMTU3LDcgKzIwNiw3IEBAIGZ1bmN0aW9uIHRlc3RU
cmVlSW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgdGVz
dENvbG9yKGBpbnNlcnQgdHJlZSBkaXY+ZGl2IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwg
Z3JleSk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENv
bG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNl
cnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOwor
ICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW4gdGhl
IHRyZWUgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3Rl
ZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3Rl
c3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVs
ZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5p
ZH1gLCBncmV5KTsKQEAgLTE2OCwyNyArMjE3LDI5IEBAIGZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0
aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgbmV3Q2hpbGQuc2V0
QXR0cmlidXRlKCd0ZXN0X2F0dHInLCAnJyk7CiAKICAgICBiZWZvcmVFbGVtZW50LmJlZm9yZShu
ZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9h
dHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRl
c3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9y
ZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3QpOwogCiAgICAgbmV3
RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSBlbGVtZW50IGRpdj5kaXZb
dGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogfQogCi1mdW5j
dGlvbiB0ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikK
K2Z1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENv
bG9yTmFtZSkKIHsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29sb3Jz
W2V4cGVjdGVkQ29sb3JOYW1lXS5jbGFzc1Rlc3Q7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZv
ckF0dHJpYnV0ZVRlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmF0dHJpYnV0ZVRlc3Q7
CiAgICAgY29uc3QgbmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwog
ICAgIGNvbnN0IG5ld0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAg
bmV3Q2hpbGQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwogICAgIG5ld0VsZW1lbnQuYXBwZW5kQ2hp
bGQobmV3Q2hpbGQpOwogCiAgICAgYWZ0ZXJFbGVtZW50LmFmdGVyKG5ld0VsZW1lbnQpOwotICAg
IHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50
LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRp
di50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rl
c3QpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RD
b2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbiB0aGUgdHJl
ZSBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0No
aWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3Mg
J3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFmdGVyICR7
YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRo
ZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQg
YWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAK
ICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRyZWUgZGl2
PmRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMTk5LDcgKzI1
MCw3IEBAIGZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBl
Y3RlZENvbG9yKQogICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdiBhZnRlciAke2Fm
dGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rl
c3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50
IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4
cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhl
IGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQu
aWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xp
c3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0
JyBmcm9tIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGFmdGVyICR7YWZ0
ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMjEwLDcgKzI2MSw3IEBAIGZ1bmN0aW9uIHRlc3RU
cmVlSW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0No
aWxkLnNldEF0dHJpYnV0ZSgndGVzdF9hdHRyJywgJycpOwogCiAgICAgYWZ0ZXJFbGVtZW50LmFm
dGVyKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2PmRpdlt0
ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAg
IHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0
ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5l
d0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXY+ZGl2
W3Rlc3RfYXR0cl0gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0yMTgsNDQg
KzI2OSw0NCBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwg
ZXhwZWN0ZWRDb2xvcikKIAogdGVzdENvbG9yKCdJbml0aWFsIGNvbG9yJywgZ3JleSk7CiAKLXRl
c3RDbGFzc0NoYW5nZShwcmV2aW91c19zaWJsaW5nLCBncmV5KTsKLXRlc3RDbGFzc0NoYW5nZShw
cmV2aW91c19zaWJsaW5nX2NoaWxkLCBncmVlbik7Ci10ZXN0Q2xhc3NDaGFuZ2UocHJldmlvdXNf
c2libGluZ19kZXNjZW5kYW50LCByZWQpOwotdGVzdENsYXNzQ2hhbmdlKHN1YmplY3QsIGJsdWUp
OwotdGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZywgeWVsbG93KTsKLXRlc3RDbGFzc0NoYW5n
ZShuZXh0X3NpYmxpbmdfY2hpbGQsIHB1cnBsZSk7Ci10ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJs
aW5nX2Rlc2NlbmRhbnQsIHB1cnBsZSk7Ci0KLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHBy
ZXZpb3VzX3NpYmxpbmcsIGdyZXkpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUocHJldmlv
dXNfc2libGluZ19jaGlsZCwgZ3JlZW4pOwotdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUocHJl
dmlvdXNfc2libGluZ19kZXNjZW5kYW50LCByZWQpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZv
cmUoc3ViamVjdCwgZ3JleSk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxp
bmcsIHllbGxvdyk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfY2hp
bGQsIHB1cnBsZSk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfZGVz
Y2VuZGFudCwgcHVycGxlKTsKLQotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihwcmV2aW91c19z
aWJsaW5nLCBncmV5KTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGlu
Z19jaGlsZCwgZ3JlZW4pOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihwcmV2aW91c19zaWJs
aW5nX2Rlc2NlbmRhbnQsIHJlZCk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHN1YmplY3Qs
IHllbGxvdyk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRfc2libGluZywgeWVsbG93
KTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2NoaWxkLCBwdXJwbGUp
OwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgcHVy
cGxlKTsKLQotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUocHJldmlvdXNfc2libGluZywgZ3JleSk7
Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJsaW5nX2NoaWxkLCByZWQpOwot
dGVzdFRyZWVJbnNlcnRpb25CZWZvcmUocHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCByZWQp
OwotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVjdCwgZ3JlZW4pOwotdGVzdFRyZWVJbnNl
cnRpb25CZWZvcmUobmV4dF9zaWJsaW5nLCBwdXJwbGUpOwotdGVzdFRyZWVJbnNlcnRpb25CZWZv
cmUobmV4dF9zaWJsaW5nX2NoaWxkLCBwdXJwbGUpOwotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUo
bmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsIHB1cnBsZSk7Ci0KLXRlc3RUcmVlSW5zZXJ0aW9uQWZ0
ZXIocHJldmlvdXNfc2libGluZywgZ3JlZW4pOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihwcmV2
aW91c19zaWJsaW5nX2NoaWxkLCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihwcmV2aW91
c19zaWJsaW5nX2Rlc2NlbmRhbnQsIHJlZCk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1Ympl
Y3QsIHB1cnBsZSk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5leHRfc2libGluZywgcHVycGxl
KTsKLXRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2NoaWxkLCBwdXJwbGUpOwot
dGVzdFRyZWVJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgcHVycGxlKTsK
K3Rlc3RDbGFzc0NoYW5nZShwcmV2aW91c19zaWJsaW5nLCAiZ3JleSIpOwordGVzdENsYXNzQ2hh
bmdlKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsICJncmVlbiIpOwordGVzdENsYXNzQ2hhbmdlKHBy
ZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFudCwgInJlZCIpOwordGVzdENsYXNzQ2hhbmdlKHN1Ympl
Y3QsICJibHVlIik7Cit0ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5nLCAieWVsbG93Iik7Cit0
ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5nX2NoaWxkLCAicHVycGxlIik7Cit0ZXN0Q2xhc3ND
aGFuZ2UobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsICJwdXJwbGUiKTsKKwordGVzdEVsZW1lbnRJ
bnNlcnRpb25CZWZvcmUocHJldmlvdXNfc2libGluZywgImdyZXkiKTsKK3Rlc3RFbGVtZW50SW5z
ZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsICJncmVlbiIpOwordGVzdEVsZW1l
bnRJbnNlcnRpb25CZWZvcmUocHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCAicmVkIik7Cit0
ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0LCAiZ3JleSIpOwordGVzdEVsZW1lbnRJ
bnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nLCAieWVsbG93Iik7Cit0ZXN0RWxlbWVudEluc2Vy
dGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfY2hpbGQsICJwdXJwbGUiKTsKK3Rlc3RFbGVtZW50SW5z
ZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCAicHVycGxlIik7CisKK3Rlc3RF
bGVtZW50SW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZywgImdyZXkiKTsKK3Rlc3RFbGVt
ZW50SW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZ19jaGlsZCwgImdyZWVuIik7Cit0ZXN0
RWxlbWVudEluc2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFudCwgInJlZCIp
OwordGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0LCAieWVsbG93Iik7Cit0ZXN0RWxl
bWVudEluc2VydGlvbkFmdGVyKG5leHRfc2libGluZywgInllbGxvdyIpOwordGVzdEVsZW1lbnRJ
bnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmdfY2hpbGQsICJwdXJwbGUiKTsKK3Rlc3RFbGVtZW50
SW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsICJwdXJwbGUiKTsKKwordGVz
dFRyZWVJbnNlcnRpb25CZWZvcmUocHJldmlvdXNfc2libGluZywgImdyZXkiKTsKK3Rlc3RUcmVl
SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsICJyZWQiKTsKK3Rlc3RUcmVl
SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFudCwgInJlZCIpOwordGVz
dFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVjdCwgImdyZWVuIik7Cit0ZXN0VHJlZUluc2VydGlv
bkJlZm9yZShuZXh0X3NpYmxpbmcsICJwdXJwbGUiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3Jl
KG5leHRfc2libGluZ19jaGlsZCwgInB1cnBsZSIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUo
bmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsICJwdXJwbGUiKTsKKwordGVzdFRyZWVJbnNlcnRpb25B
ZnRlcihwcmV2aW91c19zaWJsaW5nLCAiZ3JlZW4iKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIo
cHJldmlvdXNfc2libGluZ19jaGlsZCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihw
cmV2aW91c19zaWJsaW5nX2Rlc2NlbmRhbnQsICJyZWQiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0
ZXIoc3ViamVjdCwgInB1cnBsZSIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxp
bmcsICJwdXJwbGUiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2NoaWxk
LCAicHVycGxlIik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5leHRfc2libGluZ19kZXNjZW5k
YW50LCAicHVycGxlIik7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9o
YXMtaW4tYW5jZXN0b3ItcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaGFzLWluLWFuY2Vz
dG9yLXBvc2l0aW9uLmh0bWwKaW5kZXggM2Q1NTZkMzRkYzdiLi43NjYyZmJkZTY5ZWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3Nl
bGVjdG9ycy9pbnZhbGlkYXRpb24vaGFzLWluLWFuY2VzdG9yLXBvc2l0aW9uLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3Jz
L2ludmFsaWRhdGlvbi9oYXMtaW4tYW5jZXN0b3ItcG9zaXRpb24uaHRtbApAQCAtNywxMiArNywx
OCBAQAogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvc2Vs
ZWN0b3JzLyNyZWxhdGlvbmFsIj4KIDxzdHlsZT4KIGRpdiwgbWFpbiB7IGNvbG9yOiBncmV5IH0K
LWRpdjpoYXMoLnRlc3QsIFt0ZXN0X2F0dHJdKSAjc3ViamVjdCB7IGNvbG9yOiByZWQgfQotZGl2
Omhhcyg+IC50ZXN0LCA+IFt0ZXN0X2F0dHJdKSAjc3ViamVjdCB7IGNvbG9yOiBncmVlbiB9Ci1k
aXY6aGFzKH4gLnRlc3QsIH4gW3Rlc3RfYXR0cl0pICNzdWJqZWN0IHsgY29sb3I6IHllbGxvdyB9
Ci1kaXY6aGFzKCsgLnRlc3QsICsgW3Rlc3RfYXR0cl0pICNzdWJqZWN0IHsgY29sb3I6IGJsdWUg
fQotZGl2Omhhcyh+IGRpdiAudGVzdCwgfiBkaXYgW3Rlc3RfYXR0cl0pICNzdWJqZWN0IHsgY29s
b3I6IHB1cnBsZSB9Ci1kaXY6aGFzKCsgZGl2IC50ZXN0LCArIGRpdiBbdGVzdF9hdHRyXSkgI3N1
YmplY3QgeyBjb2xvcjogcGluayB9CitkaXY6aGFzKC50ZXN0KSAjc3ViamVjdCB7IGNvbG9yOiBy
ZWQgfQorZGl2OmhhcyhbdGVzdF9hdHRyXSkgI3N1YmplY3QgeyBjb2xvcjogb3JhbmdlcmVkIH0K
K2RpdjpoYXMoPiAudGVzdCkgI3N1YmplY3QgeyBjb2xvcjogZ3JlZW4gfQorZGl2Omhhcyg+IFt0
ZXN0X2F0dHJdKSAjc3ViamVjdCB7IGNvbG9yOiBsaWdodGdyZWVuIH0KK2RpdjpoYXMofiAudGVz
dCkgI3N1YmplY3QgeyBjb2xvcjogeWVsbG93IH0KK2RpdjpoYXMofiBbdGVzdF9hdHRyXSkgI3N1
YmplY3QgeyBjb2xvcjogaXZvcnkgfQorZGl2OmhhcygrIC50ZXN0KSAjc3ViamVjdCB7IGNvbG9y
OiBibHVlIH0KK2RpdjpoYXMoKyBbdGVzdF9hdHRyXSkgI3N1YmplY3QgeyBjb2xvcjogc2t5Ymx1
ZSB9CitkaXY6aGFzKH4gZGl2IC50ZXN0KSAjc3ViamVjdCB7IGNvbG9yOiBwdXJwbGUgfQorZGl2
Omhhcyh+IGRpdiBbdGVzdF9hdHRyXSkgI3N1YmplY3QgeyBjb2xvcjogdmlvbGV0IH0KK2Rpdjpo
YXMoKyBkaXYgLnRlc3QpICNzdWJqZWN0IHsgY29sb3I6IHBpbmsgfQorZGl2OmhhcygrIGRpdiBb
dGVzdF9hdHRyXSkgI3N1YmplY3QgeyBjb2xvcjogbGlnaHRwaW5rIH0KIDwvc3R5bGU+CiAKIDxt
YWluIGlkPW1haW4+CkBAIC0zNSwxMSArNDEsNDcgQEAgZGl2OmhhcygrIGRpdiAudGVzdCwgKyBk
aXYgW3Rlc3RfYXR0cl0pICNzdWJqZWN0IHsgY29sb3I6IHBpbmsgfQogPHNjcmlwdD4KIGNvbnN0
IGdyZXkgPSAncmdiKDEyOCwgMTI4LCAxMjgpJzsKIGNvbnN0IHJlZCA9ICdyZ2IoMjU1LCAwLCAw
KSc7Citjb25zdCBvcmFuZ2VyZWQgPSAncmdiKDI1NSwgNjksIDApJzsKIGNvbnN0IGdyZWVuID0g
J3JnYigwLCAxMjgsIDApJzsKK2NvbnN0IGxpZ2h0Z3JlZW4gPSAncmdiKDE0NCwgMjM4LCAxNDQp
JzsKIGNvbnN0IGJsdWUgPSAncmdiKDAsIDAsIDI1NSknOworY29uc3Qgc2t5Ymx1ZSA9ICdyZ2Io
MTM1LCAyMDYsIDIzNSknOwogY29uc3QgeWVsbG93ID0gJ3JnYigyNTUsIDI1NSwgMCknOworY29u
c3QgaXZvcnkgPSAncmdiKDI1NSwgMjU1LCAyNDApJzsKIGNvbnN0IHB1cnBsZSA9ICdyZ2IoMTI4
LCAwLCAxMjgpJzsKK2NvbnN0IHZpb2xldCA9ICdyZ2IoMjM4LCAxMzAsIDIzOCknOwogY29uc3Qg
cGluayA9ICdyZ2IoMjU1LCAxOTIsIDIwMyknOworY29uc3QgbGlnaHRwaW5rID0gJ3JnYigyNTUs
IDE4MiwgMTkzKSc7Citjb25zdCBjb2xvcnMgPSB7CisgIGdyZXk6IHsKKyAgICBjbGFzc1Rlc3Q6
IGdyZXksCisgICAgYXR0cmlidXRlVGVzdDogZ3JleSwKKyAgfSwKKyAgcmVkOiB7CisgICAgY2xh
c3NUZXN0OiByZWQsCisgICAgYXR0cmlidXRlVGVzdDogb3JhbmdlcmVkLAorICB9LAorICBncmVl
bjogeworICAgIGNsYXNzVGVzdDogZ3JlZW4sCisgICAgYXR0cmlidXRlVGVzdDogbGlnaHRncmVl
biwKKyAgfSwKKyAgYmx1ZTogeworICAgIGNsYXNzVGVzdDogYmx1ZSwKKyAgICBhdHRyaWJ1dGVU
ZXN0OiBza3libHVlLAorICB9LAorICB5ZWxsb3c6IHsKKyAgICBjbGFzc1Rlc3Q6IHllbGxvdywK
KyAgICBhdHRyaWJ1dGVUZXN0OiBpdm9yeSwKKyAgfSwKKyAgcHVycGxlOiB7CisgICAgY2xhc3NU
ZXN0OiBwdXJwbGUsCisgICAgYXR0cmlidXRlVGVzdDogdmlvbGV0LAorICB9LAorICBwaW5rOiB7
CisgICAgY2xhc3NUZXN0OiBwaW5rLAorICAgIGF0dHJpYnV0ZVRlc3Q6IGxpZ2h0cGluaywKKyAg
fSwKK307CiAKIGZ1bmN0aW9uIHRlc3RDb2xvcih0ZXN0X25hbWUsIGNvbG9yKSB7CiAgICAgdGVz
dChmdW5jdGlvbigpIHsKQEAgLTQ3LDI3ICs4OSwzMCBAQCBmdW5jdGlvbiB0ZXN0Q29sb3IodGVz
dF9uYW1lLCBjb2xvcikgewogICAgIH0sIHRlc3RfbmFtZSk7CiB9CiAKLWZ1bmN0aW9uIHRlc3RD
bGFzc0NoYW5nZShlbGVtZW50LCBleHBlY3RlZENvbG9yKQorZnVuY3Rpb24gdGVzdENsYXNzQ2hh
bmdlKGVsZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29s
b3JGb3JDbGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKICAg
ICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCAudGVz
dCB0byAke2VsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQg
LnRlc3QgdG8gJHtlbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogICAg
IGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3Zl
IC50ZXN0IGZyb20gJHtlbGVtZW50LmlkfWAsIGdyZXkpOwogfQogCi1mdW5jdGlvbiB0ZXN0RWxl
bWVudEluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQorZnVuY3Rp
b24gdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xv
ck5hbWUpCiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tl
eHBlY3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JB
dHRyaWJ1dGVUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0Owog
ICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAg
ICBuZXdFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKQogCiAgICAgYmVmb3JlRWxlbWVudC5i
ZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYudGVz
dCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RD
b2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1g
LCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0
LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcg
ZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdy
ZXkpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENv
bG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBi
ZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xv
cihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYmVm
b3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAog
ICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBk
aXYudGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtNzgsNyArMTIz
LDcgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwg
ZXhwZWN0ZWRDb2xvcikKICAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdiBiZWZvcmUg
JHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3Qu
YWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUg
ZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVj
dGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVs
ZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3Rl
ZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgn
dGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUg
ZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkp
OwpAQCAtODksMjUgKzEzNCwyNyBAQCBmdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9y
ZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0VsZW1lbnQuc2V0QXR0cmli
dXRlKCd0ZXN0X2F0dHInLCAnJyk7CiAKICAgICBiZWZvcmVFbGVtZW50LmJlZm9yZShuZXdFbGVt
ZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdlt0ZXN0X2F0dHJdIGJlZm9y
ZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBp
bnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAs
IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3Zl
KCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBiZWZvcmUg
JHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogfQogCi1mdW5jdGlvbiB0ZXN0RWxlbWVudElu
c2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9uIHRlc3RF
bGVtZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yTmFtZSkKIHsK
KyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29s
b3JOYW1lXS5jbGFzc1Rlc3Q7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRl
c3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmF0dHJpYnV0ZVRlc3Q7CiAgICAgY29uc3Qg
bmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIG5ld0VsZW1l
bnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpCiAKICAgICBhZnRlckVsZW1lbnQuYWZ0ZXIobmV3RWxl
bWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYudGVzdCBhZnRlciAke2Fm
dGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBl
bGVtZW50IGRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JG
b3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7
CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50
IGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3RWxl
bWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNz
ICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVu
dC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rl
c3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50Lmlk
fWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUo
KTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSBlbGVtZW50IGRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJF
bGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMTE4LDcgKzE2NSw3IEBAIGZ1bmN0aW9uIHRlc3RFbGVt
ZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIHRlc3RD
b2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkp
OwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9y
KGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBhZnRl
ciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFk
ZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGFnYWluIGFmdGVyICR7
YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3
RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUg
dGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGluc2VydGVkIGFnYWluIGFmdGVyICR7
YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMTI5LDI3ICsxNzYsMjkgQEAgZnVuY3Rpb24g
dGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAg
ICAgbmV3RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3Rlc3RfYXR0cicsICcnKTsKIAogICAgIGFmdGVy
RWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50
IGRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3Ip
OworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYWZ0ZXIgJHth
ZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3QpOwogCiAgICAg
bmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSBlbGVtZW50IGRpdlt0
ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwogfQogCi1mdW5jdGlv
biB0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQor
ZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRD
b2xvck5hbWUpCiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9y
c1tleHBlY3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JG
b3JBdHRyaWJ1dGVUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0
OwogICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
ICAgICBjb25zdCBuZXdDaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAg
IG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKICAgICBuZXdFbGVtZW50LmFwcGVuZENo
aWxkKG5ld0NoaWxkKTsKIAogICAgIGJlZm9yZUVsZW1lbnQuYmVmb3JlKG5ld0VsZW1lbnQpOwot
ICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVs
ZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgdHJlZSBk
aXY+ZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9y
Q2xhc3NUZXN0KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAg
ICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW4g
dGhlIHRyZWUgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIAog
ICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0
aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVk
IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENv
bG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJl
ZSBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JD
bGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJl
bW92ZSB0cmVlIGRpdj5kaXYudGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkp
OwpAQCAtMTYwLDcgKzIwOSw3IEBAIGZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKGJl
Zm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgdGVzdENvbG9yKGBpbnNlcnQgdHJlZSBk
aXY+ZGl2IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdDaGls
ZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0
ZXN0JyB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHti
ZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRo
ZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWdhaW4g
YmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsK
IAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3Io
YHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5z
ZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTE3MSwy
NyArMjIwLDI5IEBAIGZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1l
bnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgbmV3Q2hpbGQuc2V0QXR0cmlidXRlKCd0ZXN0X2F0dHIn
LCAnJyk7CiAKICAgICBiZWZvcmVFbGVtZW50LmJlZm9yZShuZXdFbGVtZW50KTsKLSAgICB0ZXN0
Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVF
bGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1l
bnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0
ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAg
ICB0ZXN0Q29sb3IoYHJlbW92ZSBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHti
ZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogfQogCi1mdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlv
bkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9uIHRlc3RUcmVlSW5z
ZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yTmFtZSkKIHsKKyAgICBjb25z
dCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5j
bGFzc1Rlc3Q7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3QgPSBjb2xv
cnNbZXhwZWN0ZWRDb2xvck5hbWVdLmF0dHJpYnV0ZVRlc3Q7CiAgICAgY29uc3QgbmV3RWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGNvbnN0IG5ld0NoaWxkID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LmFk
ZCgndGVzdCcpOwogICAgIG5ld0VsZW1lbnQuYXBwZW5kQ2hpbGQobmV3Q2hpbGQpOwogCiAgICAg
YWZ0ZXJFbGVtZW50LmFmdGVyKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRy
ZWUgZGl2PmRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3Ip
OworICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJF
bGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3Q2hpbGQu
Y2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFz
cyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZnRlciAke2Fm
dGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rl
c3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBl
bGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4
cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4g
dG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQu
aWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92
ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRyZWUgZGl2PmRpdi50ZXN0IGFmdGVyICR7YWZ0
ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMjAyLDcgKzI1Myw3IEBAIGZ1bmN0aW9uIHRlc3RU
cmVlSW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIHRlc3RD
b2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5
KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3Io
YGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVk
IGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRl
c3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUg
aW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZv
ckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAg
ICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGlu
IHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkp
OwpAQCAtMjEzLDcgKzI2NCw3IEBAIGZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoYWZ0
ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0NoaWxkLnNldEF0dHJpYnV0ZSgndGVz
dF9hdHRyJywgJycpOwogCiAgICAgYWZ0ZXJFbGVtZW50LmFmdGVyKG5ld0VsZW1lbnQpOwotICAg
IHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0
ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVs
ZW1lbnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVj
dGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAg
ICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0gYWZ0ZXIgJHth
ZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0yMjEsNDkgKzI3Miw0OSBAQCBmdW5jdGlvbiB0
ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKIAogdGVz
dENvbG9yKCdJbml0aWFsIGNvbG9yJywgZ3JleSk7CiAKLXRlc3RDbGFzc0NoYW5nZShzdWJqZWN0
X2FuY2VzdG9yLCBncmV5KTsKLXRlc3RDbGFzc0NoYW5nZShzdWJqZWN0X3BhcmVudCwgZ3JlZW4p
OwotdGVzdENsYXNzQ2hhbmdlKHN1YmplY3QsIGdyZWVuKTsKLXRlc3RDbGFzc0NoYW5nZShzdWJq
ZWN0X2NoaWxkLCByZWQpOwotdGVzdENsYXNzQ2hhbmdlKHN1YmplY3RfZGVzY2VuZGFudCwgcmVk
KTsKLXRlc3RDbGFzc0NoYW5nZShuZXh0X3NpYmxpbmcsIGJsdWUpOwotdGVzdENsYXNzQ2hhbmdl
KG5leHRfc2libGluZ19jaGlsZCwgcGluayk7Ci10ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5n
X2Rlc2NlbmRhbnQsIHBpbmspOwotCi10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0
X2FuY2VzdG9yLCBncmV5KTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfcGFy
ZW50LCBncmVlbik7Ci10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0LCBncmVlbik7
Ci10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0X2NoaWxkLCByZWQpOwotdGVzdEVs
ZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9kZXNjZW5kYW50LCByZWQpOwotdGVzdEVsZW1l
bnRJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nLCBibHVlKTsKLXRlc3RFbGVtZW50SW5zZXJ0
aW9uQmVmb3JlKG5leHRfc2libGluZ19jaGlsZCwgcGluayk7Ci10ZXN0RWxlbWVudEluc2VydGlv
bkJlZm9yZShuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgcGluayk7Ci0KLXRlc3RFbGVtZW50SW5z
ZXJ0aW9uQWZ0ZXIoc3ViamVjdF9hbmNlc3RvciwgYmx1ZSk7Ci10ZXN0RWxlbWVudEluc2VydGlv
bkFmdGVyKHN1YmplY3RfcGFyZW50LCBibHVlKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIo
c3ViamVjdCwgZ3JlZW4pOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0X2NoaWxk
LCByZWQpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0X2Rlc2NlbmRhbnQsIHJl
ZCk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRfc2libGluZywgeWVsbG93KTsKLXRl
c3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2NoaWxkLCBwaW5rKTsKLXRlc3RF
bGVtZW50SW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsIHBpbmspOwotCi10
ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X2FuY2VzdG9yLCBncmV5KTsKLXRlc3RUcmVl
SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfcGFyZW50LCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25C
ZWZvcmUoc3ViamVjdCwgcmVkKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfY2hp
bGQsIHJlZCk7Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X2Rlc2NlbmRhbnQsIHJl
ZCk7Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmcsIHBpbmspOwotdGVzdFRy
ZWVJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2NoaWxkLCBwaW5rKTsKLXRlc3RUcmVlSW5z
ZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCBwaW5rKTsKLQotdGVzdFRyZWVJ
bnNlcnRpb25BZnRlcihzdWJqZWN0X2FuY2VzdG9yLCBwaW5rKTsKLXRlc3RUcmVlSW5zZXJ0aW9u
QWZ0ZXIoc3ViamVjdF9wYXJlbnQsIHBpbmspOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJq
ZWN0LCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X2NoaWxkLCByZWQpOwot
dGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X2Rlc2NlbmRhbnQsIHJlZCk7Ci10ZXN0VHJl
ZUluc2VydGlvbkFmdGVyKG5leHRfc2libGluZywgcHVycGxlKTsKLXRlc3RUcmVlSW5zZXJ0aW9u
QWZ0ZXIobmV4dF9zaWJsaW5nX2NoaWxkLCBwaW5rKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIo
bmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsIHBpbmspOwordGVzdENsYXNzQ2hhbmdlKHN1YmplY3Rf
YW5jZXN0b3IsICJncmV5Iik7Cit0ZXN0Q2xhc3NDaGFuZ2Uoc3ViamVjdF9wYXJlbnQsICJncmVl
biIpOwordGVzdENsYXNzQ2hhbmdlKHN1YmplY3QsICJncmVlbiIpOwordGVzdENsYXNzQ2hhbmdl
KHN1YmplY3RfY2hpbGQsICJyZWQiKTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0X2Rlc2NlbmRh
bnQsICJyZWQiKTsKK3Rlc3RDbGFzc0NoYW5nZShuZXh0X3NpYmxpbmcsICJibHVlIik7Cit0ZXN0
Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5nX2NoaWxkLCAicGluayIpOwordGVzdENsYXNzQ2hhbmdl
KG5leHRfc2libGluZ19kZXNjZW5kYW50LCAicGluayIpOworCit0ZXN0RWxlbWVudEluc2VydGlv
bkJlZm9yZShzdWJqZWN0X2FuY2VzdG9yLCAiZ3JleSIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25C
ZWZvcmUoc3ViamVjdF9wYXJlbnQsICJncmVlbiIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZv
cmUoc3ViamVjdCwgImdyZWVuIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0
X2NoaWxkLCAicmVkIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0X2Rlc2Nl
bmRhbnQsICJyZWQiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZywg
ImJsdWUiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19jaGlsZCwg
InBpbmsiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19kZXNjZW5k
YW50LCAicGluayIpOworCit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHN1YmplY3RfYW5jZXN0
b3IsICJibHVlIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHN1YmplY3RfcGFyZW50LCAi
Ymx1ZSIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0LCAiZ3JlZW4iKTsKK3Rl
c3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9jaGlsZCwgInJlZCIpOwordGVzdEVsZW1l
bnRJbnNlcnRpb25BZnRlcihzdWJqZWN0X2Rlc2NlbmRhbnQsICJyZWQiKTsKK3Rlc3RFbGVtZW50
SW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nLCAieWVsbG93Iik7Cit0ZXN0RWxlbWVudEluc2Vy
dGlvbkFmdGVyKG5leHRfc2libGluZ19jaGlsZCwgInBpbmsiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0
aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsICJwaW5rIik7CisKK3Rlc3RUcmVlSW5z
ZXJ0aW9uQmVmb3JlKHN1YmplY3RfYW5jZXN0b3IsICJncmV5Iik7Cit0ZXN0VHJlZUluc2VydGlv
bkJlZm9yZShzdWJqZWN0X3BhcmVudCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUo
c3ViamVjdCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9jaGlsZCwg
InJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9kZXNjZW5kYW50LCAicmVk
Iik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmcsICJwaW5rIik7Cit0ZXN0
VHJlZUluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfY2hpbGQsICJwaW5rIik7Cit0ZXN0VHJl
ZUluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgInBpbmsiKTsKKwordGVz
dFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X2FuY2VzdG9yLCAicGluayIpOwordGVzdFRyZWVJ
bnNlcnRpb25BZnRlcihzdWJqZWN0X3BhcmVudCwgInBpbmsiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9u
QWZ0ZXIoc3ViamVjdCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X2No
aWxkLCAicmVkIik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3RfZGVzY2VuZGFudCwg
InJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmcsICJwdXJwbGUiKTsK
K3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2NoaWxkLCAicGluayIpOwordGVz
dFRyZWVJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgInBpbmsiKTsKIAog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1pbi1wYXJlbnQtcG9zaXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaGFzLWluLXBhcmVudC1wb3NpdGlvbi5odG1sCmluZGV4
IDBhMWY4YjkyOTlmOS4uNDY5MGU2OTI5ZjU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hh
cy1pbi1wYXJlbnQtcG9zaXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1pbi1wYXJl
bnQtcG9zaXRpb24uaHRtbApAQCAtNywxMiArNywxOCBAQAogPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvc2VsZWN0b3JzLyNyZWxhdGlvbmFsIj4KIDxzdHls
ZT4KIGRpdiwgbWFpbiB7IGNvbG9yOiBncmV5IH0KLWRpdjpoYXMoLnRlc3QsIFt0ZXN0X2F0dHJd
KSA+ICNzdWJqZWN0IHsgY29sb3I6IHJlZCB9Ci1kaXY6aGFzKD4gLnRlc3QsID4gW3Rlc3RfYXR0
cl0pID4gI3N1YmplY3QgeyBjb2xvcjogZ3JlZW4gfQotZGl2Omhhcyh+IC50ZXN0LCB+IFt0ZXN0
X2F0dHJdKSA+ICAjc3ViamVjdCB7IGNvbG9yOiB5ZWxsb3cgfQotZGl2OmhhcygrIC50ZXN0LCAr
IFt0ZXN0X2F0dHJdKSA+ICNzdWJqZWN0IHsgY29sb3I6IGJsdWUgfQotZGl2Omhhcyh+IGRpdiAu
dGVzdCwgfiBkaXYgW3Rlc3RfYXR0cl0pID4gI3N1YmplY3QgeyBjb2xvcjogcHVycGxlIH0KLWRp
djpoYXMoKyBkaXYgLnRlc3QsICsgZGl2IFt0ZXN0X2F0dHJdKSA+ICNzdWJqZWN0IHsgY29sb3I6
IHBpbmsgfQorZGl2OmhhcygudGVzdCkgPiAjc3ViamVjdCB7IGNvbG9yOiByZWQgfQorZGl2Omhh
cyhbdGVzdF9hdHRyXSkgPiAjc3ViamVjdCB7IGNvbG9yOiBvcmFuZ2VyZWQgfQorZGl2Omhhcyg+
IC50ZXN0KSA+ICNzdWJqZWN0IHsgY29sb3I6IGdyZWVuIH0KK2RpdjpoYXMoPiBbdGVzdF9hdHRy
XSkgPiAjc3ViamVjdCB7IGNvbG9yOiBsaWdodGdyZWVuIH0KK2RpdjpoYXMofiAudGVzdCkgPiAg
I3N1YmplY3QgeyBjb2xvcjogeWVsbG93IH0KK2RpdjpoYXMofiBbdGVzdF9hdHRyXSkgPiAgI3N1
YmplY3QgeyBjb2xvcjogaXZvcnkgfQorZGl2OmhhcygrIC50ZXN0KSA+ICNzdWJqZWN0IHsgY29s
b3I6IGJsdWUgfQorZGl2OmhhcygrIFt0ZXN0X2F0dHJdKSA+ICNzdWJqZWN0IHsgY29sb3I6IHNr
eWJsdWUgfQorZGl2Omhhcyh+IGRpdiAudGVzdCkgPiAjc3ViamVjdCB7IGNvbG9yOiBwdXJwbGUg
fQorZGl2Omhhcyh+IGRpdiBbdGVzdF9hdHRyXSkgPiAjc3ViamVjdCB7IGNvbG9yOiB2aW9sZXQg
fQorZGl2OmhhcygrIGRpdiAudGVzdCkgPiAjc3ViamVjdCB7IGNvbG9yOiBwaW5rIH0KK2Rpdjpo
YXMoKyBkaXYgW3Rlc3RfYXR0cl0pID4gI3N1YmplY3QgeyBjb2xvcjogbGlnaHRwaW5rIH0KIDwv
c3R5bGU+CiAKIDxtYWluIGlkPW1haW4+CkBAIC0zMCwxMSArMzYsNDcgQEAgZGl2OmhhcygrIGRp
diAudGVzdCwgKyBkaXYgW3Rlc3RfYXR0cl0pID4gI3N1YmplY3QgeyBjb2xvcjogcGluayB9CiA8
c2NyaXB0PgogY29uc3QgZ3JleSA9ICdyZ2IoMTI4LCAxMjgsIDEyOCknOwogY29uc3QgcmVkID0g
J3JnYigyNTUsIDAsIDApJzsKK2NvbnN0IG9yYW5nZXJlZCA9ICdyZ2IoMjU1LCA2OSwgMCknOwog
Y29uc3QgZ3JlZW4gPSAncmdiKDAsIDEyOCwgMCknOworY29uc3QgbGlnaHRncmVlbiA9ICdyZ2Io
MTQ0LCAyMzgsIDE0NCknOwogY29uc3QgYmx1ZSA9ICdyZ2IoMCwgMCwgMjU1KSc7Citjb25zdCBz
a3libHVlID0gJ3JnYigxMzUsIDIwNiwgMjM1KSc7CiBjb25zdCB5ZWxsb3cgPSAncmdiKDI1NSwg
MjU1LCAwKSc7Citjb25zdCBpdm9yeSA9ICdyZ2IoMjU1LCAyNTUsIDI0MCknOwogY29uc3QgcHVy
cGxlID0gJ3JnYigxMjgsIDAsIDEyOCknOworY29uc3QgdmlvbGV0ID0gJ3JnYigyMzgsIDEzMCwg
MjM4KSc7CiBjb25zdCBwaW5rID0gJ3JnYigyNTUsIDE5MiwgMjAzKSc7Citjb25zdCBsaWdodHBp
bmsgPSAncmdiKDI1NSwgMTgyLCAxOTMpJzsKK2NvbnN0IGNvbG9ycyA9IHsKKyAgZ3JleTogewor
ICAgIGNsYXNzVGVzdDogZ3JleSwKKyAgICBhdHRyaWJ1dGVUZXN0OiBncmV5LAorICB9LAorICBy
ZWQ6IHsKKyAgICBjbGFzc1Rlc3Q6IHJlZCwKKyAgICBhdHRyaWJ1dGVUZXN0OiBvcmFuZ2VyZWQs
CisgIH0sCisgIGdyZWVuOiB7CisgICAgY2xhc3NUZXN0OiBncmVlbiwKKyAgICBhdHRyaWJ1dGVU
ZXN0OiBsaWdodGdyZWVuLAorICB9LAorICBibHVlOiB7CisgICAgY2xhc3NUZXN0OiBibHVlLAor
ICAgIGF0dHJpYnV0ZVRlc3Q6IHNreWJsdWUsCisgIH0sCisgIHllbGxvdzogeworICAgIGNsYXNz
VGVzdDogeWVsbG93LAorICAgIGF0dHJpYnV0ZVRlc3Q6IGl2b3J5LAorICB9LAorICBwdXJwbGU6
IHsKKyAgICBjbGFzc1Rlc3Q6IHB1cnBsZSwKKyAgICBhdHRyaWJ1dGVUZXN0OiB2aW9sZXQsCisg
IH0sCisgIHBpbms6IHsKKyAgICBjbGFzc1Rlc3Q6IHBpbmssCisgICAgYXR0cmlidXRlVGVzdDog
bGlnaHRwaW5rLAorICB9LAorfTsKIAogZnVuY3Rpb24gdGVzdENvbG9yKHRlc3RfbmFtZSwgY29s
b3IpIHsKICAgICB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtNDIsMjcgKzg0LDMwIEBAIGZ1bmN0aW9u
IHRlc3RDb2xvcih0ZXN0X25hbWUsIGNvbG9yKSB7CiAgICAgfSwgdGVzdF9uYW1lKTsKIH0KIAot
ZnVuY3Rpb24gdGVzdENsYXNzQ2hhbmdlKGVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlv
biB0ZXN0Q2xhc3NDaGFuZ2UoZWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAgY29u
c3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0u
Y2xhc3NUZXN0OwogICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RD
b2xvcihgYWRkIC50ZXN0IHRvICR7ZWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0
ZXN0Q29sb3IoYGFkZCAudGVzdCB0byAke2VsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNs
YXNzVGVzdCk7CiAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVz
dENvbG9yKGByZW1vdmUgLnRlc3QgZnJvbSAke2VsZW1lbnQuaWR9YCwgZ3JleSk7CiB9CiAKLWZ1
bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVk
Q29sb3IpCitmdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50
LCBleHBlY3RlZENvbG9yTmFtZSkKIHsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQ2xhc3NU
ZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5jbGFzc1Rlc3Q7CisgICAgY29uc3QgZXhw
ZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmF0
dHJpYnV0ZVRlc3Q7CiAgICAgY29uc3QgbmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwogCiAgICAg
YmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQg
ZWxlbWVudCBkaXYudGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29s
b3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYmVmb3JlICR7YmVm
b3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0Vs
ZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRo
ZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVF
bGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0
Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxl
bWVudCBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3Ip
OworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1l
bnQgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9y
Q2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGBy
ZW1vdmUgZWxlbWVudCBkaXYudGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkp
OwpAQCAtNzMsNyArMTE4LDcgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUo
YmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVt
ZW50IGRpdiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3RWxl
bWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNz
ICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZvcmVFbGVt
ZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAn
dGVzdCcgdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVu
dC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQuY2xh
c3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAn
dGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZvcmVFbGVt
ZW50LmlkfWAsIGdyZXkpOwpAQCAtODQsMjUgKzEyOSwyNyBAQCBmdW5jdGlvbiB0ZXN0RWxlbWVu
dEluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0Vs
ZW1lbnQuc2V0QXR0cmlidXRlKCd0ZXN0X2F0dHInLCAnJyk7CiAKICAgICBiZWZvcmVFbGVtZW50
LmJlZm9yZShuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdlt0
ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7Cisg
ICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5l
d0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXZbdGVz
dF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogfQogCi1mdW5jdGlv
biB0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikK
K2Z1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3Rl
ZENvbG9yTmFtZSkKIHsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29s
b3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5jbGFzc1Rlc3Q7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xv
ckZvckF0dHJpYnV0ZVRlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmF0dHJpYnV0ZVRl
c3Q7CiAgICAgY29uc3QgbmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwogCiAgICAgYWZ0ZXJFbGVt
ZW50LmFmdGVyKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2
LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVz
dENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1g
LCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0
LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcg
ZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5
KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xv
cihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWZ0
ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBh
ZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZnRlciAk
e2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5l
d0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXYudGVz
dCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTExMyw3ICsxNjAsNyBAQCBm
dW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRD
b2xvcikKICAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdiBhZnRlciAke2FmdGVyRWxl
bWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcp
OwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW5z
ZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7Cisg
ICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbnNlcnRl
ZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NU
ZXN0KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRl
c3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRl
ZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTEyNCwyNyArMTcx
LDI5IEBAIGZ1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBl
eHBlY3RlZENvbG9yKQogICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKCd0ZXN0X2F0dHInLCAn
Jyk7CiAKICAgICBhZnRlckVsZW1lbnQuYWZ0ZXIobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9y
KGBpbnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1g
LCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdlt0ZXN0
X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1
dGVUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1v
dmUgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5
KTsKIH0KIAotZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwg
ZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVs
ZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JD
bGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKKyAgICBjb25z
dCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFt
ZV0uYXR0cmlidXRlVGVzdDsKICAgICBjb25zdCBuZXdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgY29uc3QgbmV3Q2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7CiAgICAgbmV3
RWxlbWVudC5hcHBlbmRDaGlsZChuZXdDaGlsZCk7CiAKICAgICBiZWZvcmVFbGVtZW50LmJlZm9y
ZShuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBi
ZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xv
cihgaW5zZXJ0IHRyZWUgZGl2PmRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwg
ZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVt
b3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9t
IHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQu
aWR9YCwgZ3JleSk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAg
dGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbiB0
aGUgdHJlZSBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29s
b3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVs
ZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBl
eHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAg
ICAgdGVzdENvbG9yKGByZW1vdmUgdHJlZSBkaXY+ZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxl
bWVudC5pZH1gLCBncmV5KTsKQEAgLTE1NSw3ICsyMDQsNyBAQCBmdW5jdGlvbiB0ZXN0VHJlZUlu
c2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIHRlc3RDb2xv
cihgaW5zZXJ0IHRyZWUgZGl2PmRpdiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkp
OwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihg
YWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQg
YWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0
ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVl
IGluc2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xv
ckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7
CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50
IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwg
Z3JleSk7CkBAIC0xNjYsMjcgKzIxNSwyOSBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkJl
Zm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0NoaWxkLnNldEF0dHJp
YnV0ZSgndGVzdF9hdHRyJywgJycpOwogCiAgICAgYmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxl
bWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0g
YmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29s
b3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVt
ZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5ld0VsZW1l
bnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXY+ZGl2W3Rlc3Rf
YXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24g
dGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5j
dGlvbiB0ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvck5h
bWUpCiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBl
Y3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRy
aWJ1dGVUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0OwogICAg
IGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBj
b25zdCBuZXdDaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIG5ld0No
aWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKICAgICBuZXdFbGVtZW50LmFwcGVuZENoaWxkKG5l
d0NoaWxkKTsKIAogICAgIGFmdGVyRWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0ZXN0
Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1g
LCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVz
dCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsK
IAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3Io
YHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5z
ZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdDaGlsZC5j
bGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0
JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZnRlciAke2FmdGVy
RWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xh
c3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFmdGVy
ICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAg
bmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0cmVlIGRpdj5kaXYu
dGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTE5Nyw3ICsyNDgsNyBA
QCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRD
b2xvcikKICAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYgYWZ0ZXIgJHthZnRlckVs
ZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7
Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbiB0
aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3Rl
ZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVt
ZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAs
IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LnJl
bW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJv
bSB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxl
bWVudC5pZH1gLCBncmV5KTsKQEAgLTIwOCw3ICsyNTksNyBAQCBmdW5jdGlvbiB0ZXN0VHJlZUlu
c2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICBuZXdDaGlsZC5z
ZXRBdHRyaWJ1dGUoJ3Rlc3RfYXR0cicsICcnKTsKIAogICAgIGFmdGVyRWxlbWVudC5hZnRlcihu
ZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9h
dHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0
Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxl
bWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVt
ZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2PmRpdlt0ZXN0
X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMjE2LDM0ICsyNjcs
MzQgQEAgZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVj
dGVkQ29sb3IpCiAKIHRlc3RDb2xvcignSW5pdGlhbCBjb2xvcicsIGdyZXkpOwogCi10ZXN0Q2xh
c3NDaGFuZ2Uoc3ViamVjdF9hbmNlc3RvciwgZ3JleSk7Ci10ZXN0Q2xhc3NDaGFuZ2Uoc3ViamVj
dF9wYXJlbnQsIGdyZXkpOwotdGVzdENsYXNzQ2hhbmdlKHN1YmplY3QsIGdyZWVuKTsKLXRlc3RD
bGFzc0NoYW5nZShzdWJqZWN0X2NoaWxkLCByZWQpOwotdGVzdENsYXNzQ2hhbmdlKHN1YmplY3Rf
ZGVzY2VuZGFudCwgcmVkKTsKLQotdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9h
bmNlc3RvciwgZ3JleSk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0X3BhcmVu
dCwgZ3JleSk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0LCBncmVlbik7Ci10
ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShzdWJqZWN0X2NoaWxkLCByZWQpOwotdGVzdEVsZW1l
bnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9kZXNjZW5kYW50LCByZWQpOwotCi10ZXN0RWxlbWVu
dEluc2VydGlvbkFmdGVyKHN1YmplY3RfYW5jZXN0b3IsIGdyZXkpOwotdGVzdEVsZW1lbnRJbnNl
cnRpb25BZnRlcihzdWJqZWN0X3BhcmVudCwgYmx1ZSk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFm
dGVyKHN1YmplY3QsIGdyZWVuKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9j
aGlsZCwgcmVkKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9kZXNjZW5kYW50
LCByZWQpOwotCi10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X2FuY2VzdG9yLCBncmV5
KTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfcGFyZW50LCBncmV5KTsKLXRlc3RU
cmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3QsIHJlZCk7Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9y
ZShzdWJqZWN0X2NoaWxkLCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9k
ZXNjZW5kYW50LCByZWQpOwotCi10ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3RfYW5jZXN0
b3IsIGdyZXkpOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X3BhcmVudCwgcGluayk7
Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3QsIHJlZCk7Ci10ZXN0VHJlZUluc2VydGlv
bkFmdGVyKHN1YmplY3RfY2hpbGQsIHJlZCk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1Ympl
Y3RfZGVzY2VuZGFudCwgcmVkKTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0X2FuY2VzdG9yLCAi
Z3JleSIpOwordGVzdENsYXNzQ2hhbmdlKHN1YmplY3RfcGFyZW50LCAiZ3JleSIpOwordGVzdENs
YXNzQ2hhbmdlKHN1YmplY3QsICJncmVlbiIpOwordGVzdENsYXNzQ2hhbmdlKHN1YmplY3RfY2hp
bGQsICJyZWQiKTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0X2Rlc2NlbmRhbnQsICJyZWQiKTsK
KwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9hbmNlc3RvciwgImdyZXkiKTsK
K3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfcGFyZW50LCAiZ3JleSIpOwordGVz
dEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdCwgImdyZWVuIik7Cit0ZXN0RWxlbWVudElu
c2VydGlvbkJlZm9yZShzdWJqZWN0X2NoaWxkLCAicmVkIik7Cit0ZXN0RWxlbWVudEluc2VydGlv
bkJlZm9yZShzdWJqZWN0X2Rlc2NlbmRhbnQsICJyZWQiKTsKKwordGVzdEVsZW1lbnRJbnNlcnRp
b25BZnRlcihzdWJqZWN0X2FuY2VzdG9yLCAiZ3JleSIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25B
ZnRlcihzdWJqZWN0X3BhcmVudCwgImJsdWUiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIo
c3ViamVjdCwgImdyZWVuIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHN1YmplY3RfY2hp
bGQsICJyZWQiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9kZXNjZW5kYW50
LCAicmVkIik7CisKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfYW5jZXN0b3IsICJn
cmV5Iik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X3BhcmVudCwgImdyZXkiKTsK
K3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3QsICJyZWQiKTsKK3Rlc3RUcmVlSW5zZXJ0
aW9uQmVmb3JlKHN1YmplY3RfY2hpbGQsICJyZWQiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3Jl
KHN1YmplY3RfZGVzY2VuZGFudCwgInJlZCIpOworCit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1
YmplY3RfYW5jZXN0b3IsICJncmV5Iik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3Rf
cGFyZW50LCAicGluayIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0LCAicmVkIik7
Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3RfY2hpbGQsICJyZWQiKTsKK3Rlc3RUcmVl
SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9kZXNjZW5kYW50LCAicmVkIik7CiAKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9oYXMtaW4tc2libGluZy1wb3NpdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3Jz
L2ludmFsaWRhdGlvbi9oYXMtaW4tc2libGluZy1wb3NpdGlvbi5odG1sCmluZGV4IDkxYjFkY2Yw
Mzk3MC4uOGIzNTk0MGY4N2MzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1pbi1zaWJs
aW5nLXBvc2l0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9oYXMtaW4tc2libGluZy1wb3Np
dGlvbi5odG1sCkBAIC03LDEyICs3LDE4IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgogPHN0eWxlPgogZGl2
LCBtYWluIHsgY29sb3I6IGdyZXkgfQotZGl2OmhhcygudGVzdCwgW3Rlc3RfYXR0cl0pIH4gI3N1
YmplY3QgeyBjb2xvcjogcmVkIH0KLWRpdjpoYXMoPiAudGVzdCwgPiBbdGVzdF9hdHRyXSkgfiAj
c3ViamVjdCB7IGNvbG9yOiBncmVlbiB9Ci1kaXY6aGFzKH4gLnRlc3QsIH4gW3Rlc3RfYXR0cl0p
IH4gI3N1YmplY3QgeyBjb2xvcjogeWVsbG93IH0KLWRpdjpoYXMoKyAudGVzdCwgKyBbdGVzdF9h
dHRyXSkgfiAjc3ViamVjdCB7IGNvbG9yOiBibHVlIH0KLWRpdjpoYXMofiBkaXYgLnRlc3QsIH4g
ZGl2IFt0ZXN0X2F0dHJdKSB+ICNzdWJqZWN0IHsgY29sb3I6IHB1cnBsZSB9Ci1kaXY6aGFzKCsg
ZGl2IC50ZXN0LCArIGRpdiBbdGVzdF9hdHRyXSkgfiAjc3ViamVjdCB7IGNvbG9yOiBwaW5rIH0K
K2RpdjpoYXMoLnRlc3QpIH4gI3N1YmplY3QgeyBjb2xvcjogcmVkIH0KK2RpdjpoYXMoW3Rlc3Rf
YXR0cl0pIH4gI3N1YmplY3QgeyBjb2xvcjogb3JhbmdlcmVkIH0KK2RpdjpoYXMoPiAudGVzdCkg
fiAjc3ViamVjdCB7IGNvbG9yOiBncmVlbiB9CitkaXY6aGFzKD4gW3Rlc3RfYXR0cl0pIH4gI3N1
YmplY3QgeyBjb2xvcjogbGlnaHRncmVlbiB9CitkaXY6aGFzKH4gLnRlc3QpIH4gI3N1YmplY3Qg
eyBjb2xvcjogeWVsbG93IH0KK2RpdjpoYXMofiBbdGVzdF9hdHRyXSkgfiAjc3ViamVjdCB7IGNv
bG9yOiBpdm9yeSB9CitkaXY6aGFzKCsgLnRlc3QpIH4gI3N1YmplY3QgeyBjb2xvcjogYmx1ZSB9
CitkaXY6aGFzKCsgW3Rlc3RfYXR0cl0pIH4gI3N1YmplY3QgeyBjb2xvcjogc2t5Ymx1ZSB9Citk
aXY6aGFzKH4gZGl2IC50ZXN0KSB+ICNzdWJqZWN0IHsgY29sb3I6IHB1cnBsZSB9CitkaXY6aGFz
KH4gZGl2IFt0ZXN0X2F0dHJdKSB+ICNzdWJqZWN0IHsgY29sb3I6IHZpb2xldCB9CitkaXY6aGFz
KCsgZGl2IC50ZXN0KSB+ICNzdWJqZWN0IHsgY29sb3I6IHBpbmsgfQorZGl2OmhhcygrIGRpdiBb
dGVzdF9hdHRyXSkgfiAjc3ViamVjdCB7IGNvbG9yOiBsaWdodHBpbmsgfQogPC9zdHlsZT4KIAog
PG1haW4gaWQ9bWFpbj4KQEAgLTMyLDExICszOCw0NyBAQCBkaXY6aGFzKCsgZGl2IC50ZXN0LCAr
IGRpdiBbdGVzdF9hdHRyXSkgfiAjc3ViamVjdCB7IGNvbG9yOiBwaW5rIH0KIDxzY3JpcHQ+CiBj
b25zdCBncmV5ID0gJ3JnYigxMjgsIDEyOCwgMTI4KSc7CiBjb25zdCByZWQgPSAncmdiKDI1NSwg
MCwgMCknOworY29uc3Qgb3JhbmdlcmVkID0gJ3JnYigyNTUsIDY5LCAwKSc7CiBjb25zdCBncmVl
biA9ICdyZ2IoMCwgMTI4LCAwKSc7Citjb25zdCBsaWdodGdyZWVuID0gJ3JnYigxNDQsIDIzOCwg
MTQ0KSc7CiBjb25zdCBibHVlID0gJ3JnYigwLCAwLCAyNTUpJzsKK2NvbnN0IHNreWJsdWUgPSAn
cmdiKDEzNSwgMjA2LCAyMzUpJzsKIGNvbnN0IHllbGxvdyA9ICdyZ2IoMjU1LCAyNTUsIDApJzsK
K2NvbnN0IGl2b3J5ID0gJ3JnYigyNTUsIDI1NSwgMjQwKSc7CiBjb25zdCBwdXJwbGUgPSAncmdi
KDEyOCwgMCwgMTI4KSc7Citjb25zdCB2aW9sZXQgPSAncmdiKDIzOCwgMTMwLCAyMzgpJzsKIGNv
bnN0IHBpbmsgPSAncmdiKDI1NSwgMTkyLCAyMDMpJzsKK2NvbnN0IGxpZ2h0cGluayA9ICdyZ2Io
MjU1LCAxODIsIDE5MyknOworY29uc3QgY29sb3JzID0geworICBncmV5OiB7CisgICAgY2xhc3NU
ZXN0OiBncmV5LAorICAgIGF0dHJpYnV0ZVRlc3Q6IGdyZXksCisgIH0sCisgIHJlZDogeworICAg
IGNsYXNzVGVzdDogcmVkLAorICAgIGF0dHJpYnV0ZVRlc3Q6IG9yYW5nZXJlZCwKKyAgfSwKKyAg
Z3JlZW46IHsKKyAgICBjbGFzc1Rlc3Q6IGdyZWVuLAorICAgIGF0dHJpYnV0ZVRlc3Q6IGxpZ2h0
Z3JlZW4sCisgIH0sCisgIGJsdWU6IHsKKyAgICBjbGFzc1Rlc3Q6IGJsdWUsCisgICAgYXR0cmli
dXRlVGVzdDogc2t5Ymx1ZSwKKyAgfSwKKyAgeWVsbG93OiB7CisgICAgY2xhc3NUZXN0OiB5ZWxs
b3csCisgICAgYXR0cmlidXRlVGVzdDogaXZvcnksCisgIH0sCisgIHB1cnBsZTogeworICAgIGNs
YXNzVGVzdDogcHVycGxlLAorICAgIGF0dHJpYnV0ZVRlc3Q6IHZpb2xldCwKKyAgfSwKKyAgcGlu
azogeworICAgIGNsYXNzVGVzdDogcGluaywKKyAgICBhdHRyaWJ1dGVUZXN0OiBsaWdodHBpbmss
CisgIH0sCit9OwogCiBmdW5jdGlvbiB0ZXN0Q29sb3IodGVzdF9uYW1lLCBjb2xvcikgewogICAg
IHRlc3QoZnVuY3Rpb24oKSB7CkBAIC00NCwyNyArODYsMzAgQEAgZnVuY3Rpb24gdGVzdENvbG9y
KHRlc3RfbmFtZSwgY29sb3IpIHsKICAgICB9LCB0ZXN0X25hbWUpOwogfQogCi1mdW5jdGlvbiB0
ZXN0Q2xhc3NDaGFuZ2UoZWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9uIHRlc3RDbGFz
c0NoYW5nZShlbGVtZW50LCBleHBlY3RlZENvbG9yTmFtZSkKIHsKKyAgICBjb25zdCBleHBlY3Rl
ZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5jbGFzc1Rlc3Q7
CiAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQg
LnRlc3QgdG8gJHtlbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihg
YWRkIC50ZXN0IHRvICR7ZWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsK
ICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJl
bW92ZSAudGVzdCBmcm9tICR7ZWxlbWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVz
dEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1
bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVk
Q29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QgPSBjb2xv
cnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKKyAgICBjb25zdCBleHBlY3RlZENvbG9y
Rm9yQXR0cmlidXRlVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uYXR0cmlidXRlVGVz
dDsKICAgICBjb25zdCBuZXdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0JykKIAogICAgIGJlZm9yZUVsZW1l
bnQuYmVmb3JlKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2
LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0
ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQu
aWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rl
c3QnIGZyb20gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1g
LCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRl
c3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW5zZXJ0
ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0
Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluc2VydGVk
IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7
CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1l
bnQgZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTc1LDcg
KzEyMCw3IEBAIGZ1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1l
bnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYgYmVm
b3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NM
aXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8g
dGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBl
eHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRo
ZSBlbGVtZW50IGluc2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhw
ZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1v
dmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20g
dGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBn
cmV5KTsKQEAgLTg2LDI1ICsxMzEsMjcgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25C
ZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICBuZXdFbGVtZW50LnNldEF0
dHJpYnV0ZSgndGVzdF9hdHRyJywgJycpOwogCiAgICAgYmVmb3JlRWxlbWVudC5iZWZvcmUobmV3
RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBi
ZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xv
cihgaW5zZXJ0IGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5p
ZH1gLCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJl
bW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYmVm
b3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdEVsZW1l
bnRJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0
ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUp
CiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3Rl
ZENvbG9yTmFtZV0uY2xhc3NUZXN0OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1
dGVUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0OwogICAgIGNv
bnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBuZXdF
bGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKQogCiAgICAgYWZ0ZXJFbGVtZW50LmFmdGVyKG5l
d0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYWZ0ZXIg
JHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNl
cnQgZWxlbWVudCBkaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENv
bG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVz
dCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxl
bWVudCBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5l
d0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBj
bGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVs
ZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNz
ICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVu
dC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVt
b3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXYudGVzdCBhZnRlciAke2Fm
dGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTExNSw3ICsxNjIsNyBAQCBmdW5jdGlvbiB0ZXN0
RWxlbWVudEluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICB0
ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBn
cmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RD
b2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4g
YWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9y
KGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBhZnRl
ciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAg
IG5ld0VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVt
b3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBhZnRl
ciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTEyNiwyNyArMTczLDI5IEBAIGZ1bmN0
aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENvbG9y
KQogICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKCd0ZXN0X2F0dHInLCAnJyk7CiAKICAgICBh
ZnRlckVsZW1lbnQuYWZ0ZXIobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxl
bWVudCBkaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENv
bG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdlt0ZXN0X2F0dHJdIGFmdGVy
ICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAog
ICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBk
aXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVu
Y3Rpb24gdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xv
cikKK2Z1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVj
dGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QgPSBj
b2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKKyAgICBjb25zdCBleHBlY3RlZENv
bG9yRm9yQXR0cmlidXRlVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uYXR0cmlidXRl
VGVzdDsKICAgICBjb25zdCBuZXdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CiAgICAgY29uc3QgbmV3Q2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
ICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7CiAgICAgbmV3RWxlbWVudC5hcHBl
bmRDaGlsZChuZXdDaGlsZCk7CiAKICAgICBiZWZvcmVFbGVtZW50LmJlZm9yZShuZXdFbGVtZW50
KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRy
ZWUgZGl2PmRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xv
ckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7
CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50
IGluIHRoZSB0cmVlIGluc2VydGVkIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7
CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBh
ZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNl
cnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRl
c3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW4gdGhl
IHRyZWUgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9y
Rm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9y
KGByZW1vdmUgdHJlZSBkaXY+ZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBn
cmV5KTsKQEAgLTE1Nyw3ICsyMDYsNyBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkJlZm9y
ZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRy
ZWUgZGl2PmRpdiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3
Q2hpbGQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFz
cyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWdhaW4gYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFk
ZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFn
YWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVz
dCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENv
bG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGluIHRoZSB0cmVl
IGluc2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0x
NjgsMjcgKzIxNywyOSBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShiZWZvcmVF
bGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0NoaWxkLnNldEF0dHJpYnV0ZSgndGVzdF9h
dHRyJywgJycpOwogCiAgICAgYmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0gICAg
dGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVm
b3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBl
bGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4
cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7
CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0gYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdFRyZWVJbnNl
cnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0VHJl
ZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAg
Y29uc3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFt
ZV0uY2xhc3NUZXN0OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0g
Y29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0OwogICAgIGNvbnN0IG5ld0Vs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBjb25zdCBuZXdDaGls
ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIG5ld0NoaWxkLmNsYXNzTGlz
dC5hZGQoJ3Rlc3QnKTsKICAgICBuZXdFbGVtZW50LmFwcGVuZENoaWxkKG5ld0NoaWxkKTsKIAog
ICAgIGFmdGVyRWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2Vy
dCB0cmVlIGRpdj5kaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENv
bG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBhZnRlciAke2Fm
dGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0No
aWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUg
Y2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWZ0ZXIg
JHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRk
KCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0
aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1g
LCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFn
YWluIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVt
ZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5y
ZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0cmVlIGRpdj5kaXYudGVzdCBhZnRlciAk
e2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTE5OSw3ICsyNTAsNyBAQCBmdW5jdGlvbiB0
ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICB0
ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwg
Z3JleSk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENv
bG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNl
cnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAg
ICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0
cmVlIGluc2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29s
b3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcp
OwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVu
dCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBn
cmV5KTsKQEAgLTIxMCw3ICsyNjEsNyBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkFmdGVy
KGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICBuZXdDaGlsZC5zZXRBdHRyaWJ1dGUo
J3Rlc3RfYXR0cicsICcnKTsKIAogICAgIGFmdGVyRWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTsK
LSAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBhZnRlciAk
e2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2Vy
dCBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBl
eHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgp
OwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGFmdGVy
ICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMjE4LDQ0ICsyNjksNDQgQEAgZnVuY3Rp
b24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAK
IHRlc3RDb2xvcignSW5pdGlhbCBjb2xvcicsIGdyZXkpOwogCi10ZXN0Q2xhc3NDaGFuZ2UocHJl
dmlvdXNfc2libGluZywgZ3JleSk7Ci10ZXN0Q2xhc3NDaGFuZ2UocHJldmlvdXNfc2libGluZ19j
aGlsZCwgZ3JlZW4pOwotdGVzdENsYXNzQ2hhbmdlKHByZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFu
dCwgcmVkKTsKLXRlc3RDbGFzc0NoYW5nZShzdWJqZWN0LCBibHVlKTsKLXRlc3RDbGFzc0NoYW5n
ZShuZXh0X3NpYmxpbmcsIHllbGxvdyk7Ci10ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5nX2No
aWxkLCBwdXJwbGUpOwotdGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCBw
dXJwbGUpOwotCi10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJsaW5nLCBn
cmV5KTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQs
IGdyZWVuKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfZGVz
Y2VuZGFudCwgcmVkKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3QsIGJsdWUp
OwotdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nLCB5ZWxsb3cpOwotdGVz
dEVsZW1lbnRJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2NoaWxkLCBwdXJwbGUpOwotdGVz
dEVsZW1lbnRJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsIHB1cnBsZSk7
Ci0KLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZywgYmx1ZSk7Ci10
ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsIGdyZWVuKTsK
LXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCBy
ZWQpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0LCB5ZWxsb3cpOwotdGVzdEVs
ZW1lbnRJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmcsIHllbGxvdyk7Ci10ZXN0RWxlbWVudElu
c2VydGlvbkFmdGVyKG5leHRfc2libGluZ19jaGlsZCwgcHVycGxlKTsKLXRlc3RFbGVtZW50SW5z
ZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsIHB1cnBsZSk7Ci0KLXRlc3RUcmVl
SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmcsIGdyZWVuKTsKLXRlc3RUcmVlSW5zZXJ0
aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsIHJlZCk7Ci10ZXN0VHJlZUluc2VydGlv
bkJlZm9yZShwcmV2aW91c19zaWJsaW5nX2Rlc2NlbmRhbnQsIHJlZCk7Ci10ZXN0VHJlZUluc2Vy
dGlvbkJlZm9yZShzdWJqZWN0LCBwaW5rKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRf
c2libGluZywgcHVycGxlKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19j
aGlsZCwgcHVycGxlKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19kZXNj
ZW5kYW50LCBwdXJwbGUpOwotCi10ZXN0VHJlZUluc2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxp
bmcsIHBpbmspOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihwcmV2aW91c19zaWJsaW5nX2NoaWxk
LCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihwcmV2aW91c19zaWJsaW5nX2Rlc2NlbmRh
bnQsIHJlZCk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3QsIHB1cnBsZSk7Ci10ZXN0
VHJlZUluc2VydGlvbkFmdGVyKG5leHRfc2libGluZywgcHVycGxlKTsKLXRlc3RUcmVlSW5zZXJ0
aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2NoaWxkLCBwdXJwbGUpOwotdGVzdFRyZWVJbnNlcnRpb25B
ZnRlcihuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgcHVycGxlKTsKK3Rlc3RDbGFzc0NoYW5nZShw
cmV2aW91c19zaWJsaW5nLCAiZ3JleSIpOwordGVzdENsYXNzQ2hhbmdlKHByZXZpb3VzX3NpYmxp
bmdfY2hpbGQsICJncmVlbiIpOwordGVzdENsYXNzQ2hhbmdlKHByZXZpb3VzX3NpYmxpbmdfZGVz
Y2VuZGFudCwgInJlZCIpOwordGVzdENsYXNzQ2hhbmdlKHN1YmplY3QsICJibHVlIik7Cit0ZXN0
Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5nLCAieWVsbG93Iik7Cit0ZXN0Q2xhc3NDaGFuZ2UobmV4
dF9zaWJsaW5nX2NoaWxkLCAicHVycGxlIik7Cit0ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5n
X2Rlc2NlbmRhbnQsICJwdXJwbGUiKTsKKwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUocHJl
dmlvdXNfc2libGluZywgImdyZXkiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZp
b3VzX3NpYmxpbmdfY2hpbGQsICJncmVlbiIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUo
cHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCAicmVkIik7Cit0ZXN0RWxlbWVudEluc2VydGlv
bkJlZm9yZShzdWJqZWN0LCAiYmx1ZSIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUobmV4
dF9zaWJsaW5nLCAieWVsbG93Iik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShuZXh0X3Np
YmxpbmdfY2hpbGQsICJwdXJwbGUiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRf
c2libGluZ19kZXNjZW5kYW50LCAicHVycGxlIik7CisKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0
ZXIocHJldmlvdXNfc2libGluZywgImJsdWUiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIo
cHJldmlvdXNfc2libGluZ19jaGlsZCwgImdyZWVuIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFm
dGVyKHByZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFudCwgInJlZCIpOwordGVzdEVsZW1lbnRJbnNl
cnRpb25BZnRlcihzdWJqZWN0LCAieWVsbG93Iik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVy
KG5leHRfc2libGluZywgInllbGxvdyIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihuZXh0
X3NpYmxpbmdfY2hpbGQsICJwdXJwbGUiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIobmV4
dF9zaWJsaW5nX2Rlc2NlbmRhbnQsICJwdXJwbGUiKTsKKwordGVzdFRyZWVJbnNlcnRpb25CZWZv
cmUocHJldmlvdXNfc2libGluZywgImdyZWVuIik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShw
cmV2aW91c19zaWJsaW5nX2NoaWxkLCAicmVkIik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShw
cmV2aW91c19zaWJsaW5nX2Rlc2NlbmRhbnQsICJyZWQiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVm
b3JlKHN1YmplY3QsICJwaW5rIik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxp
bmcsICJwdXJwbGUiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19jaGls
ZCwgInB1cnBsZSIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2Rlc2Nl
bmRhbnQsICJwdXJwbGUiKTsKKwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihwcmV2aW91c19zaWJs
aW5nLCAicGluayIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihwcmV2aW91c19zaWJsaW5nX2No
aWxkLCAicmVkIik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxpbmdfZGVz
Y2VuZGFudCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0LCAicHVycGxl
Iik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5leHRfc2libGluZywgInB1cnBsZSIpOwordGVz
dFRyZWVJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmdfY2hpbGQsICJwdXJwbGUiKTsKK3Rlc3RU
cmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsICJwdXJwbGUiKTsKIAog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lzLXBzZXVkby1jb250YWluaW5n
LWNvbXBsZXgtaW4taGFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaXMtcHNldWRvLWNv
bnRhaW5pbmctY29tcGxleC1pbi1oYXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMC4uMWFjNWM5MDA4ZjFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2lu
dmFsaWRhdGlvbi9pcy1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw5NCBAQAorCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmEg
LmIpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgncmVkJykgOiBjaGVjayBtYXRjaGVzIChm
YWxzZSkKK1BBU1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI2hhc19zY29w
ZS5jbGFzc0xpc3QuYWRkKCdyZWQnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAu
cmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI3BhcmVudC5jbGFzc0xpc3QuYWRkKCdh
JykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50Omlz
KC5hIC5iKSkgXSAjcGFyZW50LmNsYXNzTGlzdC5hZGQoJ2EnKSA6IGNoZWNrICNoYXNfc2NvcGUg
Y29sb3IKK1BBU1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI3BhcmVudC5j
bGFzc0xpc3QucmVtb3ZlKCdhJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAucmVk
OmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI3BhcmVudC5jbGFzc0xpc3QucmVtb3ZlKCdh
JykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6
aXMoLmEgLmIpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnYScpIDogY2hlY2sgbWF0Y2hl
cyAodHJ1ZSkKK1BBU1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI2hhc19z
Y29wZS5jbGFzc0xpc3QuYWRkKCdhJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsg
LnJlZDpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmEgLmIpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJl
bW92ZSgnYScpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2Nl
bmRhbnQ6aXMoLmEgLmIpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnYScpIDogY2hl
Y2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50OmlzKC5hIC5i
KSkgXSAjY2hpbGQuY2xhc3NMaXN0LmFkZCgnYScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BB
U1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI2NoaWxkLmNsYXNzTGlzdC5h
ZGQoJ2EnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAucmVkOmhhcygjZGVzY2Vu
ZGFudDppcyguYSAuYikpIF0gI2NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ2EnKSA6IGNoZWNrIG1h
dGNoZXMgKGZhbHNlKQorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50OmlzKC5hIC5iKSkgXSAj
Y2hpbGQuY2xhc3NMaXN0LnJlbW92ZSgnYScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFT
UyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50OmlzKC5hIC5iKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlz
dC5yZW1vdmUoJ3JlZCcpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnJlZDpoYXMo
I2Rlc2NlbmRhbnQ6aXMoLmEgLmIpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgncmVk
JykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmdyZWVuOmhhcygjZGVzY2VuZGFu
dDppcyguYyB+IC5kIC5lKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ2dyZWVuJykgOiBj
aGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5j
IH4gLmQgLmUpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnZ3JlZW4nKSA6IGNoZWNrICNo
YXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQg
LmUpKSBdICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0LmFkZCgnYycpIDogY2hlY2sgbWF0Y2hl
cyAodHJ1ZSkKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBd
ICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0LmFkZCgnYycpIDogY2hlY2sgI2hhc19zY29wZSBj
b2xvcgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmMgfiAuZCAuZSkpIF0gI3Bh
cmVudF9wcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVjayBtYXRjaGVzIChmYWxz
ZSkKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBdICNwYXJl
bnRfcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92ZSgnYycpIDogY2hlY2sgI2hhc19zY29wZSBjb2xv
cgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmMgfiAuZCAuZSkpIF0gI3ByZXZp
b3VzLmNsYXNzTGlzdC5hZGQoJ2MnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLmdy
ZWVuOmhhcygjZGVzY2VuZGFudDppcyguYyB+IC5kIC5lKSkgXSAjcHJldmlvdXMuY2xhc3NMaXN0
LmFkZCgnYycpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rl
c2NlbmRhbnQ6aXMoLmMgfiAuZCAuZSkpIF0gI3ByZXZpb3VzLmNsYXNzTGlzdC5yZW1vdmUoJ2Mn
KSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6
aXMoLmMgfiAuZCAuZSkpIF0gI3ByZXZpb3VzLmNsYXNzTGlzdC5yZW1vdmUoJ2MnKSA6IGNoZWNr
ICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4g
LmQgLmUpKSBdICNjaGlsZF9wcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdjJykgOiBjaGVjayBtYXRj
aGVzICh0cnVlKQorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmMgfiAuZCAuZSkp
IF0gI2NoaWxkX3ByZXZpb3VzLmNsYXNzTGlzdC5hZGQoJ2MnKSA6IGNoZWNrICNoYXNfc2NvcGUg
Y29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBdICNj
aGlsZF9wcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVjayBtYXRjaGVzIChmYWxz
ZSkKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBdICNjaGls
ZF9wcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9y
CitQQVNTIFsgLmdyZWVuOmhhcygjZGVzY2VuZGFudDppcyguYyB+IC5kIC5lKSkgXSAjaGFzX3Nj
b3BlLmNsYXNzTGlzdC5yZW1vdmUoJ2dyZWVuJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BB
U1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBdICNoYXNfc2NvcGUu
Y2xhc3NMaXN0LnJlbW92ZSgnZ3JlZW4nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1Mg
WyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjaGFzX3Njb3BlLmNs
YXNzTGlzdC5hZGQoJ2JsdWUnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5ibHVl
Omhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5mIH4gLmcpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0
LmFkZCgnYmx1ZScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ibHVlOmhhcyh+
ICNpbmRpcmVjdF9uZXh0OmlzKC5mIH4gLmcpKSBdICNwcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdm
JykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorRkFJTCBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9u
ZXh0OmlzKC5mIH4gLmcpKSBdICNwcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdmJykgOiBjaGVjayAj
aGFzX3Njb3BlIGNvbG9yIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMCwgMjU1KSIg
YnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVj
dF9uZXh0OmlzKC5mIH4gLmcpKSBdICNwcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdmJykgOiBj
aGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpp
cyguZiB+IC5nKSkgXSAjcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92ZSgnZicpIDogY2hlY2sgI2hh
c19zY29wZSBjb2xvcgorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5mIH4g
LmcpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnZicpIDogY2hlY2sgbWF0Y2hlcyAodHJ1
ZSkKK0ZBSUwgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjaGFz
X3Njb3BlLmNsYXNzTGlzdC5hZGQoJ2YnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAwLCAyNTUpIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgs
IDEyOCkiCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmYgfiAuZykpIF0g
I2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdmJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkK
K1BBU1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjaGFzX3Nj
b3BlLmNsYXNzTGlzdC5yZW1vdmUoJ2YnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1Mg
WyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjZGlyZWN0X25leHQu
Y2xhc3NMaXN0LmFkZCgnZicpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAuYmx1ZTpo
YXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjZGlyZWN0X25leHQuY2xhc3NMaXN0
LmFkZCgnZicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ibHVlOmhhcyh+ICNp
bmRpcmVjdF9uZXh0OmlzKC5mIH4gLmcpKSBdICNkaXJlY3RfbmV4dC5jbGFzc0xpc3QucmVtb3Zl
KCdmJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJl
Y3RfbmV4dDppcyguZiB+IC5nKSkgXSAjZGlyZWN0X25leHQuY2xhc3NMaXN0LnJlbW92ZSgnZicp
IDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9u
ZXh0OmlzKC5mIH4gLmcpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnYmx1ZScpIDog
Y2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6
aXMoLmYgfiAuZykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdibHVlJykgOiBjaGVj
ayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnllbGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4dDpp
cyguaCAuaSkpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCd5ZWxsb3cnKSA6IGNoZWNrIG1h
dGNoZXMgKGZhbHNlKQorUEFTUyBbIC55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmgg
LmkpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgneWVsbG93JykgOiBjaGVjayAjaGFzX3Nj
b3BlIGNvbG9yCitQQVNTIFsgLnllbGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguaCAuaSkp
IF0gI3BhcmVudC5jbGFzc0xpc3QuYWRkKCdoJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFT
UyBbIC55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmggLmkpKSBdICNwYXJlbnQuY2xh
c3NMaXN0LmFkZCgnaCcpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC55ZWxsb3c6
aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmggLmkpKSBdICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92
ZSgnaCcpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnllbGxvdzpoYXMofiAjaW5k
aXJlY3RfbmV4dDppcyguaCAuaSkpIF0gI3BhcmVudC5jbGFzc0xpc3QucmVtb3ZlKCdoJykgOiBj
aGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnllbGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4
dDppcyguaCAuaSkpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCd5ZWxsb3cnKSA6IGNo
ZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6
aXMoLmggLmkpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgneWVsbG93JykgOiBjaGVj
ayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnB1cnBsZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpp
cyguaiB+IC5rIC5sKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ3B1cnBsZScpIDogY2hl
Y2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnB1cnBsZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpp
cyguaiB+IC5rIC5sKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ3B1cnBsZScpIDogY2hl
Y2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5wdXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6
aXMoLmogfiAuayAubCkpIF0gI3BhcmVudF9wcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdqJykgOiBj
aGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5wdXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6
aXMoLmogfiAuayAubCkpIF0gI3BhcmVudF9wcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdqJykgOiBj
aGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnB1cnBsZTpoYXMofiAjaW5kaXJlY3RfbmV4
dDppcyguaiB+IC5rIC5sKSkgXSAjcGFyZW50X3ByZXZpb3VzLmNsYXNzTGlzdC5yZW1vdmUoJ2on
KSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5wdXJwbGU6aGFzKH4gI2luZGlyZWN0
X25leHQ6aXMoLmogfiAuayAubCkpIF0gI3BhcmVudF9wcmV2aW91cy5jbGFzc0xpc3QucmVtb3Zl
KCdqJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnB1cnBsZTpoYXMofiAjaW5k
aXJlY3RfbmV4dDppcyguaiB+IC5rIC5sKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUo
J3B1cnBsZScpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnB1cnBsZTpoYXMofiAj
aW5kaXJlY3RfbmV4dDppcyguaiB+IC5rIC5sKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1v
dmUoJ3B1cnBsZScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFz
KCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5h
ZGQoJ29yYW5nZScpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLm9yYW5nZTpoYXMo
I2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFk
ZCgnb3JhbmdlJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMo
I2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgn
bScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFu
dDppcyg6aXMoLm0sIC5uKSAubykpIF0gI3BhcmVudC5jbGFzc0xpc3QuYWRkKCdtJykgOiBjaGVj
ayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlz
KC5tLCAubikgLm8pKSBdICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnbScpIDogY2hlY2sgbWF0
Y2hlcyAoZmFsc2UpCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAu
bikgLm8pKSBdICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnbScpIDogY2hlY2sgI2hhc19zY29w
ZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5v
KSkgXSAjcGFyZW50LmNsYXNzTGlzdC5hZGQoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQ
QVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNwYXJl
bnQuY2xhc3NMaXN0LmFkZCgnbicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5v
cmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjcGFyZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5vcmFuZ2U6
aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjcGFyZW50LmNsYXNzTGlzdC5y
ZW1vdmUoJ24nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygj
ZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRk
KCdtJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5k
YW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ20nKSA6
IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpp
cyg6aXMoLm0sIC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdtJykgOiBj
aGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6
aXMoLm0sIC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdtJykgOiBjaGVj
ayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlz
KC5tLCAubikgLm8pKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnbicpIDogY2hlY2sgbWF0
Y2hlcyAodHJ1ZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5u
KSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCduJykgOiBjaGVjayAjaGFzX3Njb3Bl
IGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8p
KSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnbicpIDogY2hlY2sgbWF0Y2hlcyAoZmFs
c2UpCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBd
ICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnbicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xv
cgorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAj
Y2hpbGQuY2xhc3NMaXN0LmFkZCgnbScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAu
b3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykpIF0gI2NoaWxkLmNsYXNz
TGlzdC5hZGQoJ20nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhh
cygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykpIF0gI2NoaWxkLmNsYXNzTGlzdC5yZW1v
dmUoJ20nKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNj
ZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjY2hpbGQuY2xhc3NMaXN0LnJlbW92ZSgnbScp
IDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50
OmlzKDppcygubSwgLm4pIC5vKSkgXSAjY2hpbGQuY2xhc3NMaXN0LmFkZCgnbicpIDogY2hlY2sg
bWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0s
IC5uKSAubykpIF0gI2NoaWxkLmNsYXNzTGlzdC5hZGQoJ24nKSA6IGNoZWNrICNoYXNfc2NvcGUg
Y29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykp
IF0gI2NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQor
UEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjY2hp
bGQuY2xhc3NMaXN0LnJlbW92ZSgnbicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBb
IC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjaGFzX3Njb3Bl
LmNsYXNzTGlzdC5yZW1vdmUoJ29yYW5nZScpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNT
IFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNoYXNfc2Nv
cGUuY2xhc3NMaXN0LnJlbW92ZSgnb3JhbmdlJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaXMtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1p
bi1oYXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaXMtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1p
bi1oYXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRiMDIy
NWViNDI4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaXMtcHNldWRvLWNvbnRh
aW5pbmctY29tcGxleC1pbi1oYXMuaHRtbApAQCAtMCwwICsxLDEyMSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5DU1MgU2VsZWN0b3JzIEludmFs
aWRhdGlvbjogOmlzKCkgaW4gOmhhcygpIGFyZ3VtZW50PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iQnl1bmd3b28gTGVlIiBocmVmPSJibGVlQGlnYWxpYS5jb20iPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvc2VsZWN0b3JzLyNyZWxh
dGlvbmFsIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KK2RpdiB7IGNvbG9yOiBncmV5IH0KKy5yZWQ6aGFzKCNkZXNjZW5kYW50Omlz
KC5hIC5iKSkgeyBjb2xvcjogcmVkIH0KKy5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmMgfiAu
ZCAuZSkpIHsgY29sb3I6IGdyZWVuIH0KKy5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5m
IH4gLmcpKSB7IGNvbG9yOiBibHVlIH0KKy55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMo
LmggLmkpKSB7IGNvbG9yOiB5ZWxsb3cgfQorLnB1cnBsZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpp
cyguaiB+IC5rIC5sKSkgeyBjb2xvcjogcHVycGxlIH0KKy5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50
OmlzKDppcygubSwgLm4pIC5vKSkgeyBjb2xvcjogb3JhbmdlIH0KKzwvc3R5bGU+Cis8ZGl2Pgor
ICA8ZGl2IGlkPSJwYXJlbnRfcHJldmlvdXMiPjwvZGl2PgorICA8ZGl2IGlkPSJwYXJlbnQiIGNs
YXNzPSJkIGsiPgorICAgIDxkaXYgaWQ9InByZXZpb3VzIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJo
YXNfc2NvcGUiIGNsYXNzPSJkIj4KKyAgICAgIDxkaXYgaWQ9ImNoaWxkX3ByZXZpb3VzIj48L2Rp
dj4KKyAgICAgIDxkaXYgaWQ9ImNoaWxkIiBjbGFzcz0iZCI+CisgICAgICAgIDxkaXYgaWQ9ImRl
c2NlbmRhbnQiIGNsYXNzPSJiIGUgbyI+PC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4K
KyAgICA8ZGl2IGlkPSJkaXJlY3RfbmV4dCI+PC9kaXY+CisgICAgPGRpdiBpZD0iaW5kaXJlY3Rf
bmV4dCIgY2xhc3M9ImcgaSBsIj48L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Citj
b25zdCBncmV5ID0gInJnYigxMjgsIDEyOCwgMTI4KSI7Citjb25zdCByZWQgPSAicmdiKDI1NSwg
MCwgMCkiOworY29uc3QgZ3JlZW4gPSAicmdiKDAsIDEyOCwgMCkiOworY29uc3QgYmx1ZSA9ICJy
Z2IoMCwgMCwgMjU1KSI7Citjb25zdCB5ZWxsb3cgPSAicmdiKDI1NSwgMjU1LCAwKSI7Citjb25z
dCBwdXJwbGUgPSAicmdiKDEyOCwgMCwgMTI4KSI7Citjb25zdCBvcmFuZ2UgPSAicmdiKDI1NSwg
MTY1LCAwKSI7CisKK2Z1bmN0aW9uIGNoYW5nZUFuZFRlc3Qob3BlcmF0aW9uLCBjbGFzc19uYW1l
LCBlbGVtZW50X2lkLAorICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciwgbWF0Y2hlc19y
ZXN1bHQsIHNjb3BlX2NvbG9yKSB7CisgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoZWxlbWVudF9pZCk7CisgIGFzc2VydF9lcXVhbHMoZWxlbWVudCA/IGVsZW1lbnQuaWQg
OiAiIiwgZWxlbWVudF9pZCk7CisgIGxldCBtZXNzYWdlX3ByZWZpeCA9IFsKKyAgICAgICJbIiwg
c2VsZWN0b3IsICJdIiwKKyAgICAgIFsiIyIsIGVsZW1lbnQuaWQsICIuY2xhc3NMaXN0LiIsIG9w
ZXJhdGlvbiwgIignIiwgY2xhc3NfbmFtZSwgIicpIl0uam9pbigiIiksCisgICAgICAiOiAiXS5q
b2luKCIgIik7CisgIGlmIChvcGVyYXRpb24gPT0gImFkZCIpIHsKKyAgICBlbGVtZW50LmNsYXNz
TGlzdC5hZGQoY2xhc3NfbmFtZSk7CisgIH0gZWxzZSB7CisgICAgYXNzZXJ0X2VxdWFscyhvcGVy
YXRpb24sICJyZW1vdmUiKTsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NfbmFt
ZSk7CisgIH0KKyAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoaGFzX3Nj
b3BlLm1hdGNoZXMoc2VsZWN0b3IpLCBtYXRjaGVzX3Jlc3VsdCk7CisgIH0sIG1lc3NhZ2VfcHJl
Zml4ICsgImNoZWNrIG1hdGNoZXMgKCIgKyBtYXRjaGVzX3Jlc3VsdCArICIpIik7CisgIHRlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaGFzX3Nj
b3BlKS5jb2xvciwgc2NvcGVfY29sb3IpOworICB9LCBtZXNzYWdlX3ByZWZpeCArICJjaGVjayAj
aGFzX3Njb3BlIGNvbG9yIik7Cit9CisKK2Fzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSho
YXNfc2NvcGUpLmNvbG9yLCBncmV5KTsKKworbGV0IHNlbGVjdG9yID0gIi5yZWQ6aGFzKCNkZXNj
ZW5kYW50OmlzKC5hIC5iKSkiOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgInJlZCIsICJoYXNfc2Nv
cGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImEiLCAi
cGFyZW50Iiwgc2VsZWN0b3IsIHRydWUsIHJlZCk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAi
YSIsICJwYXJlbnQiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgiYWRk
IiwgImEiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIHRydWUsIHJlZCk7CitjaGFuZ2VBbmRUZXN0
KCJyZW1vdmUiLCAiYSIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hh
bmdlQW5kVGVzdCgiYWRkIiwgImEiLCAiY2hpbGQiLCBzZWxlY3RvciwgdHJ1ZSwgcmVkKTsKK2No
YW5nZUFuZFRlc3QoInJlbW92ZSIsICJhIiwgImNoaWxkIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5
KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJyZWQiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3Is
IGZhbHNlLCBncmV5KTsKKworc2VsZWN0b3IgPSAiLmdyZWVuOmhhcygjZGVzY2VuZGFudDppcygu
YyB+IC5kIC5lKSkiOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImdyZWVuIiwgImhhc19zY29wZSIs
IHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAiYyIsICJwYXJl
bnRfcHJldmlvdXMiLCBzZWxlY3RvciwgdHJ1ZSwgZ3JlZW4pOworY2hhbmdlQW5kVGVzdCgicmVt
b3ZlIiwgImMiLCAicGFyZW50X3ByZXZpb3VzIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2No
YW5nZUFuZFRlc3QoImFkZCIsICJjIiwgInByZXZpb3VzIiwgc2VsZWN0b3IsIHRydWUsIGdyZWVu
KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJjIiwgInByZXZpb3VzIiwgc2VsZWN0b3IsIGZh
bHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJjIiwgImNoaWxkX3ByZXZpb3VzIiwg
c2VsZWN0b3IsIHRydWUsIGdyZWVuKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJjIiwgImNo
aWxkX3ByZXZpb3VzIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJl
bW92ZSIsICJncmVlbiIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworCitz
ZWxlY3RvciA9ICIuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkiOworY2hh
bmdlQW5kVGVzdCgiYWRkIiwgImJsdWUiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBn
cmV5KTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJmIiwgInByZXZpb3VzIiwgc2VsZWN0b3IsIHRy
dWUsIGJsdWUpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImYiLCAicHJldmlvdXMiLCBzZWxl
Y3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImYiLCAiaGFzX3Njb3Bl
Iiwgc2VsZWN0b3IsIHRydWUsIGJsdWUpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImYiLCAi
aGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoImFkZCIs
ICJmIiwgImRpcmVjdF9uZXh0Iiwgc2VsZWN0b3IsIHRydWUsIGJsdWUpOworY2hhbmdlQW5kVGVz
dCgicmVtb3ZlIiwgImYiLCAiZGlyZWN0X25leHQiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOwor
Y2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImJsdWUiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZh
bHNlLCBncmV5KTsKKworc2VsZWN0b3IgPSAiLnllbGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4dDpp
cyguaCAuaSkpIgorY2hhbmdlQW5kVGVzdCgiYWRkIiwgInllbGxvdyIsICJoYXNfc2NvcGUiLCBz
ZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImgiLCAicGFyZW50
Iiwgc2VsZWN0b3IsIHRydWUsIHllbGxvdyk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAiaCIs
ICJwYXJlbnQiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgicmVtb3Zl
IiwgInllbGxvdyIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworCitzZWxl
Y3RvciA9ICIucHVycGxlOmhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5qIH4gLmsgLmwpKSIKK2No
YW5nZUFuZFRlc3QoImFkZCIsICJwdXJwbGUiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNl
LCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJqIiwgInBhcmVudF9wcmV2aW91cyIsIHNl
bGVjdG9yLCB0cnVlLCBwdXJwbGUpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImoiLCAicGFy
ZW50X3ByZXZpb3VzIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJl
bW92ZSIsICJwdXJwbGUiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKKwor
c2VsZWN0b3IgPSAiLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSI7
CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAib3JhbmdlIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBm
YWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAibSIsICJwYXJlbnQiLCBzZWxlY3Rv
ciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJtIiwgInBhcmVudCIs
IHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAibiIsICJwYXJl
bnQiLCBzZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJu
IiwgInBhcmVudCIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQi
LCAibSIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRl
c3QoInJlbW92ZSIsICJtIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7Citj
aGFuZ2VBbmRUZXN0KCJhZGQiLCAibiIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgdHJ1ZSwgb3Jh
bmdlKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJuIiwgImhhc19zY29wZSIsIHNlbGVjdG9y
LCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAibSIsICJjaGlsZCIsIHNlbGVj
dG9yLCB0cnVlLCBvcmFuZ2UpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgIm0iLCAiY2hpbGQi
LCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgIm4iLCAiY2hp
bGQiLCBzZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJu
IiwgImNoaWxkIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92
ZSIsICJvcmFuZ2UiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKKzwvc2Ny
aXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbGluay1wc2V1ZG8taW4taGFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbGluay1w
c2V1ZG8taW4taGFzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAuLjljMTI2ZTkzZjgyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24v
bGluay1wc2V1ZG8taW4taGFzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBD
U1MgU2VsZWN0b3JzIEludmFsaWRhdGlvbjogOmxpbmssIDp2aXNpdGVkIDphbnktbGluaywgcHNl
dWRvLWNsYXNzIGluIDpoYXMoKSBhcmd1bWVudAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9u
L2xpbmstcHNldWRvLWluLWhhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9saW5rLXBzZXVkby1pbi1o
YXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjBmZjg3OTc2
OGI3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbGluay1wc2V1ZG8taW4taGFz
Lmh0bWwKQEAgLTAsMCArMSw5NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KKzx0aXRsZT5DU1MgU2VsZWN0b3JzIEludmFsaWRhdGlvbjogOmxpbmssIDp2aXNp
dGVkIDphbnktbGluaywgcHNldWRvLWNsYXNzIGluIDpoYXMoKSBhcmd1bWVudDwvdGl0bGU+Cis8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkJ5dW5nd29vIExlZSIgaHJlZj0iYmxlZUBpZ2FsaWEu
Y29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3Nl
bGVjdG9ycy8jcmVsYXRpb25hbCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICNwYXJlbnQgeyBjb2xvcjogYmx1ZTsgfQorICAj
Z3JhbmRwYXJlbnQgeyBjb2xvcjogYmx1ZTsgfQorICAjcGFyZW50Omhhcyg+IDpub3QoOmxpbmsp
KSB7IGNvbG9yOiBncmV5OyB9CisgICNwYXJlbnQ6aGFzKD4gOmxpbmspIHsgY29sb3I6IGdyZWVu
OyB9CisgICNwYXJlbnQ6aGFzKD4gOnZpc2l0ZWQpIHsgY29sb3I6IHJlZDsgfQorICAjZ3JhbmRw
YXJlbnQ6aGFzKDpub3QoOmFueS1saW5rKSkgeyBjb2xvcjogZ3JleTsgfQorICAjZ3JhbmRwYXJl
bnQ6aGFzKDphbnktbGluaykgeyBjb2xvcjogZ3JlZW47IH0KKzwvc3R5bGU+Cis8ZGl2IGlkPSJn
cmFuZHBhcmVudCI+PC9kaXY+Cis8c2NyaXB0PgorICBjb25zdCBCTFVFID0gInJnYigwLCAwLCAy
NTUpIjsKKyAgY29uc3QgR1JFWSA9ICJyZ2IoMTI4LCAxMjgsIDEyOCkiOworICBjb25zdCBHUkVF
TiA9ICJyZ2IoMCwgMTI4LCAwKSI7CisgIGNvbnN0IFJFRCA9ICJyZ2IoMjU1LCAwLCAwKSI7CisK
KyAgZnVuY3Rpb24gY2hlY2tDb2xvcihpZCwgY29sb3IsIHRhcmdldF9tYXRjaGVzKSB7CisgICAg
bGV0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CisgICAgbGV0IG1lc3Nh
Z2UgPSBbImxvY2F0aW9uLmhhc2ggPT0iLCBsb2NhdGlvbi5oYXNoLCAiOiAjIiArIGlkLCAic2hv
dWxkIGJlIiwKKyAgICAgICAgICAgICAgICAgICBjb2xvciwgKHRhcmdldF9tYXRjaGVzID8gIndp
dGgiIDogIndpdGhvdXQiKSwKKyAgICAgICAgICAgICAgICAgICAiOnRhcmdldCJdLmpvaW4oIiAi
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuY29sb3IsIGNv
bG9yLCBtZXNzYWdlKTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGdyYW5kcGFyZW50KS5jb2xvciwgQkxVRSwK
KyAgICAgICAgICAgICAgICAgICJncmFuZHBhcmVudCBzaG91bGQgYmUgYmx1ZSB3aXRob3V0IGFu
eSBlbGVtZW50Iik7CisKKyAgICBsZXQgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgcGFyZW50LmlkID0gInBhcmVudCI7CisgICAgZ3JhbmRwYXJlbnQuYXBwZW5k
Q2hpbGQocGFyZW50KTsKKworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShncmFu
ZHBhcmVudCkuY29sb3IsIEdSRVksCisgICAgICAgICAgICAgICAgICAiZ3JhbmRwYXJlbnQgc2hv
dWxkIGJlIGdyZXkgYWZ0ZXIgcGFyZW50IGFkZGVkIik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKHBhcmVudCkuY29sb3IsIEJMVUUsCisgICAgICAgICAgICAgICAgICAicGFy
ZW50IHNob3VsZCBiZSBibHVlIHdpdGhvdXQgYW55IGxpbmsiKTsKKworICAgIGxldCBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoZGl2
KTsKKworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShncmFuZHBhcmVudCkuY29s
b3IsIEdSRVksCisgICAgICAgICAgICAgICAgICAiZ3JhbmRwYXJlbnQgc2hvdWxkIGJlIGdyZXkg
YWZ0ZXIgZGl2IGFkZGVkIik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHBh
cmVudCkuY29sb3IsIEdSRVksCisgICAgICAgICAgICAgICAgICAicGFyZW50IHNob3VsZCBiZSBn
cmV5IGFmdGVyIGRpdiBhZGRlZCIpOworCisgICAgbGV0IHZpc2l0ZWQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJhIik7CisgICAgdmlzaXRlZC5ocmVmID0gIiI7CisgICAgcGFyZW50LmFwcGVu
ZENoaWxkKHZpc2l0ZWQpOworCisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGdy
YW5kcGFyZW50KS5jb2xvciwgR1JFRU4sCisgICAgICAgICAgICAgICAgICAiZ3JhbmRwYXJlbnQg
c2hvdWxkIGJlIGdyZWVuIGFmdGVyIHZpc2l0ZWQgbGluayBhZGRlZCIpOworICAgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpLmNvbG9yLCBHUkVFTiwKKyAgICAgICAgICAg
ICAgICAgICJwYXJlbnQgc2hvdWxkIGJlIGdyZWVuIGFmdGVyIHZpc2l0ZWQgbGluayBhZGRlZCIp
OworCisgICAgbGV0IHVudmlzaXRlZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKKyAg
ICB1bnZpc2l0ZWQuaHJlZiA9ICJ1bnZpc2l0ZWQiOworICAgIHBhcmVudC5hcHBlbmRDaGlsZCh1
bnZpc2l0ZWQpOworCisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGdyYW5kcGFy
ZW50KS5jb2xvciwgR1JFRU4sCisgICAgICAgICAgICAgICAgICAiZ3JhbmRwYXJlbnQgc2hvdWxk
IGJlIGdyZWVuIGFmdGVyIHVudmlzaXRlZCBsaW5rIGFkZGVkIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKHBhcmVudCkuY29sb3IsIEdSRUVOLAorICAgICAgICAgICAgICAg
ICAgInBhcmVudCBzaG91bGQgYmUgZ3JlZW4gYWZ0ZXIgdW52aXNpdGVkIGxpbmsgYWRkZWQiKTsK
KworICAgIHVudmlzaXRlZC5yZW1vdmUoKTsKKworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZShncmFuZHBhcmVudCkuY29sb3IsIEdSRUVOLAorICAgICAgICAgICAgICAgICAgImdy
YW5kcGFyZW50IHNob3VsZCBiZSBncmVlbiBhZnRlciB1bnZpc2l0ZWQgbGluayByZW1vdmVkIik7
CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHBhcmVudCkuY29sb3IsIEdSRUVO
LAorICAgICAgICAgICAgICAgICAgInBhcmVudCBzaG91bGQgYmUgYmx1ZSBhZnRlciB1bnZpc2l0
ZWQgbGluayByZW1vdmVkIik7CisKKyAgICB2aXNpdGVkLnJlbW92ZSgpOworCisgICAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGdyYW5kcGFyZW50KS5jb2xvciwgR1JFWSwKKyAgICAg
ICAgICAgICAgICAgICJncmFuZHBhcmVudCBzaG91bGQgYmUgZ3JleSBhZnRlciB2aXNpdGVkIGxp
bmsgcmVtb3ZlZCIpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQp
LmNvbG9yLCBHUkVZLAorICAgICAgICAgICAgICAgICAgInBhcmVudCBzaG91bGQgYmUgZ3JleSBh
ZnRlciB2aXNpdGVkIGxpbmsgcmVtb3ZlZCIpOworCisgICAgZGl2LnJlbW92ZSgpOworCisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGdyYW5kcGFyZW50KS5jb2xvciwgR1JFWSwK
KyAgICAgICAgICAgICAgICAgICJncmFuZHBhcmVudCBzaG91bGQgYmUgZ3JleSBhZnRlciBkaXYg
cmVtb3ZlZCIpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpLmNv
bG9yLCBCTFVFLAorICAgICAgICAgICAgICAgICAgInBhcmVudCBzaG91bGQgYmUgYmx1ZSBhZnRl
ciBkaXYgcmVtb3ZlZCIpOworCisgICAgcGFyZW50LnJlbW92ZSgpOworCisgICAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKGdyYW5kcGFyZW50KS5jb2xvciwgQkxVRSwKKyAgICAgICAg
ICAgICAgICAgICJncmFuZHBhcmVudCBzaG91bGQgYmUgYmx1ZSBhZnRlciBwYXJlbnQgcmVtb3Zl
ZCIpOworICB9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtcHNl
dWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1oYXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlv
bi9ub3QtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1oYXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNWFjNDY5YjkzNTMxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1p
bi1oYXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOTQgQEAKKworUEFTUyBbIC5yZWQ6aGFzKCNk
ZXNjZW5kYW50Om5vdCguYSAuYikpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdyZWQnKSA6
IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5h
IC5iKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ3JlZCcpIDogY2hlY2sgI2hhc19zY29w
ZSBjb2xvcgorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50Om5vdCguYSAuYikpIF0gI3BhcmVu
dC5jbGFzc0xpc3QuYWRkKCdhJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAucmVk
OmhhcygjZGVzY2VuZGFudDpub3QoLmEgLmIpKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgnYScp
IDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50Om5v
dCguYSAuYikpIF0gI3BhcmVudC5jbGFzc0xpc3QucmVtb3ZlKCdhJykgOiBjaGVjayBtYXRjaGVz
ICh0cnVlKQorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50Om5vdCguYSAuYikpIF0gI3BhcmVu
dC5jbGFzc0xpc3QucmVtb3ZlKCdhJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsg
LnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5h
ZGQoJ2EnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5k
YW50Om5vdCguYSAuYikpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdhJykgOiBjaGVjayAj
aGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkg
XSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ2EnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUp
CitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkgXSAjaGFzX3Njb3BlLmNs
YXNzTGlzdC5yZW1vdmUoJ2EnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAucmVk
OmhhcygjZGVzY2VuZGFudDpub3QoLmEgLmIpKSBdICNjaGlsZC5jbGFzc0xpc3QuYWRkKCdhJykg
OiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDpub3Qo
LmEgLmIpKSBdICNjaGlsZC5jbGFzc0xpc3QuYWRkKCdhJykgOiBjaGVjayAjaGFzX3Njb3BlIGNv
bG9yCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkgXSAjY2hpbGQuY2xh
c3NMaXN0LnJlbW92ZSgnYScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAucmVkOmhh
cygjZGVzY2VuZGFudDpub3QoLmEgLmIpKSBdICNjaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCdhJykg
OiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90
KC5hIC5iKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ3JlZCcpIDogY2hlY2sgbWF0
Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkgXSAj
aGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ3JlZCcpIDogY2hlY2sgI2hhc19zY29wZSBjb2xv
cgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQgLmUpKSBdICNoYXNf
c2NvcGUuY2xhc3NMaXN0LmFkZCgnZ3JlZW4nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNT
IFsgLmdyZWVuOmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAuZSkpIF0gI2hhc19zY29wZS5j
bGFzc0xpc3QuYWRkKCdncmVlbicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5n
cmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQgLmUpKSBdICNwYXJlbnRfcHJldmlvdXMu
Y2xhc3NMaXN0LmFkZCgnYycpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmdyZWVu
OmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAuZSkpIF0gI3BhcmVudF9wcmV2aW91cy5jbGFz
c0xpc3QuYWRkKCdjJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmdyZWVuOmhh
cygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAuZSkpIF0gI3BhcmVudF9wcmV2aW91cy5jbGFzc0xp
c3QucmVtb3ZlKCdjJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5ncmVlbjpoYXMo
I2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQgLmUpKSBdICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0
LnJlbW92ZSgnYycpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ncmVlbjpoYXMo
I2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQgLmUpKSBdICNwcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdj
JykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50
Om5vdCguYyB+IC5kIC5lKSkgXSAjcHJldmlvdXMuY2xhc3NMaXN0LmFkZCgnYycpIDogY2hlY2sg
I2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4g
LmQgLmUpKSBdICNwcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVjayBtYXRjaGVz
ICh0cnVlKQorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQgLmUpKSBd
ICNwcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9y
CitQQVNTIFsgLmdyZWVuOmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAuZSkpIF0gI2NoaWxk
X3ByZXZpb3VzLmNsYXNzTGlzdC5hZGQoJ2MnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFT
UyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQgLmUpKSBdICNjaGlsZF9wcmV2
aW91cy5jbGFzc0xpc3QuYWRkKCdjJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsg
LmdyZWVuOmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAuZSkpIF0gI2NoaWxkX3ByZXZpb3Vz
LmNsYXNzTGlzdC5yZW1vdmUoJ2MnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLmdy
ZWVuOmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAuZSkpIF0gI2NoaWxkX3ByZXZpb3VzLmNs
YXNzTGlzdC5yZW1vdmUoJ2MnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuZ3Jl
ZW46aGFzKCNkZXNjZW5kYW50Om5vdCguYyB+IC5kIC5lKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlz
dC5yZW1vdmUoJ2dyZWVuJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAuZ3JlZW46
aGFzKCNkZXNjZW5kYW50Om5vdCguYyB+IC5kIC5lKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5y
ZW1vdmUoJ2dyZWVuJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmJsdWU6aGFz
KH4gI2luZGlyZWN0X25leHQ6bm90KC5mIH4gLmcpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFk
ZCgnYmx1ZScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAuYmx1ZTpoYXMofiAjaW5k
aXJlY3RfbmV4dDpub3QoLmYgfiAuZykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdibHVl
JykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0
X25leHQ6bm90KC5mIH4gLmcpKSBdICNwcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdmJykgOiBjaGVj
ayBtYXRjaGVzIChmYWxzZSkKK0ZBSUwgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3Qo
LmYgfiAuZykpIF0gI3ByZXZpb3VzLmNsYXNzTGlzdC5hZGQoJ2YnKSA6IGNoZWNrICNoYXNfc2Nv
cGUgY29sb3IgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0
IGdvdCAicmdiKDAsIDAsIDI1NSkiCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6
bm90KC5mIH4gLmcpKSBdICNwcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdmJykgOiBjaGVjayBt
YXRjaGVzICh0cnVlKQorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+
IC5nKSkgXSAjcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92ZSgnZicpIDogY2hlY2sgI2hhc19zY29w
ZSBjb2xvcgorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+IC5nKSkg
XSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ2YnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQor
RkFJTCBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+IC5nKSkgXSAjaGFzX3Nj
b3BlLmNsYXNzTGlzdC5hZGQoJ2YnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDAsIDAsIDI1
NSkiCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5mIH4gLmcpKSBdICNo
YXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnZicpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BB
U1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmYgfiAuZykpIF0gI2hhc19zY29w
ZS5jbGFzc0xpc3QucmVtb3ZlKCdmJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsg
LmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5mIH4gLmcpKSBdICNkaXJlY3RfbmV4dC5j
bGFzc0xpc3QuYWRkKCdmJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAuYmx1ZTpo
YXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmYgfiAuZykpIF0gI2RpcmVjdF9uZXh0LmNsYXNzTGlz
dC5hZGQoJ2YnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuYmx1ZTpoYXMofiAj
aW5kaXJlY3RfbmV4dDpub3QoLmYgfiAuZykpIF0gI2RpcmVjdF9uZXh0LmNsYXNzTGlzdC5yZW1v
dmUoJ2YnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGly
ZWN0X25leHQ6bm90KC5mIH4gLmcpKSBdICNkaXJlY3RfbmV4dC5jbGFzc0xpc3QucmVtb3ZlKCdm
JykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0
X25leHQ6bm90KC5mIH4gLmcpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnYmx1ZScp
IDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25l
eHQ6bm90KC5mIH4gLmcpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnYmx1ZScpIDog
Y2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25l
eHQ6bm90KC5oIC5pKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ3llbGxvdycpIDogY2hl
Y2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAueWVsbG93Omhhcyh+ICNpbmRpcmVjdF9uZXh0Om5v
dCguaCAuaSkpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCd5ZWxsb3cnKSA6IGNoZWNrICNo
YXNfc2NvcGUgY29sb3IKK1BBU1MgWyAueWVsbG93Omhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCgu
aCAuaSkpIF0gI3BhcmVudC5jbGFzc0xpc3QuYWRkKCdoJykgOiBjaGVjayBtYXRjaGVzIChmYWxz
ZSkKK1BBU1MgWyAueWVsbG93Omhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguaCAuaSkpIF0gI3Bh
cmVudC5jbGFzc0xpc3QuYWRkKCdoJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsg
LnllbGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmggLmkpKSBdICNwYXJlbnQuY2xhc3NM
aXN0LnJlbW92ZSgnaCcpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAueWVsbG93Omhh
cyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguaCAuaSkpIF0gI3BhcmVudC5jbGFzc0xpc3QucmVtb3Zl
KCdoJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnllbGxvdzpoYXMofiAjaW5k
aXJlY3RfbmV4dDpub3QoLmggLmkpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgneWVs
bG93JykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAueWVsbG93Omhhcyh+ICNpbmRp
cmVjdF9uZXh0Om5vdCguaCAuaSkpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCd5ZWxs
b3cnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAucHVycGxlOmhhcyh+ICNpbmRp
cmVjdF9uZXh0Om5vdCguaiB+IC5rIC5sKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ3B1
cnBsZScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAucHVycGxlOmhhcyh+ICNpbmRp
cmVjdF9uZXh0Om5vdCguaiB+IC5rIC5sKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ3B1
cnBsZScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5wdXJwbGU6aGFzKH4gI2lu
ZGlyZWN0X25leHQ6bm90KC5qIH4gLmsgLmwpKSBdICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0
LmFkZCgnaicpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnB1cnBsZTpoYXMofiAj
aW5kaXJlY3RfbmV4dDpub3QoLmogfiAuayAubCkpIF0gI3BhcmVudF9wcmV2aW91cy5jbGFzc0xp
c3QuYWRkKCdqJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnB1cnBsZTpoYXMo
fiAjaW5kaXJlY3RfbmV4dDpub3QoLmogfiAuayAubCkpIF0gI3BhcmVudF9wcmV2aW91cy5jbGFz
c0xpc3QucmVtb3ZlKCdqJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5wdXJwbGU6
aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5qIH4gLmsgLmwpKSBdICNwYXJlbnRfcHJldmlvdXMu
Y2xhc3NMaXN0LnJlbW92ZSgnaicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5w
dXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5qIH4gLmsgLmwpKSBdICNoYXNfc2NvcGUu
Y2xhc3NMaXN0LnJlbW92ZSgncHVycGxlJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1Mg
WyAucHVycGxlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguaiB+IC5rIC5sKSkgXSAjaGFzX3Nj
b3BlLmNsYXNzTGlzdC5yZW1vdmUoJ3B1cnBsZScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgor
UEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjaGFz
X3Njb3BlLmNsYXNzTGlzdC5hZGQoJ29yYW5nZScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BB
U1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAubykpIF0gI2hhc19z
Y29wZS5jbGFzc0xpc3QuYWRkKCdvcmFuZ2UnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BB
U1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAubykpIF0gI3BhcmVu
dC5jbGFzc0xpc3QuYWRkKCdtJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAub3Jh
bmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAubykpIF0gI3BhcmVudC5jbGFzc0xp
c3QuYWRkKCdtJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMo
I2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgn
bicpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFu
dDpub3QoLm06bm90KC5uKSAubykpIF0gI3BhcmVudC5jbGFzc0xpc3QuYWRkKCduJykgOiBjaGVj
ayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5t
Om5vdCgubikgLm8pKSBdICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnbicpIDogY2hlY2sgbWF0
Y2hlcyAoZmFsc2UpCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgu
bikgLm8pKSBdICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnbicpIDogY2hlY2sgI2hhc19zY29w
ZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5v
KSkgXSAjcGFyZW50LmNsYXNzTGlzdC5yZW1vdmUoJ20nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUp
CitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNw
YXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnbScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFT
UyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjaGFzX3Nj
b3BlLmNsYXNzTGlzdC5hZGQoJ20nKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5v
cmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNs
YXNzTGlzdC5hZGQoJ20nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3Jhbmdl
OmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xp
c3QuYWRkKCduJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNk
ZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQo
J24nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2Vu
ZGFudDpub3QoLm06bm90KC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdu
JykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFu
dDpub3QoLm06bm90KC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCduJykg
OiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6
bm90KC5tOm5vdCgubikgLm8pKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnbScpIDog
Y2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3Qo
Lm06bm90KC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdtJykgOiBjaGVj
ayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5t
Om5vdCgubikgLm8pKSBdICNjaGlsZC5jbGFzc0xpc3QuYWRkKCdtJykgOiBjaGVjayBtYXRjaGVz
IChmYWxzZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAu
bykpIF0gI2NoaWxkLmNsYXNzTGlzdC5hZGQoJ20nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IK
K1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAubykpIF0gI2No
aWxkLmNsYXNzTGlzdC5hZGQoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLm9y
YW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNjaGlsZC5jbGFzc0xp
c3QuYWRkKCduJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMo
I2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNjaGlsZC5jbGFzc0xpc3QucmVtb3Zl
KCduJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2Vu
ZGFudDpub3QoLm06bm90KC5uKSAubykpIF0gI2NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ24nKSA6
IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpu
b3QoLm06bm90KC5uKSAubykpIF0gI2NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ20nKSA6IGNoZWNr
IG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5v
dCgubikgLm8pKSBdICNjaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCdtJykgOiBjaGVjayAjaGFzX3Nj
b3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikg
Lm8pKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnb3JhbmdlJykgOiBjaGVjayBtYXRj
aGVzIChmYWxzZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5u
KSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdvcmFuZ2UnKSA6IGNoZWNrICNo
YXNfc2NvcGUgY29sb3IKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtcHNldWRvLWNv
bnRhaW5pbmctY29tcGxleC1pbi1oYXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbm90LXBzZXVkby1j
b250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi5iOTliMzA5ZWZkOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0
aW9uL25vdC1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy5odG1sCkBAIC0wLDAgKzEs
MTIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxl
PkNTUyBTZWxlY3RvcnMgSW52YWxpZGF0aW9uOiA6bm90KCZsdDtjb21wbGV4LXNlbGVjdG9yJmd0
OykgaW4gOmhhcygpIGFyZ3VtZW50IChjb21wbGV4IHNlbGVjdG9yKTwvdGl0bGU+Cis8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9IkJ5dW5nd29vIExlZSIgaHJlZj0iYmxlZUBpZ2FsaWEuY29tIj4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3NlbGVjdG9y
cy8jcmVsYXRpb25hbCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitkaXYgeyBjb2xvcjogZ3JleSB9CisucmVkOmhhcygjZGVzY2Vu
ZGFudDpub3QoLmEgLmIpKSB7IGNvbG9yOiByZWQgfQorLmdyZWVuOmhhcygjZGVzY2VuZGFudDpu
b3QoLmMgfiAuZCAuZSkpIHsgY29sb3I6IGdyZWVuIH0KKy5ibHVlOmhhcyh+ICNpbmRpcmVjdF9u
ZXh0Om5vdCguZiB+IC5nKSkgeyBjb2xvcjogYmx1ZSB9CisueWVsbG93Omhhcyh+ICNpbmRpcmVj
dF9uZXh0Om5vdCguaCAuaSkpIHsgY29sb3I6IHllbGxvdyB9CisucHVycGxlOmhhcyh+ICNpbmRp
cmVjdF9uZXh0Om5vdCguaiB+IC5rIC5sKSkgeyBjb2xvcjogcHVycGxlIH0KKy5vcmFuZ2U6aGFz
KCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgeyBjb2xvcjogb3JhbmdlIH0KKzwvc3R5
bGU+Cis8ZGl2PgorICA8ZGl2IGlkPSJwYXJlbnRfcHJldmlvdXMiPjwvZGl2PgorICA8ZGl2IGlk
PSJwYXJlbnQiIGNsYXNzPSJkIGsiPgorICAgIDxkaXYgaWQ9InByZXZpb3VzIj48L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJoYXNfc2NvcGUiIGNsYXNzPSJkIj4KKyAgICAgIDxkaXYgaWQ9ImNoaWxkX3By
ZXZpb3VzIj48L2Rpdj4KKyAgICAgIDxkaXYgaWQ9ImNoaWxkIiBjbGFzcz0iZCI+CisgICAgICAg
IDxkaXYgaWQ9ImRlc2NlbmRhbnQiIGNsYXNzPSJiIGUgbyI+PC9kaXY+CisgICAgICA8L2Rpdj4K
KyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJkaXJlY3RfbmV4dCI+PC9kaXY+CisgICAgPGRpdiBp
ZD0iaW5kaXJlY3RfbmV4dCIgY2xhc3M9ImcgaSBsIj48L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4K
KzxzY3JpcHQ+Citjb25zdCBncmV5ID0gInJnYigxMjgsIDEyOCwgMTI4KSI7Citjb25zdCByZWQg
PSAicmdiKDI1NSwgMCwgMCkiOworY29uc3QgZ3JlZW4gPSAicmdiKDAsIDEyOCwgMCkiOworY29u
c3QgYmx1ZSA9ICJyZ2IoMCwgMCwgMjU1KSI7Citjb25zdCB5ZWxsb3cgPSAicmdiKDI1NSwgMjU1
LCAwKSI7Citjb25zdCBwdXJwbGUgPSAicmdiKDEyOCwgMCwgMTI4KSI7Citjb25zdCBvcmFuZ2Ug
PSAicmdiKDI1NSwgMTY1LCAwKSI7CisKK2Z1bmN0aW9uIGNoYW5nZUFuZFRlc3Qob3BlcmF0aW9u
LCBjbGFzc19uYW1lLCBlbGVtZW50X2lkLAorICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rv
ciwgbWF0Y2hlc19yZXN1bHQsIHNjb3BlX2NvbG9yKSB7CisgIGxldCBlbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudF9pZCk7CisgIGFzc2VydF9lcXVhbHMoZWxlbWVudCA/
IGVsZW1lbnQuaWQgOiAiIiwgZWxlbWVudF9pZCk7CisgIGxldCBtZXNzYWdlX3ByZWZpeCA9IFsK
KyAgICAgICJbIiwgc2VsZWN0b3IsICJdIiwKKyAgICAgIFsiIyIsIGVsZW1lbnQuaWQsICIuY2xh
c3NMaXN0LiIsIG9wZXJhdGlvbiwgIignIiwgY2xhc3NfbmFtZSwgIicpIl0uam9pbigiIiksCisg
ICAgICAiOiAiXS5qb2luKCIgIik7CisgIGlmIChvcGVyYXRpb24gPT0gImFkZCIpIHsKKyAgICBl
bGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NfbmFtZSk7CisgIH0gZWxzZSB7CisgICAgYXNzZXJ0
X2VxdWFscyhvcGVyYXRpb24sICJyZW1vdmUiKTsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1v
dmUoY2xhc3NfbmFtZSk7CisgIH0KKyAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF9l
cXVhbHMoaGFzX3Njb3BlLm1hdGNoZXMoc2VsZWN0b3IpLCBtYXRjaGVzX3Jlc3VsdCk7CisgIH0s
IG1lc3NhZ2VfcHJlZml4ICsgImNoZWNrIG1hdGNoZXMgKCIgKyBtYXRjaGVzX3Jlc3VsdCArICIp
Iik7CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoaGFzX3Njb3BlKS5jb2xvciwgc2NvcGVfY29sb3IpOworICB9LCBtZXNzYWdlX3ByZWZp
eCArICJjaGVjayAjaGFzX3Njb3BlIGNvbG9yIik7Cit9CisKK2Fzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShoYXNfc2NvcGUpLmNvbG9yLCBncmV5KTsKKworbGV0IHNlbGVjdG9yID0gIi5y
ZWQ6aGFzKCNkZXNjZW5kYW50Om5vdCguYSAuYikpIjsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJy
ZWQiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIHRydWUsIHJlZCk7CitjaGFuZ2VBbmRUZXN0KCJh
ZGQiLCAiYSIsICJwYXJlbnQiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVz
dCgicmVtb3ZlIiwgImEiLCAicGFyZW50Iiwgc2VsZWN0b3IsIHRydWUsIHJlZCk7CitjaGFuZ2VB
bmRUZXN0KCJhZGQiLCAiYSIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOwor
Y2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImEiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIHRydWUs
IHJlZCk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAiYSIsICJjaGlsZCIsIHNlbGVjdG9yLCBmYWxz
ZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAiYSIsICJjaGlsZCIsIHNlbGVjdG9y
LCB0cnVlLCByZWQpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgInJlZCIsICJoYXNfc2NvcGUi
LCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworCitzZWxlY3RvciA9ICIuZ3JlZW46aGFzKCNkZXNj
ZW5kYW50Om5vdCguYyB+IC5kIC5lKSkiOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImdyZWVuIiwg
Imhhc19zY29wZSIsIHNlbGVjdG9yLCB0cnVlLCBncmVlbik7CitjaGFuZ2VBbmRUZXN0KCJhZGQi
LCAiYyIsICJwYXJlbnRfcHJldmlvdXMiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdl
QW5kVGVzdCgicmVtb3ZlIiwgImMiLCAicGFyZW50X3ByZXZpb3VzIiwgc2VsZWN0b3IsIHRydWUs
IGdyZWVuKTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJjIiwgInByZXZpb3VzIiwgc2VsZWN0b3Is
IGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJjIiwgInByZXZpb3VzIiwg
c2VsZWN0b3IsIHRydWUsIGdyZWVuKTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJjIiwgImNoaWxk
X3ByZXZpb3VzIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92
ZSIsICJjIiwgImNoaWxkX3ByZXZpb3VzIiwgc2VsZWN0b3IsIHRydWUsIGdyZWVuKTsKK2NoYW5n
ZUFuZFRlc3QoInJlbW92ZSIsICJncmVlbiIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2Us
IGdyZXkpOworCitzZWxlY3RvciA9ICIuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmYg
fiAuZykpIjsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJibHVlIiwgImhhc19zY29wZSIsIHNlbGVj
dG9yLCB0cnVlLCBibHVlKTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJmIiwgInByZXZpb3VzIiwg
c2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJmIiwgInBy
ZXZpb3VzIiwgc2VsZWN0b3IsIHRydWUsIGJsdWUpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImYi
LCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJl
bW92ZSIsICJmIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCB0cnVlLCBibHVlKTsKK2NoYW5nZUFu
ZFRlc3QoImFkZCIsICJmIiwgImRpcmVjdF9uZXh0Iiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsK
K2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJmIiwgImRpcmVjdF9uZXh0Iiwgc2VsZWN0b3IsIHRy
dWUsIGJsdWUpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImJsdWUiLCAiaGFzX3Njb3BlIiwg
c2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKKworc2VsZWN0b3IgPSAiLnllbGxvdzpoYXMofiAjaW5k
aXJlY3RfbmV4dDpub3QoLmggLmkpKSIKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJ5ZWxsb3ciLCAi
aGFzX3Njb3BlIiwgc2VsZWN0b3IsIHRydWUsIHllbGxvdyk7CitjaGFuZ2VBbmRUZXN0KCJhZGQi
LCAiaCIsICJwYXJlbnQiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgi
cmVtb3ZlIiwgImgiLCAicGFyZW50Iiwgc2VsZWN0b3IsIHRydWUsIHllbGxvdyk7CitjaGFuZ2VB
bmRUZXN0KCJyZW1vdmUiLCAieWVsbG93IiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwg
Z3JleSk7CisKK3NlbGVjdG9yID0gIi5wdXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5q
IH4gLmsgLmwpKSIKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJwdXJwbGUiLCAiaGFzX3Njb3BlIiwg
c2VsZWN0b3IsIHRydWUsIHB1cnBsZSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAiaiIsICJwYXJl
bnRfcHJldmlvdXMiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgicmVt
b3ZlIiwgImoiLCAicGFyZW50X3ByZXZpb3VzIiwgc2VsZWN0b3IsIHRydWUsIHB1cnBsZSk7Citj
aGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAicHVycGxlIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBm
YWxzZSwgZ3JleSk7CisKK3NlbGVjdG9yID0gIi5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgu
bTpub3QoLm4pIC5vKSkiOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgIm9yYW5nZSIsICJoYXNfc2Nv
cGUiLCBzZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJtIiwg
InBhcmVudCIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAi
biIsICJwYXJlbnQiLCBzZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRlc3QoInJl
bW92ZSIsICJuIiwgInBhcmVudCIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRU
ZXN0KCJyZW1vdmUiLCAibSIsICJwYXJlbnQiLCBzZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2No
YW5nZUFuZFRlc3QoImFkZCIsICJtIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwgZ3Jl
eSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAibiIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgdHJ1
ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJuIiwgImhhc19zY29wZSIsIHNl
bGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAibSIsICJoYXNf
c2NvcGUiLCBzZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJt
IiwgImNoaWxkIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoImFkZCIs
ICJuIiwgImNoaWxkIiwgc2VsZWN0b3IsIHRydWUsIG9yYW5nZSk7CitjaGFuZ2VBbmRUZXN0KCJy
ZW1vdmUiLCAibiIsICJjaGlsZCIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRU
ZXN0KCJyZW1vdmUiLCAibSIsICJjaGlsZCIsIHNlbGVjdG9yLCB0cnVlLCBvcmFuZ2UpOworY2hh
bmdlQW5kVGVzdCgicmVtb3ZlIiwgIm9yYW5nZSIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFs
c2UsIGdyZXkpOworPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2Vs
ZWN0b3JzL2ludmFsaWRhdGlvbi90eXBlZC1jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFzc2VzLWlu
LWhhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3R5cGVkLWNoaWxkLWluZGV4ZWQtcHNl
dWRvLWNsYXNzZXMtaW4taGFzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAuLjVmYzQyMTkyYjgzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlk
YXRpb24vdHlwZWQtY2hpbGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTA0IEBACisKK1BBU1MgSW5pdGlhbCBjb2xvcnM6ICNvbmx5X29mX3R5
cGUKK1BBU1MgSW5pdGlhbCBjb2xvcnM6ICNmaXJzdF9vZl90eXBlCitQQVNTIEluaXRpYWwgY29s
b3JzOiAjbGFzdF9vZl90eXBlCitQQVNTIEluaXRpYWwgY29sb3JzOiAjbnRoX29mX3R5cGVfM25f
MQorUEFTUyBJbml0aWFsIGNvbG9yczogI250aF9vZl90eXBlXzNuXzIKK1BBU1MgSW5pdGlhbCBj
b2xvcnM6ICNudGhfb2ZfdHlwZV8zbgorUEFTUyBQcmVwZW5kIHNwYW4gKDEpOiAjb25seV9vZl90
eXBlCitQQVNTIFByZXBlbmQgc3BhbiAoMSk6ICNmaXJzdF9vZl90eXBlCitQQVNTIFByZXBlbmQg
c3BhbiAoMSk6ICNsYXN0X29mX3R5cGUKK1BBU1MgUHJlcGVuZCBzcGFuICgxKTogI250aF9vZl90
eXBlXzNuXzEKK1BBU1MgUHJlcGVuZCBzcGFuICgxKTogI250aF9vZl90eXBlXzNuXzIKK1BBU1Mg
UHJlcGVuZCBzcGFuICgxKTogI250aF9vZl90eXBlXzNuCitQQVNTIFByZXBlbmQgI2RpdjEuZ3Jl
ZW46ICNvbmx5X29mX3R5cGUKK1BBU1MgUHJlcGVuZCAjZGl2MS5ncmVlbjogI2ZpcnN0X29mX3R5
cGUKK1BBU1MgUHJlcGVuZCAjZGl2MS5ncmVlbjogI2xhc3Rfb2ZfdHlwZQorUEFTUyBQcmVwZW5k
ICNkaXYxLmdyZWVuOiAjbnRoX29mX3R5cGVfM25fMQorUEFTUyBQcmVwZW5kICNkaXYxLmdyZWVu
OiAjbnRoX29mX3R5cGVfM25fMgorUEFTUyBQcmVwZW5kICNkaXYxLmdyZWVuOiAjbnRoX29mX3R5
cGVfM24KK1BBU1MgUHJlcGVuZCBzcGFuICgyKTogI29ubHlfb2ZfdHlwZQorUEFTUyBQcmVwZW5k
IHNwYW4gKDIpOiAjZmlyc3Rfb2ZfdHlwZQorUEFTUyBQcmVwZW5kIHNwYW4gKDIpOiAjbGFzdF9v
Zl90eXBlCitQQVNTIFByZXBlbmQgc3BhbiAoMik6ICNudGhfb2ZfdHlwZV8zbl8xCitQQVNTIFBy
ZXBlbmQgc3BhbiAoMik6ICNudGhfb2ZfdHlwZV8zbl8yCitQQVNTIFByZXBlbmQgc3BhbiAoMik6
ICNudGhfb2ZfdHlwZV8zbgorRkFJTCBQcmVwZW5kICNkaXYyLnllbGxvdzogI29ubHlfb2ZfdHlw
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJy
Z2IoMjU1LCAwLCAwKSIKK1BBU1MgUHJlcGVuZCAjZGl2Mi55ZWxsb3c6ICNmaXJzdF9vZl90eXBl
CitQQVNTIFByZXBlbmQgI2RpdjIueWVsbG93OiAjbGFzdF9vZl90eXBlCitQQVNTIFByZXBlbmQg
I2RpdjIueWVsbG93OiAjbnRoX29mX3R5cGVfM25fMQorRkFJTCBQcmVwZW5kICNkaXYyLnllbGxv
dzogI250aF9vZl90eXBlXzNuXzIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgs
IDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitQQVNTIFByZXBlbmQgI2RpdjIueWVs
bG93OiAjbnRoX29mX3R5cGVfM24KK0ZBSUwgUHJlcGVuZCBzcGFuICgzKTogI29ubHlfb2ZfdHlw
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJy
Z2IoMjU1LCAwLCAwKSIKK1BBU1MgUHJlcGVuZCBzcGFuICgzKTogI2ZpcnN0X29mX3R5cGUKK1BB
U1MgUHJlcGVuZCBzcGFuICgzKTogI2xhc3Rfb2ZfdHlwZQorUEFTUyBQcmVwZW5kIHNwYW4gKDMp
OiAjbnRoX29mX3R5cGVfM25fMQorRkFJTCBQcmVwZW5kIHNwYW4gKDMpOiAjbnRoX29mX3R5cGVf
M25fMiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJn
YigxMjgsIDEyOCwgMTI4KSIKK1BBU1MgUHJlcGVuZCBzcGFuICgzKTogI250aF9vZl90eXBlXzNu
CitGQUlMIFByZXBlbmQgI2RpdjMub3JhbmdlOiAjb25seV9vZl90eXBlIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDAsIDApIgor
UEFTUyBQcmVwZW5kICNkaXYzLm9yYW5nZTogI2ZpcnN0X29mX3R5cGUKK1BBU1MgUHJlcGVuZCAj
ZGl2My5vcmFuZ2U6ICNsYXN0X29mX3R5cGUKK1BBU1MgUHJlcGVuZCAjZGl2My5vcmFuZ2U6ICNu
dGhfb2ZfdHlwZV8zbl8xCitGQUlMIFByZXBlbmQgI2RpdjMub3JhbmdlOiAjbnRoX29mX3R5cGVf
M25fMiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAi
cmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVwZW5kICNkaXYzLm9yYW5nZTogI250aF9vZl90
eXBlXzNuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAi
cmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVwZW5kIHNwYW4gKDQpOiAjb25seV9vZl90eXBl
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJn
YigyNTUsIDAsIDApIgorUEFTUyBQcmVwZW5kIHNwYW4gKDQpOiAjZmlyc3Rfb2ZfdHlwZQorUEFT
UyBQcmVwZW5kIHNwYW4gKDQpOiAjbGFzdF9vZl90eXBlCitQQVNTIFByZXBlbmQgc3BhbiAoNCk6
ICNudGhfb2ZfdHlwZV8zbl8xCitGQUlMIFByZXBlbmQgc3BhbiAoNCk6ICNudGhfb2ZfdHlwZV8z
bl8yIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAyNTUsIDApIiBidXQgZ290ICJy
Z2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQgc3BhbiAoNCk6ICNudGhfb2ZfdHlwZV8z
biBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigx
MjgsIDEyOCwgMTI4KSIKK0ZBSUwgUHJlcGVuZCAjZGl2NDogI29ubHlfb2ZfdHlwZSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAw
LCAwKSIKK0ZBSUwgUHJlcGVuZCAjZGl2NDogI2ZpcnN0X29mX3R5cGUgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIK
K1BBU1MgUHJlcGVuZCAjZGl2NDogI2xhc3Rfb2ZfdHlwZQorRkFJTCBQcmVwZW5kICNkaXY0OiAj
bnRoX29mX3R5cGVfM25fMSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCki
IGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitGQUlMIFByZXBlbmQgI2RpdjQ6ICNudGhfb2Zf
dHlwZV8zbl8yIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAxNjUsIDApIiBidXQg
Z290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQgI2RpdjQ6ICNudGhfb2ZfdHlw
ZV8zbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAi
cmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVwZW5kIHNwYW4gKDUpOiAjb25seV9vZl90eXBl
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJn
YigyNTUsIDAsIDApIgorRkFJTCBQcmVwZW5kIHNwYW4gKDUpOiAjZmlyc3Rfb2ZfdHlwZSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1
LCAxNjUsIDApIgorUEFTUyBQcmVwZW5kIHNwYW4gKDUpOiAjbGFzdF9vZl90eXBlCitGQUlMIFBy
ZXBlbmQgc3BhbiAoNSk6ICNudGhfb2ZfdHlwZV8zbl8xIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK0ZBSUwgUHJlcGVu
ZCBzcGFuICg1KTogI250aF9vZl90eXBlXzNuXzIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigyNTUsIDE2NSwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZBSUwgUHJlcGVu
ZCBzcGFuICg1KTogI250aF9vZl90eXBlXzNuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2Io
MjU1LCAyNTUsIDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQg
I2RpdjU6ICNvbmx5X29mX3R5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEy
OCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitGQUlMIFByZXBlbmQgI2RpdjU6ICNm
aXJzdF9vZl90eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCki
IGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFByZXBlbmQgI2RpdjU6ICNsYXN0X29m
X3R5cGUKK0ZBSUwgUHJlcGVuZCAjZGl2NTogI250aF9vZl90eXBlXzNuXzEgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInJnYigyNTUsIDI1NSwgMCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCki
CitGQUlMIFByZXBlbmQgI2RpdjU6ICNudGhfb2ZfdHlwZV8zbl8yIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJ
TCBQcmVwZW5kICNkaXY1OiAjbnRoX29mX3R5cGVfM24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJnYigyNTUsIDE2NSwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZBSUwgUHJl
cGVuZCBzcGFuICg2KTogI29ubHlfb2ZfdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdi
KDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK0ZBSUwgUHJlcGVuZCBz
cGFuICg2KTogI2ZpcnN0X29mX3R5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgs
IDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK1BBU1MgUHJlcGVuZCBzcGFu
ICg2KTogI2xhc3Rfb2ZfdHlwZQorRkFJTCBQcmVwZW5kIHNwYW4gKDYpOiAjbnRoX29mX3R5cGVf
M25fMSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAi
cmdiKDI1NSwgMTY1LCAwKSIKK0ZBSUwgUHJlcGVuZCBzcGFuICg2KTogI250aF9vZl90eXBlXzNu
XzIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2Io
MTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQgc3BhbiAoNik6ICNudGhfb2ZfdHlwZV8zbiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMTY1LCAwKSIgYnV0IGdvdCAicmdiKDEy
OCwgMTI4LCAxMjgpIgorRkFJTCBSZW1vdmUgI2RpdjE6ICNvbmx5X29mX3R5cGUgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwg
MCkiCitGQUlMIFJlbW92ZSAjZGl2MTogI2ZpcnN0X29mX3R5cGUgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK1BB
U1MgUmVtb3ZlICNkaXYxOiAjbGFzdF9vZl90eXBlCitGQUlMIFJlbW92ZSAjZGl2MTogI250aF9v
Zl90eXBlXzNuXzEgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigyNTUsIDI1NSwgMCkiIGJ1
dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAjZGl2MTogI250aF9vZl90eXBl
XzNuXzIKK0ZBSUwgUmVtb3ZlICNkaXYxOiAjbnRoX29mX3R5cGVfM24gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInJnYigyNTUsIDE2NSwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIK
K0ZBSUwgUmVtb3ZlICNkaXYyOiAjb25seV9vZl90eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDAsIDApIgorRkFJTCBSZW1v
dmUgI2RpdjI6ICNmaXJzdF9vZl90eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4
LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAjZGl2
MjogI2xhc3Rfb2ZfdHlwZQorUEFTUyBSZW1vdmUgI2RpdjI6ICNudGhfb2ZfdHlwZV8zbl8xCitQ
QVNTIFJlbW92ZSAjZGl2MjogI250aF9vZl90eXBlXzNuXzIKK0ZBSUwgUmVtb3ZlICNkaXYyOiAj
bnRoX29mX3R5cGVfM24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigyNTUsIDE2NSwgMCki
IGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZBSUwgUmVtb3ZlICNkaXYzOiAjb25seV9v
Zl90eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBn
b3QgInJnYigyNTUsIDAsIDApIgorRkFJTCBSZW1vdmUgI2RpdjM6ICNmaXJzdF9vZl90eXBlIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigy
NTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAjZGl2MzogI2xhc3Rfb2ZfdHlwZQorUEFTUyBSZW1v
dmUgI2RpdjM6ICNudGhfb2ZfdHlwZV8zbl8xCitQQVNTIFJlbW92ZSAjZGl2MzogI250aF9vZl90
eXBlXzNuXzIKK1BBU1MgUmVtb3ZlICNkaXYzOiAjbnRoX29mX3R5cGVfM24KK1BBU1MgUmVtb3Zl
ICNkaXY0OiAjb25seV9vZl90eXBlCitGQUlMIFJlbW92ZSAjZGl2NDogI2ZpcnN0X29mX3R5cGUg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdi
KDI1NSwgMTY1LCAwKSIKK1BBU1MgUmVtb3ZlICNkaXY0OiAjbGFzdF9vZl90eXBlCitQQVNTIFJl
bW92ZSAjZGl2NDogI250aF9vZl90eXBlXzNuXzEKK1BBU1MgUmVtb3ZlICNkaXY0OiAjbnRoX29m
X3R5cGVfM25fMgorUEFTUyBSZW1vdmUgI2RpdjQ6ICNudGhfb2ZfdHlwZV8zbgorUEFTUyBSZW1v
dmUgI2RpdjU6ICNvbmx5X29mX3R5cGUKK0ZBSUwgUmVtb3ZlICNkaXY1OiAjZmlyc3Rfb2ZfdHlw
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJy
Z2IoMjU1LCAxNjUsIDApIgorUEFTUyBSZW1vdmUgI2RpdjU6ICNsYXN0X29mX3R5cGUKK1BBU1Mg
UmVtb3ZlICNkaXY1OiAjbnRoX29mX3R5cGVfM25fMQorUEFTUyBSZW1vdmUgI2RpdjU6ICNudGhf
b2ZfdHlwZV8zbl8yCitQQVNTIFJlbW92ZSAjZGl2NTogI250aF9vZl90eXBlXzNuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3Nl
bGVjdG9ycy9pbnZhbGlkYXRpb24vdHlwZWQtY2hpbGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1p
bi1oYXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdHlwZWQtY2hpbGQtaW5kZXhlZC1wc2V1ZG8tY2xh
c3Nlcy1pbi1oYXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LmIzYTkxZDY3Y2JjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdHlwZWQtY2hp
bGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMuaHRtbApAQCAtMCwwICsxLDEzMSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5DU1MgU2Vs
ZWN0b3JzIEludmFsaWRhdGlvbjogdHlwZWQgY2hpbGQtaW5kZXhlZCBwc2V1ZG8gY2xhc3NlcyBp
biA6aGFzKCkgYXJndW1lbnQ8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJCeXVu
Z3dvbyBMZWUiIGhyZWY9ImJsZWVAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAj
Y29udGFpbmVyIH4gZGl2IHsgY29sb3I6IGdyZXkgfQorICAjY29udGFpbmVyOmhhcyhkaXY6b25s
eS1vZi10eXBlKSB+ICNvbmx5X29mX3R5cGUgeyBjb2xvcjogcmVkIH0KKyAgI2NvbnRhaW5lcjpo
YXMoZGl2Lm9yYW5nZTpmaXJzdC1vZi10eXBlKSB+ICNmaXJzdF9vZl90eXBlIHsgY29sb3I6IG9y
YW5nZSB9CisgICNjb250YWluZXI6aGFzKGRpdi55ZWxsb3c6Zmlyc3Qtb2YtdHlwZSkgfiAjZmly
c3Rfb2ZfdHlwZSB7IGNvbG9yOiB5ZWxsb3cgfQorICAjY29udGFpbmVyOmhhcyhkaXYuZ3JlZW46
Zmlyc3Qtb2YtdHlwZSkgfiAjZmlyc3Rfb2ZfdHlwZSB7IGNvbG9yOiBncmVlbiB9CisgICNjb250
YWluZXI6aGFzKGRpdi5vcmFuZ2U6bGFzdC1vZi10eXBlKSB+ICNsYXN0X29mX3R5cGUgeyBjb2xv
cjogb3JhbmdlIH0KKyAgI2NvbnRhaW5lcjpoYXMoZGl2LnllbGxvdzpsYXN0LW9mLXR5cGUpIH4g
I2xhc3Rfb2ZfdHlwZSB7IGNvbG9yOiB5ZWxsb3cgfQorICAjY29udGFpbmVyOmhhcyhkaXYuZ3Jl
ZW46bGFzdC1vZi10eXBlKSB+ICNsYXN0X29mX3R5cGUgeyBjb2xvcjogZ3JlZW4gfQorICAjY29u
dGFpbmVyOmhhcyhkaXYub3JhbmdlOm50aC1vZi10eXBlKDNuKzEpKSB+ICNudGhfb2ZfdHlwZV8z
bl8xIHsgY29sb3I6IG9yYW5nZSB9CisgICNjb250YWluZXI6aGFzKGRpdi55ZWxsb3c6bnRoLW9m
LXR5cGUoM24rMSkpIH4gI250aF9vZl90eXBlXzNuXzEgeyBjb2xvcjogeWVsbG93IH0KKyAgI2Nv
bnRhaW5lcjpoYXMoZGl2LmdyZWVuOm50aC1vZi10eXBlKDNuKzEpKSB+ICNudGhfb2ZfdHlwZV8z
bl8xIHsgY29sb3I6IGdyZWVuIH0KKyAgI2NvbnRhaW5lcjpoYXMoZGl2Lm9yYW5nZTpudGgtb2Yt
dHlwZSgzbisyKSkgfiAjbnRoX29mX3R5cGVfM25fMiB7IGNvbG9yOiBvcmFuZ2UgfQorICAjY29u
dGFpbmVyOmhhcyhkaXYueWVsbG93Om50aC1vZi10eXBlKDNuKzIpKSB+ICNudGhfb2ZfdHlwZV8z
bl8yIHsgY29sb3I6IHllbGxvdyB9CisgICNjb250YWluZXI6aGFzKGRpdi5ncmVlbjpudGgtb2Yt
dHlwZSgzbisyKSkgfiAjbnRoX29mX3R5cGVfM25fMiB7IGNvbG9yOiBncmVlbiB9CisgICNjb250
YWluZXI6aGFzKGRpdi5vcmFuZ2U6bnRoLW9mLXR5cGUoM24pKSB+ICNudGhfb2ZfdHlwZV8zbiB7
IGNvbG9yOiBvcmFuZ2UgfQorICAjY29udGFpbmVyOmhhcyhkaXYueWVsbG93Om50aC1vZi10eXBl
KDNuKSkgfiAjbnRoX29mX3R5cGVfM24geyBjb2xvcjogeWVsbG93IH0KKyAgI2NvbnRhaW5lcjpo
YXMoZGl2LmdyZWVuOm50aC1vZi10eXBlKDNuKSkgfiAjbnRoX29mX3R5cGVfM24geyBjb2xvcjog
Z3JlZW4gfQorPC9zdHlsZT4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cis8L2Rpdj4KKzxkaXYgaWQ9
Im9ubHlfb2ZfdHlwZSI+PC9kaXY+Cis8ZGl2IGlkPSJmaXJzdF9vZl90eXBlIj48L2Rpdj4KKzxk
aXYgaWQ9Imxhc3Rfb2ZfdHlwZSI+PC9kaXY+Cis8ZGl2IGlkPSJudGhfb2ZfdHlwZV8zbl8xIj48
L2Rpdj4KKzxkaXYgaWQ9Im50aF9vZl90eXBlXzNuXzIiPjwvZGl2PgorPGRpdiBpZD0ibnRoX29m
X3R5cGVfM24iPjwvZGl2PgorPHNjcmlwdD4KK2NvbnN0IGdyZXkgPSAicmdiKDEyOCwgMTI4LCAx
MjgpIjsKK2NvbnN0IHJlZCA9ICJyZ2IoMjU1LCAwLCAwKSI7Citjb25zdCBvcmFuZ2UgPSAicmdi
KDI1NSwgMTY1LCAwKSI7Citjb25zdCB5ZWxsb3cgPSAicmdiKDI1NSwgMjU1LCAwKSI7Citjb25z
dCBncmVlbiA9ICJyZ2IoMCwgMTI4LCAwKSI7CisKK2Z1bmN0aW9uIHRlc3RDb2xvcnModGVzdF9u
YW1lLAorICAgICAgICAgICAgICAgICAgICBvbmx5X29mX3R5cGVfY29sb3IsCisgICAgICAgICAg
ICAgICAgICAgIGZpcnN0X29mX3R5cGVfY29sb3IsCisgICAgICAgICAgICAgICAgICAgIGxhc3Rf
b2ZfdHlwZV9jb2xvciwKKyAgICAgICAgICAgICAgICAgICAgbnRoX29mX3R5cGVfM25fMV9jb2xv
ciwKKyAgICAgICAgICAgICAgICAgICAgbnRoX29mX3R5cGVfM25fMl9jb2xvciwKKyAgICAgICAg
ICAgICAgICAgICAgbnRoX29mX3R5cGVfM25fY29sb3IpIHsKKyAgdGVzdChmdW5jdGlvbigpIHsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShvbmx5X29mX3R5cGUpLmNvbG9y
LCBvbmx5X29mX3R5cGVfY29sb3IpOworICB9LCB0ZXN0X25hbWUgKyAiOiAjb25seV9vZl90eXBl
Iik7CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoZmlyc3Rfb2ZfdHlwZSkuY29sb3IsIGZpcnN0X29mX3R5cGVfY29sb3IpOworICB9LCB0
ZXN0X25hbWUgKyAiOiAjZmlyc3Rfb2ZfdHlwZSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
ICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGxhc3Rfb2ZfdHlwZSkuY29sb3IsIGxh
c3Rfb2ZfdHlwZV9jb2xvcik7CisgIH0sIHRlc3RfbmFtZSArICI6ICNsYXN0X29mX3R5cGUiKTsK
KyAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShudGhfb2ZfdHlwZV8zbl8xKS5jb2xvciwgbnRoX29mX3R5cGVfM25fMV9jb2xvcik7CisgIH0s
IHRlc3RfbmFtZSArICI6ICNudGhfb2ZfdHlwZV8zbl8xIik7CisgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUobnRoX29mX3R5cGVfM25fMiku
Y29sb3IsIG50aF9vZl90eXBlXzNuXzJfY29sb3IpOworICB9LCB0ZXN0X25hbWUgKyAiOiAjbnRo
X29mX3R5cGVfM25fMiIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKG50aF9vZl90eXBlXzNuKS5jb2xvciwgbnRoX29mX3R5cGVfM25f
Y29sb3IpOworICB9LCB0ZXN0X25hbWUgKyAiOiAjbnRoX29mX3R5cGVfM24iKTsKK30KKwordGVz
dENvbG9ycygiSW5pdGlhbCBjb2xvcnMiLCBncmV5LCBncmV5LCBncmV5LCBncmV5LCBncmV5LCBn
cmV5KTsKKworY29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
cGFuIiksIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlByZXBlbmQgc3BhbiAo
MSkiLCBncmV5LCBncmV5LCBncmV5LCBncmV5LCBncmV5LCBncmV5KTsKKworbGV0IGRpdjEgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RpdjEuaWQgPSAiZGl2MSI7CitkaXYxLmNs
YXNzTGlzdC5hZGQoImdyZWVuIik7Citjb250YWluZXIuaW5zZXJ0QmVmb3JlKGRpdjEsIGNvbnRh
aW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlByZXBlbmQgI2RpdjEuZ3JlZW4iLCByZWQs
IGdyZWVuLCBncmVlbiwgZ3JlZW4sIGdyZXksIGdyZXkpOworCitjb250YWluZXIuaW5zZXJ0QmVm
b3JlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSwgY29udGFpbmVyLmZpcnN0Q2hpbGQp
OwordGVzdENvbG9ycygiUHJlcGVuZCBzcGFuICgyKSIsIHJlZCwgZ3JlZW4sIGdyZWVuLCBncmVl
biwgZ3JleSwgZ3JleSk7CisKK2xldCBkaXYyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CitkaXYyLmlkID0gImRpdjIiOworZGl2Mi5jbGFzc0xpc3QuYWRkKCJ5ZWxsb3ciKTsKK2Nv
bnRhaW5lci5pbnNlcnRCZWZvcmUoZGl2MiwgY29udGFpbmVyLmZpcnN0Q2hpbGQpOwordGVzdENv
bG9ycygiUHJlcGVuZCAjZGl2Mi55ZWxsb3ciLCBncmV5LCB5ZWxsb3csIGdyZWVuLCB5ZWxsb3cs
IGdyZWVuLCBncmV5KTsKKworY29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJzcGFuIiksIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlByZXBl
bmQgc3BhbiAoMykiLCBncmV5LCB5ZWxsb3csIGdyZWVuLCB5ZWxsb3csIGdyZWVuLCBncmV5KTsK
KworbGV0IGRpdjMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RpdjMuaWQgPSAi
ZGl2MyI7CitkaXYzLmNsYXNzTGlzdC5hZGQoIm9yYW5nZSIpOworY29udGFpbmVyLmluc2VydEJl
Zm9yZShkaXYzLCBjb250YWluZXIuZmlyc3RDaGlsZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kICNk
aXYzLm9yYW5nZSIsIGdyZXksIG9yYW5nZSwgZ3JlZW4sIG9yYW5nZSwgeWVsbG93LCBncmVlbik7
CisKK2NvbnRhaW5lci5pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIp
LCBjb250YWluZXIuZmlyc3RDaGlsZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kIHNwYW4gKDQpIiwg
Z3JleSwgb3JhbmdlLCBncmVlbiwgb3JhbmdlLCB5ZWxsb3csIGdyZWVuKTsKKworbGV0IGRpdjQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RpdjQuaWQgPSAiZGl2NCI7Citjb250
YWluZXIuaW5zZXJ0QmVmb3JlKGRpdjQsIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xv
cnMoIlByZXBlbmQgI2RpdjQiLCBncmV5LCBncmV5LCBncmVlbiwgZ3JlZW4sIG9yYW5nZSwgeWVs
bG93KTsKKworY29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
cGFuIiksIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlByZXBlbmQgc3BhbiAo
NSkiLCBncmV5LCBncmV5LCBncmVlbiwgZ3JlZW4sIG9yYW5nZSwgeWVsbG93KTsKKworbGV0IGRp
djUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RpdjUuaWQgPSAiZGl2NSI7Citj
b250YWluZXIuaW5zZXJ0QmVmb3JlKGRpdjUsIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RD
b2xvcnMoIlByZXBlbmQgI2RpdjUiLCBncmV5LCBncmV5LCBncmVlbiwgeWVsbG93LCBncmVlbiwg
b3JhbmdlKTsKKworY29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJzcGFuIiksIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlByZXBlbmQgc3Bh
biAoNikiLCBncmV5LCBncmV5LCBncmVlbiwgeWVsbG93LCBncmVlbiwgb3JhbmdlKTsKKworZGl2
MS5yZW1vdmUoKTsKK3Rlc3RDb2xvcnMoIlJlbW92ZSAjZGl2MSIsIGdyZXksIGdyZXksIHllbGxv
dywgeWVsbG93LCBncmV5LCBvcmFuZ2UpOworCitkaXYyLnJlbW92ZSgpOwordGVzdENvbG9ycygi
UmVtb3ZlICNkaXYyIiwgZ3JleSwgZ3JleSwgb3JhbmdlLCBncmV5LCBncmV5LCBvcmFuZ2UpOwor
CitkaXYzLnJlbW92ZSgpOwordGVzdENvbG9ycygiUmVtb3ZlICNkaXYzIiwgZ3JleSwgZ3JleSwg
Z3JleSwgZ3JleSwgZ3JleSwgZ3JleSk7CisKK2RpdjQucmVtb3ZlKCk7Cit0ZXN0Q29sb3JzKCJS
ZW1vdmUgI2RpdjQiLCByZWQsIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXkpOworCitkaXY1
LnJlbW92ZSgpOwordGVzdENvbG9ycygiUmVtb3ZlICNkaXY1IiwgZ3JleSwgZ3JleSwgZ3JleSwg
Z3JleSwgZ3JleSwgZ3JleSk7Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlv
bi93M2MtaW1wb3J0LmxvZwppbmRleCA1OWQwOWEzMDg2MDYuLmU0N2IxZDFlNTA2NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2Vs
ZWN0b3JzL2ludmFsaWRhdGlvbi93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3cz
Yy1pbXBvcnQubG9nCkBAIC0xNywxMCArMTcsMTIgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxp
ZGF0aW9uL2FueS1saW5rLXBzZXVkby5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9hdHRyaWJ1dGUtb3It
ZWxlbWVudGFsLXNlbGVjdG9ycy1pbi1oYXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vYXR0cmlidXRl
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFz
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvaW52YWxpZGF0aW9uL2NsYXNzLWlkLWF0dHItZXhwZWN0ZWQuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZh
bGlkYXRpb24vY2xhc3MtaWQtYXR0ci1yZWYuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vY2xhc3MtaWQt
YXR0ci5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9kZWZpbmVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2Vt
cHR5LXBzZXVkby1pbi1oYXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vZW5hYmxlZC1kaXNhYmxlZC5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2Vs
ZWN0b3JzL2ludmFsaWRhdGlvbi9maXJzdC1jaGlsZC1sYXN0LWNoaWxkLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxp
ZGF0aW9uL2hhcy1jb21wbGV4aXR5Lmh0bWwKQEAgLTM2LDExICszOCwxNCBAQCBMaXN0IG9mIGZp
bGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3Nl
bGVjdG9ycy9pbnZhbGlkYXRpb24vaW5zZXJ0LXNpYmxpbmctMDAyLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0
aW9uL2luc2VydC1zaWJsaW5nLTAwMy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9pbnNlcnQtc2libGlu
Zy0wMDQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaXMtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1p
bi1oYXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaXMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbGluay1w
c2V1ZG8taW4taGFzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2xvY2F0aW9uLXBzZXVkby1jbGFzc2Vz
LWluLWhhcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxl
Y3RvcnMvaW52YWxpZGF0aW9uL25vdC0wMDEuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbm90LTAwMi5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2Vs
ZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1oYXMu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3Nl
bGVjdG9ycy9pbnZhbGlkYXRpb24vcXVpcmtzLW1vZGUtc3R5bGVzaGVldC1keW5hbWljLWFkZC0w
MDEuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vc2VsZWN0b3JUZXh0LWR5bmFtaWMtMDAxLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL3NoZWV0LWdvaW5nLWF3YXktMDAxLmh0bWwKQEAgLTQ5LDUgKzU0LDYgQEAg
TGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3NoZWV0LWdvaW5nLWF3YXktMDAyLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL3NpYmxpbmcuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdGFyZ2V0LXBzZXVk
by1pbi1oYXMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdHlwZWQtY2hpbGQtaW5kZXhlZC1wc2V1ZG8t
Y2xhc3Nlcy1pbi1oYXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdXNlci1hY3Rpb24tcHNldWRvLWNs
YXNzZXMtaW4taGFzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3doZXJlLmh0bWwKLS0gCjIuMzIuMCAo
QXBwbGUgR2l0LTEzMikKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459857</attachid>
            <date>2022-05-30 04:45:48 -0700</date>
            <delta_ts>2022-05-30 15:11:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-241098-20220530144546.patch</filename>
            <type>text/plain</type>
            <size>147503</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBlZWY1N2E5ZWI0YTE2NWFiODUzZjk5YmVhNjcxZmJlMjRjNWFkZjc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDMwIE1heSAyMDIyIDE0OjEwOjU2ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gWzpoYXMo
KSBwc2V1ZG8tY2xhc3NdIEZpeCBpbnZhbGlkYXRpb24gd2l0aCBzY29wZSBicmVha2luZwogOmlz
L25vdCgpIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDEwOTgKClJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKU2VsZWN0b3IgbGlrZSA6aGFzKDppcyhmb28gYmFy
KSkgY2FuIGJlIGFmZmVjdGVkIGJ5IG11dGF0aW9ucyBvdXRzaWRlIHRoZSA6aGFzIHNjb3BlLgoK
KiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFz
c2VzLWluLWhhcy5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2VtcHR5LXBzZXVkby1pbi1o
YXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2VtcHR5LXBzZXVkby1pbi1o
YXMuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9oYXMtaW4tYWRqYWNlbnQtcG9zaXRpb24u
aHRtbDoKKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1pbi1hbmNlc3Rvci1wb3NpdGlvbi5odG1sOgoqIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9p
bnZhbGlkYXRpb24vaGFzLWluLXBhcmVudC1wb3NpdGlvbi5odG1sOgoqIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24v
aGFzLWluLXNpYmxpbmctcG9zaXRpb24uaHRtbDoKKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lzLXBzZXVkby1j
b250YWluaW5nLWNvbXBsZXgtaW4taGFzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRh
dGlvbi9pcy1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy5odG1sOiBBZGRlZC4KKiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL2xpbmstcHNldWRvLWluLWhhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9p
bnZhbGlkYXRpb24vbGluay1wc2V1ZG8taW4taGFzLmh0bWw6IEFkZGVkLgoqIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbm90LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2Vs
ZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1oYXMu
aHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi90eXBlZC1jaGlsZC1pbmRleGVkLXBzZXVkby1j
bGFzc2VzLWluLWhhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdHlwZWQt
Y2hpbGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMuaHRtbDogQWRkZWQuCiogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFs
aWRhdGlvbi93M2MtaW1wb3J0LmxvZzoKClJlaW1wb3J0IHNlbGVjdG9yIGludmFsaWRhdGlvbiB0
ZXN0cy4KCiogU291cmNlL1dlYkNvcmUvc3R5bGUvQ2hpbGRDaGFuZ2VJbnZhbGlkYXRpb24uY3Bw
OgooV2ViQ29yZTo6U3R5bGU6OkNoaWxkQ2hhbmdlSW52YWxpZGF0aW9uOjppbnZhbGlkYXRlRm9y
Q2hhbmdlZEVsZW1lbnQpOgooV2ViQ29yZTo6U3R5bGU6Om5lZWRzRGVzY2VuZGFudFRyYXZlcnNh
bCk6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuY3BwOgooV2ViQ29yZTo6U3R5
bGU6OmlzU2libGluZ09yU3ViamVjdCk6CihXZWJDb3JlOjpTdHlsZTo6aXNIYXNQc2V1ZG9DbGFz
c01hdGNoRWxlbWVudCk6CihXZWJDb3JlOjpTdHlsZTo6Y29tcHV0ZU5leHRNYXRjaEVsZW1lbnQp
OgooV2ViQ29yZTo6U3R5bGU6OmNvbXB1dGVIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudCk6CihX
ZWJDb3JlOjpTdHlsZTo6Y29tcHV0ZVN1YlNlbGVjdG9yTWF0Y2hFbGVtZW50KToKKFdlYkNvcmU6
OlN0eWxlOjpSdWxlRmVhdHVyZVNldDo6cmVjdXJzaXZlbHlDb2xsZWN0RmVhdHVyZXNGcm9tU2Vs
ZWN0b3IpOgoKRGV0ZWN0IHRoZSBjYXNlIGFuZCBmYWxsIGJhY2sgdG8gdmVyeSB3aWRlIGludmFs
aWRhdGlvbiAoc2FtZSBhIG5vbi1zdWJqZWN0IDpoYXMoKSBmb3Igbm93KS4KCiogU291cmNlL1dl
YkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuaDoKKFdlYkNvcmU6OlN0eWxlOjpSdWxlRmVhdHVyZVNl
dDo6dXNlc0hhc1BzZXVkb0NsYXNzIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZUludmFsaWRhdG9yLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpJbnZhbGlkYXRvcjo6aW52YWxpZGF0
ZVN0eWxlV2l0aE1hdGNoRWxlbWVudCk6Ci0tLQogLi4uL1dlYkNvcmUvc3R5bGUvQ2hpbGRDaGFu
Z2VJbnZhbGlkYXRpb24uY3BwIHwgICA0ICstCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVh
dHVyZS5jcHAgICAgICAgICAgfCAgNDEgKystLQogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZl
YXR1cmUuaCAgICAgICAgICAgIHwgICA3ICstCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUlu
dmFsaWRhdG9yLmNwcCAgICAgfCAgIDIgKy0KIC4uLmluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4t
aGFzLWV4cGVjdGVkLnR4dCB8ICA2OCArKysrKysKIC4uLi9jaGlsZC1pbmRleGVkLXBzZXVkby1j
bGFzc2VzLWluLWhhcy5odG1sICB8IDExNiArKysrKysrKysrKwogLi4uL2VtcHR5LXBzZXVkby1p
bi1oYXMtZXhwZWN0ZWQudHh0ICAgICAgICAgIHwgICA1ICsKIC4uLi9pbnZhbGlkYXRpb24vZW1w
dHktcHNldWRvLWluLWhhcy5odG1sICAgICB8ICAzNyArKysrCiAuLi4vaGFzLWluLWFkamFjZW50
LXBvc2l0aW9uLmh0bWwgICAgICAgICAgICAgfCAxODUgKysrKysrKysrKystLS0tLS0KIC4uLi9o
YXMtaW4tYW5jZXN0b3ItcG9zaXRpb24uaHRtbCAgICAgICAgICAgICB8IDE5NSArKysrKysrKysr
Ky0tLS0tLS0KIC4uLi9pbnZhbGlkYXRpb24vaGFzLWluLXBhcmVudC1wb3NpdGlvbi5odG1sICB8
IDE2NSArKysrKysrKysrLS0tLS0KIC4uLi9pbnZhbGlkYXRpb24vaGFzLWluLXNpYmxpbmctcG9z
aXRpb24uaHRtbCB8IDE4NSArKysrKysrKysrKy0tLS0tLQogLi4udWRvLWNvbnRhaW5pbmctY29t
cGxleC1pbi1oYXMtZXhwZWN0ZWQudHh0IHwgIDk0ICsrKysrKysrKwogLi4uL2lzLXBzZXVkby1j
b250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwgIHwgMTIxICsrKysrKysrKysrCiAuLi4vbGlu
ay1wc2V1ZG8taW4taGFzLWV4cGVjdGVkLnR4dCAgICAgICAgICAgfCAgIDMgKwogLi4uL2ludmFs
aWRhdGlvbi9saW5rLXBzZXVkby1pbi1oYXMuaHRtbCAgICAgIHwgIDk3ICsrKysrKysrKwogLi4u
dWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1oYXMtZXhwZWN0ZWQudHh0IHwgIDk0ICsrKysrKysr
KwogLi4uL25vdC1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy5odG1sIHwgMTIxICsr
KysrKysrKysrCiAuLi5pbmRleGVkLXBzZXVkby1jbGFzc2VzLWluLWhhcy1leHBlY3RlZC50eHQg
fCAxMDQgKysrKysrKysrKwogLi4uZC1jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFzc2VzLWluLWhh
cy5odG1sIHwgMTMxICsrKysrKysrKysrKwogLi4uL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9u
L3czYy1pbXBvcnQubG9nIHwgICA2ICsKIDIxIGZpbGVzIGNoYW5nZWQsIDE0OTkgaW5zZXJ0aW9u
cygrKSwgMjgyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24v
Y2hpbGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMtZXhwZWN0ZWQudHh0CiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFzc2VzLWlu
LWhhcy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9lbXB0eS1wc2V1ZG8t
aW4taGFzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vZW1w
dHktcHNldWRvLWluLWhhcy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9p
cy1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lzLXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4t
aGFzLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2xpbmstcHNldWRvLWlu
LWhhcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2xpbmst
cHNldWRvLWluLWhhcy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9ub3Qt
cHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1oYXMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
c2VsZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtcHNldWRvLWNvbnRhaW5pbmctY29tcGxleC1pbi1o
YXMuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdHlwZWQtY2hpbGQtaW5k
ZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0
b3JzL2ludmFsaWRhdGlvbi90eXBlZC1jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFzc2VzLWluLWhh
cy5odG1sCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvQ2hpbGRDaGFuZ2VJbnZh
bGlkYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ2hpbGRDaGFuZ2VJbnZhbGlkYXRp
b24uY3BwCmluZGV4IGNhMGZlZjZmZjU0OS4uNDczZGZkYmQ1YTMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9DaGlsZENoYW5nZUludmFsaWRhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvQ2hpbGRDaGFuZ2VJbnZhbGlkYXRpb24uY3BwCkBAIC01Miw3ICs1Miw3
IEBAIHZvaWQgQ2hpbGRDaGFuZ2VJbnZhbGlkYXRpb246OmludmFsaWRhdGVGb3JDaGFuZ2VkRWxl
bWVudChFbGVtZW50JiBjaGFuZ2VkRWxlbWVuCiAgICAgICAgICAgICByZXR1cm4gaXNDaGlsZDsK
ICAgICAgICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc0Rlc2NlbmRhbnQ6CiAgICAgICAgIGNhc2Ug
TWF0Y2hFbGVtZW50OjpIYXNTaWJsaW5nRGVzY2VuZGFudDoKLSAgICAgICAgY2FzZSBNYXRjaEVs
ZW1lbnQ6Okhhc05vblN1YmplY3Q6CisgICAgICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNOb25T
dWJqZWN0T3JTY29wZUJyZWFraW5nOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTEzNyw3ICsx
MzcsNyBAQCB2b2lkIENoaWxkQ2hhbmdlSW52YWxpZGF0aW9uOjppbnZhbGlkYXRlRm9ySGFzQWZ0
ZXJNdXRhdGlvbigpCiAKIHN0YXRpYyBib29sIG5lZWRzRGVzY2VuZGFudFRyYXZlcnNhbChjb25z
dCBSdWxlRmVhdHVyZVNldCYgZmVhdHVyZXMpCiB7Ci0gICAgaWYgKGZlYXR1cmVzLnVzZXNNYXRj
aEVsZW1lbnQoTWF0Y2hFbGVtZW50OjpIYXNOb25TdWJqZWN0KSkKKyAgICBpZiAoZmVhdHVyZXMu
dXNlc01hdGNoRWxlbWVudChNYXRjaEVsZW1lbnQ6Okhhc05vblN1YmplY3RPclNjb3BlQnJlYWtp
bmcpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmVhdHVyZXMudXNlc01hdGNo
RWxlbWVudChNYXRjaEVsZW1lbnQ6Okhhc0Rlc2NlbmRhbnQpIHx8IGZlYXR1cmVzLnVzZXNNYXRj
aEVsZW1lbnQoTWF0Y2hFbGVtZW50OjpIYXNTaWJsaW5nRGVzY2VuZGFudCk7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvUnVsZUZlYXR1cmUuY3BwCmluZGV4IGM5YWY3ZmUwNjc1ZC4uZDkxNWU1MmJiYjU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVhdHVyZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZUZlYXR1cmUuY3BwCkBAIC01Myw3ICs1Myw3IEBAIHN0
YXRpYyBib29sIGlzU2libGluZ09yU3ViamVjdChNYXRjaEVsZW1lbnQgbWF0Y2hFbGVtZW50KQog
ICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNDaGlsZDoKICAgICBjYXNlIE1hdGNoRWxlbWVudDo6
SGFzRGVzY2VuZGFudDoKICAgICBjYXNlIE1hdGNoRWxlbWVudDo6SGFzU2libGluZ0Rlc2NlbmRh
bnQ6Ci0gICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc05vblN1YmplY3Q6CisgICAgY2FzZSBNYXRj
aEVsZW1lbnQ6Okhhc05vblN1YmplY3RPclNjb3BlQnJlYWtpbmc6CiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC02Nyw3ICs2Nyw3IEBA
IGJvb2wgaXNIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudChNYXRjaEVsZW1lbnQgbWF0Y2hFbGVt
ZW50KQogICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNEZXNjZW5kYW50OgogICAgIGNhc2UgTWF0
Y2hFbGVtZW50OjpIYXNTaWJsaW5nOgogICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNTaWJsaW5n
RGVzY2VuZGFudDoKLSAgICBjYXNlIE1hdGNoRWxlbWVudDo6SGFzTm9uU3ViamVjdDoKKyAgICBj
YXNlIE1hdGNoRWxlbWVudDo6SGFzTm9uU3ViamVjdE9yU2NvcGVCcmVha2luZzoKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtOTks
OCArOTksNyBAQCBSdWxlRmVhdHVyZVdpdGhJbnZhbGlkYXRpb25TZWxlY3Rvcjo6UnVsZUZlYXR1
cmVXaXRoSW52YWxpZGF0aW9uU2VsZWN0b3IoY29uc3QgUgogCiBzdGF0aWMgTWF0Y2hFbGVtZW50
IGNvbXB1dGVOZXh0TWF0Y2hFbGVtZW50KE1hdGNoRWxlbWVudCBtYXRjaEVsZW1lbnQsIENTU1Nl
bGVjdG9yOjpSZWxhdGlvblR5cGUgcmVsYXRpb24pCiB7Ci0gICAgaWYgKGlzSGFzUHNldWRvQ2xh
c3NNYXRjaEVsZW1lbnQobWF0Y2hFbGVtZW50KSkKLSAgICAgICAgcmV0dXJuIG1hdGNoRWxlbWVu
dDsKKyAgICBBU1NFUlQoIWlzSGFzUHNldWRvQ2xhc3NNYXRjaEVsZW1lbnQobWF0Y2hFbGVtZW50
KSk7CiAKICAgICBpZiAoaXNTaWJsaW5nT3JTdWJqZWN0KG1hdGNoRWxlbWVudCkpIHsKICAgICAg
ICAgc3dpdGNoIChyZWxhdGlvbikgewpAQCAtMTQ2LDE1ICsxNDUsMjQgQEAgc3RhdGljIE1hdGNo
RWxlbWVudCBjb21wdXRlTmV4dE1hdGNoRWxlbWVudChNYXRjaEVsZW1lbnQgbWF0Y2hFbGVtZW50
LCBDU1NTZWxlY3QKICAgICByZXR1cm4gbWF0Y2hFbGVtZW50OwogfTsKIAorc3RhdGljIE1hdGNo
RWxlbWVudCBjb21wdXRlTmV4dEhhc1BzZXVkb0NsYXNzTWF0Y2hFbGVtZW50KE1hdGNoRWxlbWVu
dCBtYXRjaEVsZW1lbnQsIENTU1NlbGVjdG9yOjpSZWxhdGlvblR5cGUgcmVsYXRpb24sIENhbkJy
ZWFrU2NvcGUgY2FuQnJlYWtTY29wZSkKK3sKKyAgICBBU1NFUlQoaXNIYXNQc2V1ZG9DbGFzc01h
dGNoRWxlbWVudChtYXRjaEVsZW1lbnQpKTsKKworICAgIC8vIDpoYXMoOmlzKGZvbyBiYXIpKSBj
YW4gYmUgYWZmZWN0ZWQgYnkgY2hhbmdlcyBvdXRzaWRlIHRoZSA6aGFzIHNjb3BlLgorICAgIGlm
IChjYW5CcmVha1Njb3BlID09IENhbkJyZWFrU2NvcGU6OlllcykgeworICAgICAgICBpZiAocmVs
YXRpb24gPT0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnRTcGFjZSB8fCByZWxhdGlvbiA9PSBDU1NT
ZWxlY3Rvcjo6Q2hpbGQpCisgICAgICAgICAgICByZXR1cm4gTWF0Y2hFbGVtZW50OjpIYXNOb25T
dWJqZWN0T3JTY29wZUJyZWFraW5nOworICAgIH0KKyAgICByZXR1cm4gbWF0Y2hFbGVtZW50Owor
fQorCiBNYXRjaEVsZW1lbnQgY29tcHV0ZUhhc1BzZXVkb0NsYXNzTWF0Y2hFbGVtZW50KGNvbnN0
IENTU1NlbGVjdG9yJiBoYXNTZWxlY3RvcikKIHsKICAgICBhdXRvIGhhc01hdGNoRWxlbWVudCA9
IE1hdGNoRWxlbWVudDo6U3ViamVjdDsKICAgICBmb3IgKGF1dG8qIHNpbXBsZVNlbGVjdG9yID0g
Jmhhc1NlbGVjdG9yOyBzaW1wbGVTZWxlY3Rvci0+dGFnSGlzdG9yeSgpOyBzaW1wbGVTZWxlY3Rv
ciA9IHNpbXBsZVNlbGVjdG9yLT50YWdIaXN0b3J5KCkpCiAgICAgICAgIGhhc01hdGNoRWxlbWVu
dCA9IGNvbXB1dGVOZXh0TWF0Y2hFbGVtZW50KGhhc01hdGNoRWxlbWVudCwgc2ltcGxlU2VsZWN0
b3ItPnJlbGF0aW9uKCkpOwogCi0gICAgaWYgKGhhc01hdGNoRWxlbWVudCA9PSBNYXRjaEVsZW1l
bnQ6OlBhcmVudCkKLSAgICAgICAgcmV0dXJuIE1hdGNoRWxlbWVudDo6SGFzQ2hpbGQ7Ci0KICAg
ICBzd2l0Y2ggKGhhc01hdGNoRWxlbWVudCkgewogICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpQYXJl
bnQ6CiAgICAgY2FzZSBNYXRjaEVsZW1lbnQ6OlN1YmplY3Q6CkBAIC0xNzIsNyArMTgwLDcgQEAg
TWF0Y2hFbGVtZW50IGNvbXB1dGVIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVudChjb25zdCBDU1NT
ZWxlY3RvciYgaGFzU2VsZWN0b3IpCiAgICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc0Rlc2NlbmRh
bnQ6CiAgICAgY2FzZSBNYXRjaEVsZW1lbnQ6Okhhc1NpYmxpbmc6CiAgICAgY2FzZSBNYXRjaEVs
ZW1lbnQ6Okhhc1NpYmxpbmdEZXNjZW5kYW50OgotICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNO
b25TdWJqZWN0OgorICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIYXNOb25TdWJqZWN0T3JTY29wZUJy
ZWFraW5nOgogICAgIGNhc2UgTWF0Y2hFbGVtZW50OjpIb3N0OgogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CkBAIC0xOTQsOSArMjAyLDEwIEBAIHN0YXRpYyBN
YXRjaEVsZW1lbnQgY29tcHV0ZVN1YlNlbGVjdG9yTWF0Y2hFbGVtZW50KE1hdGNoRWxlbWVudCBt
YXRjaEVsZW1lbnQsIGNvCiAKICAgICAgICAgaWYgKHR5cGUgPT0gQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzSGFzKSB7CiAgICAgICAgICAgICBpZiAobWF0Y2hFbGVtZW50ICE9IE1hdGNoRWxlbWVu
dDo6U3ViamVjdCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTWF0Y2hFbGVtZW50OjpIYXNOb25T
dWJqZWN0OworICAgICAgICAgICAgICAgIHJldHVybiBNYXRjaEVsZW1lbnQ6Okhhc05vblN1Ympl
Y3RPclNjb3BlQnJlYWtpbmc7CiAgICAgICAgICAgICByZXR1cm4gY29tcHV0ZUhhc1BzZXVkb0Ns
YXNzTWF0Y2hFbGVtZW50KGNoaWxkU2VsZWN0b3IpOwogICAgICAgICB9CisKICAgICB9CiAgICAg
aWYgKHNlbGVjdG9yLm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQpIHsKICAg
ICAgICAgLy8gU2ltaWxhcmx5IGZvciA6OnNsb3R0ZWQoKS4KQEAgLTIwNyw3ICsyMTYsNyBAQCBz
dGF0aWMgTWF0Y2hFbGVtZW50IGNvbXB1dGVTdWJTZWxlY3Rvck1hdGNoRWxlbWVudChNYXRjaEVs
ZW1lbnQgbWF0Y2hFbGVtZW50LCBjbwogICAgIHJldHVybiBtYXRjaEVsZW1lbnQ7CiB9OwogCi12
b2lkIFJ1bGVGZWF0dXJlU2V0OjpyZWN1cnNpdmVseUNvbGxlY3RGZWF0dXJlc0Zyb21TZWxlY3Rv
cihTZWxlY3RvckZlYXR1cmVzJiBzZWxlY3RvckZlYXR1cmVzLCBjb25zdCBDU1NTZWxlY3RvciYg
Zmlyc3RTZWxlY3RvciwgTWF0Y2hFbGVtZW50IG1hdGNoRWxlbWVudCwgSXNOZWdhdGlvbiBpc05l
Z2F0aW9uKQordm9pZCBSdWxlRmVhdHVyZVNldDo6cmVjdXJzaXZlbHlDb2xsZWN0RmVhdHVyZXNG
cm9tU2VsZWN0b3IoU2VsZWN0b3JGZWF0dXJlcyYgc2VsZWN0b3JGZWF0dXJlcywgY29uc3QgQ1NT
U2VsZWN0b3ImIGZpcnN0U2VsZWN0b3IsIE1hdGNoRWxlbWVudCBtYXRjaEVsZW1lbnQsIElzTmVn
YXRpb24gaXNOZWdhdGlvbiwgQ2FuQnJlYWtTY29wZSBjYW5CcmVha1Njb3BlKQogewogICAgIGNv
bnN0IENTU1NlbGVjdG9yKiBzZWxlY3RvciA9ICZmaXJzdFNlbGVjdG9yOwogICAgIGRvIHsKQEAg
LTIzNyw4ICsyNDYsMTAgQEAgdm9pZCBSdWxlRmVhdHVyZVNldDo6cmVjdXJzaXZlbHlDb2xsZWN0
RmVhdHVyZXNGcm9tU2VsZWN0b3IoU2VsZWN0b3JGZWF0dXJlcyYgc2UKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3Rvci0+bWF0
Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3MpIHsKLSAgICAgICAgICAgIGlmICghaXNM
b2dpY2FsQ29tYmluYXRpb25Qc2V1ZG9DbGFzcyhzZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBlKCkp
KQorICAgICAgICAgICAgYm9vbCBpc0xvZ2ljYWxDb21iaW5hdGlvbiA9IGlzTG9naWNhbENvbWJp
bmF0aW9uUHNldWRvQ2xhc3Moc2VsZWN0b3ItPnBzZXVkb0NsYXNzVHlwZSgpKTsKKyAgICAgICAg
ICAgIGlmICghaXNMb2dpY2FsQ29tYmluYXRpb24pCiAgICAgICAgICAgICAgICAgc2VsZWN0b3JG
ZWF0dXJlcy5wc2V1ZG9DbGFzc2VzLmFwcGVuZCh7IHNlbGVjdG9yLCBtYXRjaEVsZW1lbnQsIGlz
TmVnYXRpb24gfSk7CisgICAgICAgICAgICBjYW5CcmVha1Njb3BlID0gaXNMb2dpY2FsQ29tYmlu
YXRpb24gJiYgc2VsZWN0b3ItPnBzZXVkb0NsYXNzVHlwZSgpICE9IENTU1NlbGVjdG9yOjpQc2V1
ZG9DbGFzc0hhcyA/IENhbkJyZWFrU2NvcGU6OlllcyA6IENhbkJyZWFrU2NvcGU6Ok5vOwogICAg
ICAgICB9CiAKICAgICAgICAgaWYgKCFzZWxlY3RvckZlYXR1cmVzLmhhc1NpYmxpbmdTZWxlY3Rv
ciAmJiBzZWxlY3Rvci0+aXNTaWJsaW5nU2VsZWN0b3IoKSkKQEAgLTI1MywxNCArMjY0LDE4IEBA
IHZvaWQgUnVsZUZlYXR1cmVTZXQ6OnJlY3Vyc2l2ZWx5Q29sbGVjdEZlYXR1cmVzRnJvbVNlbGVj
dG9yKFNlbGVjdG9yRmVhdHVyZXMmIHNlCiAgICAgICAgICAgICAgICAgYXV0byBzdWJTZWxlY3Rv
ck1hdGNoRWxlbWVudCA9IGNvbXB1dGVTdWJTZWxlY3Rvck1hdGNoRWxlbWVudChtYXRjaEVsZW1l
bnQsICpzZWxlY3RvciwgKnN1YlNlbGVjdG9yKTsKICAgICAgICAgICAgICAgICBpZiAoIXNlbGVj
dG9yRmVhdHVyZXMuaGFzU2libGluZ1NlbGVjdG9yICYmIHNlbGVjdG9yLT5pc1NpYmxpbmdTZWxl
Y3RvcigpKQogICAgICAgICAgICAgICAgICAgICBzZWxlY3RvckZlYXR1cmVzLmhhc1NpYmxpbmdT
ZWxlY3RvciA9IHRydWU7Ci0gICAgICAgICAgICAgICAgcmVjdXJzaXZlbHlDb2xsZWN0RmVhdHVy
ZXNGcm9tU2VsZWN0b3Ioc2VsZWN0b3JGZWF0dXJlcywgKnN1YlNlbGVjdG9yLCBzdWJTZWxlY3Rv
ck1hdGNoRWxlbWVudCwgc3ViU2VsZWN0b3JJc05lZ2F0aW9uKTsKKyAgICAgICAgICAgICAgICBy
ZWN1cnNpdmVseUNvbGxlY3RGZWF0dXJlc0Zyb21TZWxlY3RvcihzZWxlY3RvckZlYXR1cmVzLCAq
c3ViU2VsZWN0b3IsIHN1YlNlbGVjdG9yTWF0Y2hFbGVtZW50LCBzdWJTZWxlY3RvcklzTmVnYXRp
b24sIGNhbkJyZWFrU2NvcGUpOwogCiAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdG9yLT5tYXRj
aCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcyAmJiBzZWxlY3Rvci0+cHNldWRvQ2xhc3NU
eXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzSGFzKQogICAgICAgICAgICAgICAgICAg
ICBzZWxlY3RvckZlYXR1cmVzLmhhc1BzZXVkb0NsYXNzZXMuYXBwZW5kKHsgc3ViU2VsZWN0b3Is
IHN1YlNlbGVjdG9yTWF0Y2hFbGVtZW50LCBpc05lZ2F0aW9uIH0pOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAKLSAgICAgICAgbWF0Y2hFbGVtZW50ID0gY29tcHV0ZU5leHRNYXRjaEVsZW1l
bnQobWF0Y2hFbGVtZW50LCBzZWxlY3Rvci0+cmVsYXRpb24oKSk7CisgICAgICAgIG1hdGNoRWxl
bWVudCA9IFsmXSB7CisgICAgICAgICAgICBpZiAoaXNIYXNQc2V1ZG9DbGFzc01hdGNoRWxlbWVu
dChtYXRjaEVsZW1lbnQpKQorICAgICAgICAgICAgICAgIHJldHVybiBjb21wdXRlTmV4dEhhc1Bz
ZXVkb0NsYXNzTWF0Y2hFbGVtZW50KG1hdGNoRWxlbWVudCwgc2VsZWN0b3ItPnJlbGF0aW9uKCks
IGNhbkJyZWFrU2NvcGUpOworICAgICAgICAgICAgcmV0dXJuIGNvbXB1dGVOZXh0TWF0Y2hFbGVt
ZW50KG1hdGNoRWxlbWVudCwgc2VsZWN0b3ItPnJlbGF0aW9uKCkpOworICAgICAgICB9KCk7CiAK
ICAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3Rvci0+dGFnSGlzdG9yeSgpOwogICAgIH0gd2hpbGUg
KHNlbGVjdG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVGZWF0dXJl
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVhdHVyZS5oCmluZGV4IDA0YWY2NjVlY2U1
YS4uOTNjNmQwMTBjZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRmVh
dHVyZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVGZWF0dXJlLmgKQEAgLTUxLDEy
ICs1MSwxMyBAQCBlbnVtIGNsYXNzIE1hdGNoRWxlbWVudCA6IHVpbnQ4X3QgewogICAgIEhhc0Rl
c2NlbmRhbnQsCiAgICAgSGFzU2libGluZywKICAgICBIYXNTaWJsaW5nRGVzY2VuZGFudCwKLSAg
ICBIYXNOb25TdWJqZWN0LCAvLyBGSVhNRTogVGhpcyBpcyBhIGNhdGNoLWFsbCBmb3IgY2FzZXMg
d2hlcmUgOmhhcygpIGlzIGluIG5vbi1zdWJqZWN0IHBvc2l0aW9uLgorICAgIEhhc05vblN1Ympl
Y3RPclNjb3BlQnJlYWtpbmcsIC8vIEZJWE1FOiBUaGlzIGlzIGEgY2F0Y2gtYWxsIGZvciBjYXNl
cyB3aGVyZSA6aGFzKCkgaXMgaW4gYSBub24tc3ViamVjdCBwb3NpdGlvbiwgb3IgbWF5IGJyZWFr
IHNjb3BlLgogICAgIEhvc3QKIH07CiBjb25zdGV4cHIgdW5zaWduZWQgbWF0Y2hFbGVtZW50Q291
bnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTWF0Y2hFbGVtZW50OjpIb3N0KSArIDE7CiAKIGVu
dW0gY2xhc3MgSXNOZWdhdGlvbiA6IGJvb2wgeyBObywgWWVzIH07CitlbnVtIGNsYXNzIENhbkJy
ZWFrU2NvcGUgOiBib29sIHsgTm8sIFllcyB9OyAvLyA6aXMvbm90KCkgaW5zaWRlIHNjb3BlZCBz
ZWxlY3RvciBjYW4gYmUgYWZmZWN0ZWQgYnkgdGhpbmdzIG91dHNpZGUgdGhlIHNjb3BlLgogCiAv
LyBGb3IgTVNWQy4KICNwcmFnbWEgcGFjayhwdXNoLCA0KQpAQCAtMTM0LDcgKzEzNSw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIFZlY3RvcjxJbnZhbGlkYXRpb25GZWF0dXJlPiBwc2V1ZG9DbGFzc2Vz
OwogICAgICAgICBWZWN0b3I8SW52YWxpZGF0aW9uRmVhdHVyZT4gaGFzUHNldWRvQ2xhc3NlczsK
ICAgICB9OwotICAgIHZvaWQgcmVjdXJzaXZlbHlDb2xsZWN0RmVhdHVyZXNGcm9tU2VsZWN0b3Io
U2VsZWN0b3JGZWF0dXJlcyYsIGNvbnN0IENTU1NlbGVjdG9yJiwgTWF0Y2hFbGVtZW50ID0gTWF0
Y2hFbGVtZW50OjpTdWJqZWN0LCBJc05lZ2F0aW9uID0gSXNOZWdhdGlvbjo6Tm8pOworICAgIHZv
aWQgcmVjdXJzaXZlbHlDb2xsZWN0RmVhdHVyZXNGcm9tU2VsZWN0b3IoU2VsZWN0b3JGZWF0dXJl
cyYsIGNvbnN0IENTU1NlbGVjdG9yJiwgTWF0Y2hFbGVtZW50ID0gTWF0Y2hFbGVtZW50OjpTdWJq
ZWN0LCBJc05lZ2F0aW9uID0gSXNOZWdhdGlvbjo6Tm8sIENhbkJyZWFrU2NvcGUgPSBDYW5CcmVh
a1Njb3BlOjpObyk7CiB9OwogCiBib29sIGlzSGFzUHNldWRvQ2xhc3NNYXRjaEVsZW1lbnQoTWF0
Y2hFbGVtZW50KTsKQEAgLTE1NCw3ICsxNTUsNyBAQCBpbmxpbmUgYm9vbCBSdWxlRmVhdHVyZVNl
dDo6dXNlc0hhc1BzZXVkb0NsYXNzKCkgY29uc3QKICAgICAgICAgfHwgdXNlc01hdGNoRWxlbWVu
dChNYXRjaEVsZW1lbnQ6Okhhc0Rlc2NlbmRhbnQpCiAgICAgICAgIHx8IHVzZXNNYXRjaEVsZW1l
bnQoTWF0Y2hFbGVtZW50OjpIYXNTaWJsaW5nRGVzY2VuZGFudCkKICAgICAgICAgfHwgdXNlc01h
dGNoRWxlbWVudChNYXRjaEVsZW1lbnQ6Okhhc1NpYmxpbmcpCi0gICAgICAgIHx8IHVzZXNNYXRj
aEVsZW1lbnQoTWF0Y2hFbGVtZW50OjpIYXNOb25TdWJqZWN0KTsKKyAgICAgICAgfHwgdXNlc01h
dGNoRWxlbWVudChNYXRjaEVsZW1lbnQ6Okhhc05vblN1YmplY3RPclNjb3BlQnJlYWtpbmcpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBTdHlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVJbnZhbGlkYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUludmFs
aWRhdG9yLmNwcAppbmRleCA5MmU2YWRjYzBmNmUuLmE0OGUxMzRkN2YxYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVJbnZhbGlkYXRvci5jcHAKQEAgLTM0Niw3ICszNDYsNyBAQCB2b2lk
IEludmFsaWRhdG9yOjppbnZhbGlkYXRlU3R5bGVXaXRoTWF0Y2hFbGVtZW50KEVsZW1lbnQmIGVs
ZW1lbnQsIE1hdGNoRWxlbWVudAogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAg
ICBjYXNlIE1hdGNoRWxlbWVudDo6SGFzTm9uU3ViamVjdDogeworICAgIGNhc2UgTWF0Y2hFbGVt
ZW50OjpIYXNOb25TdWJqZWN0T3JTY29wZUJyZWFraW5nOiB7CiAgICAgICAgIFNlbGVjdG9yTWF0
Y2hpbmdTdGF0ZSBzZWxlY3Rvck1hdGNoaW5nU3RhdGU7CiAgICAgICAgIGludmFsaWRhdGVTdHls
ZUZvckRlc2NlbmRhbnRzKCplbGVtZW50LmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCksICZz
ZWxlY3Rvck1hdGNoaW5nU3RhdGUpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZh
bGlkYXRpb24vY2hpbGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0
b3JzL2ludmFsaWRhdGlvbi9jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFzc2VzLWluLWhhcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kMDg0ZmQ2
NjNiZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2NoaWxkLWluZGV4ZWQtcHNl
dWRvLWNsYXNzZXMtaW4taGFzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBACisKK1BBU1Mg
SW5pdGlhbCBjb2xvcnM6ICNvbmx5X2NoaWxkCitQQVNTIEluaXRpYWwgY29sb3JzOiAjZmlyc3Rf
Y2hpbGQKK1BBU1MgSW5pdGlhbCBjb2xvcnM6ICNsYXN0X2NoaWxkCitQQVNTIEluaXRpYWwgY29s
b3JzOiAjbnRoX2NoaWxkXzNuXzEKK1BBU1MgSW5pdGlhbCBjb2xvcnM6ICNudGhfY2hpbGRfM25f
MgorUEFTUyBJbml0aWFsIGNvbG9yczogI250aF9jaGlsZF8zbgorUEFTUyBQcmVwZW5kICNkaXYx
LmdyZWVuOiAjb25seV9jaGlsZAorUEFTUyBQcmVwZW5kICNkaXYxLmdyZWVuOiAjZmlyc3RfY2hp
bGQKK1BBU1MgUHJlcGVuZCAjZGl2MS5ncmVlbjogI2xhc3RfY2hpbGQKK1BBU1MgUHJlcGVuZCAj
ZGl2MS5ncmVlbjogI250aF9jaGlsZF8zbl8xCitQQVNTIFByZXBlbmQgI2RpdjEuZ3JlZW46ICNu
dGhfY2hpbGRfM25fMgorUEFTUyBQcmVwZW5kICNkaXYxLmdyZWVuOiAjbnRoX2NoaWxkXzNuCitG
QUlMIFByZXBlbmQgI2RpdjIueWVsbG93OiAjb25seV9jaGlsZCBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1Mg
UHJlcGVuZCAjZGl2Mi55ZWxsb3c6ICNmaXJzdF9jaGlsZAorUEFTUyBQcmVwZW5kICNkaXYyLnll
bGxvdzogI2xhc3RfY2hpbGQKK1BBU1MgUHJlcGVuZCAjZGl2Mi55ZWxsb3c6ICNudGhfY2hpbGRf
M25fMQorRkFJTCBQcmVwZW5kICNkaXYyLnllbGxvdzogI250aF9jaGlsZF8zbl8yIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAx
MjgpIgorUEFTUyBQcmVwZW5kICNkaXYyLnllbGxvdzogI250aF9jaGlsZF8zbgorRkFJTCBQcmVw
ZW5kICNkaXYzLm9yYW5nZTogI29ubHlfY2hpbGQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitQQVNTIFByZXBlbmQg
I2RpdjMub3JhbmdlOiAjZmlyc3RfY2hpbGQKK1BBU1MgUHJlcGVuZCAjZGl2My5vcmFuZ2U6ICNs
YXN0X2NoaWxkCitQQVNTIFByZXBlbmQgI2RpdjMub3JhbmdlOiAjbnRoX2NoaWxkXzNuXzEKK0ZB
SUwgUHJlcGVuZCAjZGl2My5vcmFuZ2U6ICNudGhfY2hpbGRfM25fMiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAicmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgor
RkFJTCBQcmVwZW5kICNkaXYzLm9yYW5nZTogI250aF9jaGlsZF8zbiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZB
SUwgUHJlcGVuZCAjZGl2NDogI29ubHlfY2hpbGQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitGQUlMIFByZXBlbmQg
I2RpdjQ6ICNmaXJzdF9jaGlsZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4
LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAxNjUsIDApIgorUEFTUyBQcmVwZW5kICNkaXY0OiAj
bGFzdF9jaGlsZAorRkFJTCBQcmVwZW5kICNkaXY0OiAjbnRoX2NoaWxkXzNuXzEgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAxNjUsIDAp
IgorRkFJTCBQcmVwZW5kICNkaXY0OiAjbnRoX2NoaWxkXzNuXzIgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInJnYigyNTUsIDE2NSwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZB
SUwgUHJlcGVuZCAjZGl2NDogI250aF9jaGlsZF8zbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
cmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVw
ZW5kICNkaXY1OiAjb25seV9jaGlsZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwg
MTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK0ZBSUwgUHJlcGVuZCAjZGl2NTog
I2ZpcnN0X2NoaWxkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCki
IGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFByZXBlbmQgI2RpdjU6ICNsYXN0X2No
aWxkCitGQUlMIFByZXBlbmQgI2RpdjU6ICNudGhfY2hpbGRfM25fMSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAicmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK0ZB
SUwgUHJlcGVuZCAjZGl2NTogI250aF9jaGlsZF8zbl8yIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVw
ZW5kICNkaXY1OiAjbnRoX2NoaWxkXzNuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1
LCAxNjUsIDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFJlbW92ZSAjZGl2
MTogI29ubHlfY2hpbGQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4
KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitGQUlMIFJlbW92ZSAjZGl2MTogI2ZpcnN0X2No
aWxkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3Qg
InJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAjZGl2MTogI2xhc3RfY2hpbGQKK0ZBSUwg
UmVtb3ZlICNkaXYxOiAjbnRoX2NoaWxkXzNuXzEgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigyNTUsIDI1NSwgMCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAj
ZGl2MTogI250aF9jaGlsZF8zbl8yCitGQUlMIFJlbW92ZSAjZGl2MTogI250aF9jaGlsZF8zbiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMTY1LCAwKSIgYnV0IGdvdCAicmdiKDEy
OCwgMTI4LCAxMjgpIgorRkFJTCBSZW1vdmUgI2RpdjI6ICNvbmx5X2NoaWxkIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDAsIDAp
IgorRkFJTCBSZW1vdmUgI2RpdjI6ICNmaXJzdF9jaGlsZCBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAxNjUsIDApIgorUEFTUyBS
ZW1vdmUgI2RpdjI6ICNsYXN0X2NoaWxkCitQQVNTIFJlbW92ZSAjZGl2MjogI250aF9jaGlsZF8z
bl8xCitQQVNTIFJlbW92ZSAjZGl2MjogI250aF9jaGlsZF8zbl8yCitGQUlMIFJlbW92ZSAjZGl2
MjogI250aF9jaGlsZF8zbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMTY1LCAw
KSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBSZW1vdmUgI2RpdjM6ICNvbmx5
X2NoaWxkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBn
b3QgInJnYigyNTUsIDAsIDApIgorRkFJTCBSZW1vdmUgI2RpdjM6ICNmaXJzdF9jaGlsZCBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1
LCAxNjUsIDApIgorUEFTUyBSZW1vdmUgI2RpdjM6ICNsYXN0X2NoaWxkCitQQVNTIFJlbW92ZSAj
ZGl2MzogI250aF9jaGlsZF8zbl8xCitQQVNTIFJlbW92ZSAjZGl2MzogI250aF9jaGlsZF8zbl8y
CitQQVNTIFJlbW92ZSAjZGl2MzogI250aF9jaGlsZF8zbgorUEFTUyBSZW1vdmUgI2RpdjQ6ICNv
bmx5X2NoaWxkCitGQUlMIFJlbW92ZSAjZGl2NDogI2ZpcnN0X2NoaWxkIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCki
CitQQVNTIFJlbW92ZSAjZGl2NDogI2xhc3RfY2hpbGQKK1BBU1MgUmVtb3ZlICNkaXY0OiAjbnRo
X2NoaWxkXzNuXzEKK1BBU1MgUmVtb3ZlICNkaXY0OiAjbnRoX2NoaWxkXzNuXzIKK1BBU1MgUmVt
b3ZlICNkaXY0OiAjbnRoX2NoaWxkXzNuCitQQVNTIFJlbW92ZSAjZGl2NTogI29ubHlfY2hpbGQK
K0ZBSUwgUmVtb3ZlICNkaXY1OiAjZmlyc3RfY2hpbGQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK1BBU1MgUmVt
b3ZlICNkaXY1OiAjbGFzdF9jaGlsZAorUEFTUyBSZW1vdmUgI2RpdjU6ICNudGhfY2hpbGRfM25f
MQorUEFTUyBSZW1vdmUgI2RpdjU6ICNudGhfY2hpbGRfM25fMgorUEFTUyBSZW1vdmUgI2RpdjU6
ICNudGhfY2hpbGRfM24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9jaGlsZC1pbmRleGVk
LXBzZXVkby1jbGFzc2VzLWluLWhhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9jaGlsZC1pbmRleGVk
LXBzZXVkby1jbGFzc2VzLWluLWhhcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMC4uNWM2ODllMjMzMzAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlv
bi9jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFzc2VzLWluLWhhcy5odG1sCkBAIC0wLDAgKzEsMTE2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPkNT
UyBTZWxlY3RvcnMgSW52YWxpZGF0aW9uOiBjaGlsZC1pbmRleGVkIHBzZXVkbyBjbGFzc2VzIGlu
IDpoYXMoKSBhcmd1bWVudDwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkJ5dW5n
d29vIExlZSIgaHJlZj0iYmxlZUBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3NlbGVjdG9ycy8jcmVsYXRpb25hbCI+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICNj
b250YWluZXIgfiBkaXYgeyBjb2xvcjogZ3JleSB9CisgICNjb250YWluZXI6aGFzKDpvbmx5LWNo
aWxkKSB+ICNvbmx5X2NoaWxkIHsgY29sb3I6IHJlZCB9CisgICNjb250YWluZXI6aGFzKC5vcmFu
Z2U6Zmlyc3QtY2hpbGQpIH4gI2ZpcnN0X2NoaWxkIHsgY29sb3I6IG9yYW5nZSB9CisgICNjb250
YWluZXI6aGFzKC55ZWxsb3c6Zmlyc3QtY2hpbGQpIH4gI2ZpcnN0X2NoaWxkIHsgY29sb3I6IHll
bGxvdyB9CisgICNjb250YWluZXI6aGFzKC5ncmVlbjpmaXJzdC1jaGlsZCkgfiAjZmlyc3RfY2hp
bGQgeyBjb2xvcjogZ3JlZW4gfQorICAjY29udGFpbmVyOmhhcygub3JhbmdlOmxhc3QtY2hpbGQp
IH4gI2xhc3RfY2hpbGQgeyBjb2xvcjogb3JhbmdlIH0KKyAgI2NvbnRhaW5lcjpoYXMoLnllbGxv
dzpsYXN0LWNoaWxkKSB+ICNsYXN0X2NoaWxkIHsgY29sb3I6IHllbGxvdyB9CisgICNjb250YWlu
ZXI6aGFzKC5ncmVlbjpsYXN0LWNoaWxkKSB+ICNsYXN0X2NoaWxkIHsgY29sb3I6IGdyZWVuIH0K
KyAgI2NvbnRhaW5lcjpoYXMoLm9yYW5nZTpudGgtY2hpbGQoM24pKSB+ICNudGhfY2hpbGRfM24g
eyBjb2xvcjogb3JhbmdlIH0KKyAgI2NvbnRhaW5lcjpoYXMoLnllbGxvdzpudGgtY2hpbGQoM24p
KSB+ICNudGhfY2hpbGRfM24geyBjb2xvcjogeWVsbG93IH0KKyAgI2NvbnRhaW5lcjpoYXMoLmdy
ZWVuOm50aC1jaGlsZCgzbikpIH4gI250aF9jaGlsZF8zbiB7IGNvbG9yOiBncmVlbiB9CisgICNj
b250YWluZXI6aGFzKC5vcmFuZ2U6bnRoLWNoaWxkKDNuKzEpKSB+ICNudGhfY2hpbGRfM25fMSB7
IGNvbG9yOiBvcmFuZ2UgfQorICAjY29udGFpbmVyOmhhcygueWVsbG93Om50aC1jaGlsZCgzbisx
KSkgfiAjbnRoX2NoaWxkXzNuXzEgeyBjb2xvcjogeWVsbG93IH0KKyAgI2NvbnRhaW5lcjpoYXMo
LmdyZWVuOm50aC1jaGlsZCgzbisxKSkgfiAjbnRoX2NoaWxkXzNuXzEgeyBjb2xvcjogZ3JlZW4g
fQorICAjY29udGFpbmVyOmhhcygub3JhbmdlOm50aC1jaGlsZCgzbisyKSkgfiAjbnRoX2NoaWxk
XzNuXzIgeyBjb2xvcjogb3JhbmdlIH0KKyAgI2NvbnRhaW5lcjpoYXMoLnllbGxvdzpudGgtY2hp
bGQoM24rMikpIH4gI250aF9jaGlsZF8zbl8yIHsgY29sb3I6IHllbGxvdyB9CisgICNjb250YWlu
ZXI6aGFzKC5ncmVlbjpudGgtY2hpbGQoM24rMikpIH4gI250aF9jaGlsZF8zbl8yIHsgY29sb3I6
IGdyZWVuIH0KKyAgI2NvbnRhaW5lcjpoYXMoLm9yYW5nZTpudGgtY2hpbGQoM24pKSB+ICNudGhf
Y2hpbGRfM24geyBjb2xvcjogb3JhbmdlIH0KKyAgI2NvbnRhaW5lcjpoYXMoLnllbGxvdzpudGgt
Y2hpbGQoM24pKSB+ICNudGhfY2hpbGRfM24geyBjb2xvcjogeWVsbG93IH0KKyAgI2NvbnRhaW5l
cjpoYXMoLmdyZWVuOm50aC1jaGlsZCgzbikpIH4gI250aF9jaGlsZF8zbiB7IGNvbG9yOiBncmVl
biB9Cis8L3N0eWxlPgorPGRpdiBpZD0iY29udGFpbmVyIj4KKzwvZGl2PgorPGRpdiBpZD0ib25s
eV9jaGlsZCI+PC9kaXY+Cis8ZGl2IGlkPSJmaXJzdF9jaGlsZCI+PC9kaXY+Cis8ZGl2IGlkPSJs
YXN0X2NoaWxkIj48L2Rpdj4KKzxkaXYgaWQ9Im50aF9jaGlsZF8zbl8xIj48L2Rpdj4KKzxkaXYg
aWQ9Im50aF9jaGlsZF8zbl8yIj48L2Rpdj4KKzxkaXYgaWQ9Im50aF9jaGlsZF8zbiI+PC9kaXY+
Cis8c2NyaXB0PgorY29uc3QgZ3JleSA9ICJyZ2IoMTI4LCAxMjgsIDEyOCkiOworY29uc3QgcmVk
ID0gInJnYigyNTUsIDAsIDApIjsKK2NvbnN0IG9yYW5nZSA9ICJyZ2IoMjU1LCAxNjUsIDApIjsK
K2NvbnN0IHllbGxvdyA9ICJyZ2IoMjU1LCAyNTUsIDApIjsKK2NvbnN0IGdyZWVuID0gInJnYigw
LCAxMjgsIDApIjsKKworZnVuY3Rpb24gdGVzdENvbG9ycyh0ZXN0X25hbWUsCisgICAgICAgICAg
ICAgICAgICAgIG9ubHlfY2hpbGRfY29sb3IsCisgICAgICAgICAgICAgICAgICAgIGZpcnN0X2No
aWxkX2NvbG9yLAorICAgICAgICAgICAgICAgICAgICBsYXN0X2NoaWxkX2NvbG9yLAorICAgICAg
ICAgICAgICAgICAgICBudGhfY2hpbGRfM25fMV9jb2xvciwKKyAgICAgICAgICAgICAgICAgICAg
bnRoX2NoaWxkXzNuXzJfY29sb3IsCisgICAgICAgICAgICAgICAgICAgIG50aF9jaGlsZF8zbl9j
b2xvcikgeworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKG9ubHlfY2hpbGQpLmNvbG9yLCBvbmx5X2NoaWxkX2NvbG9yKTsKKyAgfSwgdGVz
dF9uYW1lICsgIjogI29ubHlfY2hpbGQiKTsKKyAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShmaXJzdF9jaGlsZCkuY29sb3IsIGZpcnN0X2No
aWxkX2NvbG9yKTsKKyAgfSwgdGVzdF9uYW1lICsgIjogI2ZpcnN0X2NoaWxkIik7CisgIHRlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUobGFzdF9j
aGlsZCkuY29sb3IsIGxhc3RfY2hpbGRfY29sb3IpOworICB9LCB0ZXN0X25hbWUgKyAiOiAjbGFz
dF9jaGlsZCIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKG50aF9jaGlsZF8zbl8xKS5jb2xvciwgbnRoX2NoaWxkXzNuXzFfY29sb3Ip
OworICB9LCB0ZXN0X25hbWUgKyAiOiAjbnRoX2NoaWxkXzNuXzEiKTsKKyAgdGVzdChmdW5jdGlv
bigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShudGhfY2hpbGRfM25f
MikuY29sb3IsIG50aF9jaGlsZF8zbl8yX2NvbG9yKTsKKyAgfSwgdGVzdF9uYW1lICsgIjogI250
aF9jaGlsZF8zbl8yIik7CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUobnRoX2NoaWxkXzNuKS5jb2xvciwgbnRoX2NoaWxkXzNuX2NvbG9y
KTsKKyAgfSwgdGVzdF9uYW1lICsgIjogI250aF9jaGlsZF8zbiIpOworfQorCit0ZXN0Q29sb3Jz
KCJJbml0aWFsIGNvbG9ycyIsIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXkpOwor
CitsZXQgZGl2MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZGl2MS5pZCA9ICJk
aXYxIjsKK2RpdjEuY2xhc3NMaXN0LmFkZCgiZ3JlZW4iKTsKK2NvbnRhaW5lci5pbnNlcnRCZWZv
cmUoZGl2MSwgY29udGFpbmVyLmZpcnN0Q2hpbGQpOwordGVzdENvbG9ycygiUHJlcGVuZCAjZGl2
MS5ncmVlbiIsIHJlZCwgZ3JlZW4sIGdyZWVuLCBncmVlbiwgZ3JleSwgZ3JleSk7CisKK2xldCBk
aXYyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CitkaXYyLmlkID0gImRpdjIiOwor
ZGl2Mi5jbGFzc0xpc3QuYWRkKCJ5ZWxsb3ciKTsKK2NvbnRhaW5lci5pbnNlcnRCZWZvcmUoZGl2
MiwgY29udGFpbmVyLmZpcnN0Q2hpbGQpOwordGVzdENvbG9ycygiUHJlcGVuZCAjZGl2Mi55ZWxs
b3ciLCBncmV5LCB5ZWxsb3csIGdyZWVuLCB5ZWxsb3csIGdyZWVuLCBncmV5KTsKKworbGV0IGRp
djMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RpdjMuaWQgPSAiZGl2MyI7Citk
aXYzLmNsYXNzTGlzdC5hZGQoIm9yYW5nZSIpOworY29udGFpbmVyLmluc2VydEJlZm9yZShkaXYz
LCBjb250YWluZXIuZmlyc3RDaGlsZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kICNkaXYzLm9yYW5n
ZSIsIGdyZXksIG9yYW5nZSwgZ3JlZW4sIG9yYW5nZSwgeWVsbG93LCBncmVlbik7CisKK2xldCBk
aXY0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CitkaXY0LmlkID0gImRpdjQiOwor
Y29udGFpbmVyLmluc2VydEJlZm9yZShkaXY0LCBjb250YWluZXIuZmlyc3RDaGlsZCk7Cit0ZXN0
Q29sb3JzKCJQcmVwZW5kICNkaXY0IiwgZ3JleSwgZ3JleSwgZ3JlZW4sIGdyZWVuLCBvcmFuZ2Us
IHllbGxvdyk7CisKK2xldCBkaXY1ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Citk
aXY1LmlkID0gImRpdjUiOworY29udGFpbmVyLmluc2VydEJlZm9yZShkaXY1LCBjb250YWluZXIu
Zmlyc3RDaGlsZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kICNkaXY1IiwgZ3JleSwgZ3JleSwgZ3Jl
ZW4sIHllbGxvdywgZ3JlZW4sIG9yYW5nZSk7CisKK2RpdjEucmVtb3ZlKCk7Cit0ZXN0Q29sb3Jz
KCJSZW1vdmUgI2RpdjEiLCBncmV5LCBncmV5LCB5ZWxsb3csIHllbGxvdywgZ3JleSwgb3Jhbmdl
KTsKKworZGl2Mi5yZW1vdmUoKTsKK3Rlc3RDb2xvcnMoIlJlbW92ZSAjZGl2MiIsIGdyZXksIGdy
ZXksIG9yYW5nZSwgZ3JleSwgZ3JleSwgb3JhbmdlKTsKKworZGl2My5yZW1vdmUoKTsKK3Rlc3RD
b2xvcnMoIlJlbW92ZSAjZGl2MyIsIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXkp
OworCitkaXY0LnJlbW92ZSgpOwordGVzdENvbG9ycygiUmVtb3ZlICNkaXY0IiwgcmVkLCBncmV5
LCBncmV5LCBncmV5LCBncmV5LCBncmV5KTsKKworZGl2NS5yZW1vdmUoKTsKK3Rlc3RDb2xvcnMo
IlJlbW92ZSAjZGl2NSIsIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXkpOworPC9z
Y3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRh
dGlvbi9lbXB0eS1wc2V1ZG8taW4taGFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vZW1w
dHktcHNldWRvLWluLWhhcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi5lNDIyY2YxZDA5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0
aW9uL2VtcHR5LXBzZXVkby1pbi1oYXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitQ
QVNTIEVtcHR5ICNzdWJqZWN0CitQQVNTIEluc2VydCBkaXYjY2hpbGQgdG8gI3N1YmplY3QKK1BB
U1MgSW5zZXJ0IGRpdiB0byBkaXYuI2NoaWxkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24v
ZW1wdHktcHNldWRvLWluLWhhcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9lbXB0eS1wc2V1ZG8taW4t
aGFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44M2NmMDUx
NTY1NjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2VtcHR5LXBzZXVkby1pbi1o
YXMuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04IiAvPgorPHRpdGxlPkNTUyBTZWxlY3RvcnMgSW52YWxpZGF0aW9uOiA6ZW1wdHkgaW4g
OmhhcygpIGFyZ3VtZW50PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iQnl1bmd3
b28gTGVlIiBocmVmPSJibGVlQGlnYWxpYS5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvc2VsZWN0b3JzLyNyZWxhdGlvbmFsIj4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgI3N1
YmplY3QgeyBjb2xvcjogcmVkIH0KKyAgI3N1YmplY3Q6aGFzKDplbXB0eSkgeyBjb2xvcjogZ3Jl
ZW4gfQorICAjc3ViamVjdDpoYXMoOm5vdCg6ZW1wdHkpKSB7IGNvbG9yOiBibHVlIH0KKzwvc3R5
bGU+Cis8ZGl2IGlkPSJzdWJqZWN0Ij48L2Rpdj4KKzxzY3JpcHQ+Citjb25zdCByZWQgPSAncmdi
KDI1NSwgMCwgMCknOworY29uc3QgZ3JlZW4gPSAncmdiKDAsIDEyOCwgMCknOworY29uc3QgYmx1
ZSA9ICdyZ2IoMCwgMCwgMjU1KSc7CisKK2Z1bmN0aW9uIHRlc3RDb2xvcih0ZXN0X25hbWUsIGNv
bG9yKSB7CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoc3ViamVjdCkuY29sb3IsIGNvbG9yKTsKKyAgfSwgdGVzdF9uYW1lKTsKK30KKwor
dGVzdENvbG9yKCJFbXB0eSAjc3ViamVjdCIsIHJlZCk7CisKK2xldCBjaGlsZCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworY2hpbGQuaWQgPSAiY2hpbGQiOworc3ViamVjdC5hcHBl
bmRDaGlsZChjaGlsZCk7CisKK3Rlc3RDb2xvcigiSW5zZXJ0IGRpdiNjaGlsZCB0byAjc3ViamVj
dCIsIGdyZWVuKTsKKworY2hpbGQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2IikpOworCit0ZXN0Q29sb3IoIkluc2VydCBkaXYgdG8gZGl2LiNjaGlsZCIsIGJsdWUpOwor
Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52
YWxpZGF0aW9uL2hhcy1pbi1hZGphY2VudC1wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9o
YXMtaW4tYWRqYWNlbnQtcG9zaXRpb24uaHRtbAppbmRleCBkOWRjOWM3ZDM2NzAuLjVjMWExZWNm
NzhhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9oYXMtaW4tYWRqYWNlbnQtcG9zaXRpb24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1pbi1hZGphY2VudC1wb3NpdGlvbi5odG1sCkBA
IC03LDEyICs3LDE4IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgogPHN0eWxlPgogZGl2LCBtYWluIHsgY29s
b3I6IGdyZXkgfQotZGl2OmhhcygudGVzdCwgW3Rlc3RfYXR0cl0pICsgI3N1YmplY3QgeyBjb2xv
cjogcmVkIH0KLWRpdjpoYXMoPiAudGVzdCwgPiBbdGVzdF9hdHRyXSkgKyAjc3ViamVjdCB7IGNv
bG9yOiBncmVlbiB9Ci1kaXY6aGFzKH4gLnRlc3QsIH4gW3Rlc3RfYXR0cl0pICsgI3N1YmplY3Qg
eyBjb2xvcjogeWVsbG93IH0KLWRpdjpoYXMoKyAudGVzdCwgKyBbdGVzdF9hdHRyXSkgKyAjc3Vi
amVjdCB7IGNvbG9yOiBibHVlIH0KLWRpdjpoYXMofiBkaXYgLnRlc3QsIH4gZGl2IFt0ZXN0X2F0
dHJdKSArICNzdWJqZWN0IHsgY29sb3I6IHB1cnBsZSB9Ci1kaXY6aGFzKCsgZGl2IC50ZXN0LCAr
IGRpdiBbdGVzdF9hdHRyXSkgKyAjc3ViamVjdCB7IGNvbG9yOiBwaW5rIH0KK2RpdjpoYXMoLnRl
c3QpICsgI3N1YmplY3QgeyBjb2xvcjogcmVkIH0KK2RpdjpoYXMoW3Rlc3RfYXR0cl0pICsgI3N1
YmplY3QgeyBjb2xvcjogb3JhbmdlcmVkIH0KK2RpdjpoYXMoPiAudGVzdCkgKyAjc3ViamVjdCB7
IGNvbG9yOiBncmVlbiB9CitkaXY6aGFzKD4gW3Rlc3RfYXR0cl0pICsgI3N1YmplY3QgeyBjb2xv
cjogbGlnaHRncmVlbiB9CitkaXY6aGFzKH4gLnRlc3QpICsgI3N1YmplY3QgeyBjb2xvcjogeWVs
bG93IH0KK2RpdjpoYXMofiBbdGVzdF9hdHRyXSkgKyAjc3ViamVjdCB7IGNvbG9yOiBpdm9yeSB9
CitkaXY6aGFzKCsgLnRlc3QpICsgI3N1YmplY3QgeyBjb2xvcjogYmx1ZSB9CitkaXY6aGFzKCsg
W3Rlc3RfYXR0cl0pICsgI3N1YmplY3QgeyBjb2xvcjogc2t5Ymx1ZSB9CitkaXY6aGFzKH4gZGl2
IC50ZXN0KSArICNzdWJqZWN0IHsgY29sb3I6IHB1cnBsZSB9CitkaXY6aGFzKH4gZGl2IFt0ZXN0
X2F0dHJdKSArICNzdWJqZWN0IHsgY29sb3I6IHZpb2xldCB9CitkaXY6aGFzKCsgZGl2IC50ZXN0
KSArICNzdWJqZWN0IHsgY29sb3I6IHBpbmsgfQorZGl2OmhhcygrIGRpdiBbdGVzdF9hdHRyXSkg
KyAjc3ViamVjdCB7IGNvbG9yOiBsaWdodHBpbmsgfQogPC9zdHlsZT4KIAogPG1haW4gaWQ9bWFp
bj4KQEAgLTMyLDExICszOCw0NyBAQCBkaXY6aGFzKCsgZGl2IC50ZXN0LCArIGRpdiBbdGVzdF9h
dHRyXSkgKyAjc3ViamVjdCB7IGNvbG9yOiBwaW5rIH0KIDxzY3JpcHQ+CiBjb25zdCBncmV5ID0g
J3JnYigxMjgsIDEyOCwgMTI4KSc7CiBjb25zdCByZWQgPSAncmdiKDI1NSwgMCwgMCknOworY29u
c3Qgb3JhbmdlcmVkID0gJ3JnYigyNTUsIDY5LCAwKSc7CiBjb25zdCBncmVlbiA9ICdyZ2IoMCwg
MTI4LCAwKSc7Citjb25zdCBsaWdodGdyZWVuID0gJ3JnYigxNDQsIDIzOCwgMTQ0KSc7CiBjb25z
dCBibHVlID0gJ3JnYigwLCAwLCAyNTUpJzsKK2NvbnN0IHNreWJsdWUgPSAncmdiKDEzNSwgMjA2
LCAyMzUpJzsKIGNvbnN0IHllbGxvdyA9ICdyZ2IoMjU1LCAyNTUsIDApJzsKK2NvbnN0IGl2b3J5
ID0gJ3JnYigyNTUsIDI1NSwgMjQwKSc7CiBjb25zdCBwdXJwbGUgPSAncmdiKDEyOCwgMCwgMTI4
KSc7Citjb25zdCB2aW9sZXQgPSAncmdiKDIzOCwgMTMwLCAyMzgpJzsKIGNvbnN0IHBpbmsgPSAn
cmdiKDI1NSwgMTkyLCAyMDMpJzsKK2NvbnN0IGxpZ2h0cGluayA9ICdyZ2IoMjU1LCAxODIsIDE5
MyknOworY29uc3QgY29sb3JzID0geworICBncmV5OiB7CisgICAgY2xhc3NUZXN0OiBncmV5LAor
ICAgIGF0dHJpYnV0ZVRlc3Q6IGdyZXksCisgIH0sCisgIHJlZDogeworICAgIGNsYXNzVGVzdDog
cmVkLAorICAgIGF0dHJpYnV0ZVRlc3Q6IG9yYW5nZXJlZCwKKyAgfSwKKyAgZ3JlZW46IHsKKyAg
ICBjbGFzc1Rlc3Q6IGdyZWVuLAorICAgIGF0dHJpYnV0ZVRlc3Q6IGxpZ2h0Z3JlZW4sCisgIH0s
CisgIGJsdWU6IHsKKyAgICBjbGFzc1Rlc3Q6IGJsdWUsCisgICAgYXR0cmlidXRlVGVzdDogc2t5
Ymx1ZSwKKyAgfSwKKyAgeWVsbG93OiB7CisgICAgY2xhc3NUZXN0OiB5ZWxsb3csCisgICAgYXR0
cmlidXRlVGVzdDogaXZvcnksCisgIH0sCisgIHB1cnBsZTogeworICAgIGNsYXNzVGVzdDogcHVy
cGxlLAorICAgIGF0dHJpYnV0ZVRlc3Q6IHZpb2xldCwKKyAgfSwKKyAgcGluazogeworICAgIGNs
YXNzVGVzdDogcGluaywKKyAgICBhdHRyaWJ1dGVUZXN0OiBsaWdodHBpbmssCisgIH0sCit9Owog
CiBmdW5jdGlvbiB0ZXN0Q29sb3IodGVzdF9uYW1lLCBjb2xvcikgewogICAgIHRlc3QoZnVuY3Rp
b24oKSB7CkBAIC00NCwyNyArODYsMzAgQEAgZnVuY3Rpb24gdGVzdENvbG9yKHRlc3RfbmFtZSwg
Y29sb3IpIHsKICAgICB9LCB0ZXN0X25hbWUpOwogfQogCi1mdW5jdGlvbiB0ZXN0Q2xhc3NDaGFu
Z2UoZWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9uIHRlc3RDbGFzc0NoYW5nZShlbGVt
ZW50LCBleHBlY3RlZENvbG9yTmFtZSkKIHsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQ2xh
c3NUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5jbGFzc1Rlc3Q7CiAgICAgZWxlbWVu
dC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgLnRlc3QgdG8gJHtl
bGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIC50ZXN0IHRv
ICR7ZWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKICAgICBlbGVtZW50
LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSAudGVzdCBm
cm9tICR7ZWxlbWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNl
cnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9uIHRlc3RF
bGVtZW50SW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1lKQog
eworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0ZWRD
b2xvck5hbWVdLmNsYXNzVGVzdDsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRl
VGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uYXR0cmlidXRlVGVzdDsKICAgICBjb25z
dCBuZXdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgbmV3RWxl
bWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0JykKIAogICAgIGJlZm9yZUVsZW1lbnQuYmVmb3JlKG5l
d0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGlu
c2VydCBlbGVtZW50IGRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0
ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUo
J3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhl
IGVsZW1lbnQgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIAog
ICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRk
IHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYmVmb3JlICR7
YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0
aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGJlZm9yZSAke2Jl
Zm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdF
bGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2LnRlc3Qg
YmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTc1LDcgKzEyMCw3IEBAIGZ1
bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVk
Q29sb3IpCiAgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYgYmVmb3JlICR7YmVmb3Jl
RWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVz
dCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQg
aW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9y
KTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGlu
c2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZv
ckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsK
ICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQg
aW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTg2
LDI1ICsxMzEsMjcgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoYmVmb3Jl
RWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZSgndGVz
dF9hdHRyJywgJycpOwogCiAgICAgYmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0g
ICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVs
ZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3Rl
ZENvbG9yRm9yQXR0cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAg
IHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3Jl
RWxlbWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25B
ZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0RWxlbWVudElu
c2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAgY29u
c3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0u
Y2xhc3NUZXN0OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0gY29s
b3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0OwogICAgIGNvbnN0IG5ld0VsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBuZXdFbGVtZW50LmNsYXNz
TGlzdC5hZGQoJ3Rlc3QnKQogCiAgICAgYWZ0ZXJFbGVtZW50LmFmdGVyKG5ld0VsZW1lbnQpOwot
ICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1l
bnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBk
aXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NU
ZXN0KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRl
c3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRl
ZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xh
c3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcg
YWdhaW4gdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwg
ZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2Fp
biB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBl
Y3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAg
dGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5p
ZH1gLCBncmV5KTsKQEAgLTExNSw3ICsxNjIsNyBAQCBmdW5jdGlvbiB0ZXN0RWxlbWVudEluc2Vy
dGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICB0ZXN0Q29sb3IoYGlu
c2VydCBlbGVtZW50IGRpdiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAg
IG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRo
ZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRl
ckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNs
YXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxl
bWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQu
Y2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFz
cyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxl
bWVudC5pZH1gLCBncmV5KTsKQEAgLTEyNiwyNyArMTczLDI5IEBAIGZ1bmN0aW9uIHRlc3RFbGVt
ZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0Vs
ZW1lbnQuc2V0QXR0cmlidXRlKCd0ZXN0X2F0dHInLCAnJyk7CiAKICAgICBhZnRlckVsZW1lbnQu
YWZ0ZXIobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXZbdGVz
dF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0
ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVt
ZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5ld0VsZW1l
bnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXZbdGVzdF9hdHRy
XSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdFRy
ZWVJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9u
IHRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1l
KQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0
ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQXR0cmli
dXRlVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uYXR0cmlidXRlVGVzdDsKICAgICBj
b25zdCBuZXdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgY29u
c3QgbmV3Q2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBuZXdDaGls
ZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7CiAgICAgbmV3RWxlbWVudC5hcHBlbmRDaGlsZChuZXdD
aGlsZCk7CiAKICAgICBiZWZvcmVFbGVtZW50LmJlZm9yZShuZXdFbGVtZW50KTsKLSAgICB0ZXN0
Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50Lmlk
fWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdi50
ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVz
dCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENv
bG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGluIHRoZSB0cmVl
IGluc2VydGVkIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdD
aGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNz
ICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBiZWZvcmUg
JHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRk
IHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0
ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0
KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdHJl
ZSBkaXY+ZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTE1
Nyw3ICsyMDYsNyBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVt
ZW50LCBleHBlY3RlZENvbG9yKQogICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdiBi
ZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NM
aXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8g
dGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxl
bWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3Mg
J3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGJlZm9yZSAk
e2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBu
ZXdDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUg
dGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFn
YWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0xNjgsMjcgKzIxNywy
OSBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBl
Y3RlZENvbG9yKQogICAgIG5ld0NoaWxkLnNldEF0dHJpYnV0ZSgndGVzdF9hdHRyJywgJycpOwog
CiAgICAgYmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBp
bnNlcnQgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5p
ZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdj5k
aXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JG
b3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENv
bG9yKGByZW1vdmUgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxl
bWVudC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihh
ZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkFm
dGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAgY29uc3QgZXhwZWN0
ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0
OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0gY29sb3JzW2V4cGVj
dGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0OwogICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBjb25zdCBuZXdDaGlsZCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3Qn
KTsKICAgICBuZXdFbGVtZW50LmFwcGVuZENoaWxkKG5ld0NoaWxkKTsKIAogICAgIGFmdGVyRWxl
bWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5k
aXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0
ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5p
ZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlz
dC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3Qn
IGZyb20gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1l
bnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0g
ICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBp
biB0aGUgdHJlZSBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENv
bG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBl
bGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4
cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAg
ICB0ZXN0Q29sb3IoYHJlbW92ZSB0cmVlIGRpdj5kaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVu
dC5pZH1gLCBncmV5KTsKQEAgLTE5OSw3ICsyNTAsNyBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2Vy
dGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICB0ZXN0Q29sb3IoYGlu
c2VydCB0cmVlIGRpdj5kaXYgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAg
ICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhl
IGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBh
ZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3Io
YGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVk
IGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rl
c3QpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RD
b2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbiB0aGUgdHJl
ZSBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTIx
MCw3ICsyNjEsNyBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVu
dCwgZXhwZWN0ZWRDb2xvcikKICAgICBuZXdDaGlsZC5zZXRBdHRyaWJ1dGUoJ3Rlc3RfYXR0cics
ICcnKTsKIAogICAgIGFmdGVyRWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29s
b3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVu
dC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRp
dj5kaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9y
Rm9yQXR0cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RD
b2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVt
ZW50LmlkfWAsIGdyZXkpOwpAQCAtMjE4LDQ0ICsyNjksNDQgQEAgZnVuY3Rpb24gdGVzdFRyZWVJ
bnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAKIHRlc3RDb2xvcign
SW5pdGlhbCBjb2xvcicsIGdyZXkpOwogCi10ZXN0Q2xhc3NDaGFuZ2UocHJldmlvdXNfc2libGlu
ZywgZ3JleSk7Ci10ZXN0Q2xhc3NDaGFuZ2UocHJldmlvdXNfc2libGluZ19jaGlsZCwgZ3JlZW4p
OwotdGVzdENsYXNzQ2hhbmdlKHByZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFudCwgcmVkKTsKLXRl
c3RDbGFzc0NoYW5nZShzdWJqZWN0LCBibHVlKTsKLXRlc3RDbGFzc0NoYW5nZShuZXh0X3NpYmxp
bmcsIHllbGxvdyk7Ci10ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5nX2NoaWxkLCBwdXJwbGUp
OwotdGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCBwdXJwbGUpOwotCi10
ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJsaW5nLCBncmV5KTsKLXRlc3RF
bGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsIGdyZWVuKTsKLXRl
c3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFudCwgcmVk
KTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3QsIGdyZXkpOwotdGVzdEVsZW1l
bnRJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nLCB5ZWxsb3cpOwotdGVzdEVsZW1lbnRJbnNl
cnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2NoaWxkLCBwdXJwbGUpOwotdGVzdEVsZW1lbnRJbnNl
cnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsIHB1cnBsZSk7Ci0KLXRlc3RFbGVt
ZW50SW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZywgZ3JleSk7Ci10ZXN0RWxlbWVudElu
c2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsIGdyZWVuKTsKLXRlc3RFbGVtZW50
SW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCByZWQpOwotdGVzdEVs
ZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0LCB5ZWxsb3cpOwotdGVzdEVsZW1lbnRJbnNlcnRp
b25BZnRlcihuZXh0X3NpYmxpbmcsIHllbGxvdyk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVy
KG5leHRfc2libGluZ19jaGlsZCwgcHVycGxlKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIo
bmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQsIHB1cnBsZSk7Ci0KLXRlc3RUcmVlSW5zZXJ0aW9uQmVm
b3JlKHByZXZpb3VzX3NpYmxpbmcsIGdyZXkpOwotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUocHJl
dmlvdXNfc2libGluZ19jaGlsZCwgcmVkKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHByZXZp
b3VzX3NpYmxpbmdfZGVzY2VuZGFudCwgcmVkKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHN1
YmplY3QsIGdyZWVuKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZywgcHVy
cGxlKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19jaGlsZCwgcHVycGxl
KTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCBwdXJw
bGUpOwotCi10ZXN0VHJlZUluc2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxpbmcsIGdyZWVuKTsK
LXRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZ19jaGlsZCwgcmVkKTsKLXRl
c3RUcmVlSW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCByZWQpOwot
dGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0LCBwdXJwbGUpOwotdGVzdFRyZWVJbnNlcnRp
b25BZnRlcihuZXh0X3NpYmxpbmcsIHB1cnBsZSk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5l
eHRfc2libGluZ19jaGlsZCwgcHVycGxlKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9z
aWJsaW5nX2Rlc2NlbmRhbnQsIHB1cnBsZSk7Cit0ZXN0Q2xhc3NDaGFuZ2UocHJldmlvdXNfc2li
bGluZywgImdyZXkiKTsKK3Rlc3RDbGFzc0NoYW5nZShwcmV2aW91c19zaWJsaW5nX2NoaWxkLCAi
Z3JlZW4iKTsKK3Rlc3RDbGFzc0NoYW5nZShwcmV2aW91c19zaWJsaW5nX2Rlc2NlbmRhbnQsICJy
ZWQiKTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0LCAiYmx1ZSIpOwordGVzdENsYXNzQ2hhbmdl
KG5leHRfc2libGluZywgInllbGxvdyIpOwordGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19j
aGlsZCwgInB1cnBsZSIpOwordGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19kZXNjZW5kYW50
LCAicHVycGxlIik7CisKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxp
bmcsICJncmV5Iik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJsaW5n
X2NoaWxkLCAiZ3JlZW4iKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3Np
YmxpbmdfZGVzY2VuZGFudCwgInJlZCIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3Vi
amVjdCwgImdyZXkiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZywg
InllbGxvdyIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2NoaWxk
LCAicHVycGxlIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfZGVz
Y2VuZGFudCwgInB1cnBsZSIpOworCit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHByZXZpb3Vz
X3NpYmxpbmcsICJncmV5Iik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHByZXZpb3VzX3Np
YmxpbmdfY2hpbGQsICJncmVlbiIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihwcmV2aW91
c19zaWJsaW5nX2Rlc2NlbmRhbnQsICJyZWQiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIo
c3ViamVjdCwgInllbGxvdyIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxp
bmcsICJ5ZWxsb3ciKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2No
aWxkLCAicHVycGxlIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRfc2libGluZ19k
ZXNjZW5kYW50LCAicHVycGxlIik7CisKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHByZXZpb3Vz
X3NpYmxpbmcsICJncmV5Iik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJs
aW5nX2NoaWxkLCAicmVkIik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJs
aW5nX2Rlc2NlbmRhbnQsICJyZWQiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3Qs
ICJncmVlbiIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nLCAicHVycGxl
Iik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfY2hpbGQsICJwdXJwbGUi
KTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCAicHVy
cGxlIik7CisKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZywgImdyZWVu
Iik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsICJyZWQi
KTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCAi
cmVkIik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3QsICJwdXJwbGUiKTsKK3Rlc3RU
cmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nLCAicHVycGxlIik7Cit0ZXN0VHJlZUluc2Vy
dGlvbkFmdGVyKG5leHRfc2libGluZ19jaGlsZCwgInB1cnBsZSIpOwordGVzdFRyZWVJbnNlcnRp
b25BZnRlcihuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgInB1cnBsZSIpOwogCiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaGFzLWluLWFuY2VzdG9yLXBvc2l0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL2hhcy1pbi1hbmNlc3Rvci1wb3NpdGlvbi5odG1sCmluZGV4IDNkNTU2
ZDM0ZGM3Yi4uNzY2MmZiZGU2OWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1pbi1h
bmNlc3Rvci1wb3NpdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaGFzLWluLWFuY2VzdG9y
LXBvc2l0aW9uLmh0bWwKQEAgLTcsMTIgKzcsMTggQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3NlbGVjdG9ycy8jcmVsYXRpb25hbCI+CiA8c3R5bGU+
CiBkaXYsIG1haW4geyBjb2xvcjogZ3JleSB9Ci1kaXY6aGFzKC50ZXN0LCBbdGVzdF9hdHRyXSkg
I3N1YmplY3QgeyBjb2xvcjogcmVkIH0KLWRpdjpoYXMoPiAudGVzdCwgPiBbdGVzdF9hdHRyXSkg
I3N1YmplY3QgeyBjb2xvcjogZ3JlZW4gfQotZGl2Omhhcyh+IC50ZXN0LCB+IFt0ZXN0X2F0dHJd
KSAjc3ViamVjdCB7IGNvbG9yOiB5ZWxsb3cgfQotZGl2OmhhcygrIC50ZXN0LCArIFt0ZXN0X2F0
dHJdKSAjc3ViamVjdCB7IGNvbG9yOiBibHVlIH0KLWRpdjpoYXMofiBkaXYgLnRlc3QsIH4gZGl2
IFt0ZXN0X2F0dHJdKSAjc3ViamVjdCB7IGNvbG9yOiBwdXJwbGUgfQotZGl2OmhhcygrIGRpdiAu
dGVzdCwgKyBkaXYgW3Rlc3RfYXR0cl0pICNzdWJqZWN0IHsgY29sb3I6IHBpbmsgfQorZGl2Omhh
cygudGVzdCkgI3N1YmplY3QgeyBjb2xvcjogcmVkIH0KK2RpdjpoYXMoW3Rlc3RfYXR0cl0pICNz
dWJqZWN0IHsgY29sb3I6IG9yYW5nZXJlZCB9CitkaXY6aGFzKD4gLnRlc3QpICNzdWJqZWN0IHsg
Y29sb3I6IGdyZWVuIH0KK2RpdjpoYXMoPiBbdGVzdF9hdHRyXSkgI3N1YmplY3QgeyBjb2xvcjog
bGlnaHRncmVlbiB9CitkaXY6aGFzKH4gLnRlc3QpICNzdWJqZWN0IHsgY29sb3I6IHllbGxvdyB9
CitkaXY6aGFzKH4gW3Rlc3RfYXR0cl0pICNzdWJqZWN0IHsgY29sb3I6IGl2b3J5IH0KK2Rpdjpo
YXMoKyAudGVzdCkgI3N1YmplY3QgeyBjb2xvcjogYmx1ZSB9CitkaXY6aGFzKCsgW3Rlc3RfYXR0
cl0pICNzdWJqZWN0IHsgY29sb3I6IHNreWJsdWUgfQorZGl2Omhhcyh+IGRpdiAudGVzdCkgI3N1
YmplY3QgeyBjb2xvcjogcHVycGxlIH0KK2RpdjpoYXMofiBkaXYgW3Rlc3RfYXR0cl0pICNzdWJq
ZWN0IHsgY29sb3I6IHZpb2xldCB9CitkaXY6aGFzKCsgZGl2IC50ZXN0KSAjc3ViamVjdCB7IGNv
bG9yOiBwaW5rIH0KK2RpdjpoYXMoKyBkaXYgW3Rlc3RfYXR0cl0pICNzdWJqZWN0IHsgY29sb3I6
IGxpZ2h0cGluayB9CiA8L3N0eWxlPgogCiA8bWFpbiBpZD1tYWluPgpAQCAtMzUsMTEgKzQxLDQ3
IEBAIGRpdjpoYXMoKyBkaXYgLnRlc3QsICsgZGl2IFt0ZXN0X2F0dHJdKSAjc3ViamVjdCB7IGNv
bG9yOiBwaW5rIH0KIDxzY3JpcHQ+CiBjb25zdCBncmV5ID0gJ3JnYigxMjgsIDEyOCwgMTI4KSc7
CiBjb25zdCByZWQgPSAncmdiKDI1NSwgMCwgMCknOworY29uc3Qgb3JhbmdlcmVkID0gJ3JnYigy
NTUsIDY5LCAwKSc7CiBjb25zdCBncmVlbiA9ICdyZ2IoMCwgMTI4LCAwKSc7Citjb25zdCBsaWdo
dGdyZWVuID0gJ3JnYigxNDQsIDIzOCwgMTQ0KSc7CiBjb25zdCBibHVlID0gJ3JnYigwLCAwLCAy
NTUpJzsKK2NvbnN0IHNreWJsdWUgPSAncmdiKDEzNSwgMjA2LCAyMzUpJzsKIGNvbnN0IHllbGxv
dyA9ICdyZ2IoMjU1LCAyNTUsIDApJzsKK2NvbnN0IGl2b3J5ID0gJ3JnYigyNTUsIDI1NSwgMjQw
KSc7CiBjb25zdCBwdXJwbGUgPSAncmdiKDEyOCwgMCwgMTI4KSc7Citjb25zdCB2aW9sZXQgPSAn
cmdiKDIzOCwgMTMwLCAyMzgpJzsKIGNvbnN0IHBpbmsgPSAncmdiKDI1NSwgMTkyLCAyMDMpJzsK
K2NvbnN0IGxpZ2h0cGluayA9ICdyZ2IoMjU1LCAxODIsIDE5MyknOworY29uc3QgY29sb3JzID0g
eworICBncmV5OiB7CisgICAgY2xhc3NUZXN0OiBncmV5LAorICAgIGF0dHJpYnV0ZVRlc3Q6IGdy
ZXksCisgIH0sCisgIHJlZDogeworICAgIGNsYXNzVGVzdDogcmVkLAorICAgIGF0dHJpYnV0ZVRl
c3Q6IG9yYW5nZXJlZCwKKyAgfSwKKyAgZ3JlZW46IHsKKyAgICBjbGFzc1Rlc3Q6IGdyZWVuLAor
ICAgIGF0dHJpYnV0ZVRlc3Q6IGxpZ2h0Z3JlZW4sCisgIH0sCisgIGJsdWU6IHsKKyAgICBjbGFz
c1Rlc3Q6IGJsdWUsCisgICAgYXR0cmlidXRlVGVzdDogc2t5Ymx1ZSwKKyAgfSwKKyAgeWVsbG93
OiB7CisgICAgY2xhc3NUZXN0OiB5ZWxsb3csCisgICAgYXR0cmlidXRlVGVzdDogaXZvcnksCisg
IH0sCisgIHB1cnBsZTogeworICAgIGNsYXNzVGVzdDogcHVycGxlLAorICAgIGF0dHJpYnV0ZVRl
c3Q6IHZpb2xldCwKKyAgfSwKKyAgcGluazogeworICAgIGNsYXNzVGVzdDogcGluaywKKyAgICBh
dHRyaWJ1dGVUZXN0OiBsaWdodHBpbmssCisgIH0sCit9OwogCiBmdW5jdGlvbiB0ZXN0Q29sb3Io
dGVzdF9uYW1lLCBjb2xvcikgewogICAgIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC00NywyNyArODks
MzAgQEAgZnVuY3Rpb24gdGVzdENvbG9yKHRlc3RfbmFtZSwgY29sb3IpIHsKICAgICB9LCB0ZXN0
X25hbWUpOwogfQogCi1mdW5jdGlvbiB0ZXN0Q2xhc3NDaGFuZ2UoZWxlbWVudCwgZXhwZWN0ZWRD
b2xvcikKK2Z1bmN0aW9uIHRlc3RDbGFzc0NoYW5nZShlbGVtZW50LCBleHBlY3RlZENvbG9yTmFt
ZSkKIHsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29sb3JzW2V4cGVj
dGVkQ29sb3JOYW1lXS5jbGFzc1Rlc3Q7CiAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0
Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgLnRlc3QgdG8gJHtlbGVtZW50LmlkfWAsIGV4cGVjdGVk
Q29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIC50ZXN0IHRvICR7ZWxlbWVudC5pZH1gLCBleHBl
Y3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rl
c3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSAudGVzdCBmcm9tICR7ZWxlbWVudC5pZH1gLCBn
cmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxl
bWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3Jl
KGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVk
Q29sb3JGb3JDbGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsK
KyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCA9IGNvbG9yc1tleHBlY3Rl
ZENvbG9yTmFtZV0uYXR0cmlidXRlVGVzdDsKICAgICBjb25zdCBuZXdFbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0
ZXN0JykKIAogICAgIGJlZm9yZUVsZW1lbnQuYmVmb3JlKG5ld0VsZW1lbnQpOwotICAgIHRlc3RD
b2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1g
LCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdi50ZXN0
IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7
CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29s
b3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYmVm
b3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NM
aXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdh
aW4gdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBl
eHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWlu
IHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhw
ZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAg
IHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVu
dC5pZH1gLCBncmV5KTsKQEAgLTc4LDcgKzEyMyw3IEBAIGZ1bmN0aW9uIHRlc3RFbGVtZW50SW5z
ZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgdGVzdENvbG9y
KGBpbnNlcnQgZWxlbWVudCBkaXYgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsK
IAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihg
YWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFk
ZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGFnYWluIGJlZm9yZSAk
e2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBu
ZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92
ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTg5LDI1ICsxMzQsMjcgQEAgZnVuY3Rp
b24gdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xv
cikKICAgICBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZSgndGVzdF9hdHRyJywgJycpOwogCiAgICAg
YmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQg
ZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVj
dGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0g
YmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVz
dCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVs
ZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsK
IH0KIAotZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4
cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKGFmdGVyRWxl
bWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckNs
YXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0OworICAgIGNvbnN0
IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1l
XS5hdHRyaWJ1dGVUZXN0OwogICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKQogCiAg
ICAgYWZ0ZXJFbGVtZW50LmFmdGVyKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0
IGVsZW1lbnQgZGl2LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xv
cik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYudGVzdCBhZnRlciAke2FmdGVy
RWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1l
bnQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBj
bGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVu
dC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwot
ICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQg
aW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAg
dGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbnNl
cnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0
KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxl
bWVudCBkaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTExOCw3
ICsxNjUsNyBAQCBmdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVu
dCwgZXhwZWN0ZWRDb2xvcikKICAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdiBhZnRl
ciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0
LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhl
IGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0
ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxl
bWVudCBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENv
bG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgndGVz
dCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxl
bWVudCBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAg
LTEyOSwyNyArMTc2LDI5IEBAIGZ1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0
ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKCd0
ZXN0X2F0dHInLCAnJyk7CiAKICAgICBhZnRlckVsZW1lbnQuYWZ0ZXIobmV3RWxlbWVudCk7Ci0g
ICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVy
RWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVt
ZW50IGRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29s
b3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVz
dENvbG9yKGByZW1vdmUgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVu
dC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoYmVm
b3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKK2Z1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQmVm
b3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVj
dGVkQ29sb3JGb3JDbGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVz
dDsKKyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCA9IGNvbG9yc1tleHBl
Y3RlZENvbG9yTmFtZV0uYXR0cmlidXRlVGVzdDsKICAgICBjb25zdCBuZXdFbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgY29uc3QgbmV3Q2hpbGQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0
Jyk7CiAgICAgbmV3RWxlbWVudC5hcHBlbmRDaGlsZChuZXdDaGlsZCk7CiAKICAgICBiZWZvcmVF
bGVtZW50LmJlZm9yZShuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRp
dj5kaXYudGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOwor
ICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVs
ZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5j
bGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNz
ICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGJlZm9yZSAke2Jl
Zm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0
ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUg
ZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAs
IGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdh
aW4gdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxl
bWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQu
cmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdHJlZSBkaXY+ZGl2LnRlc3QgYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTE2MCw3ICsyMDksNyBAQCBmdW5jdGlv
biB0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQog
ICAgIHRlc3RDb2xvcihgaW5zZXJ0IHRyZWUgZGl2PmRpdiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50
LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAg
IHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRy
ZWUgaW5zZXJ0ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENv
bG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50
IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwg
ZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVt
b3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9t
IHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVs
ZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0xNzEsMjcgKzIyMCwyOSBAQCBmdW5jdGlvbiB0ZXN0VHJl
ZUluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIG5ld0No
aWxkLnNldEF0dHJpYnV0ZSgndGVzdF9hdHRyJywgJycpOwogCiAgICAgYmVmb3JlRWxlbWVudC5i
ZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXY+ZGl2
W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsK
KyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBiZWZvcmUg
JHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0KTsKIAog
ICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgZWxlbWVudCBk
aXY+ZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIH0K
IAotZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVk
Q29sb3IpCitmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhw
ZWN0ZWRDb2xvck5hbWUpCiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9
IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0OworICAgIGNvbnN0IGV4cGVjdGVk
Q29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1
dGVUZXN0OwogICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKICAgICBjb25zdCBuZXdDaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKICAgICBuZXdFbGVtZW50LmFw
cGVuZENoaWxkKG5ld0NoaWxkKTsKIAogICAgIGFmdGVyRWxlbWVudC5hZnRlcihuZXdFbGVtZW50
KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBhZnRlciAke2FmdGVy
RWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVl
IGRpdj5kaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9y
Q2xhc3NUZXN0KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAg
ICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW4g
dGhlIHRyZWUgaW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAg
ICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhl
IGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBh
ZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3Io
YGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGlu
c2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rl
c3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0
cmVlIGRpdj5kaXYudGVzdCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTIw
Miw3ICsyNTMsNyBAQCBmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVu
dCwgZXhwZWN0ZWRDb2xvcikKICAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYgYWZ0
ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3Qu
YWRkKCd0ZXN0Jyk7Ci0gICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUg
ZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2FmdGVyRWxlbWVudC5p
ZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3Qn
IHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJF
bGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3Q2hpbGQu
Y2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFz
cyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBhZnRl
ciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTIxMyw3ICsyNjQsNyBAQCBmdW5jdGlv
biB0ZXN0VHJlZUluc2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAg
ICBuZXdDaGlsZC5zZXRBdHRyaWJ1dGUoJ3Rlc3RfYXR0cicsICcnKTsKIAogICAgIGFmdGVyRWxl
bWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRp
dj5kaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9y
KTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBhZnRl
ciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCk7CiAK
ICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQg
ZGl2PmRpdlt0ZXN0X2F0dHJdIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAt
MjIxLDQ5ICsyNzIsNDkgQEAgZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVs
ZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAKIHRlc3RDb2xvcignSW5pdGlhbCBjb2xvcicsIGdyZXkp
OwogCi10ZXN0Q2xhc3NDaGFuZ2Uoc3ViamVjdF9hbmNlc3RvciwgZ3JleSk7Ci10ZXN0Q2xhc3ND
aGFuZ2Uoc3ViamVjdF9wYXJlbnQsIGdyZWVuKTsKLXRlc3RDbGFzc0NoYW5nZShzdWJqZWN0LCBn
cmVlbik7Ci10ZXN0Q2xhc3NDaGFuZ2Uoc3ViamVjdF9jaGlsZCwgcmVkKTsKLXRlc3RDbGFzc0No
YW5nZShzdWJqZWN0X2Rlc2NlbmRhbnQsIHJlZCk7Ci10ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJs
aW5nLCBibHVlKTsKLXRlc3RDbGFzc0NoYW5nZShuZXh0X3NpYmxpbmdfY2hpbGQsIHBpbmspOwot
dGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCBwaW5rKTsKLQotdGVzdEVs
ZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9hbmNlc3RvciwgZ3JleSk7Ci10ZXN0RWxlbWVu
dEluc2VydGlvbkJlZm9yZShzdWJqZWN0X3BhcmVudCwgZ3JlZW4pOwotdGVzdEVsZW1lbnRJbnNl
cnRpb25CZWZvcmUoc3ViamVjdCwgZ3JlZW4pOwotdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUo
c3ViamVjdF9jaGlsZCwgcmVkKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3Rf
ZGVzY2VuZGFudCwgcmVkKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGlu
ZywgYmx1ZSk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfY2hpbGQs
IHBpbmspOwotdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2Rlc2NlbmRh
bnQsIHBpbmspOwotCi10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHN1YmplY3RfYW5jZXN0b3Is
IGJsdWUpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0X3BhcmVudCwgYmx1ZSk7
Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHN1YmplY3QsIGdyZWVuKTsKLXRlc3RFbGVtZW50
SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9jaGlsZCwgcmVkKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9u
QWZ0ZXIoc3ViamVjdF9kZXNjZW5kYW50LCByZWQpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRl
cihuZXh0X3NpYmxpbmcsIHllbGxvdyk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRf
c2libGluZ19jaGlsZCwgcGluayk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRfc2li
bGluZ19kZXNjZW5kYW50LCBwaW5rKTsKLQotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVj
dF9hbmNlc3RvciwgZ3JleSk7Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X3BhcmVu
dCwgcmVkKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3QsIHJlZCk7Ci10ZXN0VHJl
ZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X2NoaWxkLCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25C
ZWZvcmUoc3ViamVjdF9kZXNjZW5kYW50LCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUo
bmV4dF9zaWJsaW5nLCBwaW5rKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGlu
Z19jaGlsZCwgcGluayk7Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfZGVz
Y2VuZGFudCwgcGluayk7Ci0KLXRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9hbmNlc3Rv
ciwgcGluayk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3RfcGFyZW50LCBwaW5rKTsK
LXRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdCwgcmVkKTsKLXRlc3RUcmVlSW5zZXJ0aW9u
QWZ0ZXIoc3ViamVjdF9jaGlsZCwgcmVkKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoc3ViamVj
dF9kZXNjZW5kYW50LCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmcs
IHB1cnBsZSk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5leHRfc2libGluZ19jaGlsZCwgcGlu
ayk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5leHRfc2libGluZ19kZXNjZW5kYW50LCBwaW5r
KTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0X2FuY2VzdG9yLCAiZ3JleSIpOwordGVzdENsYXNz
Q2hhbmdlKHN1YmplY3RfcGFyZW50LCAiZ3JlZW4iKTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0
LCAiZ3JlZW4iKTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0X2NoaWxkLCAicmVkIik7Cit0ZXN0
Q2xhc3NDaGFuZ2Uoc3ViamVjdF9kZXNjZW5kYW50LCAicmVkIik7Cit0ZXN0Q2xhc3NDaGFuZ2Uo
bmV4dF9zaWJsaW5nLCAiYmx1ZSIpOwordGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19jaGls
ZCwgInBpbmsiKTsKK3Rlc3RDbGFzc0NoYW5nZShuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgInBp
bmsiKTsKKwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9hbmNlc3RvciwgImdy
ZXkiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfcGFyZW50LCAiZ3JlZW4i
KTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3QsICJncmVlbiIpOwordGVzdEVs
ZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9jaGlsZCwgInJlZCIpOwordGVzdEVsZW1lbnRJ
bnNlcnRpb25CZWZvcmUoc3ViamVjdF9kZXNjZW5kYW50LCAicmVkIik7Cit0ZXN0RWxlbWVudElu
c2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmcsICJibHVlIik7Cit0ZXN0RWxlbWVudEluc2VydGlv
bkJlZm9yZShuZXh0X3NpYmxpbmdfY2hpbGQsICJwaW5rIik7Cit0ZXN0RWxlbWVudEluc2VydGlv
bkJlZm9yZShuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgInBpbmsiKTsKKwordGVzdEVsZW1lbnRJ
bnNlcnRpb25BZnRlcihzdWJqZWN0X2FuY2VzdG9yLCAiYmx1ZSIpOwordGVzdEVsZW1lbnRJbnNl
cnRpb25BZnRlcihzdWJqZWN0X3BhcmVudCwgImJsdWUiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9u
QWZ0ZXIoc3ViamVjdCwgImdyZWVuIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHN1Ympl
Y3RfY2hpbGQsICJyZWQiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9kZXNj
ZW5kYW50LCAicmVkIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRfc2libGluZywg
InllbGxvdyIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmdfY2hpbGQs
ICJwaW5rIik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRfc2libGluZ19kZXNjZW5k
YW50LCAicGluayIpOworCit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X2FuY2VzdG9y
LCAiZ3JleSIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9wYXJlbnQsICJyZWQi
KTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3QsICJyZWQiKTsKK3Rlc3RUcmVlSW5z
ZXJ0aW9uQmVmb3JlKHN1YmplY3RfY2hpbGQsICJyZWQiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVm
b3JlKHN1YmplY3RfZGVzY2VuZGFudCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUo
bmV4dF9zaWJsaW5nLCAicGluayIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJs
aW5nX2NoaWxkLCAicGluayIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5n
X2Rlc2NlbmRhbnQsICJwaW5rIik7CisKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9h
bmNlc3RvciwgInBpbmsiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9wYXJlbnQs
ICJwaW5rIik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3QsICJyZWQiKTsKK3Rlc3RU
cmVlSW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9jaGlsZCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRp
b25BZnRlcihzdWJqZWN0X2Rlc2NlbmRhbnQsICJyZWQiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0
ZXIobmV4dF9zaWJsaW5nLCAicHVycGxlIik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5leHRf
c2libGluZ19jaGlsZCwgInBpbmsiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJs
aW5nX2Rlc2NlbmRhbnQsICJwaW5rIik7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFs
aWRhdGlvbi9oYXMtaW4tcGFyZW50LXBvc2l0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2hhcy1p
bi1wYXJlbnQtcG9zaXRpb24uaHRtbAppbmRleCAwYTFmOGI5Mjk5ZjkuLjQ2OTBlNjkyOWY1NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9oYXMtaW4tcGFyZW50LXBvc2l0aW9uLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0
b3JzL2ludmFsaWRhdGlvbi9oYXMtaW4tcGFyZW50LXBvc2l0aW9uLmh0bWwKQEAgLTcsMTIgKzcs
MTggQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3Nl
bGVjdG9ycy8jcmVsYXRpb25hbCI+CiA8c3R5bGU+CiBkaXYsIG1haW4geyBjb2xvcjogZ3JleSB9
Ci1kaXY6aGFzKC50ZXN0LCBbdGVzdF9hdHRyXSkgPiAjc3ViamVjdCB7IGNvbG9yOiByZWQgfQot
ZGl2Omhhcyg+IC50ZXN0LCA+IFt0ZXN0X2F0dHJdKSA+ICNzdWJqZWN0IHsgY29sb3I6IGdyZWVu
IH0KLWRpdjpoYXMofiAudGVzdCwgfiBbdGVzdF9hdHRyXSkgPiAgI3N1YmplY3QgeyBjb2xvcjog
eWVsbG93IH0KLWRpdjpoYXMoKyAudGVzdCwgKyBbdGVzdF9hdHRyXSkgPiAjc3ViamVjdCB7IGNv
bG9yOiBibHVlIH0KLWRpdjpoYXMofiBkaXYgLnRlc3QsIH4gZGl2IFt0ZXN0X2F0dHJdKSA+ICNz
dWJqZWN0IHsgY29sb3I6IHB1cnBsZSB9Ci1kaXY6aGFzKCsgZGl2IC50ZXN0LCArIGRpdiBbdGVz
dF9hdHRyXSkgPiAjc3ViamVjdCB7IGNvbG9yOiBwaW5rIH0KK2RpdjpoYXMoLnRlc3QpID4gI3N1
YmplY3QgeyBjb2xvcjogcmVkIH0KK2RpdjpoYXMoW3Rlc3RfYXR0cl0pID4gI3N1YmplY3QgeyBj
b2xvcjogb3JhbmdlcmVkIH0KK2RpdjpoYXMoPiAudGVzdCkgPiAjc3ViamVjdCB7IGNvbG9yOiBn
cmVlbiB9CitkaXY6aGFzKD4gW3Rlc3RfYXR0cl0pID4gI3N1YmplY3QgeyBjb2xvcjogbGlnaHRn
cmVlbiB9CitkaXY6aGFzKH4gLnRlc3QpID4gICNzdWJqZWN0IHsgY29sb3I6IHllbGxvdyB9Citk
aXY6aGFzKH4gW3Rlc3RfYXR0cl0pID4gICNzdWJqZWN0IHsgY29sb3I6IGl2b3J5IH0KK2Rpdjpo
YXMoKyAudGVzdCkgPiAjc3ViamVjdCB7IGNvbG9yOiBibHVlIH0KK2RpdjpoYXMoKyBbdGVzdF9h
dHRyXSkgPiAjc3ViamVjdCB7IGNvbG9yOiBza3libHVlIH0KK2RpdjpoYXMofiBkaXYgLnRlc3Qp
ID4gI3N1YmplY3QgeyBjb2xvcjogcHVycGxlIH0KK2RpdjpoYXMofiBkaXYgW3Rlc3RfYXR0cl0p
ID4gI3N1YmplY3QgeyBjb2xvcjogdmlvbGV0IH0KK2RpdjpoYXMoKyBkaXYgLnRlc3QpID4gI3N1
YmplY3QgeyBjb2xvcjogcGluayB9CitkaXY6aGFzKCsgZGl2IFt0ZXN0X2F0dHJdKSA+ICNzdWJq
ZWN0IHsgY29sb3I6IGxpZ2h0cGluayB9CiA8L3N0eWxlPgogCiA8bWFpbiBpZD1tYWluPgpAQCAt
MzAsMTEgKzM2LDQ3IEBAIGRpdjpoYXMoKyBkaXYgLnRlc3QsICsgZGl2IFt0ZXN0X2F0dHJdKSA+
ICNzdWJqZWN0IHsgY29sb3I6IHBpbmsgfQogPHNjcmlwdD4KIGNvbnN0IGdyZXkgPSAncmdiKDEy
OCwgMTI4LCAxMjgpJzsKIGNvbnN0IHJlZCA9ICdyZ2IoMjU1LCAwLCAwKSc7Citjb25zdCBvcmFu
Z2VyZWQgPSAncmdiKDI1NSwgNjksIDApJzsKIGNvbnN0IGdyZWVuID0gJ3JnYigwLCAxMjgsIDAp
JzsKK2NvbnN0IGxpZ2h0Z3JlZW4gPSAncmdiKDE0NCwgMjM4LCAxNDQpJzsKIGNvbnN0IGJsdWUg
PSAncmdiKDAsIDAsIDI1NSknOworY29uc3Qgc2t5Ymx1ZSA9ICdyZ2IoMTM1LCAyMDYsIDIzNSkn
OwogY29uc3QgeWVsbG93ID0gJ3JnYigyNTUsIDI1NSwgMCknOworY29uc3QgaXZvcnkgPSAncmdi
KDI1NSwgMjU1LCAyNDApJzsKIGNvbnN0IHB1cnBsZSA9ICdyZ2IoMTI4LCAwLCAxMjgpJzsKK2Nv
bnN0IHZpb2xldCA9ICdyZ2IoMjM4LCAxMzAsIDIzOCknOwogY29uc3QgcGluayA9ICdyZ2IoMjU1
LCAxOTIsIDIwMyknOworY29uc3QgbGlnaHRwaW5rID0gJ3JnYigyNTUsIDE4MiwgMTkzKSc7Citj
b25zdCBjb2xvcnMgPSB7CisgIGdyZXk6IHsKKyAgICBjbGFzc1Rlc3Q6IGdyZXksCisgICAgYXR0
cmlidXRlVGVzdDogZ3JleSwKKyAgfSwKKyAgcmVkOiB7CisgICAgY2xhc3NUZXN0OiByZWQsCisg
ICAgYXR0cmlidXRlVGVzdDogb3JhbmdlcmVkLAorICB9LAorICBncmVlbjogeworICAgIGNsYXNz
VGVzdDogZ3JlZW4sCisgICAgYXR0cmlidXRlVGVzdDogbGlnaHRncmVlbiwKKyAgfSwKKyAgYmx1
ZTogeworICAgIGNsYXNzVGVzdDogYmx1ZSwKKyAgICBhdHRyaWJ1dGVUZXN0OiBza3libHVlLAor
ICB9LAorICB5ZWxsb3c6IHsKKyAgICBjbGFzc1Rlc3Q6IHllbGxvdywKKyAgICBhdHRyaWJ1dGVU
ZXN0OiBpdm9yeSwKKyAgfSwKKyAgcHVycGxlOiB7CisgICAgY2xhc3NUZXN0OiBwdXJwbGUsCisg
ICAgYXR0cmlidXRlVGVzdDogdmlvbGV0LAorICB9LAorICBwaW5rOiB7CisgICAgY2xhc3NUZXN0
OiBwaW5rLAorICAgIGF0dHJpYnV0ZVRlc3Q6IGxpZ2h0cGluaywKKyAgfSwKK307CiAKIGZ1bmN0
aW9uIHRlc3RDb2xvcih0ZXN0X25hbWUsIGNvbG9yKSB7CiAgICAgdGVzdChmdW5jdGlvbigpIHsK
QEAgLTQyLDI3ICs4NCwzMCBAQCBmdW5jdGlvbiB0ZXN0Q29sb3IodGVzdF9uYW1lLCBjb2xvcikg
ewogICAgIH0sIHRlc3RfbmFtZSk7CiB9CiAKLWZ1bmN0aW9uIHRlc3RDbGFzc0NoYW5nZShlbGVt
ZW50LCBleHBlY3RlZENvbG9yKQorZnVuY3Rpb24gdGVzdENsYXNzQ2hhbmdlKGVsZW1lbnQsIGV4
cGVjdGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3Qg
PSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKICAgICBlbGVtZW50LmNsYXNz
TGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCAudGVzdCB0byAke2VsZW1lbnQu
aWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgLnRlc3QgdG8gJHtlbGVt
ZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogICAgIGVsZW1lbnQuY2xhc3NM
aXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIC50ZXN0IGZyb20gJHtl
bGVtZW50LmlkfWAsIGdyZXkpOwogfQogCi1mdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkJl
Zm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQorZnVuY3Rpb24gdGVzdEVsZW1lbnRJ
bnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAg
Y29uc3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFt
ZV0uY2xhc3NUZXN0OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0g
Y29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0OwogICAgIGNvbnN0IG5ld0Vs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBuZXdFbGVtZW50LmNs
YXNzTGlzdC5hZGQoJ3Rlc3QnKTsKIAogICAgIGJlZm9yZUVsZW1lbnQuYmVmb3JlKG5ld0VsZW1l
bnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYmVmb3JlICR7YmVm
b3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBl
bGVtZW50IGRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xv
ckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3Qn
KTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1l
bnQgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5l
d0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBj
bGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3Jl
RWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xh
c3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGJlZm9yZSAke2JlZm9yZUVs
ZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50
LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2LnRlc3QgYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTczLDcgKzExOCw3IEBAIGZ1bmN0aW9u
IHRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3Ip
CiAgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYgYmVmb3JlICR7YmVmb3JlRWxlbWVu
dC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwot
ICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW5zZXJ0
ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAg
ICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluc2VydGVk
IGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNz
VGVzdCk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0
ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW5zZXJ0
ZWQgYWdhaW4gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKQEAgLTg0LDI1ICsx
MjksMjcgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVu
dCwgZXhwZWN0ZWRDb2xvcikKICAgICBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZSgndGVzdF9hdHRy
JywgJycpOwogCiAgICAgYmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVz
dENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBiZWZvcmUgJHtiZWZvcmVFbGVt
ZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQg
ZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9y
Rm9yQXR0cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RD
b2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVu
dC5pZH1gLCBncmV5KTsKIH0KIAotZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihh
ZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlv
bkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvck5hbWUpCiB7CisgICAgY29uc3QgZXhw
ZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uY2xhc3NU
ZXN0OworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JBdHRyaWJ1dGVUZXN0ID0gY29sb3JzW2V4
cGVjdGVkQ29sb3JOYW1lXS5hdHRyaWJ1dGVUZXN0OwogICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5h
ZGQoJ3Rlc3QnKTsKIAogICAgIGFmdGVyRWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0
ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50Lmlk
fWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRl
c3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7
CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29s
b3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWZ0
ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlz
dC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWlu
IHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVj
dGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8g
dGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRD
b2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RD
b2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwg
Z3JleSk7CkBAIC0xMTMsNyArMTYwLDcgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25B
ZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgdGVzdENvbG9yKGBpbnNlcnQg
ZWxlbWVudCBkaXYgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdF
bGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xh
c3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVt
ZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAn
dGVzdCcgdG8gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQu
aWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rl
c3QnIGZyb20gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQu
aWR9YCwgZ3JleSk7CkBAIC0xMjQsMjcgKzE3MSwyOSBAQCBmdW5jdGlvbiB0ZXN0RWxlbWVudElu
c2VydGlvbkFmdGVyKGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICBuZXdFbGVtZW50
LnNldEF0dHJpYnV0ZSgndGVzdF9hdHRyJywgJycpOwogCiAgICAgYWZ0ZXJFbGVtZW50LmFmdGVy
KG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2W3Rlc3RfYXR0
cl0gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENv
bG9yKGBpbnNlcnQgZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5p
ZH1gLCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJl
bW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYWZ0
ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiB9CiAKLWZ1bmN0aW9uIHRlc3RUcmVlSW5z
ZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0
VHJlZUluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yTmFtZSkKIHsK
KyAgICBjb25zdCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29s
b3JOYW1lXS5jbGFzc1Rlc3Q7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRl
c3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmF0dHJpYnV0ZVRlc3Q7CiAgICAgY29uc3Qg
bmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGNvbnN0IG5l
d0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgbmV3Q2hpbGQuY2xh
c3NMaXN0LmFkZCgndGVzdCcpOwogICAgIG5ld0VsZW1lbnQuYXBwZW5kQ2hpbGQobmV3Q2hpbGQp
OwogCiAgICAgYmVmb3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9y
KGBpbnNlcnQgdHJlZSBkaXY+ZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBl
eHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBi
ZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwog
CiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihg
cmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNl
cnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3Q2hpbGQu
Y2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVz
dCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYmVmb3JlICR7YmVm
b3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUg
Y2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGJl
Zm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAK
ICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRyZWUgZGl2
PmRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0xNTUsNyAr
MjA0LDcgQEAgZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwg
ZXhwZWN0ZWRDb2xvcikKICAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYgYmVmb3Jl
ICR7YmVmb3JlRWxlbWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5h
ZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBl
bGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQu
aWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0
JyB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3Q2hp
bGQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBj
bGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBi
ZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMTY2LDI3ICsyMTUsMjkgQEAg
ZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRD
b2xvcikKICAgICBuZXdDaGlsZC5zZXRBdHRyaWJ1dGUoJ3Rlc3RfYXR0cicsICcnKTsKIAogICAg
IGJlZm9yZUVsZW1lbnQuYmVmb3JlKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0
IGVsZW1lbnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwg
ZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXY+ZGl2W3Rl
c3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQXR0
cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihg
cmVtb3ZlIGVsZW1lbnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQu
aWR9YCwgZ3JleSk7CiB9CiAKLWZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJF
bGVtZW50LCBleHBlY3RlZENvbG9yKQorZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihh
ZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29s
b3JGb3JDbGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKKyAg
ICBjb25zdCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCA9IGNvbG9yc1tleHBlY3RlZENv
bG9yTmFtZV0uYXR0cmlidXRlVGVzdDsKICAgICBjb25zdCBuZXdFbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgY29uc3QgbmV3Q2hpbGQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7CiAg
ICAgbmV3RWxlbWVudC5hcHBlbmRDaGlsZChuZXdDaGlsZCk7CiAKICAgICBhZnRlckVsZW1lbnQu
YWZ0ZXIobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgdHJlZSBkaXY+ZGl2LnRl
c3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENv
bG9yKGBpbnNlcnQgdHJlZSBkaXY+ZGl2LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwg
ZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVt
b3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9t
IHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50Lmlk
fWAsIGdyZXkpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRl
c3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW4gdGhl
IHRyZWUgaW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7
CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVu
dCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3Rl
ZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVz
dENvbG9yKGByZW1vdmUgdHJlZSBkaXY+ZGl2LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9
YCwgZ3JleSk7CkBAIC0xOTcsNyArMjQ4LDcgQEAgZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25B
ZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgdGVzdENvbG9yKGBpbnNlcnQg
dHJlZSBkaXY+ZGl2IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3
Q2hpbGQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFz
cyAndGVzdCcgdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIg
JHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQg
dGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2Fp
biBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsK
IAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3Io
YHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5z
ZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0yMDgsNyAr
MjU5LDcgQEAgZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4
cGVjdGVkQ29sb3IpCiAgICAgbmV3Q2hpbGQuc2V0QXR0cmlidXRlKCd0ZXN0X2F0dHInLCAnJyk7
CiAKICAgICBhZnRlckVsZW1lbnQuYWZ0ZXIobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBp
bnNlcnQgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9
YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXY+ZGl2
W3Rlc3RfYXR0cl0gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckF0
dHJpYnV0ZVRlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3Io
YHJlbW92ZSBlbGVtZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5p
ZH1gLCBncmV5KTsKQEAgLTIxNiwzNCArMjY3LDM0IEBAIGZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0
aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yKQogCiB0ZXN0Q29sb3IoJ0luaXRp
YWwgY29sb3InLCBncmV5KTsKIAotdGVzdENsYXNzQ2hhbmdlKHN1YmplY3RfYW5jZXN0b3IsIGdy
ZXkpOwotdGVzdENsYXNzQ2hhbmdlKHN1YmplY3RfcGFyZW50LCBncmV5KTsKLXRlc3RDbGFzc0No
YW5nZShzdWJqZWN0LCBncmVlbik7Ci10ZXN0Q2xhc3NDaGFuZ2Uoc3ViamVjdF9jaGlsZCwgcmVk
KTsKLXRlc3RDbGFzc0NoYW5nZShzdWJqZWN0X2Rlc2NlbmRhbnQsIHJlZCk7Ci0KLXRlc3RFbGVt
ZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfYW5jZXN0b3IsIGdyZXkpOwotdGVzdEVsZW1lbnRJ
bnNlcnRpb25CZWZvcmUoc3ViamVjdF9wYXJlbnQsIGdyZXkpOwotdGVzdEVsZW1lbnRJbnNlcnRp
b25CZWZvcmUoc3ViamVjdCwgZ3JlZW4pOwotdGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3Vi
amVjdF9jaGlsZCwgcmVkKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfZGVz
Y2VuZGFudCwgcmVkKTsKLQotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0X2FuY2Vz
dG9yLCBncmV5KTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9wYXJlbnQsIGJs
dWUpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihzdWJqZWN0LCBncmVlbik7Ci10ZXN0RWxl
bWVudEluc2VydGlvbkFmdGVyKHN1YmplY3RfY2hpbGQsIHJlZCk7Ci10ZXN0RWxlbWVudEluc2Vy
dGlvbkFmdGVyKHN1YmplY3RfZGVzY2VuZGFudCwgcmVkKTsKLQotdGVzdFRyZWVJbnNlcnRpb25C
ZWZvcmUoc3ViamVjdF9hbmNlc3RvciwgZ3JleSk7Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShz
dWJqZWN0X3BhcmVudCwgZ3JleSk7Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0LCBy
ZWQpOwotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9jaGlsZCwgcmVkKTsKLXRlc3RU
cmVlSW5zZXJ0aW9uQmVmb3JlKHN1YmplY3RfZGVzY2VuZGFudCwgcmVkKTsKLQotdGVzdFRyZWVJ
bnNlcnRpb25BZnRlcihzdWJqZWN0X2FuY2VzdG9yLCBncmV5KTsKLXRlc3RUcmVlSW5zZXJ0aW9u
QWZ0ZXIoc3ViamVjdF9wYXJlbnQsIHBpbmspOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJq
ZWN0LCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X2NoaWxkLCByZWQpOwot
dGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X2Rlc2NlbmRhbnQsIHJlZCk7Cit0ZXN0Q2xh
c3NDaGFuZ2Uoc3ViamVjdF9hbmNlc3RvciwgImdyZXkiKTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJq
ZWN0X3BhcmVudCwgImdyZXkiKTsKK3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0LCAiZ3JlZW4iKTsK
K3Rlc3RDbGFzc0NoYW5nZShzdWJqZWN0X2NoaWxkLCAicmVkIik7Cit0ZXN0Q2xhc3NDaGFuZ2Uo
c3ViamVjdF9kZXNjZW5kYW50LCAicmVkIik7CisKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3Jl
KHN1YmplY3RfYW5jZXN0b3IsICJncmV5Iik7Cit0ZXN0RWxlbWVudEluc2VydGlvbkJlZm9yZShz
dWJqZWN0X3BhcmVudCwgImdyZXkiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHN1Ympl
Y3QsICJncmVlbiIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9jaGlsZCwg
InJlZCIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdF9kZXNjZW5kYW50LCAi
cmVkIik7CisKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9hbmNlc3RvciwgImdy
ZXkiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdF9wYXJlbnQsICJibHVlIik7
Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHN1YmplY3QsICJncmVlbiIpOwordGVzdEVsZW1l
bnRJbnNlcnRpb25BZnRlcihzdWJqZWN0X2NoaWxkLCAicmVkIik7Cit0ZXN0RWxlbWVudEluc2Vy
dGlvbkFmdGVyKHN1YmplY3RfZGVzY2VuZGFudCwgInJlZCIpOworCit0ZXN0VHJlZUluc2VydGlv
bkJlZm9yZShzdWJqZWN0X2FuY2VzdG9yLCAiZ3JleSIpOwordGVzdFRyZWVJbnNlcnRpb25CZWZv
cmUoc3ViamVjdF9wYXJlbnQsICJncmV5Iik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJq
ZWN0LCAicmVkIik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X2NoaWxkLCAicmVk
Iik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0X2Rlc2NlbmRhbnQsICJyZWQiKTsK
KwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X2FuY2VzdG9yLCAiZ3JleSIpOwordGVz
dFRyZWVJbnNlcnRpb25BZnRlcihzdWJqZWN0X3BhcmVudCwgInBpbmsiKTsKK3Rlc3RUcmVlSW5z
ZXJ0aW9uQWZ0ZXIoc3ViamVjdCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihzdWJq
ZWN0X2NoaWxkLCAicmVkIik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKHN1YmplY3RfZGVzY2Vu
ZGFudCwgInJlZCIpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaGFz
LWluLXNpYmxpbmctcG9zaXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaGFzLWluLXNpYmxpbmct
cG9zaXRpb24uaHRtbAppbmRleCA5MWIxZGNmMDM5NzAuLjhiMzU5NDBmODdjMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0
b3JzL2ludmFsaWRhdGlvbi9oYXMtaW4tc2libGluZy1wb3NpdGlvbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZh
bGlkYXRpb24vaGFzLWluLXNpYmxpbmctcG9zaXRpb24uaHRtbApAQCAtNywxMiArNywxOCBAQAog
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvc2VsZWN0b3Jz
LyNyZWxhdGlvbmFsIj4KIDxzdHlsZT4KIGRpdiwgbWFpbiB7IGNvbG9yOiBncmV5IH0KLWRpdjpo
YXMoLnRlc3QsIFt0ZXN0X2F0dHJdKSB+ICNzdWJqZWN0IHsgY29sb3I6IHJlZCB9Ci1kaXY6aGFz
KD4gLnRlc3QsID4gW3Rlc3RfYXR0cl0pIH4gI3N1YmplY3QgeyBjb2xvcjogZ3JlZW4gfQotZGl2
Omhhcyh+IC50ZXN0LCB+IFt0ZXN0X2F0dHJdKSB+ICNzdWJqZWN0IHsgY29sb3I6IHllbGxvdyB9
Ci1kaXY6aGFzKCsgLnRlc3QsICsgW3Rlc3RfYXR0cl0pIH4gI3N1YmplY3QgeyBjb2xvcjogYmx1
ZSB9Ci1kaXY6aGFzKH4gZGl2IC50ZXN0LCB+IGRpdiBbdGVzdF9hdHRyXSkgfiAjc3ViamVjdCB7
IGNvbG9yOiBwdXJwbGUgfQotZGl2OmhhcygrIGRpdiAudGVzdCwgKyBkaXYgW3Rlc3RfYXR0cl0p
IH4gI3N1YmplY3QgeyBjb2xvcjogcGluayB9CitkaXY6aGFzKC50ZXN0KSB+ICNzdWJqZWN0IHsg
Y29sb3I6IHJlZCB9CitkaXY6aGFzKFt0ZXN0X2F0dHJdKSB+ICNzdWJqZWN0IHsgY29sb3I6IG9y
YW5nZXJlZCB9CitkaXY6aGFzKD4gLnRlc3QpIH4gI3N1YmplY3QgeyBjb2xvcjogZ3JlZW4gfQor
ZGl2Omhhcyg+IFt0ZXN0X2F0dHJdKSB+ICNzdWJqZWN0IHsgY29sb3I6IGxpZ2h0Z3JlZW4gfQor
ZGl2Omhhcyh+IC50ZXN0KSB+ICNzdWJqZWN0IHsgY29sb3I6IHllbGxvdyB9CitkaXY6aGFzKH4g
W3Rlc3RfYXR0cl0pIH4gI3N1YmplY3QgeyBjb2xvcjogaXZvcnkgfQorZGl2OmhhcygrIC50ZXN0
KSB+ICNzdWJqZWN0IHsgY29sb3I6IGJsdWUgfQorZGl2OmhhcygrIFt0ZXN0X2F0dHJdKSB+ICNz
dWJqZWN0IHsgY29sb3I6IHNreWJsdWUgfQorZGl2Omhhcyh+IGRpdiAudGVzdCkgfiAjc3ViamVj
dCB7IGNvbG9yOiBwdXJwbGUgfQorZGl2Omhhcyh+IGRpdiBbdGVzdF9hdHRyXSkgfiAjc3ViamVj
dCB7IGNvbG9yOiB2aW9sZXQgfQorZGl2OmhhcygrIGRpdiAudGVzdCkgfiAjc3ViamVjdCB7IGNv
bG9yOiBwaW5rIH0KK2RpdjpoYXMoKyBkaXYgW3Rlc3RfYXR0cl0pIH4gI3N1YmplY3QgeyBjb2xv
cjogbGlnaHRwaW5rIH0KIDwvc3R5bGU+CiAKIDxtYWluIGlkPW1haW4+CkBAIC0zMiwxMSArMzgs
NDcgQEAgZGl2OmhhcygrIGRpdiAudGVzdCwgKyBkaXYgW3Rlc3RfYXR0cl0pIH4gI3N1YmplY3Qg
eyBjb2xvcjogcGluayB9CiA8c2NyaXB0PgogY29uc3QgZ3JleSA9ICdyZ2IoMTI4LCAxMjgsIDEy
OCknOwogY29uc3QgcmVkID0gJ3JnYigyNTUsIDAsIDApJzsKK2NvbnN0IG9yYW5nZXJlZCA9ICdy
Z2IoMjU1LCA2OSwgMCknOwogY29uc3QgZ3JlZW4gPSAncmdiKDAsIDEyOCwgMCknOworY29uc3Qg
bGlnaHRncmVlbiA9ICdyZ2IoMTQ0LCAyMzgsIDE0NCknOwogY29uc3QgYmx1ZSA9ICdyZ2IoMCwg
MCwgMjU1KSc7Citjb25zdCBza3libHVlID0gJ3JnYigxMzUsIDIwNiwgMjM1KSc7CiBjb25zdCB5
ZWxsb3cgPSAncmdiKDI1NSwgMjU1LCAwKSc7Citjb25zdCBpdm9yeSA9ICdyZ2IoMjU1LCAyNTUs
IDI0MCknOwogY29uc3QgcHVycGxlID0gJ3JnYigxMjgsIDAsIDEyOCknOworY29uc3QgdmlvbGV0
ID0gJ3JnYigyMzgsIDEzMCwgMjM4KSc7CiBjb25zdCBwaW5rID0gJ3JnYigyNTUsIDE5MiwgMjAz
KSc7Citjb25zdCBsaWdodHBpbmsgPSAncmdiKDI1NSwgMTgyLCAxOTMpJzsKK2NvbnN0IGNvbG9y
cyA9IHsKKyAgZ3JleTogeworICAgIGNsYXNzVGVzdDogZ3JleSwKKyAgICBhdHRyaWJ1dGVUZXN0
OiBncmV5LAorICB9LAorICByZWQ6IHsKKyAgICBjbGFzc1Rlc3Q6IHJlZCwKKyAgICBhdHRyaWJ1
dGVUZXN0OiBvcmFuZ2VyZWQsCisgIH0sCisgIGdyZWVuOiB7CisgICAgY2xhc3NUZXN0OiBncmVl
biwKKyAgICBhdHRyaWJ1dGVUZXN0OiBsaWdodGdyZWVuLAorICB9LAorICBibHVlOiB7CisgICAg
Y2xhc3NUZXN0OiBibHVlLAorICAgIGF0dHJpYnV0ZVRlc3Q6IHNreWJsdWUsCisgIH0sCisgIHll
bGxvdzogeworICAgIGNsYXNzVGVzdDogeWVsbG93LAorICAgIGF0dHJpYnV0ZVRlc3Q6IGl2b3J5
LAorICB9LAorICBwdXJwbGU6IHsKKyAgICBjbGFzc1Rlc3Q6IHB1cnBsZSwKKyAgICBhdHRyaWJ1
dGVUZXN0OiB2aW9sZXQsCisgIH0sCisgIHBpbms6IHsKKyAgICBjbGFzc1Rlc3Q6IHBpbmssCisg
ICAgYXR0cmlidXRlVGVzdDogbGlnaHRwaW5rLAorICB9LAorfTsKIAogZnVuY3Rpb24gdGVzdENv
bG9yKHRlc3RfbmFtZSwgY29sb3IpIHsKICAgICB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtNDQsMjcg
Kzg2LDMwIEBAIGZ1bmN0aW9uIHRlc3RDb2xvcih0ZXN0X25hbWUsIGNvbG9yKSB7CiAgICAgfSwg
dGVzdF9uYW1lKTsKIH0KIAotZnVuY3Rpb24gdGVzdENsYXNzQ2hhbmdlKGVsZW1lbnQsIGV4cGVj
dGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0Q2xhc3NDaGFuZ2UoZWxlbWVudCwgZXhwZWN0ZWRDb2xv
ck5hbWUpCiB7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCA9IGNvbG9yc1tl
eHBlY3RlZENvbG9yTmFtZV0uY2xhc3NUZXN0OwogICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgn
dGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIC50ZXN0IHRvICR7ZWxlbWVudC5pZH1gLCBleHBl
Y3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCAudGVzdCB0byAke2VsZW1lbnQuaWR9YCwg
ZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3Zl
KCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGByZW1vdmUgLnRlc3QgZnJvbSAke2VsZW1lbnQuaWR9
YCwgZ3JleSk7CiB9CiAKLWZ1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKGJlZm9y
ZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkJl
Zm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yTmFtZSkKIHsKKyAgICBjb25zdCBleHBl
Y3RlZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5jbGFzc1Rl
c3Q7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3QgPSBjb2xvcnNbZXhw
ZWN0ZWRDb2xvck5hbWVdLmF0dHJpYnV0ZVRlc3Q7CiAgICAgY29uc3QgbmV3RWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIG5ld0VsZW1lbnQuY2xhc3NMaXN0LmFk
ZCgndGVzdCcpCiAKICAgICBiZWZvcmVFbGVtZW50LmJlZm9yZShuZXdFbGVtZW50KTsKLSAgICB0
ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQu
aWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYu
dGVzdCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rl
c3QpOwogCiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVz
dENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGluc2VydGVk
IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdFbGVtZW50LmNs
YXNzTGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3Qn
IGFnYWluIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9
YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBh
Z2FpbiB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBiZWZvcmUgJHtiZWZvcmVFbGVtZW50LmlkfWAs
IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsK
ICAgICB0ZXN0Q29sb3IoYHJlbW92ZSBlbGVtZW50IGRpdi50ZXN0IGJlZm9yZSAke2JlZm9yZUVs
ZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC03NSw3ICsxMjAsNyBAQCBmdW5jdGlvbiB0ZXN0RWxlbWVu
dEluc2VydGlvbkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yKQogICAgIHRlc3RD
b2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2IGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3Jl
eSk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29s
b3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluc2VydGVkIGFnYWluIGJl
Zm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9y
KGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxlbWVudCBpbnNlcnRlZCBhZ2FpbiBiZWZv
cmUgJHtiZWZvcmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAg
ICAgbmV3RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7CiAgICAgdGVzdENvbG9yKGBy
ZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50IGluc2VydGVkIGFnYWluIGJl
Zm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC04NiwyNSArMTMxLDI3IEBAIGZ1
bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVk
Q29sb3IpCiAgICAgbmV3RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3Rlc3RfYXR0cicsICcnKTsKIAog
ICAgIGJlZm9yZUVsZW1lbnQuYmVmb3JlKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5z
ZXJ0IGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBl
eHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCBlbGVtZW50IGRpdlt0ZXN0X2F0
dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0
ZVRlc3QpOwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92
ZSBlbGVtZW50IGRpdlt0ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3Jl
eSk7CiB9CiAKLWZ1bmN0aW9uIHRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50
LCBleHBlY3RlZENvbG9yKQorZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihhZnRl
ckVsZW1lbnQsIGV4cGVjdGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JG
b3JDbGFzc1Rlc3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKKyAgICBj
b25zdCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9y
TmFtZV0uYXR0cmlidXRlVGVzdDsKICAgICBjb25zdCBuZXdFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgbmV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0ZXN0JykK
IAogICAgIGFmdGVyRWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTsKLSAgICB0ZXN0Q29sb3IoYGlu
c2VydCBlbGVtZW50IGRpdi50ZXN0IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVk
Q29sb3IpOworICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2LnRlc3QgYWZ0ZXIgJHth
ZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdF
bGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0
aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVs
ZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Rlc3Qn
KTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIGFnYWluIHRvIHRoZSBlbGVt
ZW50IGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3IpOwor
ICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQg
aW5zZXJ0ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNz
VGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3Zl
IGVsZW1lbnQgZGl2LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0x
MTUsNyArMTYyLDcgQEAgZnVuY3Rpb24gdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihhZnRlckVs
ZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXYg
YWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNz
TGlzdC5hZGQoJ3Rlc3QnKTsKLSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRv
IHRoZSBlbGVtZW50IGluc2VydGVkIGFnYWluIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGV4
cGVjdGVkQ29sb3IpOworICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8gdGhl
IGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0
ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUo
J3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUgY2xhc3MgJ3Rlc3QnIGZyb20gdGhl
IGVsZW1lbnQgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7
CkBAIC0xMjYsMjcgKzE3MywyOSBAQCBmdW5jdGlvbiB0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVy
KGFmdGVyRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICBuZXdFbGVtZW50LnNldEF0dHJpYnV0
ZSgndGVzdF9hdHRyJywgJycpOwogCiAgICAgYWZ0ZXJFbGVtZW50LmFmdGVyKG5ld0VsZW1lbnQp
OwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYWZ0ZXIgJHth
ZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQg
ZWxlbWVudCBkaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3Rl
ZENvbG9yRm9yQXR0cmlidXRlVGVzdCk7CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAg
IHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1lbnQgZGl2W3Rlc3RfYXR0cl0gYWZ0ZXIgJHthZnRlckVs
ZW1lbnQuaWR9YCwgZ3JleSk7CiB9CiAKLWZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQmVmb3Jl
KGJlZm9yZUVsZW1lbnQsIGV4cGVjdGVkQ29sb3IpCitmdW5jdGlvbiB0ZXN0VHJlZUluc2VydGlv
bkJlZm9yZShiZWZvcmVFbGVtZW50LCBleHBlY3RlZENvbG9yTmFtZSkKIHsKKyAgICBjb25zdCBl
eHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0ID0gY29sb3JzW2V4cGVjdGVkQ29sb3JOYW1lXS5jbGFz
c1Rlc3Q7CisgICAgY29uc3QgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3QgPSBjb2xvcnNb
ZXhwZWN0ZWRDb2xvck5hbWVdLmF0dHJpYnV0ZVRlc3Q7CiAgICAgY29uc3QgbmV3RWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGNvbnN0IG5ld0NoaWxkID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LmFkZCgn
dGVzdCcpOwogICAgIG5ld0VsZW1lbnQuYXBwZW5kQ2hpbGQobmV3Q2hpbGQpOwogCiAgICAgYmVm
b3JlRWxlbWVudC5iZWZvcmUobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgdHJl
ZSBkaXY+ZGl2LnRlc3QgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9y
KTsKKyAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYudGVzdCBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3Q2hp
bGQuY2xhc3NMaXN0LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBj
bGFzcyAndGVzdCcgZnJvbSB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBiZWZvcmUg
JHtiZWZvcmVFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LmFk
ZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8g
dGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYmVmb3JlICR7YmVmb3JlRWxlbWVudC5p
ZH1gLCBleHBlY3RlZENvbG9yKTsKKyAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3Qn
IGFnYWluIHRvIHRoZSBlbGVtZW50IGluIHRoZSB0cmVlIGluc2VydGVkIGJlZm9yZSAke2JlZm9y
ZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdFbGVt
ZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRyZWUgZGl2PmRpdi50ZXN0IGJl
Zm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0xNTcsNyArMjA2LDcgQEAgZnVu
Y3Rpb24gdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xv
cikKICAgICB0ZXN0Q29sb3IoYGluc2VydCB0cmVlIGRpdj5kaXYgYmVmb3JlICR7YmVmb3JlRWxl
bWVudC5pZH1gLCBncmV5KTsKIAogICAgIG5ld0NoaWxkLmNsYXNzTGlzdC5hZGQoJ3Rlc3QnKTsK
LSAgICB0ZXN0Q29sb3IoYGFkZCB0aGUgY2xhc3MgJ3Rlc3QnIHRvIHRoZSBlbGVtZW50IGluIHRo
ZSB0cmVlIGluc2VydGVkIGFnYWluIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0
ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyB0byB0aGUgZWxl
bWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZvcmVFbGVtZW50Lmlk
fWAsIGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rlc3QpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0
LnJlbW92ZSgndGVzdCcpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIHRoZSBjbGFzcyAndGVzdCcg
ZnJvbSB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBiZWZvcmUgJHtiZWZv
cmVFbGVtZW50LmlkfWAsIGdyZXkpOwpAQCAtMTY4LDI3ICsyMTcsMjkgQEAgZnVuY3Rpb24gdGVz
dFRyZWVJbnNlcnRpb25CZWZvcmUoYmVmb3JlRWxlbWVudCwgZXhwZWN0ZWRDb2xvcikKICAgICBu
ZXdDaGlsZC5zZXRBdHRyaWJ1dGUoJ3Rlc3RfYXR0cicsICcnKTsKIAogICAgIGJlZm9yZUVsZW1l
bnQuYmVmb3JlKG5ld0VsZW1lbnQpOwotICAgIHRlc3RDb2xvcihgaW5zZXJ0IGVsZW1lbnQgZGl2
PmRpdlt0ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xv
cik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0gYmVm
b3JlICR7YmVmb3JlRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCk7
CiAKICAgICBuZXdFbGVtZW50LnJlbW92ZSgpOwogICAgIHRlc3RDb2xvcihgcmVtb3ZlIGVsZW1l
bnQgZGl2PmRpdlt0ZXN0X2F0dHJdIGJlZm9yZSAke2JlZm9yZUVsZW1lbnQuaWR9YCwgZ3JleSk7
CiB9CiAKLWZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoYWZ0ZXJFbGVtZW50LCBleHBl
Y3RlZENvbG9yKQorZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQs
IGV4cGVjdGVkQ29sb3JOYW1lKQogeworICAgIGNvbnN0IGV4cGVjdGVkQ29sb3JGb3JDbGFzc1Rl
c3QgPSBjb2xvcnNbZXhwZWN0ZWRDb2xvck5hbWVdLmNsYXNzVGVzdDsKKyAgICBjb25zdCBleHBl
Y3RlZENvbG9yRm9yQXR0cmlidXRlVGVzdCA9IGNvbG9yc1tleHBlY3RlZENvbG9yTmFtZV0uYXR0
cmlidXRlVGVzdDsKICAgICBjb25zdCBuZXdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgICAgY29uc3QgbmV3Q2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QuYWRkKCd0ZXN0Jyk7CiAgICAgbmV3RWxlbWVu
dC5hcHBlbmRDaGlsZChuZXdDaGlsZCk7CiAKICAgICBhZnRlckVsZW1lbnQuYWZ0ZXIobmV3RWxl
bWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgdHJlZSBkaXY+ZGl2LnRlc3QgYWZ0ZXIgJHth
ZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQg
dHJlZSBkaXY+ZGl2LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xv
ckZvckNsYXNzVGVzdCk7CiAKICAgICBuZXdDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0ZXN0Jyk7
CiAgICAgdGVzdENvbG9yKGByZW1vdmUgdGhlIGNsYXNzICd0ZXN0JyBmcm9tIHRoZSBlbGVtZW50
IGluIHRoZSB0cmVlIGluc2VydGVkIGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwog
CiAgICAgbmV3Q2hpbGQuY2xhc3NMaXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRk
IHRoZSBjbGFzcyAndGVzdCcgYWdhaW4gdG8gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0
ZWQgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENv
bG9yKGBhZGQgdGhlIGNsYXNzICd0ZXN0JyBhZ2FpbiB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJl
ZSBpbnNlcnRlZCBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xh
c3NUZXN0KTsKIAogICAgIG5ld0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgdGVzdENvbG9yKGByZW1v
dmUgdHJlZSBkaXY+ZGl2LnRlc3QgYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CkBA
IC0xOTksNyArMjUwLDcgQEAgZnVuY3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVs
ZW1lbnQsIGV4cGVjdGVkQ29sb3IpCiAgICAgdGVzdENvbG9yKGBpbnNlcnQgdHJlZSBkaXY+ZGl2
IGFmdGVyICR7YWZ0ZXJFbGVtZW50LmlkfWAsIGdyZXkpOwogCiAgICAgbmV3Q2hpbGQuY2xhc3NM
aXN0LmFkZCgndGVzdCcpOwotICAgIHRlc3RDb2xvcihgYWRkIHRoZSBjbGFzcyAndGVzdCcgdG8g
dGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWdhaW4gYWZ0ZXIgJHthZnRlckVsZW1l
bnQuaWR9YCwgZXhwZWN0ZWRDb2xvcik7CisgICAgdGVzdENvbG9yKGBhZGQgdGhlIGNsYXNzICd0
ZXN0JyB0byB0aGUgZWxlbWVudCBpbiB0aGUgdHJlZSBpbnNlcnRlZCBhZ2FpbiBhZnRlciAke2Fm
dGVyRWxlbWVudC5pZH1gLCBleHBlY3RlZENvbG9yRm9yQ2xhc3NUZXN0KTsKIAogICAgIG5ld0No
aWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3Rlc3QnKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSB0aGUg
Y2xhc3MgJ3Rlc3QnIGZyb20gdGhlIGVsZW1lbnQgaW4gdGhlIHRyZWUgaW5zZXJ0ZWQgYWdhaW4g
YWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZ3JleSk7CkBAIC0yMTAsNyArMjYxLDcgQEAgZnVu
Y3Rpb24gdGVzdFRyZWVJbnNlcnRpb25BZnRlcihhZnRlckVsZW1lbnQsIGV4cGVjdGVkQ29sb3Ip
CiAgICAgbmV3Q2hpbGQuc2V0QXR0cmlidXRlKCd0ZXN0X2F0dHInLCAnJyk7CiAKICAgICBhZnRl
ckVsZW1lbnQuYWZ0ZXIobmV3RWxlbWVudCk7Ci0gICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVu
dCBkaXY+ZGl2W3Rlc3RfYXR0cl0gYWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRD
b2xvcik7CisgICAgdGVzdENvbG9yKGBpbnNlcnQgZWxlbWVudCBkaXY+ZGl2W3Rlc3RfYXR0cl0g
YWZ0ZXIgJHthZnRlckVsZW1lbnQuaWR9YCwgZXhwZWN0ZWRDb2xvckZvckF0dHJpYnV0ZVRlc3Qp
OwogCiAgICAgbmV3RWxlbWVudC5yZW1vdmUoKTsKICAgICB0ZXN0Q29sb3IoYHJlbW92ZSBlbGVt
ZW50IGRpdj5kaXZbdGVzdF9hdHRyXSBhZnRlciAke2FmdGVyRWxlbWVudC5pZH1gLCBncmV5KTsK
QEAgLTIxOCw0NCArMjY5LDQ0IEBAIGZ1bmN0aW9uIHRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIoYWZ0
ZXJFbGVtZW50LCBleHBlY3RlZENvbG9yKQogCiB0ZXN0Q29sb3IoJ0luaXRpYWwgY29sb3InLCBn
cmV5KTsKIAotdGVzdENsYXNzQ2hhbmdlKHByZXZpb3VzX3NpYmxpbmcsIGdyZXkpOwotdGVzdENs
YXNzQ2hhbmdlKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsIGdyZWVuKTsKLXRlc3RDbGFzc0NoYW5n
ZShwcmV2aW91c19zaWJsaW5nX2Rlc2NlbmRhbnQsIHJlZCk7Ci10ZXN0Q2xhc3NDaGFuZ2Uoc3Vi
amVjdCwgYmx1ZSk7Ci10ZXN0Q2xhc3NDaGFuZ2UobmV4dF9zaWJsaW5nLCB5ZWxsb3cpOwotdGVz
dENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19jaGlsZCwgcHVycGxlKTsKLXRlc3RDbGFzc0NoYW5n
ZShuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgcHVycGxlKTsKLQotdGVzdEVsZW1lbnRJbnNlcnRp
b25CZWZvcmUocHJldmlvdXNfc2libGluZywgZ3JleSk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkJl
Zm9yZShwcmV2aW91c19zaWJsaW5nX2NoaWxkLCBncmVlbik7Ci10ZXN0RWxlbWVudEluc2VydGlv
bkJlZm9yZShwcmV2aW91c19zaWJsaW5nX2Rlc2NlbmRhbnQsIHJlZCk7Ci10ZXN0RWxlbWVudElu
c2VydGlvbkJlZm9yZShzdWJqZWN0LCBibHVlKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3Jl
KG5leHRfc2libGluZywgeWVsbG93KTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRf
c2libGluZ19jaGlsZCwgcHVycGxlKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRf
c2libGluZ19kZXNjZW5kYW50LCBwdXJwbGUpOwotCi10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVy
KHByZXZpb3VzX3NpYmxpbmcsIGJsdWUpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihwcmV2
aW91c19zaWJsaW5nX2NoaWxkLCBncmVlbik7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHBy
ZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFudCwgcmVkKTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0
ZXIoc3ViamVjdCwgeWVsbG93KTsKLXRlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJs
aW5nLCB5ZWxsb3cpOwotdGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmdfY2hp
bGQsIHB1cnBsZSk7Ci10ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRfc2libGluZ19kZXNj
ZW5kYW50LCBwdXJwbGUpOwotCi10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJs
aW5nLCBncmVlbik7Ci10ZXN0VHJlZUluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJsaW5nX2No
aWxkLCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUocHJldmlvdXNfc2libGluZ19kZXNj
ZW5kYW50LCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25CZWZvcmUoc3ViamVjdCwgcGluayk7Ci10
ZXN0VHJlZUluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmcsIHB1cnBsZSk7Ci10ZXN0VHJlZUlu
c2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfY2hpbGQsIHB1cnBsZSk7Ci10ZXN0VHJlZUluc2Vy
dGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgcHVycGxlKTsKLQotdGVzdFRyZWVJ
bnNlcnRpb25BZnRlcihwcmV2aW91c19zaWJsaW5nLCBwaW5rKTsKLXRlc3RUcmVlSW5zZXJ0aW9u
QWZ0ZXIocHJldmlvdXNfc2libGluZ19jaGlsZCwgcmVkKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQWZ0
ZXIocHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCByZWQpOwotdGVzdFRyZWVJbnNlcnRpb25B
ZnRlcihzdWJqZWN0LCBwdXJwbGUpOwotdGVzdFRyZWVJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxp
bmcsIHB1cnBsZSk7Ci10ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5leHRfc2libGluZ19jaGlsZCwg
cHVycGxlKTsKLXRlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2Rlc2NlbmRhbnQs
IHB1cnBsZSk7Cit0ZXN0Q2xhc3NDaGFuZ2UocHJldmlvdXNfc2libGluZywgImdyZXkiKTsKK3Rl
c3RDbGFzc0NoYW5nZShwcmV2aW91c19zaWJsaW5nX2NoaWxkLCAiZ3JlZW4iKTsKK3Rlc3RDbGFz
c0NoYW5nZShwcmV2aW91c19zaWJsaW5nX2Rlc2NlbmRhbnQsICJyZWQiKTsKK3Rlc3RDbGFzc0No
YW5nZShzdWJqZWN0LCAiYmx1ZSIpOwordGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZywgInll
bGxvdyIpOwordGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19jaGlsZCwgInB1cnBsZSIpOwor
dGVzdENsYXNzQ2hhbmdlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCAicHVycGxlIik7CisKK3Rl
c3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmcsICJncmV5Iik7Cit0ZXN0
RWxlbWVudEluc2VydGlvbkJlZm9yZShwcmV2aW91c19zaWJsaW5nX2NoaWxkLCAiZ3JlZW4iKTsK
K3Rlc3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmdfZGVzY2VuZGFudCwg
InJlZCIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25CZWZvcmUoc3ViamVjdCwgImJsdWUiKTsKK3Rl
c3RFbGVtZW50SW5zZXJ0aW9uQmVmb3JlKG5leHRfc2libGluZywgInllbGxvdyIpOwordGVzdEVs
ZW1lbnRJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nX2NoaWxkLCAicHVycGxlIik7Cit0ZXN0
RWxlbWVudEluc2VydGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfZGVzY2VuZGFudCwgInB1cnBsZSIp
OworCit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxpbmcsICJibHVlIik7
Cit0ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKHByZXZpb3VzX3NpYmxpbmdfY2hpbGQsICJncmVl
biIpOwordGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihwcmV2aW91c19zaWJsaW5nX2Rlc2NlbmRh
bnQsICJyZWQiKTsKK3Rlc3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIoc3ViamVjdCwgInllbGxvdyIp
OwordGVzdEVsZW1lbnRJbnNlcnRpb25BZnRlcihuZXh0X3NpYmxpbmcsICJ5ZWxsb3ciKTsKK3Rl
c3RFbGVtZW50SW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJsaW5nX2NoaWxkLCAicHVycGxlIik7Cit0
ZXN0RWxlbWVudEluc2VydGlvbkFmdGVyKG5leHRfc2libGluZ19kZXNjZW5kYW50LCAicHVycGxl
Iik7CisKK3Rlc3RUcmVlSW5zZXJ0aW9uQmVmb3JlKHByZXZpb3VzX3NpYmxpbmcsICJncmVlbiIp
OwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUocHJldmlvdXNfc2libGluZ19jaGlsZCwgInJlZCIp
OwordGVzdFRyZWVJbnNlcnRpb25CZWZvcmUocHJldmlvdXNfc2libGluZ19kZXNjZW5kYW50LCAi
cmVkIik7Cit0ZXN0VHJlZUluc2VydGlvbkJlZm9yZShzdWJqZWN0LCAicGluayIpOwordGVzdFRy
ZWVJbnNlcnRpb25CZWZvcmUobmV4dF9zaWJsaW5nLCAicHVycGxlIik7Cit0ZXN0VHJlZUluc2Vy
dGlvbkJlZm9yZShuZXh0X3NpYmxpbmdfY2hpbGQsICJwdXJwbGUiKTsKK3Rlc3RUcmVlSW5zZXJ0
aW9uQmVmb3JlKG5leHRfc2libGluZ19kZXNjZW5kYW50LCAicHVycGxlIik7CisKK3Rlc3RUcmVl
SW5zZXJ0aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZywgInBpbmsiKTsKK3Rlc3RUcmVlSW5zZXJ0
aW9uQWZ0ZXIocHJldmlvdXNfc2libGluZ19jaGlsZCwgInJlZCIpOwordGVzdFRyZWVJbnNlcnRp
b25BZnRlcihwcmV2aW91c19zaWJsaW5nX2Rlc2NlbmRhbnQsICJyZWQiKTsKK3Rlc3RUcmVlSW5z
ZXJ0aW9uQWZ0ZXIoc3ViamVjdCwgInB1cnBsZSIpOwordGVzdFRyZWVJbnNlcnRpb25BZnRlcihu
ZXh0X3NpYmxpbmcsICJwdXJwbGUiKTsKK3Rlc3RUcmVlSW5zZXJ0aW9uQWZ0ZXIobmV4dF9zaWJs
aW5nX2NoaWxkLCAicHVycGxlIik7Cit0ZXN0VHJlZUluc2VydGlvbkFmdGVyKG5leHRfc2libGlu
Z19kZXNjZW5kYW50LCAicHVycGxlIik7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFs
aWRhdGlvbi9pcy1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL2lzLXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjFhYzVjOTAw
OGYxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vaXMtcHNldWRvLWNvbnRhaW5p
bmctY29tcGxleC1pbi1oYXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOTQgQEAKKworUEFTUyBb
IC5yZWQ6aGFzKCNkZXNjZW5kYW50OmlzKC5hIC5iKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5h
ZGQoJ3JlZCcpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2Nl
bmRhbnQ6aXMoLmEgLmIpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgncmVkJykgOiBjaGVj
ayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmEgLmIp
KSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgnYScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BB
U1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI3BhcmVudC5jbGFzc0xpc3Qu
YWRkKCdhJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2Nl
bmRhbnQ6aXMoLmEgLmIpKSBdICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnYScpIDogY2hlY2sg
bWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmEgLmIpKSBd
ICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnYScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgor
UEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50OmlzKC5hIC5iKSkgXSAjaGFzX3Njb3BlLmNsYXNz
TGlzdC5hZGQoJ2EnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLnJlZDpoYXMoI2Rl
c2NlbmRhbnQ6aXMoLmEgLmIpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnYScpIDogY2hl
Y2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50OmlzKC5hIC5i
KSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ2EnKSA6IGNoZWNrIG1hdGNoZXMgKGZh
bHNlKQorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50OmlzKC5hIC5iKSkgXSAjaGFzX3Njb3Bl
LmNsYXNzTGlzdC5yZW1vdmUoJ2EnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAu
cmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI2NoaWxkLmNsYXNzTGlzdC5hZGQoJ2En
KSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6aXMo
LmEgLmIpKSBdICNjaGlsZC5jbGFzc0xpc3QuYWRkKCdhJykgOiBjaGVjayAjaGFzX3Njb3BlIGNv
bG9yCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmEgLmIpKSBdICNjaGlsZC5jbGFz
c0xpc3QucmVtb3ZlKCdhJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAucmVkOmhh
cygjZGVzY2VuZGFudDppcyguYSAuYikpIF0gI2NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ2EnKSA6
IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDppcygu
YSAuYikpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdyZWQnKSA6IGNoZWNrIG1hdGNo
ZXMgKGZhbHNlKQorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50OmlzKC5hIC5iKSkgXSAjaGFz
X3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ3JlZCcpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgor
UEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmMgfiAuZCAuZSkpIF0gI2hhc19zY29w
ZS5jbGFzc0xpc3QuYWRkKCdncmVlbicpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsg
LmdyZWVuOmhhcygjZGVzY2VuZGFudDppcyguYyB+IC5kIC5lKSkgXSAjaGFzX3Njb3BlLmNsYXNz
TGlzdC5hZGQoJ2dyZWVuJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmdyZWVu
OmhhcygjZGVzY2VuZGFudDppcyguYyB+IC5kIC5lKSkgXSAjcGFyZW50X3ByZXZpb3VzLmNsYXNz
TGlzdC5hZGQoJ2MnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLmdyZWVuOmhhcygj
ZGVzY2VuZGFudDppcyguYyB+IC5kIC5lKSkgXSAjcGFyZW50X3ByZXZpb3VzLmNsYXNzTGlzdC5h
ZGQoJ2MnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNj
ZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBdICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92
ZSgnYycpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmdyZWVuOmhhcygjZGVzY2Vu
ZGFudDppcyguYyB+IC5kIC5lKSkgXSAjcGFyZW50X3ByZXZpb3VzLmNsYXNzTGlzdC5yZW1vdmUo
J2MnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5k
YW50OmlzKC5jIH4gLmQgLmUpKSBdICNwcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdjJykgOiBjaGVj
ayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmMgfiAu
ZCAuZSkpIF0gI3ByZXZpb3VzLmNsYXNzTGlzdC5hZGQoJ2MnKSA6IGNoZWNrICNoYXNfc2NvcGUg
Y29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBdICNw
cmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BB
U1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBdICNwcmV2aW91cy5j
bGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmdy
ZWVuOmhhcygjZGVzY2VuZGFudDppcyguYyB+IC5kIC5lKSkgXSAjY2hpbGRfcHJldmlvdXMuY2xh
c3NMaXN0LmFkZCgnYycpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAuZ3JlZW46aGFz
KCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSBdICNjaGlsZF9wcmV2aW91cy5jbGFzc0xpc3Qu
YWRkKCdjJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmdyZWVuOmhhcygjZGVz
Y2VuZGFudDppcyguYyB+IC5kIC5lKSkgXSAjY2hpbGRfcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92
ZSgnYycpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmdyZWVuOmhhcygjZGVzY2Vu
ZGFudDppcyguYyB+IC5kIC5lKSkgXSAjY2hpbGRfcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92ZSgn
YycpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRh
bnQ6aXMoLmMgfiAuZCAuZSkpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdncmVlbicp
IDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmdyZWVuOmhhcygjZGVzY2VuZGFudDpp
cyguYyB+IC5kIC5lKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ2dyZWVuJykgOiBj
aGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6
aXMoLmYgfiAuZykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdibHVlJykgOiBjaGVjayBt
YXRjaGVzIChmYWxzZSkKK1BBU1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+
IC5nKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ2JsdWUnKSA6IGNoZWNrICNoYXNfc2Nv
cGUgY29sb3IKK1BBU1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkg
XSAjcHJldmlvdXMuY2xhc3NMaXN0LmFkZCgnZicpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK0ZB
SUwgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjcHJldmlvdXMu
Y2xhc3NMaXN0LmFkZCgnZicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvciBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAicmdiKDAsIDAsIDI1NSkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIK
K1BBU1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjcHJldmlv
dXMuY2xhc3NMaXN0LnJlbW92ZSgnZicpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsg
LmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmYgfiAuZykpIF0gI3ByZXZpb3VzLmNsYXNz
TGlzdC5yZW1vdmUoJ2YnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuYmx1ZTpo
YXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5h
ZGQoJ2YnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitGQUlMIFsgLmJsdWU6aGFzKH4gI2luZGly
ZWN0X25leHQ6aXMoLmYgfiAuZykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdmJykgOiBj
aGVjayAjaGFzX3Njb3BlIGNvbG9yIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMCwg
MjU1KSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorUEFTUyBbIC5ibHVlOmhhcyh+ICNp
bmRpcmVjdF9uZXh0OmlzKC5mIH4gLmcpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgn
ZicpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0
X25leHQ6aXMoLmYgfiAuZykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdmJykgOiBj
aGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6
aXMoLmYgfiAuZykpIF0gI2RpcmVjdF9uZXh0LmNsYXNzTGlzdC5hZGQoJ2YnKSA6IGNoZWNrIG1h
dGNoZXMgKHRydWUpCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmYgfiAu
ZykpIF0gI2RpcmVjdF9uZXh0LmNsYXNzTGlzdC5hZGQoJ2YnKSA6IGNoZWNrICNoYXNfc2NvcGUg
Y29sb3IKK1BBU1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAj
ZGlyZWN0X25leHQuY2xhc3NMaXN0LnJlbW92ZSgnZicpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2Up
CitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmYgfiAuZykpIF0gI2RpcmVj
dF9uZXh0LmNsYXNzTGlzdC5yZW1vdmUoJ2YnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BB
U1MgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgXSAjaGFzX3Njb3Bl
LmNsYXNzTGlzdC5yZW1vdmUoJ2JsdWUnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBb
IC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5mIH4gLmcpKSBdICNoYXNfc2NvcGUuY2xh
c3NMaXN0LnJlbW92ZSgnYmx1ZScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC55
ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmggLmkpKSBdICNoYXNfc2NvcGUuY2xhc3NM
aXN0LmFkZCgneWVsbG93JykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAueWVsbG93
Omhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5oIC5pKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5h
ZGQoJ3llbGxvdycpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC55ZWxsb3c6aGFz
KH4gI2luZGlyZWN0X25leHQ6aXMoLmggLmkpKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgnaCcp
IDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAueWVsbG93Omhhcyh+ICNpbmRpcmVjdF9u
ZXh0OmlzKC5oIC5pKSkgXSAjcGFyZW50LmNsYXNzTGlzdC5hZGQoJ2gnKSA6IGNoZWNrICNoYXNf
c2NvcGUgY29sb3IKK1BBU1MgWyAueWVsbG93Omhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5oIC5p
KSkgXSAjcGFyZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2gnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNl
KQorUEFTUyBbIC55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmggLmkpKSBdICNwYXJl
bnQuY2xhc3NMaXN0LnJlbW92ZSgnaCcpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBb
IC55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmggLmkpKSBdICNoYXNfc2NvcGUuY2xh
c3NMaXN0LnJlbW92ZSgneWVsbG93JykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAu
eWVsbG93Omhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5oIC5pKSkgXSAjaGFzX3Njb3BlLmNsYXNz
TGlzdC5yZW1vdmUoJ3llbGxvdycpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5w
dXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmogfiAuayAubCkpIF0gI2hhc19zY29wZS5j
bGFzc0xpc3QuYWRkKCdwdXJwbGUnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5w
dXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmogfiAuayAubCkpIF0gI2hhc19zY29wZS5j
bGFzc0xpc3QuYWRkKCdwdXJwbGUnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAu
cHVycGxlOmhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5qIH4gLmsgLmwpKSBdICNwYXJlbnRfcHJl
dmlvdXMuY2xhc3NMaXN0LmFkZCgnaicpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAu
cHVycGxlOmhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5qIH4gLmsgLmwpKSBdICNwYXJlbnRfcHJl
dmlvdXMuY2xhc3NMaXN0LmFkZCgnaicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBb
IC5wdXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmogfiAuayAubCkpIF0gI3BhcmVudF9w
cmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdqJykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BB
U1MgWyAucHVycGxlOmhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5qIH4gLmsgLmwpKSBdICNwYXJl
bnRfcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92ZSgnaicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xv
cgorUEFTUyBbIC5wdXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmogfiAuayAubCkpIF0g
I2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdwdXJwbGUnKSA6IGNoZWNrIG1hdGNoZXMgKGZh
bHNlKQorUEFTUyBbIC5wdXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmogfiAuayAubCkp
IF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdwdXJwbGUnKSA6IGNoZWNrICNoYXNfc2Nv
cGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAu
bykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdvcmFuZ2UnKSA6IGNoZWNrIG1hdGNoZXMg
KGZhbHNlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5v
KSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ29yYW5nZScpIDogY2hlY2sgI2hhc19zY29w
ZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5v
KSkgXSAjcGFyZW50LmNsYXNzTGlzdC5hZGQoJ20nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQ
QVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNwYXJl
bnQuY2xhc3NMaXN0LmFkZCgnbScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5v
cmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjcGFyZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ20nKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5vcmFuZ2U6
aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjcGFyZW50LmNsYXNzTGlzdC5y
ZW1vdmUoJ20nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygj
ZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykpIF0gI3BhcmVudC5jbGFzc0xpc3QuYWRkKCdu
JykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50
OmlzKDppcygubSwgLm4pIC5vKSkgXSAjcGFyZW50LmNsYXNzTGlzdC5hZGQoJ24nKSA6IGNoZWNr
ICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMo
Lm0sIC5uKSAubykpIF0gI3BhcmVudC5jbGFzc0xpc3QucmVtb3ZlKCduJykgOiBjaGVjayBtYXRj
aGVzIChmYWxzZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5u
KSAubykpIF0gI3BhcmVudC5jbGFzc0xpc3QucmVtb3ZlKCduJykgOiBjaGVjayAjaGFzX3Njb3Bl
IGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8p
KSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnbScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkK
K1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykpIF0gI2hh
c19zY29wZS5jbGFzc0xpc3QuYWRkKCdtJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNT
IFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNoYXNfc2Nv
cGUuY2xhc3NMaXN0LnJlbW92ZSgnbScpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsg
Lm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNoYXNfc2NvcGUu
Y2xhc3NMaXN0LnJlbW92ZSgnbScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5v
cmFuZ2U6aGFzKCNkZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNs
YXNzTGlzdC5hZGQoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLm9yYW5nZTpo
YXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0
LmFkZCgnbicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFzKCNk
ZXNjZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1v
dmUoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNj
ZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUo
J24nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2Vu
ZGFudDppcyg6aXMoLm0sIC5uKSAubykpIF0gI2NoaWxkLmNsYXNzTGlzdC5hZGQoJ20nKSA6IGNo
ZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlz
KC5tLCAubikgLm8pKSBdICNjaGlsZC5jbGFzc0xpc3QuYWRkKCdtJykgOiBjaGVjayAjaGFzX3Nj
b3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikg
Lm8pKSBdICNjaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCdtJykgOiBjaGVjayBtYXRjaGVzIChmYWxz
ZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykpIF0g
I2NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ20nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BB
U1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykpIF0gI2NoaWxk
LmNsYXNzTGlzdC5hZGQoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLm9yYW5n
ZTpoYXMoI2Rlc2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNjaGlsZC5jbGFzc0xpc3Qu
YWRkKCduJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rl
c2NlbmRhbnQ6aXMoOmlzKC5tLCAubikgLm8pKSBdICNjaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCdu
JykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFu
dDppcyg6aXMoLm0sIC5uKSAubykpIF0gI2NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ24nKSA6IGNo
ZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6
aXMoLm0sIC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdvcmFuZ2UnKSA6
IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Omlz
KDppcygubSwgLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ29yYW5nZScp
IDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lz
LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lz
LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40YjAyMjVlYjQyOGYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL2lzLXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwKQEAg
LTAsMCArMSwxMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+
Cis8dGl0bGU+Q1NTIFNlbGVjdG9ycyBJbnZhbGlkYXRpb246IDppcygpIGluIDpoYXMoKSBhcmd1
bWVudDwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkJ5dW5nd29vIExlZSIgaHJl
Zj0iYmxlZUBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL3NlbGVjdG9ycy8jcmVsYXRpb25hbCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitkaXYgeyBjb2xvcjogZ3Jl
eSB9CisucmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIHsgY29sb3I6IHJlZCB9CisuZ3Jl
ZW46aGFzKCNkZXNjZW5kYW50OmlzKC5jIH4gLmQgLmUpKSB7IGNvbG9yOiBncmVlbiB9CisuYmx1
ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDppcyguZiB+IC5nKSkgeyBjb2xvcjogYmx1ZSB9CisueWVs
bG93Omhhcyh+ICNpbmRpcmVjdF9uZXh0OmlzKC5oIC5pKSkgeyBjb2xvcjogeWVsbG93IH0KKy5w
dXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmogfiAuayAubCkpIHsgY29sb3I6IHB1cnBs
ZSB9Cisub3JhbmdlOmhhcygjZGVzY2VuZGFudDppcyg6aXMoLm0sIC5uKSAubykpIHsgY29sb3I6
IG9yYW5nZSB9Cis8L3N0eWxlPgorPGRpdj4KKyAgPGRpdiBpZD0icGFyZW50X3ByZXZpb3VzIj48
L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50IiBjbGFzcz0iZCBrIj4KKyAgICA8ZGl2IGlkPSJwcmV2
aW91cyI+PC9kaXY+CisgICAgPGRpdiBpZD0iaGFzX3Njb3BlIiBjbGFzcz0iZCI+CisgICAgICA8
ZGl2IGlkPSJjaGlsZF9wcmV2aW91cyI+PC9kaXY+CisgICAgICA8ZGl2IGlkPSJjaGlsZCIgY2xh
c3M9ImQiPgorICAgICAgICA8ZGl2IGlkPSJkZXNjZW5kYW50IiBjbGFzcz0iYiBlIG8iPjwvZGl2
PgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZGlyZWN0X25leHQiPjwv
ZGl2PgorICAgIDxkaXYgaWQ9ImluZGlyZWN0X25leHQiIGNsYXNzPSJnIGkgbCI+PC9kaXY+Cisg
IDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorY29uc3QgZ3JleSA9ICJyZ2IoMTI4LCAxMjgsIDEy
OCkiOworY29uc3QgcmVkID0gInJnYigyNTUsIDAsIDApIjsKK2NvbnN0IGdyZWVuID0gInJnYigw
LCAxMjgsIDApIjsKK2NvbnN0IGJsdWUgPSAicmdiKDAsIDAsIDI1NSkiOworY29uc3QgeWVsbG93
ID0gInJnYigyNTUsIDI1NSwgMCkiOworY29uc3QgcHVycGxlID0gInJnYigxMjgsIDAsIDEyOCki
OworY29uc3Qgb3JhbmdlID0gInJnYigyNTUsIDE2NSwgMCkiOworCitmdW5jdGlvbiBjaGFuZ2VB
bmRUZXN0KG9wZXJhdGlvbiwgY2xhc3NfbmFtZSwgZWxlbWVudF9pZCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZWN0b3IsIG1hdGNoZXNfcmVzdWx0LCBzY29wZV9jb2xvcikgeworICBsZXQg
ZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRfaWQpOworICBhc3NlcnRf
ZXF1YWxzKGVsZW1lbnQgPyBlbGVtZW50LmlkIDogIiIsIGVsZW1lbnRfaWQpOworICBsZXQgbWVz
c2FnZV9wcmVmaXggPSBbCisgICAgICAiWyIsIHNlbGVjdG9yLCAiXSIsCisgICAgICBbIiMiLCBl
bGVtZW50LmlkLCAiLmNsYXNzTGlzdC4iLCBvcGVyYXRpb24sICIoJyIsIGNsYXNzX25hbWUsICIn
KSJdLmpvaW4oIiIpLAorICAgICAgIjogIl0uam9pbigiICIpOworICBpZiAob3BlcmF0aW9uID09
ICJhZGQiKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzX25hbWUpOworICB9IGVs
c2UgeworICAgIGFzc2VydF9lcXVhbHMob3BlcmF0aW9uLCAicmVtb3ZlIik7CisgICAgZWxlbWVu
dC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzX25hbWUpOworICB9CisgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICBhc3NlcnRfZXF1YWxzKGhhc19zY29wZS5tYXRjaGVzKHNlbGVjdG9yKSwgbWF0Y2hl
c19yZXN1bHQpOworICB9LCBtZXNzYWdlX3ByZWZpeCArICJjaGVjayBtYXRjaGVzICgiICsgbWF0
Y2hlc19yZXN1bHQgKyAiKSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKGhhc19zY29wZSkuY29sb3IsIHNjb3BlX2NvbG9yKTsKKyAg
fSwgbWVzc2FnZV9wcmVmaXggKyAiY2hlY2sgI2hhc19zY29wZSBjb2xvciIpOworfQorCithc3Nl
cnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaGFzX3Njb3BlKS5jb2xvciwgZ3JleSk7CisKK2xl
dCBzZWxlY3RvciA9ICIucmVkOmhhcygjZGVzY2VuZGFudDppcyguYSAuYikpIjsKK2NoYW5nZUFu
ZFRlc3QoImFkZCIsICJyZWQiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsK
K2NoYW5nZUFuZFRlc3QoImFkZCIsICJhIiwgInBhcmVudCIsIHNlbGVjdG9yLCB0cnVlLCByZWQp
OworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImEiLCAicGFyZW50Iiwgc2VsZWN0b3IsIGZhbHNl
LCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJhIiwgImhhc19zY29wZSIsIHNlbGVjdG9y
LCB0cnVlLCByZWQpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImEiLCAiaGFzX3Njb3BlIiwg
c2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJhIiwgImNoaWxk
Iiwgc2VsZWN0b3IsIHRydWUsIHJlZCk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAiYSIsICJj
aGlsZCIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAi
cmVkIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CisKK3NlbGVjdG9yID0g
Ii5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6aXMoLmMgfiAuZCAuZSkpIjsKK2NoYW5nZUFuZFRlc3Qo
ImFkZCIsICJncmVlbiIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hh
bmdlQW5kVGVzdCgiYWRkIiwgImMiLCAicGFyZW50X3ByZXZpb3VzIiwgc2VsZWN0b3IsIHRydWUs
IGdyZWVuKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJjIiwgInBhcmVudF9wcmV2aW91cyIs
IHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAiYyIsICJwcmV2
aW91cyIsIHNlbGVjdG9yLCB0cnVlLCBncmVlbik7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAi
YyIsICJwcmV2aW91cyIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJh
ZGQiLCAiYyIsICJjaGlsZF9wcmV2aW91cyIsIHNlbGVjdG9yLCB0cnVlLCBncmVlbik7CitjaGFu
Z2VBbmRUZXN0KCJyZW1vdmUiLCAiYyIsICJjaGlsZF9wcmV2aW91cyIsIHNlbGVjdG9yLCBmYWxz
ZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAiZ3JlZW4iLCAiaGFzX3Njb3BlIiwg
c2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKKworc2VsZWN0b3IgPSAiLmJsdWU6aGFzKH4gI2luZGly
ZWN0X25leHQ6aXMoLmYgfiAuZykpIjsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJibHVlIiwgImhh
c19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAi
ZiIsICJwcmV2aW91cyIsIHNlbGVjdG9yLCB0cnVlLCBibHVlKTsKK2NoYW5nZUFuZFRlc3QoInJl
bW92ZSIsICJmIiwgInByZXZpb3VzIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFu
ZFRlc3QoImFkZCIsICJmIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCB0cnVlLCBibHVlKTsKK2No
YW5nZUFuZFRlc3QoInJlbW92ZSIsICJmIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwg
Z3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAiZiIsICJkaXJlY3RfbmV4dCIsIHNlbGVjdG9y
LCB0cnVlLCBibHVlKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJmIiwgImRpcmVjdF9uZXh0
Iiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJibHVl
IiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CisKK3NlbGVjdG9yID0gIi55
ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6aXMoLmggLmkpKSIKK2NoYW5nZUFuZFRlc3QoImFk
ZCIsICJ5ZWxsb3ciLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5n
ZUFuZFRlc3QoImFkZCIsICJoIiwgInBhcmVudCIsIHNlbGVjdG9yLCB0cnVlLCB5ZWxsb3cpOwor
Y2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgImgiLCAicGFyZW50Iiwgc2VsZWN0b3IsIGZhbHNlLCBn
cmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJ5ZWxsb3ciLCAiaGFzX3Njb3BlIiwgc2Vs
ZWN0b3IsIGZhbHNlLCBncmV5KTsKKworc2VsZWN0b3IgPSAiLnB1cnBsZTpoYXMofiAjaW5kaXJl
Y3RfbmV4dDppcyguaiB+IC5rIC5sKSkiCitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAicHVycGxlIiwg
Imhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQi
LCAiaiIsICJwYXJlbnRfcHJldmlvdXMiLCBzZWxlY3RvciwgdHJ1ZSwgcHVycGxlKTsKK2NoYW5n
ZUFuZFRlc3QoInJlbW92ZSIsICJqIiwgInBhcmVudF9wcmV2aW91cyIsIHNlbGVjdG9yLCBmYWxz
ZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAicHVycGxlIiwgImhhc19zY29wZSIs
IHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CisKK3NlbGVjdG9yID0gIi5vcmFuZ2U6aGFzKCNkZXNj
ZW5kYW50OmlzKDppcygubSwgLm4pIC5vKSkiOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgIm9yYW5n
ZSIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgi
YWRkIiwgIm0iLCAicGFyZW50Iiwgc2VsZWN0b3IsIHRydWUsIG9yYW5nZSk7CitjaGFuZ2VBbmRU
ZXN0KCJyZW1vdmUiLCAibSIsICJwYXJlbnQiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hh
bmdlQW5kVGVzdCgiYWRkIiwgIm4iLCAicGFyZW50Iiwgc2VsZWN0b3IsIHRydWUsIG9yYW5nZSk7
CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAibiIsICJwYXJlbnQiLCBzZWxlY3RvciwgZmFsc2Us
IGdyZXkpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgIm0iLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3Is
IHRydWUsIG9yYW5nZSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAibSIsICJoYXNfc2NvcGUi
LCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgIm4iLCAiaGFz
X3Njb3BlIiwgc2VsZWN0b3IsIHRydWUsIG9yYW5nZSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUi
LCAibiIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVz
dCgiYWRkIiwgIm0iLCAiY2hpbGQiLCBzZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFu
ZFRlc3QoInJlbW92ZSIsICJtIiwgImNoaWxkIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2No
YW5nZUFuZFRlc3QoImFkZCIsICJuIiwgImNoaWxkIiwgc2VsZWN0b3IsIHRydWUsIG9yYW5nZSk7
CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAibiIsICJjaGlsZCIsIHNlbGVjdG9yLCBmYWxzZSwg
Z3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAib3JhbmdlIiwgImhhc19zY29wZSIsIHNl
bGVjdG9yLCBmYWxzZSwgZ3JleSk7Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2xpbmstcHNldWRvLWluLWhhcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvaW52YWxpZGF0aW9uL2xpbmstcHNldWRvLWluLWhhcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45YzEyNmU5M2Y4MjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2xpbmstcHNldWRvLWluLWhhcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ1NTIFNlbGVjdG9ycyBJbnZhbGlkYXRpb246IDps
aW5rLCA6dmlzaXRlZCA6YW55LWxpbmssIHBzZXVkby1jbGFzcyBpbiA6aGFzKCkgYXJndW1lbnQK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9saW5rLXBzZXVkby1pbi1oYXMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9p
bnZhbGlkYXRpb24vbGluay1wc2V1ZG8taW4taGFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi4wZmY4Nzk3NjhiN2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52
YWxpZGF0aW9uL2xpbmstcHNldWRvLWluLWhhcy5odG1sCkBAIC0wLDAgKzEsOTcgQEAKKzwhRE9D
VFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+Q1NTIFNlbGVjdG9y
cyBJbnZhbGlkYXRpb246IDpsaW5rLCA6dmlzaXRlZCA6YW55LWxpbmssIHBzZXVkby1jbGFzcyBp
biA6aGFzKCkgYXJndW1lbnQ8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJCeXVu
Z3dvbyBMZWUiIGhyZWY9ImJsZWVAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAj
cGFyZW50IHsgY29sb3I6IGJsdWU7IH0KKyAgI2dyYW5kcGFyZW50IHsgY29sb3I6IGJsdWU7IH0K
KyAgI3BhcmVudDpoYXMoPiA6bm90KDpsaW5rKSkgeyBjb2xvcjogZ3JleTsgfQorICAjcGFyZW50
Omhhcyg+IDpsaW5rKSB7IGNvbG9yOiBncmVlbjsgfQorICAjcGFyZW50Omhhcyg+IDp2aXNpdGVk
KSB7IGNvbG9yOiByZWQ7IH0KKyAgI2dyYW5kcGFyZW50Omhhcyg6bm90KDphbnktbGluaykpIHsg
Y29sb3I6IGdyZXk7IH0KKyAgI2dyYW5kcGFyZW50Omhhcyg6YW55LWxpbmspIHsgY29sb3I6IGdy
ZWVuOyB9Cis8L3N0eWxlPgorPGRpdiBpZD0iZ3JhbmRwYXJlbnQiPjwvZGl2PgorPHNjcmlwdD4K
KyAgY29uc3QgQkxVRSA9ICJyZ2IoMCwgMCwgMjU1KSI7CisgIGNvbnN0IEdSRVkgPSAicmdiKDEy
OCwgMTI4LCAxMjgpIjsKKyAgY29uc3QgR1JFRU4gPSAicmdiKDAsIDEyOCwgMCkiOworICBjb25z
dCBSRUQgPSAicmdiKDI1NSwgMCwgMCkiOworCisgIGZ1bmN0aW9uIGNoZWNrQ29sb3IoaWQsIGNv
bG9yLCB0YXJnZXRfbWF0Y2hlcykgeworICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoaWQpOworICAgIGxldCBtZXNzYWdlID0gWyJsb2NhdGlvbi5oYXNoID09IiwgbG9j
YXRpb24uaGFzaCwgIjogIyIgKyBpZCwgInNob3VsZCBiZSIsCisgICAgICAgICAgICAgICAgICAg
Y29sb3IsICh0YXJnZXRfbWF0Y2hlcyA/ICJ3aXRoIiA6ICJ3aXRob3V0IiksCisgICAgICAgICAg
ICAgICAgICAgIjp0YXJnZXQiXS5qb2luKCIgIik7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQpLmNvbG9yLCBjb2xvciwgbWVzc2FnZSk7CisgIH0KKworICBwcm9t
aXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShncmFuZHBhcmVudCkuY29sb3IsIEJMVUUsCisgICAgICAgICAgICAgICAgICAiZ3JhbmRwYXJl
bnQgc2hvdWxkIGJlIGJsdWUgd2l0aG91dCBhbnkgZWxlbWVudCIpOworCisgICAgbGV0IHBhcmVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIHBhcmVudC5pZCA9ICJwYXJl
bnQiOworICAgIGdyYW5kcGFyZW50LmFwcGVuZENoaWxkKHBhcmVudCk7CisKKyAgICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZ3JhbmRwYXJlbnQpLmNvbG9yLCBHUkVZLAorICAgICAg
ICAgICAgICAgICAgImdyYW5kcGFyZW50IHNob3VsZCBiZSBncmV5IGFmdGVyIHBhcmVudCBhZGRl
ZCIpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpLmNvbG9yLCBC
TFVFLAorICAgICAgICAgICAgICAgICAgInBhcmVudCBzaG91bGQgYmUgYmx1ZSB3aXRob3V0IGFu
eSBsaW5rIik7CisKKyAgICBsZXQgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CisgICAgcGFyZW50LmFwcGVuZENoaWxkKGRpdik7CisKKyAgICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUoZ3JhbmRwYXJlbnQpLmNvbG9yLCBHUkVZLAorICAgICAgICAgICAgICAgICAg
ImdyYW5kcGFyZW50IHNob3VsZCBiZSBncmV5IGFmdGVyIGRpdiBhZGRlZCIpOworICAgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpLmNvbG9yLCBHUkVZLAorICAgICAgICAg
ICAgICAgICAgInBhcmVudCBzaG91bGQgYmUgZ3JleSBhZnRlciBkaXYgYWRkZWQiKTsKKworICAg
IGxldCB2aXNpdGVkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOworICAgIHZpc2l0ZWQu
aHJlZiA9ICIiOworICAgIHBhcmVudC5hcHBlbmRDaGlsZCh2aXNpdGVkKTsKKworICAgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShncmFuZHBhcmVudCkuY29sb3IsIEdSRUVOLAorICAg
ICAgICAgICAgICAgICAgImdyYW5kcGFyZW50IHNob3VsZCBiZSBncmVlbiBhZnRlciB2aXNpdGVk
IGxpbmsgYWRkZWQiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUocGFyZW50
KS5jb2xvciwgR1JFRU4sCisgICAgICAgICAgICAgICAgICAicGFyZW50IHNob3VsZCBiZSBncmVl
biBhZnRlciB2aXNpdGVkIGxpbmsgYWRkZWQiKTsKKworICAgIGxldCB1bnZpc2l0ZWQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CisgICAgdW52aXNpdGVkLmhyZWYgPSAidW52aXNpdGVk
IjsKKyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQodW52aXNpdGVkKTsKKworICAgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZShncmFuZHBhcmVudCkuY29sb3IsIEdSRUVOLAorICAgICAgICAg
ICAgICAgICAgImdyYW5kcGFyZW50IHNob3VsZCBiZSBncmVlbiBhZnRlciB1bnZpc2l0ZWQgbGlu
ayBhZGRlZCIpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpLmNv
bG9yLCBHUkVFTiwKKyAgICAgICAgICAgICAgICAgICJwYXJlbnQgc2hvdWxkIGJlIGdyZWVuIGFm
dGVyIHVudmlzaXRlZCBsaW5rIGFkZGVkIik7CisKKyAgICB1bnZpc2l0ZWQucmVtb3ZlKCk7CisK
KyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZ3JhbmRwYXJlbnQpLmNvbG9yLCBH
UkVFTiwKKyAgICAgICAgICAgICAgICAgICJncmFuZHBhcmVudCBzaG91bGQgYmUgZ3JlZW4gYWZ0
ZXIgdW52aXNpdGVkIGxpbmsgcmVtb3ZlZCIpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZShwYXJlbnQpLmNvbG9yLCBHUkVFTiwKKyAgICAgICAgICAgICAgICAgICJwYXJlbnQg
c2hvdWxkIGJlIGJsdWUgYWZ0ZXIgdW52aXNpdGVkIGxpbmsgcmVtb3ZlZCIpOworCisgICAgdmlz
aXRlZC5yZW1vdmUoKTsKKworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShncmFu
ZHBhcmVudCkuY29sb3IsIEdSRVksCisgICAgICAgICAgICAgICAgICAiZ3JhbmRwYXJlbnQgc2hv
dWxkIGJlIGdyZXkgYWZ0ZXIgdmlzaXRlZCBsaW5rIHJlbW92ZWQiKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGdldENvbXB1dGVkU3R5bGUocGFyZW50KS5jb2xvciwgR1JFWSwKKyAgICAgICAgICAgICAg
ICAgICJwYXJlbnQgc2hvdWxkIGJlIGdyZXkgYWZ0ZXIgdmlzaXRlZCBsaW5rIHJlbW92ZWQiKTsK
KworICAgIGRpdi5yZW1vdmUoKTsKKworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShncmFuZHBhcmVudCkuY29sb3IsIEdSRVksCisgICAgICAgICAgICAgICAgICAiZ3JhbmRwYXJl
bnQgc2hvdWxkIGJlIGdyZXkgYWZ0ZXIgZGl2IHJlbW92ZWQiKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUocGFyZW50KS5jb2xvciwgQkxVRSwKKyAgICAgICAgICAgICAgICAg
ICJwYXJlbnQgc2hvdWxkIGJlIGJsdWUgYWZ0ZXIgZGl2IHJlbW92ZWQiKTsKKworICAgIHBhcmVu
dC5yZW1vdmUoKTsKKworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShncmFuZHBh
cmVudCkuY29sb3IsIEJMVUUsCisgICAgICAgICAgICAgICAgICAiZ3JhbmRwYXJlbnQgc2hvdWxk
IGJlIGJsdWUgYWZ0ZXIgcGFyZW50IHJlbW92ZWQiKTsKKyAgfSk7Cis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3Nl
bGVjdG9ycy9pbnZhbGlkYXRpb24vbm90LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbm90LXBzZXVkby1jb250YWluaW5nLWNvbXBs
ZXgtaW4taGFzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAuLjVhYzQ2OWI5MzUzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbm90
LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDk0IEBACisKK1BBU1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDpub3QoLmEgLmIpKSBdICNoYXNf
c2NvcGUuY2xhc3NMaXN0LmFkZCgncmVkJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBb
IC5yZWQ6aGFzKCNkZXNjZW5kYW50Om5vdCguYSAuYikpIF0gI2hhc19zY29wZS5jbGFzc0xpc3Qu
YWRkKCdyZWQnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAucmVkOmhhcygjZGVz
Y2VuZGFudDpub3QoLmEgLmIpKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgnYScpIDogY2hlY2sg
bWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkg
XSAjcGFyZW50LmNsYXNzTGlzdC5hZGQoJ2EnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BB
U1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDpub3QoLmEgLmIpKSBdICNwYXJlbnQuY2xhc3NMaXN0
LnJlbW92ZSgnYScpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAucmVkOmhhcygjZGVz
Y2VuZGFudDpub3QoLmEgLmIpKSBdICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnYScpIDogY2hl
Y2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50Om5vdCguYSAu
YikpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdhJykgOiBjaGVjayBtYXRjaGVzIChmYWxz
ZSkKK1BBU1MgWyAucmVkOmhhcygjZGVzY2VuZGFudDpub3QoLmEgLmIpKSBdICNoYXNfc2NvcGUu
Y2xhc3NMaXN0LmFkZCgnYScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5yZWQ6
aGFzKCNkZXNjZW5kYW50Om5vdCguYSAuYikpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3Zl
KCdhJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50
Om5vdCguYSAuYikpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdhJykgOiBjaGVjayAj
aGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkg
XSAjY2hpbGQuY2xhc3NMaXN0LmFkZCgnYScpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNT
IFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkgXSAjY2hpbGQuY2xhc3NMaXN0LmFk
ZCgnYScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5yZWQ6aGFzKCNkZXNjZW5k
YW50Om5vdCguYSAuYikpIF0gI2NoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ2EnKSA6IGNoZWNrIG1h
dGNoZXMgKHRydWUpCitQQVNTIFsgLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkgXSAj
Y2hpbGQuY2xhc3NMaXN0LnJlbW92ZSgnYScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFT
UyBbIC5yZWQ6aGFzKCNkZXNjZW5kYW50Om5vdCguYSAuYikpIF0gI2hhc19zY29wZS5jbGFzc0xp
c3QucmVtb3ZlKCdyZWQnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5yZWQ6aGFz
KCNkZXNjZW5kYW50Om5vdCguYSAuYikpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdy
ZWQnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5k
YW50Om5vdCguYyB+IC5kIC5lKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ2dyZWVuJykg
OiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90
KC5jIH4gLmQgLmUpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnZ3JlZW4nKSA6IGNoZWNr
ICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50Om5vdCguYyB+
IC5kIC5lKSkgXSAjcGFyZW50X3ByZXZpb3VzLmNsYXNzTGlzdC5hZGQoJ2MnKSA6IGNoZWNrIG1h
dGNoZXMgKGZhbHNlKQorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQg
LmUpKSBdICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0LmFkZCgnYycpIDogY2hlY2sgI2hhc19z
Y29wZSBjb2xvcgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQgLmUp
KSBdICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92ZSgnYycpIDogY2hlY2sgbWF0Y2hl
cyAodHJ1ZSkKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50Om5vdCguYyB+IC5kIC5lKSkg
XSAjcGFyZW50X3ByZXZpb3VzLmNsYXNzTGlzdC5yZW1vdmUoJ2MnKSA6IGNoZWNrICNoYXNfc2Nv
cGUgY29sb3IKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50Om5vdCguYyB+IC5kIC5lKSkg
XSAjcHJldmlvdXMuY2xhc3NMaXN0LmFkZCgnYycpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQ
QVNTIFsgLmdyZWVuOmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAuZSkpIF0gI3ByZXZpb3Vz
LmNsYXNzTGlzdC5hZGQoJ2MnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuZ3Jl
ZW46aGFzKCNkZXNjZW5kYW50Om5vdCguYyB+IC5kIC5lKSkgXSAjcHJldmlvdXMuY2xhc3NMaXN0
LnJlbW92ZSgnYycpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAuZ3JlZW46aGFzKCNk
ZXNjZW5kYW50Om5vdCguYyB+IC5kIC5lKSkgXSAjcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92ZSgn
YycpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRh
bnQ6bm90KC5jIH4gLmQgLmUpKSBdICNjaGlsZF9wcmV2aW91cy5jbGFzc0xpc3QuYWRkKCdjJykg
OiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAuZ3JlZW46aGFzKCNkZXNjZW5kYW50Om5v
dCguYyB+IC5kIC5lKSkgXSAjY2hpbGRfcHJldmlvdXMuY2xhc3NMaXN0LmFkZCgnYycpIDogY2hl
Y2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5j
IH4gLmQgLmUpKSBdICNjaGlsZF9wcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVj
ayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4g
LmQgLmUpKSBdICNjaGlsZF9wcmV2aW91cy5jbGFzc0xpc3QucmVtb3ZlKCdjJykgOiBjaGVjayAj
aGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLmdyZWVuOmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAu
ZCAuZSkpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdncmVlbicpIDogY2hlY2sgbWF0
Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmdyZWVuOmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAu
ZSkpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdncmVlbicpIDogY2hlY2sgI2hhc19z
Y29wZSBjb2xvcgorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+IC5n
KSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5hZGQoJ2JsdWUnKSA6IGNoZWNrIG1hdGNoZXMgKHRy
dWUpCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5mIH4gLmcpKSBdICNo
YXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnYmx1ZScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgor
UEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+IC5nKSkgXSAjcHJldmlv
dXMuY2xhc3NMaXN0LmFkZCgnZicpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitGQUlMIFsgLmJs
dWU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5mIH4gLmcpKSBdICNwcmV2aW91cy5jbGFzc0xp
c3QuYWRkKCdmJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigwLCAwLCAyNTUpIgorUEFTUyBb
IC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+IC5nKSkgXSAjcHJldmlvdXMuY2xh
c3NMaXN0LnJlbW92ZSgnZicpIDogY2hlY2sgbWF0Y2hlcyAodHJ1ZSkKK1BBU1MgWyAuYmx1ZTpo
YXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmYgfiAuZykpIF0gI3ByZXZpb3VzLmNsYXNzTGlzdC5y
ZW1vdmUoJ2YnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAuYmx1ZTpoYXMofiAj
aW5kaXJlY3RfbmV4dDpub3QoLmYgfiAuZykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdm
JykgOiBjaGVjayBtYXRjaGVzIChmYWxzZSkKK0ZBSUwgWyAuYmx1ZTpoYXMofiAjaW5kaXJlY3Rf
bmV4dDpub3QoLmYgfiAuZykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdmJykgOiBjaGVj
ayAjaGFzX3Njb3BlIGNvbG9yIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgs
IDEyOCkiIGJ1dCBnb3QgInJnYigwLCAwLCAyNTUpIgorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRp
cmVjdF9uZXh0Om5vdCguZiB+IC5nKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ2Yn
KSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25l
eHQ6bm90KC5mIH4gLmcpKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnZicpIDogY2hl
Y2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5v
dCguZiB+IC5nKSkgXSAjZGlyZWN0X25leHQuY2xhc3NMaXN0LmFkZCgnZicpIDogY2hlY2sgbWF0
Y2hlcyAoZmFsc2UpCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5mIH4g
LmcpKSBdICNkaXJlY3RfbmV4dC5jbGFzc0xpc3QuYWRkKCdmJykgOiBjaGVjayAjaGFzX3Njb3Bl
IGNvbG9yCitQQVNTIFsgLmJsdWU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5mIH4gLmcpKSBd
ICNkaXJlY3RfbmV4dC5jbGFzc0xpc3QucmVtb3ZlKCdmJykgOiBjaGVjayBtYXRjaGVzICh0cnVl
KQorUEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+IC5nKSkgXSAjZGly
ZWN0X25leHQuY2xhc3NMaXN0LnJlbW92ZSgnZicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgor
UEFTUyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+IC5nKSkgXSAjaGFzX3Nj
b3BlLmNsYXNzTGlzdC5yZW1vdmUoJ2JsdWUnKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFT
UyBbIC5ibHVlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguZiB+IC5nKSkgXSAjaGFzX3Njb3Bl
LmNsYXNzTGlzdC5yZW1vdmUoJ2JsdWUnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1Mg
WyAueWVsbG93Omhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguaCAuaSkpIF0gI2hhc19zY29wZS5j
bGFzc0xpc3QuYWRkKCd5ZWxsb3cnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLnll
bGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmggLmkpKSBdICNoYXNfc2NvcGUuY2xhc3NM
aXN0LmFkZCgneWVsbG93JykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLnllbGxv
dzpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmggLmkpKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFk
ZCgnaCcpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnllbGxvdzpoYXMofiAjaW5k
aXJlY3RfbmV4dDpub3QoLmggLmkpKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgnaCcpIDogY2hl
Y2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6
bm90KC5oIC5pKSkgXSAjcGFyZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2gnKSA6IGNoZWNrIG1hdGNo
ZXMgKHRydWUpCitQQVNTIFsgLnllbGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmggLmkp
KSBdICNwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnaCcpIDogY2hlY2sgI2hhc19zY29wZSBjb2xv
cgorUEFTUyBbIC55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5oIC5pKSkgXSAjaGFz
X3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ3llbGxvdycpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2Up
CitQQVNTIFsgLnllbGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmggLmkpKSBdICNoYXNf
c2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgneWVsbG93JykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9y
CitQQVNTIFsgLnB1cnBsZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmogfiAuayAubCkpIF0g
I2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdwdXJwbGUnKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUp
CitQQVNTIFsgLnB1cnBsZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmogfiAuayAubCkpIF0g
I2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdwdXJwbGUnKSA6IGNoZWNrICNoYXNfc2NvcGUgY29s
b3IKK1BBU1MgWyAucHVycGxlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguaiB+IC5rIC5sKSkg
XSAjcGFyZW50X3ByZXZpb3VzLmNsYXNzTGlzdC5hZGQoJ2onKSA6IGNoZWNrIG1hdGNoZXMgKGZh
bHNlKQorUEFTUyBbIC5wdXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5qIH4gLmsgLmwp
KSBdICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0LmFkZCgnaicpIDogY2hlY2sgI2hhc19zY29w
ZSBjb2xvcgorUEFTUyBbIC5wdXJwbGU6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5qIH4gLmsg
LmwpKSBdICNwYXJlbnRfcHJldmlvdXMuY2xhc3NMaXN0LnJlbW92ZSgnaicpIDogY2hlY2sgbWF0
Y2hlcyAodHJ1ZSkKK1BBU1MgWyAucHVycGxlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguaiB+
IC5rIC5sKSkgXSAjcGFyZW50X3ByZXZpb3VzLmNsYXNzTGlzdC5yZW1vdmUoJ2onKSA6IGNoZWNr
ICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAucHVycGxlOmhhcyh+ICNpbmRpcmVjdF9uZXh0Om5v
dCguaiB+IC5rIC5sKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5yZW1vdmUoJ3B1cnBsZScpIDog
Y2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLnB1cnBsZTpoYXMofiAjaW5kaXJlY3RfbmV4
dDpub3QoLmogfiAuayAubCkpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QucmVtb3ZlKCdwdXJwbGUn
KSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFu
dDpub3QoLm06bm90KC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdvcmFuZ2Un
KSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6
bm90KC5tOm5vdCgubikgLm8pKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnb3JhbmdlJykg
OiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6
bm90KC5tOm5vdCgubikgLm8pKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgnbScpIDogY2hlY2sg
bWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5v
dCgubikgLm8pKSBdICNwYXJlbnQuY2xhc3NMaXN0LmFkZCgnbScpIDogY2hlY2sgI2hhc19zY29w
ZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5v
KSkgXSAjcGFyZW50LmNsYXNzTGlzdC5hZGQoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQ
QVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNwYXJl
bnQuY2xhc3NMaXN0LmFkZCgnbicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5v
cmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjcGFyZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ24nKSA6IGNoZWNrIG1hdGNoZXMgKGZhbHNlKQorUEFTUyBbIC5vcmFuZ2U6
aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjcGFyZW50LmNsYXNzTGlzdC5y
ZW1vdmUoJ24nKSA6IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygj
ZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAubykpIF0gI3BhcmVudC5jbGFzc0xpc3QucmVtb3Zl
KCdtJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5k
YW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjcGFyZW50LmNsYXNzTGlzdC5yZW1vdmUoJ20nKSA6
IGNoZWNrICNoYXNfc2NvcGUgY29sb3IKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpu
b3QoLm06bm90KC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdtJykgOiBjaGVj
ayBtYXRjaGVzIChmYWxzZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06
bm90KC5uKSAubykpIF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCdtJykgOiBjaGVjayAjaGFz
X3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgu
bikgLm8pKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0LmFkZCgnbicpIDogY2hlY2sgbWF0Y2hlcyAo
dHJ1ZSkKK1BBU1MgWyAub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAubykp
IF0gI2hhc19zY29wZS5jbGFzc0xpc3QuYWRkKCduJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9y
CitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNo
YXNfc2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnbicpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQ
QVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNoYXNf
c2NvcGUuY2xhc3NMaXN0LnJlbW92ZSgnbicpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFT
UyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjaGFzX3Nj
b3BlLmNsYXNzTGlzdC5yZW1vdmUoJ20nKSA6IGNoZWNrIG1hdGNoZXMgKHRydWUpCitQQVNTIFsg
Lm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNoYXNfc2NvcGUu
Y2xhc3NMaXN0LnJlbW92ZSgnbScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5v
cmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjY2hpbGQuY2xhc3NM
aXN0LmFkZCgnbScpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLm9yYW5nZTpoYXMo
I2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNjaGlsZC5jbGFzc0xpc3QuYWRkKCdt
JykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRh
bnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNjaGlsZC5jbGFzc0xpc3QuYWRkKCduJykgOiBjaGVj
ayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpu
b3QoLm4pIC5vKSkgXSAjY2hpbGQuY2xhc3NMaXN0LmFkZCgnbicpIDogY2hlY2sgI2hhc19zY29w
ZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5v
KSkgXSAjY2hpbGQuY2xhc3NMaXN0LnJlbW92ZSgnbicpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2Up
CitQQVNTIFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNj
aGlsZC5jbGFzc0xpc3QucmVtb3ZlKCduJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCitQQVNT
IFsgLm9yYW5nZTpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNjaGlsZC5j
bGFzc0xpc3QucmVtb3ZlKCdtJykgOiBjaGVjayBtYXRjaGVzICh0cnVlKQorUEFTUyBbIC5vcmFu
Z2U6aGFzKCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjY2hpbGQuY2xhc3NMaXN0
LnJlbW92ZSgnbScpIDogY2hlY2sgI2hhc19zY29wZSBjb2xvcgorUEFTUyBbIC5vcmFuZ2U6aGFz
KCNkZXNjZW5kYW50Om5vdCgubTpub3QoLm4pIC5vKSkgXSAjaGFzX3Njb3BlLmNsYXNzTGlzdC5y
ZW1vdmUoJ29yYW5nZScpIDogY2hlY2sgbWF0Y2hlcyAoZmFsc2UpCitQQVNTIFsgLm9yYW5nZTpo
YXMoI2Rlc2NlbmRhbnQ6bm90KC5tOm5vdCgubikgLm8pKSBdICNoYXNfc2NvcGUuY2xhc3NMaXN0
LnJlbW92ZSgnb3JhbmdlJykgOiBjaGVjayAjaGFzX3Njb3BlIGNvbG9yCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9y
cy9pbnZhbGlkYXRpb24vbm90LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL25vdC1wc2V1ZG8tY29udGFpbmluZy1jb21wbGV4LWluLWhhcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjk5YjMwOWVmZDlkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtcHNldWRvLWNvbnRhaW5pbmctY29t
cGxleC1pbi1oYXMuaHRtbApAQCAtMCwwICsxLDEyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5DU1MgU2VsZWN0b3JzIEludmFsaWRhdGlvbjog
Om5vdCgmbHQ7Y29tcGxleC1zZWxlY3RvciZndDspIGluIDpoYXMoKSBhcmd1bWVudCAoY29tcGxl
eCBzZWxlY3Rvcik8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJCeXVuZ3dvbyBM
ZWUiIGhyZWY9ImJsZWVAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorZGl2IHsgY29s
b3I6IGdyZXkgfQorLnJlZDpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5hIC5iKSkgeyBjb2xvcjogcmVk
IH0KKy5ncmVlbjpoYXMoI2Rlc2NlbmRhbnQ6bm90KC5jIH4gLmQgLmUpKSB7IGNvbG9yOiBncmVl
biB9CisuYmx1ZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmYgfiAuZykpIHsgY29sb3I6IGJs
dWUgfQorLnllbGxvdzpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmggLmkpKSB7IGNvbG9yOiB5
ZWxsb3cgfQorLnB1cnBsZTpoYXMofiAjaW5kaXJlY3RfbmV4dDpub3QoLmogfiAuayAubCkpIHsg
Y29sb3I6IHB1cnBsZSB9Cisub3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAu
bykpIHsgY29sb3I6IG9yYW5nZSB9Cis8L3N0eWxlPgorPGRpdj4KKyAgPGRpdiBpZD0icGFyZW50
X3ByZXZpb3VzIj48L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50IiBjbGFzcz0iZCBrIj4KKyAgICA8
ZGl2IGlkPSJwcmV2aW91cyI+PC9kaXY+CisgICAgPGRpdiBpZD0iaGFzX3Njb3BlIiBjbGFzcz0i
ZCI+CisgICAgICA8ZGl2IGlkPSJjaGlsZF9wcmV2aW91cyI+PC9kaXY+CisgICAgICA8ZGl2IGlk
PSJjaGlsZCIgY2xhc3M9ImQiPgorICAgICAgICA8ZGl2IGlkPSJkZXNjZW5kYW50IiBjbGFzcz0i
YiBlIG8iPjwvZGl2PgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZGly
ZWN0X25leHQiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImluZGlyZWN0X25leHQiIGNsYXNzPSJnIGkg
bCI+PC9kaXY+CisgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorY29uc3QgZ3JleSA9ICJyZ2Io
MTI4LCAxMjgsIDEyOCkiOworY29uc3QgcmVkID0gInJnYigyNTUsIDAsIDApIjsKK2NvbnN0IGdy
ZWVuID0gInJnYigwLCAxMjgsIDApIjsKK2NvbnN0IGJsdWUgPSAicmdiKDAsIDAsIDI1NSkiOwor
Y29uc3QgeWVsbG93ID0gInJnYigyNTUsIDI1NSwgMCkiOworY29uc3QgcHVycGxlID0gInJnYigx
MjgsIDAsIDEyOCkiOworY29uc3Qgb3JhbmdlID0gInJnYigyNTUsIDE2NSwgMCkiOworCitmdW5j
dGlvbiBjaGFuZ2VBbmRUZXN0KG9wZXJhdGlvbiwgY2xhc3NfbmFtZSwgZWxlbWVudF9pZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IsIG1hdGNoZXNfcmVzdWx0LCBzY29wZV9jb2xv
cikgeworICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRfaWQp
OworICBhc3NlcnRfZXF1YWxzKGVsZW1lbnQgPyBlbGVtZW50LmlkIDogIiIsIGVsZW1lbnRfaWQp
OworICBsZXQgbWVzc2FnZV9wcmVmaXggPSBbCisgICAgICAiWyIsIHNlbGVjdG9yLCAiXSIsCisg
ICAgICBbIiMiLCBlbGVtZW50LmlkLCAiLmNsYXNzTGlzdC4iLCBvcGVyYXRpb24sICIoJyIsIGNs
YXNzX25hbWUsICInKSJdLmpvaW4oIiIpLAorICAgICAgIjogIl0uam9pbigiICIpOworICBpZiAo
b3BlcmF0aW9uID09ICJhZGQiKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzX25h
bWUpOworICB9IGVsc2UgeworICAgIGFzc2VydF9lcXVhbHMob3BlcmF0aW9uLCAicmVtb3ZlIik7
CisgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzX25hbWUpOworICB9CisgIHRlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGhhc19zY29wZS5tYXRjaGVzKHNlbGVj
dG9yKSwgbWF0Y2hlc19yZXN1bHQpOworICB9LCBtZXNzYWdlX3ByZWZpeCArICJjaGVjayBtYXRj
aGVzICgiICsgbWF0Y2hlc19yZXN1bHQgKyAiKSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
ICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGhhc19zY29wZSkuY29sb3IsIHNjb3Bl
X2NvbG9yKTsKKyAgfSwgbWVzc2FnZV9wcmVmaXggKyAiY2hlY2sgI2hhc19zY29wZSBjb2xvciIp
OworfQorCithc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaGFzX3Njb3BlKS5jb2xvciwg
Z3JleSk7CisKK2xldCBzZWxlY3RvciA9ICIucmVkOmhhcygjZGVzY2VuZGFudDpub3QoLmEgLmIp
KSI7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAicmVkIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCB0
cnVlLCByZWQpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImEiLCAicGFyZW50Iiwgc2VsZWN0b3Is
IGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJhIiwgInBhcmVudCIsIHNl
bGVjdG9yLCB0cnVlLCByZWQpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImEiLCAiaGFzX3Njb3Bl
Iiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJhIiwg
Imhhc19zY29wZSIsIHNlbGVjdG9yLCB0cnVlLCByZWQpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwg
ImEiLCAiY2hpbGQiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgicmVt
b3ZlIiwgImEiLCAiY2hpbGQiLCBzZWxlY3RvciwgdHJ1ZSwgcmVkKTsKK2NoYW5nZUFuZFRlc3Qo
InJlbW92ZSIsICJyZWQiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKKwor
c2VsZWN0b3IgPSAiLmdyZWVuOmhhcygjZGVzY2VuZGFudDpub3QoLmMgfiAuZCAuZSkpIjsKK2No
YW5nZUFuZFRlc3QoImFkZCIsICJncmVlbiIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgdHJ1ZSwg
Z3JlZW4pOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImMiLCAicGFyZW50X3ByZXZpb3VzIiwgc2Vs
ZWN0b3IsIGZhbHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJjIiwgInBhcmVu
dF9wcmV2aW91cyIsIHNlbGVjdG9yLCB0cnVlLCBncmVlbik7CitjaGFuZ2VBbmRUZXN0KCJhZGQi
LCAiYyIsICJwcmV2aW91cyIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0
KCJyZW1vdmUiLCAiYyIsICJwcmV2aW91cyIsIHNlbGVjdG9yLCB0cnVlLCBncmVlbik7CitjaGFu
Z2VBbmRUZXN0KCJhZGQiLCAiYyIsICJjaGlsZF9wcmV2aW91cyIsIHNlbGVjdG9yLCBmYWxzZSwg
Z3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAiYyIsICJjaGlsZF9wcmV2aW91cyIsIHNl
bGVjdG9yLCB0cnVlLCBncmVlbik7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAiZ3JlZW4iLCAi
aGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKKworc2VsZWN0b3IgPSAiLmJsdWU6
aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5mIH4gLmcpKSI7CitjaGFuZ2VBbmRUZXN0KCJhZGQi
LCAiYmx1ZSIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgdHJ1ZSwgYmx1ZSk7CitjaGFuZ2VBbmRU
ZXN0KCJhZGQiLCAiZiIsICJwcmV2aW91cyIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFu
Z2VBbmRUZXN0KCJyZW1vdmUiLCAiZiIsICJwcmV2aW91cyIsIHNlbGVjdG9yLCB0cnVlLCBibHVl
KTsKK2NoYW5nZUFuZFRlc3QoImFkZCIsICJmIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxz
ZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAiZiIsICJoYXNfc2NvcGUiLCBzZWxl
Y3RvciwgdHJ1ZSwgYmx1ZSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAiZiIsICJkaXJlY3RfbmV4
dCIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAiZiIs
ICJkaXJlY3RfbmV4dCIsIHNlbGVjdG9yLCB0cnVlLCBibHVlKTsKK2NoYW5nZUFuZFRlc3QoInJl
bW92ZSIsICJibHVlIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCBmYWxzZSwgZ3JleSk7CisKK3Nl
bGVjdG9yID0gIi55ZWxsb3c6aGFzKH4gI2luZGlyZWN0X25leHQ6bm90KC5oIC5pKSkiCitjaGFu
Z2VBbmRUZXN0KCJhZGQiLCAieWVsbG93IiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCB0cnVlLCB5
ZWxsb3cpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgImgiLCAicGFyZW50Iiwgc2VsZWN0b3IsIGZh
bHNlLCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJoIiwgInBhcmVudCIsIHNlbGVj
dG9yLCB0cnVlLCB5ZWxsb3cpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgInllbGxvdyIsICJo
YXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworCitzZWxlY3RvciA9ICIucHVycGxl
Omhhcyh+ICNpbmRpcmVjdF9uZXh0Om5vdCguaiB+IC5rIC5sKSkiCitjaGFuZ2VBbmRUZXN0KCJh
ZGQiLCAicHVycGxlIiwgImhhc19zY29wZSIsIHNlbGVjdG9yLCB0cnVlLCBwdXJwbGUpOworY2hh
bmdlQW5kVGVzdCgiYWRkIiwgImoiLCAicGFyZW50X3ByZXZpb3VzIiwgc2VsZWN0b3IsIGZhbHNl
LCBncmV5KTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJqIiwgInBhcmVudF9wcmV2aW91cyIs
IHNlbGVjdG9yLCB0cnVlLCBwdXJwbGUpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgInB1cnBs
ZSIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworCitzZWxlY3RvciA9ICIu
b3JhbmdlOmhhcygjZGVzY2VuZGFudDpub3QoLm06bm90KC5uKSAubykpIjsKK2NoYW5nZUFuZFRl
c3QoImFkZCIsICJvcmFuZ2UiLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIHRydWUsIG9yYW5nZSk7
CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAibSIsICJwYXJlbnQiLCBzZWxlY3RvciwgZmFsc2UsIGdy
ZXkpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgIm4iLCAicGFyZW50Iiwgc2VsZWN0b3IsIHRydWUs
IG9yYW5nZSk7CitjaGFuZ2VBbmRUZXN0KCJyZW1vdmUiLCAibiIsICJwYXJlbnQiLCBzZWxlY3Rv
ciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgIm0iLCAicGFyZW50Iiwg
c2VsZWN0b3IsIHRydWUsIG9yYW5nZSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAibSIsICJoYXNf
c2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgiYWRkIiwgIm4i
LCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIHRydWUsIG9yYW5nZSk7CitjaGFuZ2VBbmRUZXN0KCJy
ZW1vdmUiLCAibiIsICJoYXNfc2NvcGUiLCBzZWxlY3RvciwgZmFsc2UsIGdyZXkpOworY2hhbmdl
QW5kVGVzdCgicmVtb3ZlIiwgIm0iLCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIHRydWUsIG9yYW5n
ZSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAibSIsICJjaGlsZCIsIHNlbGVjdG9yLCBmYWxzZSwg
Z3JleSk7CitjaGFuZ2VBbmRUZXN0KCJhZGQiLCAibiIsICJjaGlsZCIsIHNlbGVjdG9yLCB0cnVl
LCBvcmFuZ2UpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgIm4iLCAiY2hpbGQiLCBzZWxlY3Rv
ciwgZmFsc2UsIGdyZXkpOworY2hhbmdlQW5kVGVzdCgicmVtb3ZlIiwgIm0iLCAiY2hpbGQiLCBz
ZWxlY3RvciwgdHJ1ZSwgb3JhbmdlKTsKK2NoYW5nZUFuZFRlc3QoInJlbW92ZSIsICJvcmFuZ2Ui
LCAiaGFzX3Njb3BlIiwgc2VsZWN0b3IsIGZhbHNlLCBncmV5KTsKKzwvc2NyaXB0PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdHlwZWQtY2hp
bGQtaW5kZXhlZC1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRh
dGlvbi90eXBlZC1jaGlsZC1pbmRleGVkLXBzZXVkby1jbGFzc2VzLWluLWhhcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41ZmM0MjE5MmI4M2EK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3R5cGVkLWNoaWxkLWluZGV4ZWQtcHNl
dWRvLWNsYXNzZXMtaW4taGFzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwNCBAQAorCitQQVNT
IEluaXRpYWwgY29sb3JzOiAjb25seV9vZl90eXBlCitQQVNTIEluaXRpYWwgY29sb3JzOiAjZmly
c3Rfb2ZfdHlwZQorUEFTUyBJbml0aWFsIGNvbG9yczogI2xhc3Rfb2ZfdHlwZQorUEFTUyBJbml0
aWFsIGNvbG9yczogI250aF9vZl90eXBlXzNuXzEKK1BBU1MgSW5pdGlhbCBjb2xvcnM6ICNudGhf
b2ZfdHlwZV8zbl8yCitQQVNTIEluaXRpYWwgY29sb3JzOiAjbnRoX29mX3R5cGVfM24KK1BBU1Mg
UHJlcGVuZCBzcGFuICgxKTogI29ubHlfb2ZfdHlwZQorUEFTUyBQcmVwZW5kIHNwYW4gKDEpOiAj
Zmlyc3Rfb2ZfdHlwZQorUEFTUyBQcmVwZW5kIHNwYW4gKDEpOiAjbGFzdF9vZl90eXBlCitQQVNT
IFByZXBlbmQgc3BhbiAoMSk6ICNudGhfb2ZfdHlwZV8zbl8xCitQQVNTIFByZXBlbmQgc3BhbiAo
MSk6ICNudGhfb2ZfdHlwZV8zbl8yCitQQVNTIFByZXBlbmQgc3BhbiAoMSk6ICNudGhfb2ZfdHlw
ZV8zbgorUEFTUyBQcmVwZW5kICNkaXYxLmdyZWVuOiAjb25seV9vZl90eXBlCitQQVNTIFByZXBl
bmQgI2RpdjEuZ3JlZW46ICNmaXJzdF9vZl90eXBlCitQQVNTIFByZXBlbmQgI2RpdjEuZ3JlZW46
ICNsYXN0X29mX3R5cGUKK1BBU1MgUHJlcGVuZCAjZGl2MS5ncmVlbjogI250aF9vZl90eXBlXzNu
XzEKK1BBU1MgUHJlcGVuZCAjZGl2MS5ncmVlbjogI250aF9vZl90eXBlXzNuXzIKK1BBU1MgUHJl
cGVuZCAjZGl2MS5ncmVlbjogI250aF9vZl90eXBlXzNuCitQQVNTIFByZXBlbmQgc3BhbiAoMik6
ICNvbmx5X29mX3R5cGUKK1BBU1MgUHJlcGVuZCBzcGFuICgyKTogI2ZpcnN0X29mX3R5cGUKK1BB
U1MgUHJlcGVuZCBzcGFuICgyKTogI2xhc3Rfb2ZfdHlwZQorUEFTUyBQcmVwZW5kIHNwYW4gKDIp
OiAjbnRoX29mX3R5cGVfM25fMQorUEFTUyBQcmVwZW5kIHNwYW4gKDIpOiAjbnRoX29mX3R5cGVf
M25fMgorUEFTUyBQcmVwZW5kIHNwYW4gKDIpOiAjbnRoX29mX3R5cGVfM24KK0ZBSUwgUHJlcGVu
ZCAjZGl2Mi55ZWxsb3c6ICNvbmx5X29mX3R5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitQQVNTIFByZXBlbmQg
I2RpdjIueWVsbG93OiAjZmlyc3Rfb2ZfdHlwZQorUEFTUyBQcmVwZW5kICNkaXYyLnllbGxvdzog
I2xhc3Rfb2ZfdHlwZQorUEFTUyBQcmVwZW5kICNkaXYyLnllbGxvdzogI250aF9vZl90eXBlXzNu
XzEKK0ZBSUwgUHJlcGVuZCAjZGl2Mi55ZWxsb3c6ICNudGhfb2ZfdHlwZV8zbl8yIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAx
MjgpIgorUEFTUyBQcmVwZW5kICNkaXYyLnllbGxvdzogI250aF9vZl90eXBlXzNuCitGQUlMIFBy
ZXBlbmQgc3BhbiAoMyk6ICNvbmx5X29mX3R5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitQQVNTIFByZXBlbmQg
c3BhbiAoMyk6ICNmaXJzdF9vZl90eXBlCitQQVNTIFByZXBlbmQgc3BhbiAoMyk6ICNsYXN0X29m
X3R5cGUKK1BBU1MgUHJlcGVuZCBzcGFuICgzKTogI250aF9vZl90eXBlXzNuXzEKK0ZBSUwgUHJl
cGVuZCBzcGFuICgzKTogI250aF9vZl90eXBlXzNuXzIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitQQVNTIFByZXBl
bmQgc3BhbiAoMyk6ICNudGhfb2ZfdHlwZV8zbgorRkFJTCBQcmVwZW5kICNkaXYzLm9yYW5nZTog
I29ubHlfb2ZfdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgp
IiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgUHJlcGVuZCAjZGl2My5vcmFuZ2U6ICNm
aXJzdF9vZl90eXBlCitQQVNTIFByZXBlbmQgI2RpdjMub3JhbmdlOiAjbGFzdF9vZl90eXBlCitQ
QVNTIFByZXBlbmQgI2RpdjMub3JhbmdlOiAjbnRoX29mX3R5cGVfM25fMQorRkFJTCBQcmVwZW5k
ICNkaXYzLm9yYW5nZTogI250aF9vZl90eXBlXzNuXzIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJnYigyNTUsIDI1NSwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZBSUwgUHJl
cGVuZCAjZGl2My5vcmFuZ2U6ICNudGhfb2ZfdHlwZV8zbiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZBSUwgUHJl
cGVuZCBzcGFuICg0KTogI29ubHlfb2ZfdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdi
KDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgUHJlcGVuZCBz
cGFuICg0KTogI2ZpcnN0X29mX3R5cGUKK1BBU1MgUHJlcGVuZCBzcGFuICg0KTogI2xhc3Rfb2Zf
dHlwZQorUEFTUyBQcmVwZW5kIHNwYW4gKDQpOiAjbnRoX29mX3R5cGVfM25fMQorRkFJTCBQcmVw
ZW5kIHNwYW4gKDQpOiAjbnRoX29mX3R5cGVfM25fMiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
cmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVw
ZW5kIHNwYW4gKDQpOiAjbnRoX29mX3R5cGVfM24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQg
I2RpdjQ6ICNvbmx5X29mX3R5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEy
OCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMCwgMCkiCitGQUlMIFByZXBlbmQgI2RpdjQ6ICNm
aXJzdF9vZl90eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCki
IGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFByZXBlbmQgI2RpdjQ6ICNsYXN0X29m
X3R5cGUKK0ZBSUwgUHJlcGVuZCAjZGl2NDogI250aF9vZl90eXBlXzNuXzEgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAxNjUsIDApIgor
RkFJTCBQcmVwZW5kICNkaXY0OiAjbnRoX29mX3R5cGVfM25fMiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAicmdiKDI1NSwgMTY1LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJ
TCBQcmVwZW5kICNkaXY0OiAjbnRoX29mX3R5cGVfM24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJnYigyNTUsIDI1NSwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZBSUwgUHJl
cGVuZCBzcGFuICg1KTogI29ubHlfb2ZfdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdi
KDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK0ZBSUwgUHJlcGVuZCBz
cGFuICg1KTogI2ZpcnN0X29mX3R5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgs
IDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK1BBU1MgUHJlcGVuZCBzcGFu
ICg1KTogI2xhc3Rfb2ZfdHlwZQorRkFJTCBQcmVwZW5kIHNwYW4gKDUpOiAjbnRoX29mX3R5cGVf
M25fMSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJn
YigyNTUsIDE2NSwgMCkiCitGQUlMIFByZXBlbmQgc3BhbiAoNSk6ICNudGhfb2ZfdHlwZV8zbl8y
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAxNjUsIDApIiBidXQgZ290ICJyZ2Io
MTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQgc3BhbiAoNSk6ICNudGhfb2ZfdHlwZV8zbiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMjU1LCAwKSIgYnV0IGdvdCAicmdiKDEy
OCwgMTI4LCAxMjgpIgorRkFJTCBQcmVwZW5kICNkaXY1OiAjb25seV9vZl90eXBlIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDAs
IDApIgorRkFJTCBQcmVwZW5kICNkaXY1OiAjZmlyc3Rfb2ZfdHlwZSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAxNjUsIDApIgor
UEFTUyBQcmVwZW5kICNkaXY1OiAjbGFzdF9vZl90eXBlCitGQUlMIFByZXBlbmQgI2RpdjU6ICNu
dGhfb2ZfdHlwZV8zbl8xIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAyNTUsIDAp
IiBidXQgZ290ICJyZ2IoMjU1LCAxNjUsIDApIgorRkFJTCBQcmVwZW5kICNkaXY1OiAjbnRoX29m
X3R5cGVfM25fMiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBn
b3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZBSUwgUHJlcGVuZCAjZGl2NTogI250aF9vZl90eXBl
XzNuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAxNjUsIDApIiBidXQgZ290ICJy
Z2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFByZXBlbmQgc3BhbiAoNik6ICNvbmx5X29mX3R5cGUg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdi
KDI1NSwgMCwgMCkiCitGQUlMIFByZXBlbmQgc3BhbiAoNik6ICNmaXJzdF9vZl90eXBlIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUs
IDE2NSwgMCkiCitQQVNTIFByZXBlbmQgc3BhbiAoNik6ICNsYXN0X29mX3R5cGUKK0ZBSUwgUHJl
cGVuZCBzcGFuICg2KTogI250aF9vZl90eXBlXzNuXzEgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJnYigyNTUsIDI1NSwgMCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitGQUlMIFByZXBl
bmQgc3BhbiAoNik6ICNudGhfb2ZfdHlwZV8zbl8yIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJy
Z2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDEyOCwgMTI4LCAxMjgpIgorRkFJTCBQcmVwZW5k
IHNwYW4gKDYpOiAjbnRoX29mX3R5cGVfM24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigy
NTUsIDE2NSwgMCkiIGJ1dCBnb3QgInJnYigxMjgsIDEyOCwgMTI4KSIKK0ZBSUwgUmVtb3ZlICNk
aXYxOiAjb25seV9vZl90eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgs
IDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDAsIDApIgorRkFJTCBSZW1vdmUgI2RpdjE6ICNmaXJz
dF9vZl90eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMTI4LCAxMjgsIDEyOCkiIGJ1
dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAjZGl2MTogI2xhc3Rfb2ZfdHlw
ZQorRkFJTCBSZW1vdmUgI2RpdjE6ICNudGhfb2ZfdHlwZV8zbl8xIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJyZ2IoMjU1LCAyNTUsIDApIiBidXQgZ290ICJyZ2IoMjU1LCAxNjUsIDApIgorUEFT
UyBSZW1vdmUgI2RpdjE6ICNudGhfb2ZfdHlwZV8zbl8yCitGQUlMIFJlbW92ZSAjZGl2MTogI250
aF9vZl90eXBlXzNuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAxNjUsIDApIiBi
dXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCkiCitGQUlMIFJlbW92ZSAjZGl2MjogI29ubHlfb2Zf
dHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290
ICJyZ2IoMjU1LCAwLCAwKSIKK0ZBSUwgUmVtb3ZlICNkaXYyOiAjZmlyc3Rfb2ZfdHlwZSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1
LCAxNjUsIDApIgorUEFTUyBSZW1vdmUgI2RpdjI6ICNsYXN0X29mX3R5cGUKK1BBU1MgUmVtb3Zl
ICNkaXYyOiAjbnRoX29mX3R5cGVfM25fMQorUEFTUyBSZW1vdmUgI2RpdjI6ICNudGhfb2ZfdHlw
ZV8zbl8yCitGQUlMIFJlbW92ZSAjZGl2MjogI250aF9vZl90eXBlXzNuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJyZ2IoMjU1LCAxNjUsIDApIiBidXQgZ290ICJyZ2IoMTI4LCAxMjgsIDEyOCki
CitGQUlMIFJlbW92ZSAjZGl2MzogI29ubHlfb2ZfdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAicmdiKDEyOCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAwLCAwKSIKK0ZBSUwgUmVt
b3ZlICNkaXYzOiAjZmlyc3Rfb2ZfdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDEy
OCwgMTI4LCAxMjgpIiBidXQgZ290ICJyZ2IoMjU1LCAxNjUsIDApIgorUEFTUyBSZW1vdmUgI2Rp
djM6ICNsYXN0X29mX3R5cGUKK1BBU1MgUmVtb3ZlICNkaXYzOiAjbnRoX29mX3R5cGVfM25fMQor
UEFTUyBSZW1vdmUgI2RpdjM6ICNudGhfb2ZfdHlwZV8zbl8yCitQQVNTIFJlbW92ZSAjZGl2Mzog
I250aF9vZl90eXBlXzNuCitQQVNTIFJlbW92ZSAjZGl2NDogI29ubHlfb2ZfdHlwZQorRkFJTCBS
ZW1vdmUgI2RpdjQ6ICNmaXJzdF9vZl90eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2Io
MTI4LCAxMjgsIDEyOCkiIGJ1dCBnb3QgInJnYigyNTUsIDE2NSwgMCkiCitQQVNTIFJlbW92ZSAj
ZGl2NDogI2xhc3Rfb2ZfdHlwZQorUEFTUyBSZW1vdmUgI2RpdjQ6ICNudGhfb2ZfdHlwZV8zbl8x
CitQQVNTIFJlbW92ZSAjZGl2NDogI250aF9vZl90eXBlXzNuXzIKK1BBU1MgUmVtb3ZlICNkaXY0
OiAjbnRoX29mX3R5cGVfM24KK1BBU1MgUmVtb3ZlICNkaXY1OiAjb25seV9vZl90eXBlCitGQUlM
IFJlbW92ZSAjZGl2NTogI2ZpcnN0X29mX3R5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJn
YigxMjgsIDEyOCwgMTI4KSIgYnV0IGdvdCAicmdiKDI1NSwgMTY1LCAwKSIKK1BBU1MgUmVtb3Zl
ICNkaXY1OiAjbGFzdF9vZl90eXBlCitQQVNTIFJlbW92ZSAjZGl2NTogI250aF9vZl90eXBlXzNu
XzEKK1BBU1MgUmVtb3ZlICNkaXY1OiAjbnRoX29mX3R5cGVfM25fMgorUEFTUyBSZW1vdmUgI2Rp
djU6ICNudGhfb2ZfdHlwZV8zbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3R5cGVkLWNo
aWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3R5
cGVkLWNoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iM2E5MWQ2N2NiYzQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxl
Y3RvcnMvaW52YWxpZGF0aW9uL3R5cGVkLWNoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4t
aGFzLmh0bWwKQEAgLTAsMCArMSwxMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+Cis8dGl0bGU+Q1NTIFNlbGVjdG9ycyBJbnZhbGlkYXRpb246IHR5cGVkIGNo
aWxkLWluZGV4ZWQgcHNldWRvIGNsYXNzZXMgaW4gOmhhcygpIGFyZ3VtZW50PC90aXRsZT4KKzxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iQnl1bmd3b28gTGVlIiBocmVmPSJibGVlQGlnYWxpYS5j
b20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvc2Vs
ZWN0b3JzLyNyZWxhdGlvbmFsIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgI2NvbnRhaW5lciB+IGRpdiB7IGNvbG9yOiBncmV5
IH0KKyAgI2NvbnRhaW5lcjpoYXMoZGl2Om9ubHktb2YtdHlwZSkgfiAjb25seV9vZl90eXBlIHsg
Y29sb3I6IHJlZCB9CisgICNjb250YWluZXI6aGFzKGRpdi5vcmFuZ2U6Zmlyc3Qtb2YtdHlwZSkg
fiAjZmlyc3Rfb2ZfdHlwZSB7IGNvbG9yOiBvcmFuZ2UgfQorICAjY29udGFpbmVyOmhhcyhkaXYu
eWVsbG93OmZpcnN0LW9mLXR5cGUpIH4gI2ZpcnN0X29mX3R5cGUgeyBjb2xvcjogeWVsbG93IH0K
KyAgI2NvbnRhaW5lcjpoYXMoZGl2LmdyZWVuOmZpcnN0LW9mLXR5cGUpIH4gI2ZpcnN0X29mX3R5
cGUgeyBjb2xvcjogZ3JlZW4gfQorICAjY29udGFpbmVyOmhhcyhkaXYub3JhbmdlOmxhc3Qtb2Yt
dHlwZSkgfiAjbGFzdF9vZl90eXBlIHsgY29sb3I6IG9yYW5nZSB9CisgICNjb250YWluZXI6aGFz
KGRpdi55ZWxsb3c6bGFzdC1vZi10eXBlKSB+ICNsYXN0X29mX3R5cGUgeyBjb2xvcjogeWVsbG93
IH0KKyAgI2NvbnRhaW5lcjpoYXMoZGl2LmdyZWVuOmxhc3Qtb2YtdHlwZSkgfiAjbGFzdF9vZl90
eXBlIHsgY29sb3I6IGdyZWVuIH0KKyAgI2NvbnRhaW5lcjpoYXMoZGl2Lm9yYW5nZTpudGgtb2Yt
dHlwZSgzbisxKSkgfiAjbnRoX29mX3R5cGVfM25fMSB7IGNvbG9yOiBvcmFuZ2UgfQorICAjY29u
dGFpbmVyOmhhcyhkaXYueWVsbG93Om50aC1vZi10eXBlKDNuKzEpKSB+ICNudGhfb2ZfdHlwZV8z
bl8xIHsgY29sb3I6IHllbGxvdyB9CisgICNjb250YWluZXI6aGFzKGRpdi5ncmVlbjpudGgtb2Yt
dHlwZSgzbisxKSkgfiAjbnRoX29mX3R5cGVfM25fMSB7IGNvbG9yOiBncmVlbiB9CisgICNjb250
YWluZXI6aGFzKGRpdi5vcmFuZ2U6bnRoLW9mLXR5cGUoM24rMikpIH4gI250aF9vZl90eXBlXzNu
XzIgeyBjb2xvcjogb3JhbmdlIH0KKyAgI2NvbnRhaW5lcjpoYXMoZGl2LnllbGxvdzpudGgtb2Yt
dHlwZSgzbisyKSkgfiAjbnRoX29mX3R5cGVfM25fMiB7IGNvbG9yOiB5ZWxsb3cgfQorICAjY29u
dGFpbmVyOmhhcyhkaXYuZ3JlZW46bnRoLW9mLXR5cGUoM24rMikpIH4gI250aF9vZl90eXBlXzNu
XzIgeyBjb2xvcjogZ3JlZW4gfQorICAjY29udGFpbmVyOmhhcyhkaXYub3JhbmdlOm50aC1vZi10
eXBlKDNuKSkgfiAjbnRoX29mX3R5cGVfM24geyBjb2xvcjogb3JhbmdlIH0KKyAgI2NvbnRhaW5l
cjpoYXMoZGl2LnllbGxvdzpudGgtb2YtdHlwZSgzbikpIH4gI250aF9vZl90eXBlXzNuIHsgY29s
b3I6IHllbGxvdyB9CisgICNjb250YWluZXI6aGFzKGRpdi5ncmVlbjpudGgtb2YtdHlwZSgzbikp
IH4gI250aF9vZl90eXBlXzNuIHsgY29sb3I6IGdyZWVuIH0KKzwvc3R5bGU+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorPC9kaXY+Cis8ZGl2IGlkPSJvbmx5X29mX3R5cGUiPjwvZGl2PgorPGRpdiBp
ZD0iZmlyc3Rfb2ZfdHlwZSI+PC9kaXY+Cis8ZGl2IGlkPSJsYXN0X29mX3R5cGUiPjwvZGl2Pgor
PGRpdiBpZD0ibnRoX29mX3R5cGVfM25fMSI+PC9kaXY+Cis8ZGl2IGlkPSJudGhfb2ZfdHlwZV8z
bl8yIj48L2Rpdj4KKzxkaXYgaWQ9Im50aF9vZl90eXBlXzNuIj48L2Rpdj4KKzxzY3JpcHQ+Citj
b25zdCBncmV5ID0gInJnYigxMjgsIDEyOCwgMTI4KSI7Citjb25zdCByZWQgPSAicmdiKDI1NSwg
MCwgMCkiOworY29uc3Qgb3JhbmdlID0gInJnYigyNTUsIDE2NSwgMCkiOworY29uc3QgeWVsbG93
ID0gInJnYigyNTUsIDI1NSwgMCkiOworY29uc3QgZ3JlZW4gPSAicmdiKDAsIDEyOCwgMCkiOwor
CitmdW5jdGlvbiB0ZXN0Q29sb3JzKHRlc3RfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgb25s
eV9vZl90eXBlX2NvbG9yLAorICAgICAgICAgICAgICAgICAgICBmaXJzdF9vZl90eXBlX2NvbG9y
LAorICAgICAgICAgICAgICAgICAgICBsYXN0X29mX3R5cGVfY29sb3IsCisgICAgICAgICAgICAg
ICAgICAgIG50aF9vZl90eXBlXzNuXzFfY29sb3IsCisgICAgICAgICAgICAgICAgICAgIG50aF9v
Zl90eXBlXzNuXzJfY29sb3IsCisgICAgICAgICAgICAgICAgICAgIG50aF9vZl90eXBlXzNuX2Nv
bG9yKSB7CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUob25seV9vZl90eXBlKS5jb2xvciwgb25seV9vZl90eXBlX2NvbG9yKTsKKyAgfSwg
dGVzdF9uYW1lICsgIjogI29ubHlfb2ZfdHlwZSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
ICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGZpcnN0X29mX3R5cGUpLmNvbG9yLCBm
aXJzdF9vZl90eXBlX2NvbG9yKTsKKyAgfSwgdGVzdF9uYW1lICsgIjogI2ZpcnN0X29mX3R5cGUi
KTsKKyAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShsYXN0X29mX3R5cGUpLmNvbG9yLCBsYXN0X29mX3R5cGVfY29sb3IpOworICB9LCB0ZXN0
X25hbWUgKyAiOiAjbGFzdF9vZl90eXBlIik7CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUobnRoX29mX3R5cGVfM25fMSkuY29sb3IsIG50
aF9vZl90eXBlXzNuXzFfY29sb3IpOworICB9LCB0ZXN0X25hbWUgKyAiOiAjbnRoX29mX3R5cGVf
M25fMSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKG50aF9vZl90eXBlXzNuXzIpLmNvbG9yLCBudGhfb2ZfdHlwZV8zbl8yX2NvbG9y
KTsKKyAgfSwgdGVzdF9uYW1lICsgIjogI250aF9vZl90eXBlXzNuXzIiKTsKKyAgdGVzdChmdW5j
dGlvbigpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShudGhfb2ZfdHlw
ZV8zbikuY29sb3IsIG50aF9vZl90eXBlXzNuX2NvbG9yKTsKKyAgfSwgdGVzdF9uYW1lICsgIjog
I250aF9vZl90eXBlXzNuIik7Cit9CisKK3Rlc3RDb2xvcnMoIkluaXRpYWwgY29sb3JzIiwgZ3Jl
eSwgZ3JleSwgZ3JleSwgZ3JleSwgZ3JleSwgZ3JleSk7CisKK2NvbnRhaW5lci5pbnNlcnRCZWZv
cmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLCBjb250YWluZXIuZmlyc3RDaGlsZCk7
Cit0ZXN0Q29sb3JzKCJQcmVwZW5kIHNwYW4gKDEpIiwgZ3JleSwgZ3JleSwgZ3JleSwgZ3JleSwg
Z3JleSwgZ3JleSk7CisKK2xldCBkaXYxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CitkaXYxLmlkID0gImRpdjEiOworZGl2MS5jbGFzc0xpc3QuYWRkKCJncmVlbiIpOworY29udGFp
bmVyLmluc2VydEJlZm9yZShkaXYxLCBjb250YWluZXIuZmlyc3RDaGlsZCk7Cit0ZXN0Q29sb3Jz
KCJQcmVwZW5kICNkaXYxLmdyZWVuIiwgcmVkLCBncmVlbiwgZ3JlZW4sIGdyZWVuLCBncmV5LCBn
cmV5KTsKKworY29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
cGFuIiksIGNvbnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlByZXBlbmQgc3BhbiAo
MikiLCByZWQsIGdyZWVuLCBncmVlbiwgZ3JlZW4sIGdyZXksIGdyZXkpOworCitsZXQgZGl2MiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZGl2Mi5pZCA9ICJkaXYyIjsKK2RpdjIu
Y2xhc3NMaXN0LmFkZCgieWVsbG93Iik7Citjb250YWluZXIuaW5zZXJ0QmVmb3JlKGRpdjIsIGNv
bnRhaW5lci5maXJzdENoaWxkKTsKK3Rlc3RDb2xvcnMoIlByZXBlbmQgI2RpdjIueWVsbG93Iiwg
Z3JleSwgeWVsbG93LCBncmVlbiwgeWVsbG93LCBncmVlbiwgZ3JleSk7CisKK2NvbnRhaW5lci5p
bnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLCBjb250YWluZXIuZmly
c3RDaGlsZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kIHNwYW4gKDMpIiwgZ3JleSwgeWVsbG93LCBn
cmVlbiwgeWVsbG93LCBncmVlbiwgZ3JleSk7CisKK2xldCBkaXYzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CitkaXYzLmlkID0gImRpdjMiOworZGl2My5jbGFzc0xpc3QuYWRkKCJv
cmFuZ2UiKTsKK2NvbnRhaW5lci5pbnNlcnRCZWZvcmUoZGl2MywgY29udGFpbmVyLmZpcnN0Q2hp
bGQpOwordGVzdENvbG9ycygiUHJlcGVuZCAjZGl2My5vcmFuZ2UiLCBncmV5LCBvcmFuZ2UsIGdy
ZWVuLCBvcmFuZ2UsIHllbGxvdywgZ3JlZW4pOworCitjb250YWluZXIuaW5zZXJ0QmVmb3JlKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSwgY29udGFpbmVyLmZpcnN0Q2hpbGQpOwordGVz
dENvbG9ycygiUHJlcGVuZCBzcGFuICg0KSIsIGdyZXksIG9yYW5nZSwgZ3JlZW4sIG9yYW5nZSwg
eWVsbG93LCBncmVlbik7CisKK2xldCBkaXY0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CitkaXY0LmlkID0gImRpdjQiOworY29udGFpbmVyLmluc2VydEJlZm9yZShkaXY0LCBjb250
YWluZXIuZmlyc3RDaGlsZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kICNkaXY0IiwgZ3JleSwgZ3Jl
eSwgZ3JlZW4sIGdyZWVuLCBvcmFuZ2UsIHllbGxvdyk7CisKK2NvbnRhaW5lci5pbnNlcnRCZWZv
cmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLCBjb250YWluZXIuZmlyc3RDaGlsZCk7
Cit0ZXN0Q29sb3JzKCJQcmVwZW5kIHNwYW4gKDUpIiwgZ3JleSwgZ3JleSwgZ3JlZW4sIGdyZWVu
LCBvcmFuZ2UsIHllbGxvdyk7CisKK2xldCBkaXY1ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CitkaXY1LmlkID0gImRpdjUiOworY29udGFpbmVyLmluc2VydEJlZm9yZShkaXY1LCBj
b250YWluZXIuZmlyc3RDaGlsZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kICNkaXY1IiwgZ3JleSwg
Z3JleSwgZ3JlZW4sIHllbGxvdywgZ3JlZW4sIG9yYW5nZSk7CisKK2NvbnRhaW5lci5pbnNlcnRC
ZWZvcmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLCBjb250YWluZXIuZmlyc3RDaGls
ZCk7Cit0ZXN0Q29sb3JzKCJQcmVwZW5kIHNwYW4gKDYpIiwgZ3JleSwgZ3JleSwgZ3JlZW4sIHll
bGxvdywgZ3JlZW4sIG9yYW5nZSk7CisKK2RpdjEucmVtb3ZlKCk7Cit0ZXN0Q29sb3JzKCJSZW1v
dmUgI2RpdjEiLCBncmV5LCBncmV5LCB5ZWxsb3csIHllbGxvdywgZ3JleSwgb3JhbmdlKTsKKwor
ZGl2Mi5yZW1vdmUoKTsKK3Rlc3RDb2xvcnMoIlJlbW92ZSAjZGl2MiIsIGdyZXksIGdyZXksIG9y
YW5nZSwgZ3JleSwgZ3JleSwgb3JhbmdlKTsKKworZGl2My5yZW1vdmUoKTsKK3Rlc3RDb2xvcnMo
IlJlbW92ZSAjZGl2MyIsIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXkpOworCitk
aXY0LnJlbW92ZSgpOwordGVzdENvbG9ycygiUmVtb3ZlICNkaXY0IiwgcmVkLCBncmV5LCBncmV5
LCBncmV5LCBncmV5LCBncmV5KTsKKworZGl2NS5yZW1vdmUoKTsKK3Rlc3RDb2xvcnMoIlJlbW92
ZSAjZGl2NSIsIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXksIGdyZXkpOworPC9zY3JpcHQ+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdzNjLWltcG9ydC5sb2cKaW5kZXggNTlkMDlh
MzA4NjA2Li5lNDdiMWQxZTUwNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vdzNjLWltcG9y
dC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi93M2MtaW1wb3J0LmxvZwpAQCAtMTcsMTAgKzE3LDEy
IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9hbnktbGluay1wc2V1ZG8uaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9y
cy9pbnZhbGlkYXRpb24vYXR0cmlidXRlLW9yLWVsZW1lbnRhbC1zZWxlY3RvcnMtaW4taGFzLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxl
Y3RvcnMvaW52YWxpZGF0aW9uL2F0dHJpYnV0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9jaGlsZC1p
bmRleGVkLXBzZXVkby1jbGFzc2VzLWluLWhhcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9jbGFzcy1p
ZC1hdHRyLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2NsYXNzLWlkLWF0dHItcmVmLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxl
Y3RvcnMvaW52YWxpZGF0aW9uL2NsYXNzLWlkLWF0dHIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vZGVm
aW5lZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9lbXB0eS1wc2V1ZG8taW4taGFzLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52
YWxpZGF0aW9uL2VuYWJsZWQtZGlzYWJsZWQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vZmlyc3QtY2hp
bGQtbGFzdC1jaGlsZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9oYXMtY29tcGxleGl0eS5odG1sCkBA
IC0zNiwxMSArMzgsMTQgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2luc2VydC1z
aWJsaW5nLTAwMi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9pbnNlcnQtc2libGluZy0wMDMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9y
cy9pbnZhbGlkYXRpb24vaW5zZXJ0LXNpYmxpbmctMDA0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lz
LXBzZXVkby1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL2lz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvaW52YWxpZGF0aW9uL2xpbmstcHNldWRvLWluLWhhcy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRh
dGlvbi9sb2NhdGlvbi1wc2V1ZG8tY2xhc3Nlcy1pbi1oYXMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24v
bW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9ub3QtMDAxLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxl
Y3RvcnMvaW52YWxpZGF0aW9uL25vdC0wMDIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbm90LXBzZXVk
by1jb250YWluaW5nLWNvbXBsZXgtaW4taGFzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3F1aXJrcy1t
b2RlLXN0eWxlc2hlZXQtZHluYW1pYy1hZGQtMDAxLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL3NlbGVj
dG9yVGV4dC1keW5hbWljLTAwMS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9zaGVldC1nb2luZy1hd2F5
LTAwMS5odG1sCkBAIC00OSw1ICs1NCw2IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlv
bi9zaGVldC1nb2luZy1hd2F5LTAwMi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9zaWJsaW5nLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3Rv
cnMvaW52YWxpZGF0aW9uL3RhcmdldC1wc2V1ZG8taW4taGFzLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9u
L3R5cGVkLWNoaWxkLWluZGV4ZWQtcHNldWRvLWNsYXNzZXMtaW4taGFzLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxp
ZGF0aW9uL3VzZXItYWN0aW9uLXBzZXVkby1jbGFzc2VzLWluLWhhcy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFsaWRh
dGlvbi93aGVyZS5odG1sCi0tIAoyLjMyLjAgKEFwcGxlIEdpdC0xMzIpCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>