<?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>189494</bug_id>
          
          <creation_ts>2018-09-10 20:36:11 -0700</creation_ts>
          <short_desc>Update shadow DOM and custom elements tests</short_desc>
          <delta_ts>2018-09-10 21:00:46 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1458376</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-10 20:36:11 -0700</bug_when>
    <thetext>Update shadow DOM and custom elements tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458377</commentid>
    <comment_count>1</comment_count>
      <attachid>349374</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-10 20:39:25 -0700</bug_when>
    <thetext>Created attachment 349374
Updated the tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458378</commentid>
    <comment_count>2</comment_count>
      <attachid>349375</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-10 20:42:53 -0700</bug_when>
    <thetext>Created attachment 349375
Added the missing expected.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458381</commentid>
    <comment_count>3</comment_count>
      <attachid>349375</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-09-10 20:46:49 -0700</bug_when>
    <thetext>Comment on attachment 349375
Added the missing expected.txt

View in context: https://bugs.webkit.org/attachment.cgi?id=349375&amp;action=review

&gt; LayoutTests/TestExpectations:2240
&gt; +webkit.org/b/189493 [ Debug ] imported/w3c/web-platform-tests/shadow-dom/layout-slot-no-longer-assigned.html [ Crash ]

Should probably be skipped until crash is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458382</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-10 20:51:00 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; Comment on attachment 349375 [details]
&gt; Added the missing expected.txt
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=349375&amp;action=review
&gt; 
&gt; &gt; LayoutTests/TestExpectations:2240
&gt; &gt; +webkit.org/b/189493 [ Debug ] imported/w3c/web-platform-tests/shadow-dom/layout-slot-no-longer-assigned.html [ Crash ]
&gt; 
&gt; Should probably be skipped until crash is fixed.

Sure, will do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458385</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-10 20:59:43 -0700</bug_when>
    <thetext>Committed r235881: &lt;https://trac.webkit.org/changeset/235881&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458386</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-10 21:00:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/44329579&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349374</attachid>
            <date>2018-09-10 20:39:25 -0700</date>
            <delta_ts>2018-09-10 20:42:51 -0700</delta_ts>
            <desc>Updated the tests</desc>
            <filename>bug-189494-20180910203924.patch</filename>
            <type>text/plain</type>
            <size>79938</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA5LTEwICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVwZGF0ZSBzaGFkb3cgRE9NIGFuZCBjdXN0b20g
ZWxlbWVudHMgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4OTQ5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGEgQ1JBU0ggdGVzdCBleHBlY3RhdGlvbiB3aGljaCBoaXRzIGEgZGVidWcg
YXNzc2VydGlvbi4KKyAgICAgICAgVGhlIGZhaWx1cmUgaXMgdHJhY2tlZCBieSB0aGUgYnVnIDE4
OTQ5My4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDktMTAgIFRydWl0
dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lIHRlc3Qg
YWZ0ZXIgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIzNTg2Ni93ZWJraXQuCklu
ZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTIyMzcsNiArMjIzNyw4IEBAIHdlYmtp
dC5vcmcvYi8xODcyNjkgWyBEZWJ1ZyBdIGltcG9ydGVkL3cKIAogd2Via2l0Lm9yZy9iLzE4NTMw
OCBsZWdhY3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL2NvbWJvLXRyYW5zZm9ybS10cmFu
c2xhdGUrc2NhbGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKK3dlYmtpdC5vcmcvYi8xODk0OTMg
WyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlv
dXQtc2xvdC1uby1sb25nZXItYXNzaWduZWQuaHRtbCBbIENyYXNoIF0KKwogZmFzdC9ncmFkaWVu
dHMvY29uaWMtcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KIGZhc3QvZ3JhZGllbnRzL2NvbmljLmh0
bWwgWyBTa2lwIF0KIGZhc3QvZ3JhZGllbnRzL2NvbmljLW9mZi1jZW50ZXIuaHRtbCBbIFNraXAg
XQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzU4ODApCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNDkgQEAKKzIwMTgtMDktMTAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgVXBkYXRlIHNoYWRvdyBET00gYW5kIGN1c3RvbSBlbGVtZW50cyB0ZXN0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDk0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmUtaW1wb3J0
ZWQgV1BUIHRlc3RzIGZvciBzaGFkb3cgRE9NIGFuZCBjdXN0b20gZWxlbWVudHMuCisKKyAgICAg
ICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmFuZ2UtYW5kLWNvbnN0cnVjdG9ycy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmFuZ2UtYW5kLWNvbnN0cnVjdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50LXByb3RvdHlwZS1jdXJyZW50
U2NyaXB0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9Eb2N1bWVudC1wcm90b3R5cGUtY3VycmVudFNjcmlwdC5odG1sOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlw
ZS1lbGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnRPclNoYWRvd1Jvb3QtcHJvdG90eXBlLWVs
ZW1lbnRGcm9tUG9pbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQt
aW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93Lmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRXh0ZW5zaW9ucy10by1F
dmVudC1JbnRlcmZhY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL0V4dGVuc2lvbnMtdG8tRXZlbnQtSW50ZXJmYWNlLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vT1dORVJTOiBSZW1vdmVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50
YXRpdmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2ZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1jb21wb3NlZC1wYXRo
LWFmdGVyLWRvbS1tdXRhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWNvbXBvc2VkLXBhdGgtYWZ0ZXItZG9tLW11
dGF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2Zvcm0tY29udHJvbC1mb3JtLWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9nZXRFbGVtZW50QnlJZC1keW5hbWljLTAwMS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2dldEVsZW1lbnRCeUlkLWR5bmFtaWMtMDAxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lucHV0LWVsZW1lbnQtbGlzdC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lucHV0
LWVsZW1lbnQtbGlzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItYXNzaWduZWQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNs
b3Qtbm8tbG9uZ2VyLWFzc2lnbmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2xheW91dC1zbG90LW5vLWxvbmdlci1mYWxsYmFjay1leHBlY3Rl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9s
YXlvdXQtc2xvdC1uby1sb25nZXItZmFsbGJhY2suaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGVha3Rlc3RzL2dldC1lbGVtZW50cy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGVha3Rlc3Rz
L2dldC1lbGVtZW50cy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2xlYWt0ZXN0cy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9yZXNvdXJjZXMvZXZlbnQtcGF0aC10ZXN0LWhlbHBlcnMuanM6CisgICAg
ICAgIChkaXNwYXRjaEV2ZW50V2l0aEV2ZW50TG9nKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9yZXNvdXJjZXMvc2hhZG93LWRvbS11dGlscy5qczoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5sb2c6
CisKIDIwMTgtMDktMTAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2ZXJ0IHRoZSBlcnJvcm5vdXMgY2hhbmdlIHRvIHRoZSB0ZXN0IGluIHIyMzU4NjQuCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2Vz
L2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgkocmV2aXNpb24gMjM1ODgwKQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw3IEBACiB7CiAgICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQi
LCAKKyAgICAiY3VzdG9tLWVsZW1lbnRzIjogImltcG9ydCIsIAorICAgICJzaGFkb3ctZG9tIjog
ImltcG9ydCIsIAogICAgICJ0b29scyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzLzJkY29udGV4dCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRl
eHQvaW1hZ2ViaXRtYXAiOiAiaW1wb3J0IiwgCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yYW5nZS1hbmQtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yYW5nZS1hbmQtY29uc3RydWN0b3Jz
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yYW5nZS1hbmQtY29uc3RydWN0b3Jz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworRkFJTCBSYW5n
ZS5jbG9uZUNvbnRlbnRzIHNob3VsZCBpbnZva2UgY29uc3RydWN0b3IgaW4gdHJlZSBvcmRlciBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAwLCBleHBlY3RlZCAicm9vdC0wIiBidXQgZ290
ICJyb290LTAtMCIKK0ZBSUwgUmFuZ2UuZXh0cmFjdENvbnRlbnRzIHNob3VsZCBpbnZva2UgY29u
c3RydWN0b3IgaW4gdHJlZSBvcmRlciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAwLCBl
eHBlY3RlZCAicm9vdC0wIiBidXQgZ290ICJyb290LTAtMCIKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmFuZ2UtYW5k
LWNvbnN0cnVjdG9ycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JhbmdlLWFuZC1jb25zdHJ1Y3Rv
cnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yYW5nZS1hbmQtY29uc3RydWN0b3JzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHRpdGxlPkN1c3RvbSBlbGVtZW50czogUmFuZ2UgQVBJcyBzaG91bGQgaW52b2tl
IGNvbnN0cnVjdG9yIGluIHRyZWUgb3JkZXI8L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0
aXRsZT0iRWRnYXIgQ2hlbiIgaHJlZj0ibWFpbHRvOmVjaGVuQG1vemlsbGEuY29tIj4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
c2NyaXB0aW5nLmh0bWwjY29uY2VwdC11cGdyYWRlLWFuLWVsZW1lbnQiPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtY3JlYXRlLWVs
ZW1lbnQiPgorPGxpbmUgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5v
cmcvI2NvbmNlcHQtcmFuZ2UtZXh0cmFjdCI+Cis8bGluZSByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1yYW5nZS1jbG9uZSI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImxvZyI+PC9kaXY+CisKKzxjLWUgZGF0YS1pbmRleD0icm9vdCI+CisgIDxjLWUg
ZGF0YS1pbmRleD0icm9vdC0wIj4KKyAgICA8Yy1lIGRhdGEtaW5kZXg9InJvb3QtMC0wIj4KKyAg
ICAgIDxjLWUgZGF0YS1pbmRleD0icm9vdC0wLTAtMCI+PC9jLWU+CisgICAgICA8c3BhbiBpZD0i
c3RhcnQiPjwvc3Bhbj4KKyAgICA8L2MtZT4KKyAgPC9jLWU+CisgIDxjLWUgZGF0YS1pbmRleD0i
cm9vdC0xIj48L2MtZT4KKyAgPHNwYW4gaWQ9ImVuZCI+PC9zcGFuPgorPC9jLWU+CisKKzxzY3Jp
cHQ+CisKK3ZhciBsb2dzID0gW107CitjbGFzcyBDRSBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAg
Y29uc3RydWN0b3IoKSB7CisgICAgc3VwZXIoKTsKKyAgICBsb2dzLnB1c2godGhpcy5kYXRhc2V0
LmluZGV4KTsKKyAgfQorfQorY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjLWUnLCBDRSk7CisKK2Z1
bmN0aW9uIGdldFJhbmdlKCkgeworICBjb25zdCByYW5nZSA9IG5ldyBSYW5nZSgpOworICByYW5n
ZS5zZXRTdGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhcnQnKSwgMCk7CisgIHJhbmdl
LnNldEVuZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW5kJyksIDApOworICByZXR1cm4gcmFu
Z2U7Cit9CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAvLyBDbGVhciBsb2cgZm9yIHRlc3Rpbmcu
CisgIGxvZ3MgPSBbXTsKKyAgZ2V0UmFuZ2UoKS5jbG9uZUNvbnRlbnRzKCk7CisgIGFzc2VydF9h
cnJheV9lcXVhbHMobG9ncywgWydyb290LTAnLCAncm9vdC0wLTAnLCAncm9vdC0xJ10pOworfSwg
J1JhbmdlLmNsb25lQ29udGVudHMgc2hvdWxkIGludm9rZSBjb25zdHJ1Y3RvciBpbiB0cmVlIG9y
ZGVyJyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAvLyBDbGVhciBsb2cgZm9yIHRlc3Rpbmcu
CisgIGxvZ3MgPSBbXTsKKyAgZ2V0UmFuZ2UoKS5leHRyYWN0Q29udGVudHMoKTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyhsb2dzLCBbJ3Jvb3QtMCcsICdyb290LTAtMCddKTsKK30sICdSYW5nZS5l
eHRyYWN0Q29udGVudHMgc2hvdWxkIGludm9rZSBjb25zdHJ1Y3RvciBpbiB0cmVlIG9yZGVyJyk7
CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdzNjLWltcG9ydC5sb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDIzNTg4MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw1ICszMCw2IEBAIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvaGlzdG9yaWNhbC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvbWljcm90YXNrcy1hbmQtY29uc3RydWN0
b3JzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9wc2V1ZG8tY2xhc3MtZGVmaW5lZC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmFuZ2UtYW5kLWNv
bnN0cnVjdG9ycy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb24tdGltaW5nLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy91cGdyYWRpbmcu
aHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL0RvY3VtZW50LXByb3RvdHlwZS1jdXJyZW50U2NyaXB0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vRG9jdW1lbnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMzU4ODApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICsxLDggQEAKIAotSGFybmVzcyBFcnJv
ciAoRkFJTCksIG1lc3NhZ2UgPSAxIGR1cGxpY2F0ZSB0ZXN0IG5hbWU6ICJkb2N1bWVudC5jdXJy
ZW50U2NyaXB0IG11c3QgYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2FkcyBhbiBl
eHRlcm5hbCBzY3JpcHQgaW4gYSBkb2N1bWVudCB0cmVlIgotCiBQQVNTIGRvY3VtZW50LmN1cnJl
bnRTY3JpcHQgbXVzdCBub3QgdG8gYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgaW4gYSBzaGFk
b3cgdHJlZSBpbiBvcGVuIG1vZGUgCiBQQVNTIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgbXVzdCBu
b3QgdG8gYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgaW4gYSBzaGFkb3cgdHJlZSBpbiBjbG9z
ZWQgbW9kZSAKIFBBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBhIHNj
cmlwdCBlbGVtZW50IHRoYXQgbG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1lbnQg
dHJlZSAKLVBBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBhIHNjcmlw
dCBlbGVtZW50IHRoYXQgbG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1lbnQgdHJl
ZSAKK1BBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBhIHNjcmlwdCBl
bGVtZW50IHRoYXQgbG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1lbnQgdHJlZSAo
MikgCiBQQVNTIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgbXVzdCBub3QgYmUgc2V0IHRvIGEgc2Ny
aXB0IGVsZW1lbnQgdGhhdCBsb2FkcyBhbiBleHRlcm5hbCBzY3JpcHQgaW4gYW4gb3BlbiBzaGFk
b3cgdHJlZSAKIFBBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IG5vdCBiZSBzZXQgdG8g
YSBzY3JpcHQgZWxlbWVudCB0aGF0IGxvYWRzIGFuIGV4dGVybmFsIHNjcmlwdCBpbiBhIGNsb3Nl
ZCBzaGFkb3cgdHJlZSAKIFBBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0
byBhIHNjcmlwdCBlbGVtZW50IHRoYXQgbG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IHRoYXQgd2Fz
IGluIGFuIG9wZW4gc2hhZG93IHRyZWUgYW5kIHRoZW4gcmVtb3ZlZCAKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1w
cm90b3R5cGUtY3VycmVudFNjcmlwdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1wcm90b3R5
cGUtY3VycmVudFNjcmlwdC5odG1sCShyZXZpc2lvbiAyMzU4ODApCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnQtcHJvdG90
eXBlLWN1cnJlbnRTY3JpcHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+CiA8dGl0
bGU+SFRNTDogRG9jdW1lbnQucHJvdG90eXBlLmN1cnJlbnRTY3JpcHQ8L3RpdGxlPgogPG1ldGEg
bmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Vi
a2l0Lm9yZyI+CiA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IklmIHRoZSBzY3JpcHQgZWxl
bWVudCBpcyBpbiBhIGRvY3VtZW50LCB0aGVuIHNldCB0aGUgc2NyaXB0IGVsZW1lbnQncyBub2Rl
IGRvY3VtZW50J3MgY3VycmVudFNjcmlwdCBhdHRyaWJ1dGUgdG8gdGhlIHNjcmlwdCBlbGVtZW50
LiI+CkBAIC0xMiwxMSArMTMsMTYgQEAKIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8c2NyaXB0IGlk
PSJvdXRlclNjcmlwdEVsZW1lbnQiPgogCitmdW5jdGlvbiBhc3NlcnRfc2hhZG93ZG9tX3N1cHBv
cnRlZCgpIHsKKyAgYXNzZXJ0X3RydWUoJ2F0dGFjaFNoYWRvdycgaW4gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2JyksICdTaGFkb3cgRE9NIGlzIG5vdCBzdXBwb3J0ZWQnKTsKK30KKwogdmFy
IG91dGVyU2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQ7CiAKIGZ1bmN0aW9u
IHRlc3RJbmxpbmVTY3JpcHQobW9kZSkKIHsKICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgYXNzZXJ0X3NoYWRvd2RvbV9zdXBwb3J0ZWQoKTsKICAgICAgICAgdmFyIGhvc3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0
LmF0dGFjaFNoYWRvdyh7bW9kZTogbW9kZX0pOwogICAgICAgICB2YXIgc2NyaXB0RWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwpAQCAtNDAsMTEgKzQ2LDE2IEBAIHZh
ciB0ZXN0ZWRTY3JpcHRFbGVtZW50ID0gbnVsbDsKIGZ1bmN0aW9uIGV4ZWN1dGVOZXh0VGVzdCgp
CiB7CiAgICAgdmFyIHRlc3RDYXNlID0gYXN5bmNTY3JpcHRUZXN0cy5zaGlmdCgpOwotICAgIHZh
ciBtb2RlID0gdGVzdENhc2UubW9kZTsKICAgICBpZiAoIXRlc3RDYXNlKQogICAgICAgICByZXR1
cm47CiAKKyAgICB2YXIgbW9kZSA9IHRlc3RDYXNlLm1vZGU7CisKKyAgICB0ZXN0Q2FzZS50ZXN0
LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICAgICAgc2V0VGltZW91dChleGVjdXRlTmV4dFRlc3Qs
IDEpOworICAgIH0pOwogICAgIHRlc3RDYXNlLnRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CisgICAg
ICAgIGFzc2VydF9zaGFkb3dkb21fc3VwcG9ydGVkKCk7CiAgICAgICAgIHRlc3RlZFNjcmlwdEVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgdGVzdGVk
U2NyaXB0RWxlbWVudC5zcmMgPSAncmVzb3VyY2VzL0RvY3VtZW50LXByb3RvdHlwZS1jdXJyZW50
U2NyaXB0LWhlbHBlci5qcyc7CiAKQEAgLTY2LDcgKzc3LDYgQEAgZnVuY3Rpb24gZXhlY3V0ZU5l
eHRUZXN0KCkKICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuY3VycmVudFNjcmlw
dCwgdGVzdENhc2UuZXhwZWN0ZWQoKSk7CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0Q2FzZS50
ZXN0LmRvbmUoKTsKLSAgICAgICAgc2V0VGltZW91dChleGVjdXRlTmV4dFRlc3QsIDEpOwogICAg
IH0KIH0KIApAQCAtNzUsNyArODUsNyBAQCB2YXIgYXN5bmNTY3JpcHRUZXN0cyA9IFsKICAgICAg
ICAgdGVzdDogYXN5bmNfdGVzdCgnZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0
byBhIHNjcmlwdCBlbGVtZW50IHRoYXQgbG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9j
dW1lbnQgdHJlZScpLAogICAgICAgICBtb2RlOiBudWxsLCByZW1vdmU6IGZhbHNlLCBleHBlY3Rl
ZDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGVzdGVkU2NyaXB0RWxlbWVudDsgfX0sCiAgICAgewot
ICAgICAgICB0ZXN0OiBhc3luY190ZXN0KCdkb2N1bWVudC5jdXJyZW50U2NyaXB0IG11c3QgYmUg
c2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2FkcyBhbiBleHRlcm5hbCBzY3JpcHQgaW4g
YSBkb2N1bWVudCB0cmVlJyksCisgICAgICAgIHRlc3Q6IGFzeW5jX3Rlc3QoJ2RvY3VtZW50LmN1
cnJlbnRTY3JpcHQgbXVzdCBiZSBzZXQgdG8gYSBzY3JpcHQgZWxlbWVudCB0aGF0IGxvYWRzIGFu
IGV4dGVybmFsIHNjcmlwdCBpbiBhIGRvY3VtZW50IHRyZWUgKDIpJyksCiAgICAgICAgIG1vZGU6
IG51bGwsIHJlbW92ZTogdHJ1ZSwgZXhwZWN0ZWQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRlc3Rl
ZFNjcmlwdEVsZW1lbnQ7IH19LAogICAgIHsKICAgICAgICAgdGVzdDogYXN5bmNfdGVzdCgnZG9j
dW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IG5vdCBiZSBzZXQgdG8gYSBzY3JpcHQgZWxlbWVudCB0
aGF0IGxvYWRzIGFuIGV4dGVybmFsIHNjcmlwdCBpbiBhbiBvcGVuIHNoYWRvdyB0cmVlJyksCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vRG9jdW1lbnRPclNoYWRvd1Jvb3QtcHJvdG90eXBlLWVsZW1lbnRGcm9tUG9pbnQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9vdC1wcm90b3R5cGUtZWxlbWVu
dEZyb21Qb2ludC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dS
b290LXByb3RvdHlwZS1lbGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQyIEBACisKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQg
c2hhZG93LkVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRo
ZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBh
IGRpcmVjdCBjaGlsZCBvZiB0aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6IGlubGlu
ZSAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93LkVsZW1lbnRGcm9t
UG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQg
bm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0
aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6IGJsb2NrIAorUEFTUyBkb2N1bWVudC5l
bGVtZW50RnJvbVBvaW50IGFuZCBzaGFkb3cuRWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0
aGUgc2hhZG93IGhvc3Qgb2YgdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHdoZW4gdGhlIGhpdC10
ZXN0ZWQgdGV4dCBub2RlIGlzIGEgZGlyZWN0IGNoaWxkIG9mIHRoZSByb290IGFuZCB0aGUgaG9z
dCBoYXMgZGlzcGxheTogaW5saW5lLWJsb2NrIAorRkFJTCBkb2N1bWVudC5lbGVtZW50RnJvbVBv
aW50IGFuZCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRv
dyBob3N0IHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGFzc2lnbmVkIHRvIGEgc2xv
dCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBFbGVtZW50IG5vZGUgPHRlc3QtZWxlbWVudCBzdHlsZT0iZGlzcGxheTogaW5saW5lOyI+dGV4
dDwvdGVzdC1lbGVtZW50PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8c2xvdD48L3Nsb3Q+CitGQUlM
IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2lu
dCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3Qgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5v
ZGUgaXMgYXNzaWduZWQgdG8gYSBzbG90IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogYmxvY2sg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDx0ZXN0LWVsZW1lbnQgc3R5bGU9
ImRpc3BsYXk6IGJsb2NrOyI+dGV4dDwvdGVzdC1lbGVtZW50PiBidXQgZ290IEVsZW1lbnQgbm9k
ZSA8c2xvdD48L3Nsb3Q+CitGQUlMIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQgYW5kIHNoYWRv
d1Jvb3QuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3Qgd2hlbiB0
aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYXNzaWduZWQgdG8gYSBzbG90IGFuZCB0aGUgaG9z
dCBoYXMgZGlzcGxheTogaW5saW5lLWJsb2NrIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1l
bnQgbm9kZSA8dGVzdC1lbGVtZW50IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij50ZXh0
PC90ZXN0LWUuLi4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPHNsb3Q+PC9zbG90PgorUEFTUyBkb2N1
bWVudC5lbGVtZW50RnJvbVBvaW50IGFuZCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQgbXVz
dCByZXR1cm4gdGhlIGVsZW1lbnQgYXNzaWduZWQgdG8gYSBzbG90IHdoZW4gaGl0LXRlc3RlZCB0
ZXh0IG5vZGUgdW5kZXIgYW4gZWxlbWVudCBpcyBhc3NpZ25lZCB0byBhIHNsb3QgaW4gdGhlIHNo
YWRvdyB0cmVlIGFuZCB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIHNsb3QgaGFzIGRpc3BsYXk6IGlu
bGluZSAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93Um9vdC5lbGVt
ZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50IGFzc2lnbmVkIHRvIGEgc2xvdCB3
aGVuIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIGFuIGVsZW1lbnQgaXMgYXNzaWduZWQgdG8g
YSBzbG90IGluIHRoZSBzaGFkb3cgdHJlZSBhbmQgdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBzbG90
IGhhcyBkaXNwbGF5OiBibG9jayAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQg
c2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50IGFzc2ln
bmVkIHRvIGEgc2xvdCB3aGVuIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIGFuIGVsZW1lbnQg
aXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRoZSBzaGFkb3cgdHJlZSBhbmQgdGhlIHNoYWRvdyBo
b3N0IG9mIHRoZSBzbG90IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgCitQQVNTIGRvY3VtZW50
LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQt
dGVzdGVkIGVsZW1lbnQgdW5kZXIgYSBzaGFkb3cgcm9vdCBhbmQgc2hhZG93Um9vdC5lbGVtZW50
RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50IHBhcmVudCBvZiB0aGUgaGl0LXRlc3Rl
ZCB0ZXh0IG5vZGUgdW5kZXIgdGhlIHBvaW50IHdoZW4gdGhlIHNoYWRvdyBob3N0IGhhcyBkaXNw
bGF5OiBpbmxpbmUgCitQQVNTIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4g
dGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIGVsZW1lbnQgdW5kZXIgYSBzaGFkb3cg
cm9vdCBhbmQgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBlbGVt
ZW50IHBhcmVudCBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgdGhlIHBvaW50IHdo
ZW4gdGhlIHNoYWRvdyBob3N0IGhhcyBkaXNwbGF5OiBibG9jayAKK1BBU1MgZG9jdW1lbnQuZWxl
bWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIGhpdC10ZXN0
ZWQgZWxlbWVudCB1bmRlciBhIHNoYWRvdyByb290IGFuZCBzaGFkb3dSb290LmVsZW1lbnRGcm9t
UG9pbnQgbXVzdCByZXR1cm4gdGhlIGVsZW1lbnQgcGFyZW50IG9mIHRoZSBoaXQtdGVzdGVkIHRl
eHQgbm9kZSB1bmRlciB0aGUgcG9pbnQgd2hlbiB0aGUgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6
IGlubGluZS1ibG9jayAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVy
biB0aGUgc2hhZG93IGhvc3QgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJl
dHVybiB0aGUgc2xvdCBwYXJlbnQgb2YgdGhlIGZhbGxiYWNrIHRleHQgd2hlbiB0aGUgaGl0LXRl
c3RlZCB0ZXh0IG5vZGUgaXMgYSBmYWxsYmFjayBjb250ZW50IGFuZCB0aGUgaG9zdCBoYXMgZGlz
cGxheTogaW5saW5lIAorUEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJu
IHRoZSBzaGFkb3cgaG9zdCBhbmQgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0
dXJuIHRoZSBzbG90IHBhcmVudCBvZiB0aGUgZmFsbGJhY2sgdGV4dCB3aGVuIHRoZSBoaXQtdGVz
dGVkIHRleHQgbm9kZSBpcyBhIGZhbGxiYWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0IGhhcyBkaXNw
bGF5OiBibG9jayAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0
aGUgc2hhZG93IGhvc3QgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVy
biB0aGUgc2xvdCBwYXJlbnQgb2YgdGhlIGZhbGxiYWNrIHRleHQgd2hlbiB0aGUgaGl0LXRlc3Rl
ZCB0ZXh0IG5vZGUgaXMgYSBmYWxsYmFjayBjb250ZW50IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxh
eTogaW5saW5lLWJsb2NrIAorRkFJTCBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50LCBzaGFkb3dS
b290LmVsZW1lbnRGcm9tUG9pbnQsIGlubmVyU2hhZG93LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCBy
ZXR1cm4gYSBjaGlsZCBlbGVtZW50IGFzc2lnbmVkIHRvIGEgc2xvdCB3aGVuIHRoZSBoaXQtdGVz
dGVkIHRleHQgbm9kZSBpcyBhc3NpZ25lZCB0byBhIHNsb3QgaW4gdGhlIHNoYWRvdyB0cmVlIG9m
IHRoZSBjaGlsZCBlbGVtZW50IGFuZCB0aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6
IGlubGluZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlubmVyLWhvc3Q+
aGVsbG88L2lubmVyLWhvc3Q+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzbG90Pjwvc2xvdD4KK0ZB
SUwgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCwgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50
LCBpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIGEgY2hpbGQgZWxlbWVu
dCBhc3NpZ25lZCB0byBhIHNsb3Qgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYXNz
aWduZWQgdG8gYSBzbG90IGluIHRoZSBzaGFkb3cgdHJlZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBh
bmQgdGhlIG91dGVyIHNoYWRvdyBob3N0IGhhcyBkaXNwbGF5OiBibG9jayBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlubmVyLWhvc3Q+aGVsbG88L2lubmVyLWhvc3Q+IGJ1
dCBnb3QgRWxlbWVudCBub2RlIDxzbG90Pjwvc2xvdD4KK0ZBSUwgZG9jdW1lbnQuZWxlbWVudEZy
b21Qb2ludCwgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50LCBpbm5lclNoYWRvdy5lbGVtZW50
RnJvbVBvaW50IG11c3QgcmV0dXJuIGEgY2hpbGQgZWxlbWVudCBhc3NpZ25lZCB0byBhIHNsb3Qg
d2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRo
ZSBzaGFkb3cgdHJlZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBhbmQgdGhlIG91dGVyIHNoYWRvdyBo
b3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxl
bWVudCBub2RlIDxpbm5lci1ob3N0PmhlbGxvPC9pbm5lci1ob3N0PiBidXQgZ290IEVsZW1lbnQg
bm9kZSA8c2xvdD48L3Nsb3Q+CitQQVNTIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQsIHNoYWRv
d1Jvb3QuZWxlbWVudEZyb21Qb2ludCwgaW5uZXJTaGFkb3cuZWxlbWVudEZyb21Qb2ludCBtdXN0
IHJldHVybiBhIGNoaWxkIGVsZW1lbnQgd2l0aCBpdHMgb3duIHNoYWRvdyB0cmVlIGFzc2lnbmVk
IHRvIGEgc2xvdCB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBpdHMgZGlyZWN0IGNo
aWxkIGFuZCB0aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZSAKK1BBU1Mg
ZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCwgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50LCBp
bm5lclNoYWRvdy5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIGEgY2hpbGQgZWxlbWVudCB3
aXRoIGl0cyBvd24gc2hhZG93IHRyZWUgYXNzaWduZWQgdG8gYSBzbG90IHdoZW4gdGhlIGhpdC10
ZXN0ZWQgdGV4dCBub2RlIGlzIGl0cyBkaXJlY3QgY2hpbGQgYW5kIHRoZSBvdXRlciBzaGFkb3cg
aG9zdCBoYXMgZGlzcGxheTogYmxvY2sgCitQQVNTIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQs
IHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCwgaW5uZXJTaGFkb3cuZWxlbWVudEZyb21Qb2lu
dCBtdXN0IHJldHVybiBhIGNoaWxkIGVsZW1lbnQgd2l0aCBpdHMgb3duIHNoYWRvdyB0cmVlIGFz
c2lnbmVkIHRvIGEgc2xvdCB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBpdHMgZGly
ZWN0IGNoaWxkIGFuZCB0aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZS1i
bG9jayAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCwgc2hhZG93Um9vdC5lbGVtZW50
RnJvbVBvaW50IG11c3QgcmV0dXJuIGEgY2hpbGQgZWxlbWVudCB3aXRoIGl0cyBvd24gc2hhZG93
IHRyZWUgYXNzaWduZWQgdG8gYSBzbG90IHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlz
IGEgY2hpbGQgb2YgYW5vdGhlciBlbGVtZW50IGFuZCBpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBv
aW50IG11c3QgcmV0dXJuIHRoZSBwYXJlbnQgZWxlbWVudCBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0
IG5vZGUgdW5kZXIgaXQgd2hlbiB0aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGlu
bGluZSAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCwgc2hhZG93Um9vdC5lbGVtZW50
RnJvbVBvaW50IG11c3QgcmV0dXJuIGEgY2hpbGQgZWxlbWVudCB3aXRoIGl0cyBvd24gc2hhZG93
IHRyZWUgYXNzaWduZWQgdG8gYSBzbG90IHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlz
IGEgY2hpbGQgb2YgYW5vdGhlciBlbGVtZW50IGFuZCBpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBv
aW50IG11c3QgcmV0dXJuIHRoZSBwYXJlbnQgZWxlbWVudCBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0
IG5vZGUgdW5kZXIgaXQgd2hlbiB0aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGJs
b2NrIAorUEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50LCBzaGFkb3dSb290LmVsZW1lbnRG
cm9tUG9pbnQgbXVzdCByZXR1cm4gYSBjaGlsZCBlbGVtZW50IHdpdGggaXRzIG93biBzaGFkb3cg
dHJlZSBhc3NpZ25lZCB0byBhIHNsb3Qgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMg
YSBjaGlsZCBvZiBhbm90aGVyIGVsZW1lbnQgYW5kIGlubmVyU2hhZG93LmVsZW1lbnRGcm9tUG9p
bnQgbXVzdCByZXR1cm4gdGhlIHBhcmVudCBlbGVtZW50IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQg
bm9kZSB1bmRlciBpdCB3aGVuIHRoZSBvdXRlciBzaGFkb3cgaG9zdCBoYXMgZGlzcGxheTogaW5s
aW5lLWJsb2NrIAorUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBhbmQgc2hhZG93LmVs
ZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFuY2Vz
dG9ycyBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0
IG5vZGUgaXMgYSBkaXJlY3QgY2hpbGQgb2YgdGhlIHJvb3QgYW5kIHRoZSBob3N0IGhhcyBkaXNw
bGF5OiBpbmxpbmUgCitQQVNTIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IGFuZCBzaGFkb3cu
ZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IGFuZCBpdHMgYW5j
ZXN0b3JzIG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVkIHRl
eHQgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFzIGRp
c3BsYXk6IGJsb2NrIAorUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBhbmQgc2hhZG93
LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFu
Y2VzdG9ycyBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgd2hlbiB0aGUgaGl0LXRlc3RlZCB0
ZXh0IG5vZGUgaXMgYSBkaXJlY3QgY2hpbGQgb2YgdGhlIHJvb3QgYW5kIHRoZSBob3N0IGhhcyBk
aXNwbGF5OiBpbmxpbmUtYmxvY2sgCitGQUlMIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IGFu
ZCBzaGFkb3dSb290LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9z
dCBhbmQgaXRzIGFuY2VzdG9ycyB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhc3Np
Z25lZCB0byBhIHNsb3QgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUgYXNzZXJ0X2Fy
cmF5X2VxdWFsczogcHJvcGVydHkgMCwgZXhwZWN0ZWQgRWxlbWVudCBub2RlIDx0ZXN0LWVsZW1l
bnQgc3R5bGU9ImRpc3BsYXk6IGlubGluZTsiPnRleHQ8L3Rlc3QtZWxlbWVudD4gYnV0IGdvdCBF
bGVtZW50IG5vZGUgPHNsb3Q+PC9zbG90PgorRkFJTCBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2lu
dCBhbmQgc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93
IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMg
YXNzaWduZWQgdG8gYSBzbG90IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogYmxvY2sgYXNzZXJ0
X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDQgZ290IDUKK0ZBSUwgZG9j
dW1lbnQuZWxlbWVudHNGcm9tUG9pbnQgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQg
bXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IGFuZCBpdHMgYW5jZXN0b3JzIHdoZW4gdGhlIGhp
dC10ZXN0ZWQgdGV4dCBub2RlIGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBhbmQgdGhlIGhvc3QgaGFz
IGRpc3BsYXk6IGlubGluZS1ibG9jayBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZl
ciwgZXhwZWN0ZWQgNCBnb3QgNQorUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBhbmQg
c2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgZWxlbWVudCBhc3Np
Z25lZCB0byBhIHNsb3QgYW5kIGl0cyBub24tc2hhZG93IGFuY2VzdG9ycyB3aGVuIGhpdC10ZXN0
ZWQgdGV4dCBub2RlIHVuZGVyIGFuIGVsZW1lbnQgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRo
ZSBzaGFkb3cgdHJlZSBhbmQgdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBzbG90IGhhcyBkaXNwbGF5
OiBpbmxpbmUgCitQQVNTIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IGFuZCBzaGFkb3dSb290
LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50IGFzc2lnbmVkIHRvIGEg
c2xvdCBhbmQgaXRzIG5vbi1zaGFkb3cgYW5jZXN0b3JzIHdoZW4gaGl0LXRlc3RlZCB0ZXh0IG5v
ZGUgdW5kZXIgYW4gZWxlbWVudCBpcyBhc3NpZ25lZCB0byBhIHNsb3QgaW4gdGhlIHNoYWRvdyB0
cmVlIGFuZCB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIHNsb3QgaGFzIGRpc3BsYXk6IGJsb2NrIAor
UEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBhbmQgc2hhZG93Um9vdC5lbGVtZW50c0Zy
b21Qb2ludCBtdXN0IHJldHVybiB0aGUgZWxlbWVudCBhc3NpZ25lZCB0byBhIHNsb3QgYW5kIGl0
cyBub24tc2hhZG93IGFuY2VzdG9ycyB3aGVuIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIGFu
IGVsZW1lbnQgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRoZSBzaGFkb3cgdHJlZSBhbmQgdGhl
IHNoYWRvdyBob3N0IG9mIHRoZSBzbG90IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgCitGQUlM
IGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBh
bmQgaXRzIGFuY2VzdG9ycyBvZiB0aGUgaGl0LXRlc3RlZCBlbGVtZW50IHVuZGVyIGEgc2hhZG93
IHJvb3QgYW5kc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgZWxl
bWVudCBwYXJlbnQgYW5kIGl0cyBub24tc2hhZG93IGFuY2VzdG9ycyBvZiB0aGUgaGl0LXRlc3Rl
ZCB0ZXh0IG5vZGUgdW5kZXIgdGhlIHBvaW50IHdoZW4gdGhlIHNoYWRvdyBob3N0IGhhcyBkaXNw
bGF5OiBpbmxpbmUgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVk
IDUgZ290IDQKK1BBU1MgZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhl
IHNoYWRvdyBob3N0IGFuZCBpdHMgYW5jZXN0b3JzIG9mIHRoZSBoaXQtdGVzdGVkIGVsZW1lbnQg
dW5kZXIgYSBzaGFkb3cgcm9vdCBhbmRzaGFkb3dSb290LmVsZW1lbnRzRnJvbVBvaW50IG11c3Qg
cmV0dXJuIHRoZSBlbGVtZW50IHBhcmVudCBhbmQgaXRzIG5vbi1zaGFkb3cgYW5jZXN0b3JzIG9m
IHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB1bmRlciB0aGUgcG9pbnQgd2hlbiB0aGUgc2hhZG93
IGhvc3QgaGFzIGRpc3BsYXk6IGJsb2NrIAorUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2lu
dCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMgb2YgdGhlIGhp
dC10ZXN0ZWQgZWxlbWVudCB1bmRlciBhIHNoYWRvdyByb290IGFuZHNoYWRvd1Jvb3QuZWxlbWVu
dHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIGVsZW1lbnQgcGFyZW50IGFuZCBpdHMgbm9uLXNo
YWRvdyBhbmNlc3RvcnMgb2YgdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIHRoZSBwb2lu
dCB3aGVuIHRoZSBzaGFkb3cgaG9zdCBoYXMgZGlzcGxheTogaW5saW5lLWJsb2NrIAorUEFTUyBk
b2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3QgYW5k
IGl0cyBhbmNlc3RvcnMgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1
cm4gdGhlIHNsb3QgcGFyZW50IG9mIHRoZSBmYWxsYmFjayB0ZXh0IGFuZCBpdHMgbm9uLXNoYWRv
dyBhbmNlc3RvcnMgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYSBmYWxsYmFjayBj
b250ZW50IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogaW5saW5lIAorUEFTUyBkb2N1bWVudC5l
bGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3QgYW5kIGl0cyBhbmNl
c3RvcnMgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNs
b3QgcGFyZW50IG9mIHRoZSBmYWxsYmFjayB0ZXh0IGFuZCBpdHMgbm9uLXNoYWRvdyBhbmNlc3Rv
cnMgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYSBmYWxsYmFjayBjb250ZW50IGFu
ZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogYmxvY2sgCitQQVNTIGRvY3VtZW50LmVsZW1lbnRzRnJv
bVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFuY2VzdG9ycyBhbmQg
c2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2xvdCBwYXJlbnQg
b2YgdGhlIGZhbGxiYWNrIHRleHQgYW5kIGl0cyBub24tc2hhZG93IGFuY2VzdG9ycyB3aGVuIHRo
ZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGZhbGxiYWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0
IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgCitGQUlMIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9t
UG9pbnQgbXVzdCBiZWhhdmUgdGhlIHNhbWUgd2l0aCBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2lu
dCByZWdhcmRpbmcgSFRNTCBlbGVtZW50IGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlm
ZmVyLCBleHBlY3RlZCA1IGdvdCA0CisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9vdC1wcm90b3R5
cGUtZWxlbWVudEZyb21Qb2ludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9v
dC1wcm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVu
dE9yU2hhZG93Um9vdC1wcm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjU2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8dGl0bGU+U2hhZG93IERPTSBhbmQgQ1NTT00gVmlldzogRG9jdW1lbnQucHJvdG90eXBl
LmVsZW1lbnRGcm9tUG9pbnQ8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9
IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgorICAgIDxtZXRh
IG5hbWU9ImFzc2VydCIgY29udGVudD0iRG9jdW1lbnRPclNoYWRvd1Jvb3QgbXVzdCBoYXZlIGVs
ZW1lbnRGcm9tUG9pbnQgYW5kIG11c3QgcmV0dXJuIHJldGFyZ2V0IHRoZSByZXN1bHQgYWdhaW5z
dCB0aGUgY29udGV4dCBvYmplY3QuIj4KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9jc3NvbS12aWV3LTEvI2RvbS1kb2N1bWVudC1lbGVtZW50ZnJvbXBv
aW50Ij4KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9z
aGFkb3ctZG9tLyNleHRlbnNpb25zLXRvLXRoZS1kb2N1bWVudG9yc2hhZG93cm9vdC1taXhpbiI+
CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2Pgor
ICAgIDxzdHlsZT4KK3Rlc3QtZWxlbWVudCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwcHg7
IGhlaWdodDogMTAwcHg7IH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisKK2Z1bmN0aW9u
IHBvaW50SW5FbGVtZW50KG5vZGUpIHsKKyAgbGV0IHggPSA1OworICBsZXQgeSA9IDU7CisgIGRv
IHsKKyAgICB4ICs9IG5vZGUub2Zmc2V0TGVmdDsKKyAgICB5ICs9IG5vZGUub2Zmc2V0VG9wOwor
ICAgIG5vZGUgPSBub2RlLm9mZnNldFBhcmVudDsKKyAgfSB3aGlsZSAobm9kZSk7CisgIHJldHVy
biBbeCwgeV07Cit9CisKK2NvbnN0IGRpc3BsYXlWYWx1ZXMgPSBbJ2lubGluZScsICdibG9jaycs
ICdpbmxpbmUtYmxvY2snXTsKK3ZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29udGFpbmVyJyk7CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3Rlc3QtZWxlbWVudCcsIGNs
YXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcigp
OworICB9Cit9KTsKKworZGlzcGxheVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uIChkaXNwbGF5VmFs
dWUpIHsKKyAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcn
OworICAgIGxldCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVzdC1lbGVtZW50Jyk7
CisgICAgaG9zdC5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheVZhbHVlOworICAgIGxldCBzaGFkb3cg
PSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBzaGFkb3cuaW5uZXJI
VE1MID0gJ2hlbGxvJzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgYXNz
ZXJ0X2VxdWFscyhkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhv
c3QpKSwgaG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCgu
Li5wb2ludEluRWxlbWVudChob3N0KSksIGhvc3QpOworICB9LCAnZG9jdW1lbnQuZWxlbWVudEZy
b21Qb2ludCBhbmQgc2hhZG93LkVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRv
dyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVkIHRl
eHQgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFzIGRp
c3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFjaChm
dW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIGNvbnRh
aW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Quc3R5bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1
ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7
CisgICAgc2hhZG93LmlubmVySFRNTCA9ICc8c2xvdD48L3Nsb3Q+JzsKKyAgICBob3N0LmlubmVy
SFRNTCA9ICd0ZXh0JzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgYXNz
ZXJ0X2VxdWFscyhkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhv
c3QpKSwgaG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCgu
Li5wb2ludEluRWxlbWVudChob3N0KSksIGhvc3QpOworICB9LCAnZG9jdW1lbnQuZWxlbWVudEZy
b21Qb2ludCBhbmQgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBz
aGFkb3cgaG9zdCB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhc3NpZ25lZCB0byBh
IHNsb3QgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiAnICsgZGlzcGxheVZhbHVlKTsKK30pOwor
CitkaXNwbGF5VmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKGRpc3BsYXlWYWx1ZSkgeworICB0ZXN0
KGZ1bmN0aW9uICgpIHsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7CisgICAgbGV0IGhv
c3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXN0LWVsZW1lbnQnKTsKKyAgICBob3N0LnN0
eWxlLmRpc3BsYXkgPSBkaXNwbGF5VmFsdWU7CisgICAgbGV0IHNoYWRvdyA9IGhvc3QuYXR0YWNo
U2hhZG93KHttb2RlOiAnY2xvc2VkJ30pOworICAgIHNoYWRvdy5pbm5lckhUTUwgPSAnPHNsb3Q+
PC9zbG90Pic7CisgICAgaG9zdC5pbm5lckhUTUwgPSAnPHNwYW4+dGV4dDwvc3Bhbj4nOworICAg
IGNvbnRhaW5lci5hcHBlbmRDaGlsZChob3N0KTsKKyAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50
LmVsZW1lbnRGcm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBob3N0LnF1ZXJ5U2Vs
ZWN0b3IoJ3NwYW4nKSk7CisgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2lu
dCguLi5wb2ludEluRWxlbWVudChob3N0KSksIGhvc3QucXVlcnlTZWxlY3Rvcignc3BhbicpKTsK
KyAgfSwgJ2RvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudEZy
b21Qb2ludCBtdXN0IHJldHVybiB0aGUgZWxlbWVudCBhc3NpZ25lZCB0byBhIHNsb3Qgd2hlbiBo
aXQtdGVzdGVkIHRleHQgbm9kZSB1bmRlciBhbiBlbGVtZW50IGlzIGFzc2lnbmVkIHRvIGEgc2xv
dCBpbiB0aGUgc2hhZG93IHRyZWUgYW5kIHRoZSBzaGFkb3cgaG9zdCBvZiB0aGUgc2xvdCBoYXMg
ZGlzcGxheTogJyArIGRpc3BsYXlWYWx1ZSk7Cit9KTsKKworZGlzcGxheVZhbHVlcy5mb3JFYWNo
KGZ1bmN0aW9uIChkaXNwbGF5VmFsdWUpIHsKKyAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgY29u
dGFpbmVyLmlubmVySFRNTCA9ICcnOworICAgIGxldCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgndGVzdC1lbGVtZW50Jyk7CisgICAgaG9zdC5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheVZh
bHVlOworICAgIGxldCBzaGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9
KTsKKyAgICBzaGFkb3cuaW5uZXJIVE1MID0gJzxzcGFuPnRleHQ8L3NwYW4+JzsKKyAgICBjb250
YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5lbGVt
ZW50RnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgaG9zdCk7CisgICAgYXNzZXJ0
X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSks
IHNoYWRvdy5xdWVyeVNlbGVjdG9yKCdzcGFuJykpOworICB9LCAnZG9jdW1lbnQuZWxlbWVudEZy
b21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIGhpdC10ZXN0ZWQgZWxl
bWVudCB1bmRlciBhIHNoYWRvdyByb290IGFuZCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQg
bXVzdCByZXR1cm4gdGhlIGVsZW1lbnQgcGFyZW50IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9k
ZSB1bmRlciB0aGUgcG9pbnQgd2hlbiB0aGUgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6ICcgKyBk
aXNwbGF5VmFsdWUpOworfSk7CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGlz
cGxheVZhbHVlKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIGNvbnRhaW5lci5pbm5lckhU
TUwgPSAnJzsKKyAgICBsZXQgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxl
bWVudCcpOworICAgIGhvc3Quc3R5bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1ZTsKKyAgICBsZXQg
c2hhZG93ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgc2hhZG93
LmlubmVySFRNTCA9ICc8c2xvdD5mYWxsYmFjazwvc2xvdD4nOworICAgIGNvbnRhaW5lci5hcHBl
bmRDaGlsZChob3N0KTsKKyAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmVsZW1lbnRGcm9tUG9p
bnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBob3N0KTsKKyAgICBhc3NlcnRfZXF1YWxzKHNo
YWRvdy5lbGVtZW50RnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgc2hhZG93LnF1
ZXJ5U2VsZWN0b3IoJ3Nsb3QnKSk7CisgIH0sICdkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50IG11
c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50
IG11c3QgcmV0dXJuIHRoZSBzbG90IHBhcmVudCBvZiB0aGUgZmFsbGJhY2sgdGV4dCB3aGVuIHRo
ZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGZhbGxiYWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0
IGhhcyBkaXNwbGF5OiAnICsgZGlzcGxheVZhbHVlKTsKK30pOworCisKKworZGlzcGxheVZhbHVl
cy5mb3JFYWNoKGZ1bmN0aW9uIChkaXNwbGF5VmFsdWUpIHsKKyAgdGVzdChmdW5jdGlvbiAoKSB7
CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworICAgIGxldCBob3N0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgndGVzdC1lbGVtZW50Jyk7CisgICAgaG9zdC5zdHlsZS5kaXNwbGF5ID0g
ZGlzcGxheVZhbHVlOworICAgIGxldCBzaGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTog
J2Nsb3NlZCd9KTsKKyAgICBzaGFkb3cuaW5uZXJIVE1MID0gJzxzbG90Pjwvc2xvdD4nOworICAg
IGhvc3QuaW5uZXJIVE1MID0gJzxpbm5lci1ob3N0PmhlbGxvPC9pbm5lci1ob3N0Pic7CisgICAg
Y29udGFpbmVyLmFwcGVuZENoaWxkKGhvc3QpOworCisgICAgbGV0IGlubmVySG9zdCA9IGhvc3Qu
cXVlcnlTZWxlY3RvcignaW5uZXItaG9zdCcpOworICAgIGxldCBpbm5lclNoYWRvdyA9IGlubmVy
SG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgaW5uZXJTaGFkb3cuaW5u
ZXJIVE1MID0gJzxzbG90Pjwvc2xvdD4nOworICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZWxl
bWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSksIGlubmVySG9zdCk7CisgICAg
YXNzZXJ0X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudCho
b3N0KSksIGlubmVySG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhpbm5lclNoYWRvdy5lbGVtZW50
RnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgaW5uZXJIb3N0KTsKKyAgfSwgJ2Rv
Y3VtZW50LmVsZW1lbnRGcm9tUG9pbnQsIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCwgaW5u
ZXJTaGFkb3cuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiBhIGNoaWxkIGVsZW1lbnQgYXNz
aWduZWQgdG8gYSBzbG90JworICArICcgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMg
YXNzaWduZWQgdG8gYSBzbG90IGluIHRoZSBzaGFkb3cgdHJlZSBvZiB0aGUgY2hpbGQgZWxlbWVu
dCBhbmQgdGhlIG91dGVyIHNoYWRvdyBob3N0IGhhcyBkaXNwbGF5OiAnICsgZGlzcGxheVZhbHVl
KTsKK30pOworCitkaXNwbGF5VmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKGRpc3BsYXlWYWx1ZSkg
eworICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7Cisg
ICAgbGV0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXN0LWVsZW1lbnQnKTsKKyAg
ICBob3N0LnN0eWxlLmRpc3BsYXkgPSBkaXNwbGF5VmFsdWU7CisgICAgbGV0IHNoYWRvdyA9IGhv
c3QuYXR0YWNoU2hhZG93KHttb2RlOiAnY2xvc2VkJ30pOworICAgIHNoYWRvdy5pbm5lckhUTUwg
PSAnPHNsb3Q+PC9zbG90Pic7CisgICAgaG9zdC5pbm5lckhUTUwgPSAnPGlubmVyLWhvc3Q+PC9p
bm5lci1ob3N0Pic7CisgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGhvc3QpOworCisgICAgbGV0
IGlubmVySG9zdCA9IGhvc3QucXVlcnlTZWxlY3RvcignaW5uZXItaG9zdCcpOworICAgIGxldCBp
bm5lclNoYWRvdyA9IGlubmVySG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7Cisg
ICAgaW5uZXJTaGFkb3cuaW5uZXJIVE1MID0gJ2hlbGxvJzsKKyAgICBhc3NlcnRfZXF1YWxzKGRv
Y3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBpbm5lckhv
c3QpOworICAgIGFzc2VydF9lcXVhbHMoc2hhZG93LmVsZW1lbnRGcm9tUG9pbnQoLi4ucG9pbnRJ
bkVsZW1lbnQoaG9zdCkpLCBpbm5lckhvc3QpOworICAgIGFzc2VydF9lcXVhbHMoaW5uZXJTaGFk
b3cuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSksIGlubmVySG9zdCk7
CisgIH0sICdkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50LCBzaGFkb3dSb290LmVsZW1lbnRGcm9t
UG9pbnQsIGlubmVyU2hhZG93LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gYSBjaGlsZCBl
bGVtZW50IHdpdGggaXRzIG93biBzaGFkb3cgdHJlZSBhc3NpZ25lZCB0byBhIHNsb3QnCisgICsg
JyB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBpdHMgZGlyZWN0IGNoaWxkIGFuZCB0
aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7
CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRl
c3QoZnVuY3Rpb24gKCkgeworICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQg
aG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Qu
c3R5bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRh
Y2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgc2hhZG93LmlubmVySFRNTCA9ICc8c2xv
dD48L3Nsb3Q+JzsKKyAgICBob3N0LmlubmVySFRNTCA9ICc8aW5uZXItaG9zdD48L2lubmVyLWhv
c3Q+JzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisKKyAgICBsZXQgaW5uZXJI
b3N0ID0gaG9zdC5xdWVyeVNlbGVjdG9yKCdpbm5lci1ob3N0Jyk7CisgICAgbGV0IGlubmVyU2hh
ZG93ID0gaW5uZXJIb3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBpbm5l
clNoYWRvdy5pbm5lckhUTUwgPSAnPHNwYW4+aGVsbG88L3NwYW4+JzsKKworICAgIGFzc2VydF9l
cXVhbHMoZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSks
IGlubmVySG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCgu
Li5wb2ludEluRWxlbWVudChob3N0KSksIGlubmVySG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhp
bm5lclNoYWRvdy5lbGVtZW50RnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgaW5u
ZXJTaGFkb3cucXVlcnlTZWxlY3Rvcignc3BhbicpKTsKKyAgfSwgJ2RvY3VtZW50LmVsZW1lbnRG
cm9tUG9pbnQsIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiBhIGNoaWxk
IGVsZW1lbnQgd2l0aCBpdHMgb3duIHNoYWRvdyB0cmVlIGFzc2lnbmVkIHRvIGEgc2xvdCcKKyAg
KyAnIHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGEgY2hpbGQgb2YgYW5vdGhlciBl
bGVtZW50IGFuZCBpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBw
YXJlbnQgZWxlbWVudCBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgaXQgd2hlbiB0
aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7
CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRl
c3QoZnVuY3Rpb24gKCkgeworICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQg
aG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Qu
c3R5bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRh
Y2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgc2hhZG93LmlubmVySFRNTCA9ICdoZWxs
byc7CisgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGhvc3QpOworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkp
LCBbaG9zdCwgY29udGFpbmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnRdKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNoYWRvdy5lbGVtZW50c0Zyb21Qb2ludCgu
Li5wb2ludEluRWxlbWVudChob3N0KSksIFtob3N0LCBjb250YWluZXIsIGRvY3VtZW50LmJvZHks
IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOworICB9LCAnZG9jdW1lbnQuZWxlbWVudHNGcm9t
UG9pbnQgYW5kIHNoYWRvdy5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93
IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMgb2YgdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHdoZW4g
dGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGEgZGlyZWN0IGNoaWxkIG9mIHRoZSByb290IGFu
ZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogJyArIGRpc3BsYXlWYWx1ZSk7Cit9KTsKKworZGlzcGxh
eVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uIChkaXNwbGF5VmFsdWUpIHsKKyAgdGVzdChmdW5jdGlv
biAoKSB7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworICAgIGxldCBob3N0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgndGVzdC1lbGVtZW50Jyk7CisgICAgaG9zdC5zdHlsZS5kaXNw
bGF5ID0gZGlzcGxheVZhbHVlOworICAgIGxldCBzaGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7
bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBzaGFkb3cuaW5uZXJIVE1MID0gJzxzbG90Pjwvc2xvdD4n
OworICAgIGhvc3QuaW5uZXJIVE1MID0gJ3RleHQnOworICAgIGNvbnRhaW5lci5hcHBlbmRDaGls
ZChob3N0KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRvY3VtZW50LmVsZW1lbnRzRnJvbVBv
aW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgW2hvc3QsIGNvbnRhaW5lciwgZG9jdW1lbnQu
Ym9keSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhzaGFkb3cuZWxlbWVudHNGcm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBbaG9z
dCwgY29udGFpbmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTsK
KyAgfSwnZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudHNG
cm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IGFuZCBpdHMgYW5jZXN0b3JzIHdo
ZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBhbmQgdGhl
IGhvc3QgaGFzIGRpc3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7CisKK2Rpc3BsYXlWYWx1
ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkg
eworICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQgaG9zdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Quc3R5bGUuZGlzcGxheSA9
IGRpc3BsYXlWYWx1ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6
ICdjbG9zZWQnfSk7CisgICAgc2hhZG93LmlubmVySFRNTCA9ICc8ZGl2PjxzbG90Pjwvc2xvdD48
L2Rpdj4nOworICAgIGhvc3QuaW5uZXJIVE1MID0gJzxzcGFuPnRleHQ8L3NwYW4+JzsKKyAgICBj
b250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhkb2N1
bWVudC5lbGVtZW50c0Zyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSksIFtob3N0LnF1
ZXJ5U2VsZWN0b3IoJ3NwYW4nKSwgaG9zdCwgY29udGFpbmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnRdKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNoYWRvdy5l
bGVtZW50c0Zyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSksIFtob3N0LnF1ZXJ5U2Vs
ZWN0b3IoJ3NwYW4nKSwgc2hhZG93LnF1ZXJ5U2VsZWN0b3IoJ2RpdicpLCAgaG9zdCwgY29udGFp
bmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTsKKyAgfSwgJ2Rv
Y3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IGFuZCBzaGFkb3dSb290LmVsZW1lbnRzRnJvbVBvaW50
IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50IGFzc2lnbmVkIHRvIGEgc2xvdCBhbmQgaXRzIG5vbi1z
aGFkb3cgYW5jZXN0b3JzIHdoZW4gaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgYW4gZWxlbWVu
dCBpcyBhc3NpZ25lZCB0byBhIHNsb3QgaW4gdGhlIHNoYWRvdyB0cmVlIGFuZCB0aGUgc2hhZG93
IGhvc3Qgb2YgdGhlIHNsb3QgaGFzIGRpc3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7CisK
K2Rpc3BsYXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRlc3Qo
ZnVuY3Rpb24gKCkgeworICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQgaG9z
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Quc3R5
bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hT
aGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgc2hhZG93LmlubmVySFRNTCA9ICc8c3Bhbj50
ZXh0PC9zcGFuPic7CisgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGhvc3QpOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1l
bnQoaG9zdCkpLCBbaG9zdCwgY29udGFpbmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnRdKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNoYWRvdy5lbGVtZW50c0Zy
b21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSksIFtzaGFkb3cucXVlcnlTZWxlY3Rvcign
c3BhbicpLCBob3N0LCBjb250YWluZXIsIGRvY3VtZW50LmJvZHksIGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudF0pOworICB9LCAnZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4g
dGhlIHNoYWRvdyBob3N0IGFuZCBpdHMgYW5jZXN0b3JzIG9mIHRoZSBoaXQtdGVzdGVkIGVsZW1l
bnQgdW5kZXIgYSBzaGFkb3cgcm9vdCBhbmQnCisgICsgJ3NoYWRvd1Jvb3QuZWxlbWVudHNGcm9t
UG9pbnQgbXVzdCByZXR1cm4gdGhlIGVsZW1lbnQgcGFyZW50IGFuZCBpdHMgbm9uLXNoYWRvdyBh
bmNlc3RvcnMgb2YgdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIHRoZSBwb2ludCB3aGVu
IHRoZSBzaGFkb3cgaG9zdCBoYXMgZGlzcGxheTogJyArIGRpc3BsYXlWYWx1ZSk7Cit9KTsKKwor
ZGlzcGxheVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uIChkaXNwbGF5VmFsdWUpIHsKKyAgdGVzdChm
dW5jdGlvbiAoKSB7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworICAgIGxldCBob3N0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVzdC1lbGVtZW50Jyk7CisgICAgaG9zdC5zdHls
ZS5kaXNwbGF5ID0gZGlzcGxheVZhbHVlOworICAgIGxldCBzaGFkb3cgPSBob3N0LmF0dGFjaFNo
YWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBzaGFkb3cuaW5uZXJIVE1MID0gJzxkaXY+PHNs
b3Q+ZmFsbGJhY2s8L3Nsb3Q+PC9kaXY+JzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9z
dCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCgu
Li5wb2ludEluRWxlbWVudChob3N0KSksIFtob3N0LCBjb250YWluZXIsIGRvY3VtZW50LmJvZHks
IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoc2hh
ZG93LmVsZW1lbnRzRnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgW3NoYWRvdy5x
dWVyeVNlbGVjdG9yKCdzbG90JyksIHNoYWRvdy5xdWVyeVNlbGVjdG9yKCdkaXYnKSwgaG9zdCwg
Y29udGFpbmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTsKKyAg
fSwgJ2RvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9z
dCBhbmQgaXRzIGFuY2VzdG9ycyBhbmQgc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0
IHJldHVybiB0aGUgc2xvdCBwYXJlbnQgb2YgdGhlIGZhbGxiYWNrIHRleHQgYW5kIGl0cyBub24t
c2hhZG93IGFuY2VzdG9ycyB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGZhbGxi
YWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiAnICsgZGlzcGxheVZhbHVlKTsK
K30pOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOwor
ICBsZXQgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICBo
b3N0LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOworICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hT
aGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgIHNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdiBzdHls
ZT0ibWFyZ2luOiAycHg7Ij5ub3QgaGl0PC9kaXY+JzsKKyAgbGV0IGFib3ZlSG9zdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBhYm92ZUhvc3QuYXBwZW5kQ2hpbGQoaG9zdCk7
CisgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChhYm92ZUhvc3QpOworICBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuc3R5bGUgPSAnYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7IGhlaWdodDog
MnB4Oyc7CisgIGxldCBib3VuZGluZ1JlY3QgPSBob3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KGJvdW5k
aW5nUmVjdC54LCBib3VuZGluZ1JlY3QueSksIFtob3N0LCBhYm92ZUhvc3QsIGNvbnRhaW5lciwg
ZG9jdW1lbnQuYm9keSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk7CisgIGFzc2VydF9hcnJh
eV9lcXVhbHMoc2hhZG93LmVsZW1lbnRzRnJvbVBvaW50KGJvdW5kaW5nUmVjdC54LCBib3VuZGlu
Z1JlY3QueSksIFtob3N0LCBhYm92ZUhvc3QsIGNvbnRhaW5lciwgZG9jdW1lbnQuYm9keSwgZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50XSk7Cit9LCAnc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2lu
dCBtdXN0IGJlaGF2ZSB0aGUgc2FtZSB3aXRoIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IHJl
Z2FyZGluZyBIVE1MIGVsZW1lbnQnKTsKKworY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworCisg
ICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNl
LWF0dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0Vs
ZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVudC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxl
bWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKK1BBU1Mg
RWxlbWVudC5hdHRhY2hTaGFkb3cgbXVzdCBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgU2hhZG93Um9v
dCBmb3IgYXV0b25vbW91cyBjdXN0b20gZWxlbWVudHMgCitQQVNTIEVsZW1lbnQuYXR0YWNoU2hh
ZG93IG11c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBmb3IgY3VzdG9taXplZCBidWlsdC1p
biBlbGVtZW50cyAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20t
ZWxlbWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ct
Y3VzdG9tLWVsZW1lbnQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0
YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+U2hhZG93IERPTTogQXR0YWNoaW5nIGEgU2hh
ZG93Um9vdCBmb3IgY3VzdG9tIGVsZW1lbnRzPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1dGhvciIg
dGl0bGU9IkhheWF0byBJdG8iIGhyZWY9Im1haWx0bzpoYXlhdG9AY2hyb21pdW0ub3JnIj4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tZWxl
bWVudC1hdHRhY2hzaGFkb3ciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NsYXNzIE15QXV0b25vbW91c0N1c3RvbUVsZW1lbnQg
ZXh0ZW5kcyBIVE1MRWxlbWVudCB7Cit9CisKK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgnbXktY3Vz
dG9tJywgTXlBdXRvbm9tb3VzQ3VzdG9tRWxlbWVudCk7CisKK3Rlc3QoKCkgPT4geworICBhc3Nl
cnRfdHJ1ZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdteS1jdXN0b20nKS5hdHRhY2hTaGFkb3co
e21vZGU6ICJvcGVuIn0pIGluc3RhbmNlb2YgU2hhZG93Um9vdCk7Cit9LCAnRWxlbWVudC5hdHRh
Y2hTaGFkb3cgbXVzdCBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgU2hhZG93Um9vdCBmb3IgYXV0b25v
bW91cyBjdXN0b20gZWxlbWVudHMnKTsKKworY2xhc3MgTXlDdXN0b21pemVkQnVpbHRpbkVsZW1l
bnQgZXh0ZW5kcyBIVE1MSW5wdXRFbGVtZW50IHsKK30KKworY3VzdG9tRWxlbWVudHMuZGVmaW5l
KCdteS1pbnB1dCcsIE15Q3VzdG9taXplZEJ1aWx0aW5FbGVtZW50LCB7IGV4dGVuZHM6ICdpbnB1
dCcgfSk7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdOb3RTdXBw
b3J0ZWRFcnJvcid9LCAoKSA9PiB7CisgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
LCB7aXM6ICdteS1pbnB1dCd9KS5hdHRhY2hTaGFkb3coe21vZGU6ICJvcGVuIn0pOworICB9KTsK
K30sICdFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3Ig
Zm9yIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudHMnKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDUgKzQsNSBAQCBQQVNTIE5vZGVzIG90aGVyIHRo
YW4gRWxlbWVudCBzaG91bGQgbm90CiBQQVNTIEVsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgdGhy
b3cgYSBUeXBlRXJyb3IgaWYgbW9kZSBpcyBub3QgIm9wZW4iIG9yICJjbG9zZWQiIAogUEFTUyBF
bGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiBTaGFkb3dSb290
IAogUEFTUyBFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IHRocm93IGEgSW52YWxpZFN0YXRlRXJy
b3IgaWYgdGhlIGNvbnRleHQgb2JqZWN0IGFscmVhZHkgaG9zdHMgYSBzaGFkb3cgdHJlZSAKLVBB
U1MgRWxlbWVudC5hdHRhY2hTaGFkb3cgbXVzdCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGZv
ciBidXR0b24sIGRldGFpbHMsIGlucHV0LCBtYXJxdWVlLCBtZXRlciwgcHJvZ3Jlc3MsIHNlbGVj
dCwgdGV4dGFyZWEsIGFuZCBrZXlnZW4gZWxlbWVudHMgCitQQVNTIEVsZW1lbnQuYXR0YWNoU2hh
ZG93IG11c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBmb3Igbm9uLXNhZmVsaXN0ZWQgZWxl
bWVudHMgCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3cuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93Lmh0bWwJKHJldmlzaW9uIDIzNTg4
MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3cuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtNyw2ICs3LDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3dlYmNvbXBvbmVudHMvc3BlYy9zaGFkb3cvI3dpZGwtRWxlbWVudC1hdHRhY2hTaGFkb3ct
U2hhZG93Um9vdC1TaGFkb3dSb290SW5pdC1zaGFkb3dSb290SW5pdERpY3QiPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9zaGFkb3ctZG9tLXV0aWxzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PGRpdiBpZD0ibG9nIj48L2Rpdj4KQEAgLTc4LDcgKzc5LDcgQEAgdGVzdChmdW5jdGlvbiAoKSB7
CiB9LCAnRWxlbWVudC5hdHRhY2hTaGFkb3cgbXVzdCB0aHJvdyBhIEludmFsaWRTdGF0ZUVycm9y
IGlmIHRoZSBjb250ZXh0IG9iamVjdCBhbHJlYWR5IGhvc3RzIGEgc2hhZG93IHRyZWUnKTsKIAog
dGVzdChmdW5jdGlvbiAoKSB7Ci0gICAgZm9yICh2YXIgZWxlbWVudE5hbWUgb2YgWydidXR0b24n
LCAnZGV0YWlscycsICdpbnB1dCcsICdtYXJxdWVlJywgJ21ldGVyJywgJ3Byb2dyZXNzJywgJ3Nl
bGVjdCcsICd0ZXh0YXJlYScsICdrZXlnZW4nXSkgeworICAgIGZvciAodmFyIGVsZW1lbnROYW1l
IG9mIEFUVEFDSFNIQURPV19ESVNBTExPV0VEX0VMRU1FTlRTKSB7CiAgICAgICAgIGFzc2VydF90
aHJvd3MoeyduYW1lJzogJ05vdFN1cHBvcnRlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsKICAgICAg
ICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudE5hbWUpLmF0dGFjaFNoYWRvdyh7
bW9kZTogIm9wZW4ifSk7CiAgICAgICAgIH0sICdDYWxsaW5nIGF0dGFjaFNoYWRvdyh7bW9kZTog
Im9wZW4ifSkgb24gJyArIGVsZW1lbnROYW1lICsgJyBlbGVtZW50IG11c3QgdGhyb3cnKTsKQEAg
LTg3LDcgKzg4LDcgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KGVsZW1lbnROYW1lKS5hdHRhY2hTaGFkb3coe21vZGU6ICJjbG9zZWQifSk7
CiAgICAgICAgIH0sICdDYWxsaW5nIGF0dGFjaFNoYWRvdyh7bW9kZTogImNsb3NlZCJ9KSBvbiAn
ICsgZWxlbWVudE5hbWUgKyAnIGVsZW1lbnQgbXVzdCB0aHJvdycpOwogICAgIH0KLX0sICdFbGVt
ZW50LmF0dGFjaFNoYWRvdyBtdXN0IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgZm9yIGJ1dHRv
biwgZGV0YWlscywgaW5wdXQsIG1hcnF1ZWUsIG1ldGVyLCBwcm9ncmVzcywgc2VsZWN0LCB0ZXh0
YXJlYSwgYW5kIGtleWdlbiBlbGVtZW50cycpOworfSwgJ0VsZW1lbnQuYXR0YWNoU2hhZG93IG11
c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRFcnJvciBmb3Igbm9uLXNhZmVsaXN0ZWQgZWxlbWVudHMn
KTsKIAogPC9zY3JpcHQ+CiA8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRXh0ZW5zaW9ucy10by1FdmVudC1JbnRlcmZh
Y2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FeHRlbnNpb25zLXRvLUV2ZW50LUludGVyZmFj
ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FeHRlbnNpb25zLXRvLUV2ZW50LUlu
dGVyZmFjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjAgKzEsMTggQEAKIAot
UEFTUyBjb21wb3NlZFBhdGgoKSBtdXN0IGV4aXN0IG9uIEV2ZW50IAogUEFTUyBjb21wb3NlZFBh
dGgoKSBtdXN0IHJldHVybiBhbiBlbXB0eSBhcnJheSB3aGVuIHRoZSBldmVudCBoYXMgbm90IGJl
ZW4gZGlzcGF0Y2hlZCAKIFBBU1MgY29tcG9zZWRQYXRoKCkgbXVzdCByZXR1cm4gYW4gZW1wdHkg
YXJyYXkgd2hlbiB0aGUgZXZlbnQgaXMgbm8gbG9uZ2VyIGRpc3BhdGNoZWQgCi1QQVNTIGNvbXBv
c2VkIG11c3QgZXhpc3Qgb24gRXZlbnQgCiBQQVNTIGNvbXBvc2VkIG9uIEV2ZW50SW5pdCBtdXN0
IGRlZmF1bHQgdG8gZmFsc2UgCiBQQVNTIGNvbXBvc2VkIG9uIEV2ZW50SW5pdCBtdXN0IHNldCB0
aGUgY29tcG9zZWQgZmxhZyAKLUZBSUwgVGhlIGV2ZW50IG11c3QgcHJvcGFnYXRlIG91dCBvZiBv
cGVuIG1vZGUgc2hhZG93IGJvdW5kYXJpZXMgd2hlbiB0aGUgY29tcG9zZWQgZmxhZyBpcyBzZXQg
YXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgNSwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgVGhl
IGV2ZW50IG11c3QgcHJvcGFnYXRlIG91dCBvZiBjbG9zZWQgbW9kZSBzaGFkb3cgYm91bmRhcmll
cyB3aGVuIHRoZSBjb21wb3NlZCBmbGFnIGlzIHNldCBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1
ZSBpcyA1LCBleHBlY3RlZCBhcnJheQotRkFJTCBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRl
IG91dCBvZiBvcGVuIG1vZGUgc2hhZG93IGJvdW5kYXJpZXMgd2hlbiB0aGUgY29tcG9zZWQgZmxh
ZyBpcyB1bnNldCBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAyLCBleHBlY3RlZCBhcnJh
eQotRkFJTCBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRlIG91dCBvZiBjbG9zZWQgbW9kZSBz
aGFkb3cgYm91bmRhcmllcyB3aGVuIHRoZSBjb21wb3NlZCBmbGFnIGlzIHVuc2V0IGFzc2VydF9h
cnJheV9lcXVhbHM6IHZhbHVlIGlzIDIsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIFRoZSBldmVudCBt
dXN0IG5vdCBwcm9wYWdhdGUgb3V0IG9mIG9wZW4gbW9kZSBzaGFkb3cgYm91bmRhcmllcyB3aGVu
IHRoZSBjb21wb3NlZCBmbGFnIGlzIHVuc2V0IG9uIGFuIGV2ZW50IHdpdGggcmVsYXRlZFRhcmdl
dCBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAyLCBleHBlY3RlZCBhcnJheQotRkFJTCBU
aGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRlIG91dCBvZiBjbG9zZWQgbW9kZSBzaGFkb3cgYm91
bmRhcmllcyB3aGVuIHRoZSBjb21wb3NlZCBmbGFnIGlzIHVuc2V0IG9uIGFuIGV2ZW50IHdpdGgg
cmVsYXRlZFRhcmdldCBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAyLCBleHBlY3RlZCBh
cnJheQotRkFJTCBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUg
c2hhZG93IHRyZWUgb2YgdGhlIHRhcmdldCBidXQgbXVzdCBwcm9wYWdhdGUgb3V0IG9mIGlubmVy
IHNoYWRvdyB0cmVlcyB3aGVuIHRoZSBzY29wZWQgZmxhZyBpcyBzZXQgYXNzZXJ0X2FycmF5X2Vx
dWFsczogdmFsdWUgaXMgNSwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgVGhlIGV2ZW50IG11c3Qgbm90
IHByb3BhZ2F0ZSBvdXQgb2YgY2xvc2VkIG1vZGUgc2hhZG93IHRyZWUgb2YgdGhlIHRhcmdldCBi
dXQgbXVzdCBwcm9wYWdhdGUgb3V0IG9mIGlubmVyIHNoYWRvdyB0cmVlcyB3aGVuIHRoZSBzY29w
ZWQgZmxhZyBpcyBzZXQgYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgNSwgZXhwZWN0ZWQg
YXJyYXkKLUZBSUwgVGhlIGV2ZW50IG11c3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUgc2hh
ZG93IHRyZWUgaW4gd2hpY2ggdGhlIHJlbGF0aXZlIHRhcmdldCBhbmQgdGhlIHJlbGF0aXZlIHJl
bGF0ZWQgdGFyZ2V0IGFyZSB0aGUgc2FtZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyA0
LCBleHBlY3RlZCBhcnJheQotRkFJTCBUaGUgZXZlbnQgbXVzdCBwcm9wYWdhdGUgb3V0IG9mIGNs
b3NlZCBtb2RlIHNoYWRvdyB0cmVlIGluIHdoaWNoIHRoZSByZWxhdGl2ZSB0YXJnZXQgYW5kIHRo
ZSByZWxhdGl2ZSByZWxhdGVkIHRhcmdldCBhcmUgdGhlIHNhbWUgYXNzZXJ0X2FycmF5X2VxdWFs
czogdmFsdWUgaXMgNCwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgY29tcG9zZWRQYXRoKCkgbXVzdCBj
b250YWluIGFuZCBvbmx5IGNvbnRhaW4gdGhlIHVuY2xvc2VkIG5vZGVzIG9mIHRhcmdldCBpbiBv
cGVuIG1vZGUgc2hhZG93IHRyZWVzIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIDksIGV4
cGVjdGVkIGFycmF5Ci1GQUlMIGNvbXBvc2VkUGF0aCgpIG11c3QgY29udGFpbiBhbmQgb25seSBj
b250YWluIHRoZSB1bmNsb3NlZCBub2RlcyBvZiB0YXJnZXQgaW4gY2xvc2VkIG1vZGUgc2hhZG93
IHRyZWVzIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIDksIGV4cGVjdGVkIGFycmF5CitQ
QVNTIFRoZSBldmVudCBtdXN0IHByb3BhZ2F0ZSBvdXQgb2Ygb3BlbiBtb2RlIHNoYWRvdyBib3Vu
ZGFyaWVzIHdoZW4gdGhlIGNvbXBvc2VkIGZsYWcgaXMgc2V0IAorUEFTUyBUaGUgZXZlbnQgbXVz
dCBwcm9wYWdhdGUgb3V0IG9mIGNsb3NlZCBtb2RlIHNoYWRvdyBib3VuZGFyaWVzIHdoZW4gdGhl
IGNvbXBvc2VkIGZsYWcgaXMgc2V0IAorUEFTUyBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRl
IG91dCBvZiBvcGVuIG1vZGUgc2hhZG93IGJvdW5kYXJpZXMgd2hlbiB0aGUgY29tcG9zZWQgZmxh
ZyBpcyB1bnNldCAKK1BBU1MgVGhlIGV2ZW50IG11c3Qgbm90IHByb3BhZ2F0ZSBvdXQgb2YgY2xv
c2VkIG1vZGUgc2hhZG93IGJvdW5kYXJpZXMgd2hlbiB0aGUgY29tcG9zZWQgZmxhZyBpcyB1bnNl
dCAKK1BBU1MgVGhlIGV2ZW50IG11c3Qgbm90IHByb3BhZ2F0ZSBvdXQgb2Ygb3BlbiBtb2RlIHNo
YWRvdyBib3VuZGFyaWVzIHdoZW4gdGhlIGNvbXBvc2VkIGZsYWcgaXMgdW5zZXQgb24gYW4gZXZl
bnQgd2l0aCByZWxhdGVkVGFyZ2V0IAorUEFTUyBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRl
IG91dCBvZiBjbG9zZWQgbW9kZSBzaGFkb3cgYm91bmRhcmllcyB3aGVuIHRoZSBjb21wb3NlZCBm
bGFnIGlzIHVuc2V0IG9uIGFuIGV2ZW50IHdpdGggcmVsYXRlZFRhcmdldCAKK1BBU1MgVGhlIGV2
ZW50IG11c3Qgbm90IHByb3BhZ2F0ZSBvdXQgb2Ygb3BlbiBtb2RlIHNoYWRvdyB0cmVlIG9mIHRo
ZSB0YXJnZXQgYnV0IG11c3QgcHJvcGFnYXRlIG91dCBvZiBpbm5lciBzaGFkb3cgdHJlZXMgd2hl
biB0aGUgc2NvcGVkIGZsYWcgaXMgc2V0IAorUEFTUyBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFn
YXRlIG91dCBvZiBjbG9zZWQgbW9kZSBzaGFkb3cgdHJlZSBvZiB0aGUgdGFyZ2V0IGJ1dCBtdXN0
IHByb3BhZ2F0ZSBvdXQgb2YgaW5uZXIgc2hhZG93IHRyZWVzIHdoZW4gdGhlIHNjb3BlZCBmbGFn
IGlzIHNldCAKK1BBU1MgVGhlIGV2ZW50IG11c3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUg
c2hhZG93IHRyZWUgaW4gd2hpY2ggdGhlIHJlbGF0aXZlIHRhcmdldCBhbmQgdGhlIHJlbGF0aXZl
IHJlbGF0ZWQgdGFyZ2V0IGFyZSB0aGUgc2FtZSAKK1BBU1MgVGhlIGV2ZW50IG11c3QgcHJvcGFn
YXRlIG91dCBvZiBjbG9zZWQgbW9kZSBzaGFkb3cgdHJlZSBpbiB3aGljaCB0aGUgcmVsYXRpdmUg
dGFyZ2V0IGFuZCB0aGUgcmVsYXRpdmUgcmVsYXRlZCB0YXJnZXQgYXJlIHRoZSBzYW1lIAorUEFT
UyBjb21wb3NlZFBhdGgoKSBtdXN0IGNvbnRhaW4gYW5kIG9ubHkgY29udGFpbiB0aGUgdW5jbG9z
ZWQgbm9kZXMgb2YgdGFyZ2V0IGluIG9wZW4gbW9kZSBzaGFkb3cgdHJlZXMgCitQQVNTIGNvbXBv
c2VkUGF0aCgpIG11c3QgY29udGFpbiBhbmQgb25seSBjb250YWluIHRoZSB1bmNsb3NlZCBub2Rl
cyBvZiB0YXJnZXQgaW4gY2xvc2VkIG1vZGUgc2hhZG93IHRyZWVzIAogCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRXh0ZW5zaW9u
cy10by1FdmVudC1JbnRlcmZhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRXh0ZW5zaW9ucy10by1FdmVu
dC1JbnRlcmZhY2UuaHRtbAkocmV2aXNpb24gMjM1ODgwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0V4dGVuc2lvbnMtdG8tRXZlbnQt
SW50ZXJmYWNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE0LDExICsxNCw2IEBACiA8c2NyaXB0
PgogCiB0ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICBhc3NlcnRfdHJ1ZSgnY29tcG9zZWRQYXRoJyBp
biBFdmVudC5wcm90b3R5cGUpOwotICAgIGFzc2VydF90cnVlKCdjb21wb3NlZFBhdGgnIGluIG5l
dyBFdmVudCgnbXktZXZlbnQnKSk7Ci19LCAnY29tcG9zZWRQYXRoKCkgbXVzdCBleGlzdCBvbiBF
dmVudCcpOwotCi10ZXN0KGZ1bmN0aW9uICgpIHsKICAgICB2YXIgZXZlbnQgPSBuZXcgRXZlbnQo
J215LWV2ZW50Jyk7CiAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhldmVudC5jb21wb3NlZFBhdGgo
KSwgW10pOwogfSwgJ2NvbXBvc2VkUGF0aCgpIG11c3QgcmV0dXJuIGFuIGVtcHR5IGFycmF5IHdo
ZW4gdGhlIGV2ZW50IGhhcyBub3QgYmVlbiBkaXNwYXRjaGVkJyk7CkBAIC0zMCwxMSArMjUsNiBA
QCB0ZXN0KGZ1bmN0aW9uICgpIHsKIH0sICdjb21wb3NlZFBhdGgoKSBtdXN0IHJldHVybiBhbiBl
bXB0eSBhcnJheSB3aGVuIHRoZSBldmVudCBpcyBubyBsb25nZXIgZGlzcGF0Y2hlZCcpOwogCiB0
ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICBhc3NlcnRfdHJ1ZSgnY29tcG9zZWQnIGluIEV2ZW50LnBy
b3RvdHlwZSk7Ci0gICAgYXNzZXJ0X3RydWUoJ2NvbXBvc2VkJyBpbiBuZXcgRXZlbnQoJ215LWV2
ZW50JykpOwotfSwgJ2NvbXBvc2VkIG11c3QgZXhpc3Qgb24gRXZlbnQnKTsKLQotdGVzdChmdW5j
dGlvbiAoKSB7CiAgICAgdmFyIGV2ZW50ID0gbmV3IEV2ZW50KCdteS1ldmVudCcpOwogICAgIGFz
c2VydF9mYWxzZShldmVudC5jb21wb3NlZCk7CiB9LCAnY29tcG9zZWQgb24gRXZlbnRJbml0IG11
c3QgZGVmYXVsdCB0byBmYWxzZScpOwpAQCAtNjQsNyArNTQsNyBAQCBmdW5jdGlvbiB0ZXN0Q29t
cG9zZWRFdmVudChtb2RlKSB7CiAKICAgICAgICAgdmFyIGV4cGVjdGVkUGF0aCA9IFsnQTFhJywg
J0ExLVNSJywgJ0ExJywgJ0EtU1InLCAnQSddOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGxvZy5ldmVudFBhdGgsIGV4cGVjdGVkUGF0aCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMobG9nLmV2ZW50UGF0aC5sZW5ndGgsIGxvZy5wYXRoQXRUYXJnZXRzLmxlbmd0aCk7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMobG9nLmV2ZW50UGF0aC5sZW5ndGgsIGxvZy5wYXRoQXRUYXJnZXRz
Lmxlbmd0aCk7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLnBhdGhBdFRhcmdldHNb
MF0sIGV4cGVjdGVkUGF0aCk7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLnBhdGhB
dFRhcmdldHNbMV0sIGV4cGVjdGVkUGF0aCk7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
bG9nLnBhdGhBdFRhcmdldHNbMl0sIG1vZGUgPT0gJ29wZW4nID8gZXhwZWN0ZWRQYXRoIDogWydB
MScsICdBLVNSJywgJ0EnXSwKQEAgLTkyLDcgKzgyLDcgQEAgZnVuY3Rpb24gdGVzdE5vbkNvbXBv
c2VkRXZlbnQobW9kZSkgewogCiAgICAgICAgIHZhciBleHBlY3RlZFBhdGggPSBbJ0ExYScsICdB
MS1TUiddOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5ldmVudFBhdGgsIGV4cGVj
dGVkUGF0aCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLmV2ZW50UGF0aC5sZW5n
dGgsIGxvZy5wYXRoQXRUYXJnZXRzLmxlbmd0aCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMobG9n
LmV2ZW50UGF0aC5sZW5ndGgsIGxvZy5wYXRoQXRUYXJnZXRzLmxlbmd0aCk7CiAgICAgICAgIGFz
c2VydF9hcnJheV9lcXVhbHMobG9nLnBhdGhBdFRhcmdldHNbMF0sIGV4cGVjdGVkUGF0aCk7CiAg
ICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLnBhdGhBdFRhcmdldHNbMV0sIGV4cGVjdGVk
UGF0aCk7CiAgICAgfSwgJ1RoZSBldmVudCBtdXN0IG5vdCBwcm9wYWdhdGUgb3V0IG9mICcgKyBt
b2RlICsgJyBtb2RlIHNoYWRvdyBib3VuZGFyaWVzIHdoZW4gdGhlIGNvbXBvc2VkIGZsYWcgaXMg
dW5zZXQnKTsKQEAgLTExOCw3ICsxMDgsNyBAQCBmdW5jdGlvbiB0ZXN0Tm9uQ29tcG9zZWRFdmVu
dFdpdGhSZWxhdGVkCiAKICAgICAgICAgdmFyIGV4cGVjdGVkUGF0aCA9IFsnQTFhJywgJ0ExLVNS
J107CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLmV2ZW50UGF0aCwgZXhwZWN0ZWRQ
YXRoKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cuZXZlbnRQYXRoLmxlbmd0aCwg
bG9nLnBhdGhBdFRhcmdldHMubGVuZ3RoKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhsb2cuZXZl
bnRQYXRoLmxlbmd0aCwgbG9nLnBhdGhBdFRhcmdldHMubGVuZ3RoKTsKICAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1swXSwgZXhwZWN0ZWRQYXRoKTsKICAgICAg
ICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1sxXSwgZXhwZWN0ZWRQYXRo
KTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cucmVsYXRlZFRhcmdldHMsIFsnQTIt
UycsICdBMi1TJ10pOwpAQCAtMTQ2LDcgKzEzNiw3IEBAIGZ1bmN0aW9uIHRlc3RTY29wZWRFdmVu
dFdpdGhVbnNjb3BlZFJlbGEKICAgICAgICAgdmFyIGV4cGVjdGVkUGF0aCA9IFsnQjFhJywgJ0Ix
Yy1TJywgJ0IxLVNSJywgJ0IxJywgJ0ItU1InXTsKICAgICAgICAgdmFyIHBhdGhFeHBvc2VkVG9C
MWEgPSBbJ0IxYScsICdCMScsICdCLVNSJ107CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
bG9nLmV2ZW50UGF0aCwgZXhwZWN0ZWRQYXRoKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhsb2cuZXZlbnRQYXRoLmxlbmd0aCwgbG9nLnBhdGhBdFRhcmdldHMubGVuZ3RoKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhsb2cuZXZlbnRQYXRoLmxlbmd0aCwgbG9nLnBhdGhBdFRhcmdldHMu
bGVuZ3RoKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1sw
XSwgbW9kZSA9PSAnb3BlbicgPyBleHBlY3RlZFBhdGggOiBwYXRoRXhwb3NlZFRvQjFhKTsKICAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1sxXSwgZXhwZWN0ZWRQ
YXRoKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1syXSwg
ZXhwZWN0ZWRQYXRoKTsKQEAgLTE3Nyw3ICsxNjcsNyBAQCBmdW5jdGlvbiB0ZXN0Q29tcG9zZWRF
dmVudFdpdGhSZWxhdGVkVGFyCiAgICAgICAgIHZhciBleHBlY3RlZFBhdGggPSBbJ0ExYScsICdB
MS1TUicsICdBMScsICdBLVNSJ107CiAgICAgICAgIHZhciBwYXRoRXhwb3NlZFRvQTEgPSBbJ0Ex
JywgJ0EtU1InXTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cuZXZlbnRQYXRoLCBl
eHBlY3RlZFBhdGgpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5ldmVudFBhdGgu
bGVuZ3RoLCBsb2cucGF0aEF0VGFyZ2V0cy5sZW5ndGgpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGxvZy5ldmVudFBhdGgubGVuZ3RoLCBsb2cucGF0aEF0VGFyZ2V0cy5sZW5ndGgpOwogICAgICAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5wYXRoQXRUYXJnZXRzWzBdLCBleHBlY3RlZFBhdGgp
OwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5wYXRoQXRUYXJnZXRzWzFdLCBleHBl
Y3RlZFBhdGgpOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5wYXRoQXRUYXJnZXRz
WzJdLCBtb2RlID09ICdvcGVuJyA/IGV4cGVjdGVkUGF0aCA6IHBhdGhFeHBvc2VkVG9BMSk7CkBA
IC0yMTIsNyArMjAyLDcgQEAgZnVuY3Rpb24gdGVzdENvbXBvc2VkRXZlbnRUaHJvdWdoU2xvdCht
bwogICAgICAgICB2YXIgcGF0aEV4cG9zZWRUb0ExID0gICAgICAgWyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdCJywgJ0EyLVMnLCAnQS1TUicsICdBJ107CiAKICAgICAg
ICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cuZXZlbnRQYXRoLCBleHBlY3RlZFBhdGgpOwotICAg
ICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5ldmVudFBhdGgubGVuZ3RoLCBsb2cucGF0aEF0
VGFyZ2V0cy5sZW5ndGgpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGxvZy5ldmVudFBhdGgubGVu
Z3RoLCBsb2cucGF0aEF0VGFyZ2V0cy5sZW5ndGgpOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKGxvZy5wYXRoQXRUYXJnZXRzWzBdLCBtb2RlID09ICdvcGVuJyA/IGV4cGVjdGVkUGF0aCA6
IHBhdGhFeHBvc2VkVG9CMWEpOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5wYXRo
QXRUYXJnZXRzWzFdLCBtb2RlID09ICdvcGVuJyA/IGV4cGVjdGVkUGF0aCA6IHBhdGhFeHBvc2Vk
VG9CMWNTKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1sy
XSwgbW9kZSA9PSAnb3BlbicgPyBleHBlY3RlZFBhdGggOiBwYXRoRXhwb3NlZFRvQjFjUyk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vT1dORVJTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9PV05FUlMJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9PV05FUlMJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLUBrb2ppaXNoaQotQHJuaXdhCi1AdGFrYXlv
c2hpa29jaGkKLUBoYXlhdG9pdG8KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDEudGVudGF0aXZlLWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50YXRpdmUtZXhw
ZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2ZS1l
eHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+Q1NTIFRlc3QgUmVmZXJlbmNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9y
IiBocmVmPSJtYWlsdG86ZW1pbGlvQGNyaXNhbC5pbyIgdGl0bGU9IkVtaWxpbyBDb2JvcyDDgWx2
YXJleiI+Cis8ZGl2IGRpcj0icnRsIj4gMTIzIDQ1NiA8c3Bhbj48c3Bhbj4gNzg5IDEwMTExMiA8
L3NwYW4+PC9zcGFuPjwvZGl2PgorPGRpdiBkaXI9InJ0bCI+IDEyMyA0NTYgPHNwYW4gZGlyPSJs
dHIiPjxzcGFuPiA3ODkgMTAxMTEyIDwvc3Bhbj48L3NwYW4+PC9kaXY+Cis8ZGl2IGRpcj0icnRs
Ij4gMTIzIDQ1NiA8c3Bhbj48c3Bhbj4gNzg5IDEwMTExMiA8L3NwYW4+PC9zcGFuPjwvZGl2PgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50YXRpdmUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0
aW9uYWxpdHktMDAxLnRlbnRhdGl2ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0
eS0wMDEudGVudGF0aXZlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOSBAQAorPCFk
b2N0eXBlIGh0bWw+Cis8dGl0bGU+VGVzdDogZGlyZWN0aW9uYWxpdHkgcHJvcGFnYXRpb24gaW4g
U2hhZG93IERPTS48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIGhyZWY9Im1haWx0bzplbWls
aW9AY3Jpc2FsLmlvIiB0aXRsZT0iRW1pbGlvIENvYm9zIMOBbHZhcmV6Ij4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWRpci1hdHRyaWJ1
dGUiPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0
bWwvaXNzdWVzLzM2OTkiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iZGlyZWN0aW9uYWxpdHkt
MDAxLXJlZi5odG1sIj4KKzxkaXYgaWQ9Imhvc3QwIiBkaXI9InJ0bCI+PHNwYW4+IDc4OSAxMDEx
MTIgPC9zcGFuPjwvZGl2PgorPGRpdiBpZD0iaG9zdDEiIGRpcj0icnRsIj48c3Bhbj4gNzg5IDEw
MTExMiA8L3NwYW4+PC9kaXY+Cis8ZGl2IGlkPSJob3N0MiIgZGlyPSJydGwiPjxzcGFuPiA3ODkg
MTAxMTEyIDwvc3Bhbj48L2Rpdj4KKzxzY3JpcHQ+CisgIGhvc3QwLmF0dGFjaFNoYWRvdyh7bW9k
ZTogJ2Nsb3NlZCd9KS5pbm5lckhUTUwgPQorICAgICc8ZGl2PiAxMjMgNDU2IDxzcGFuPjxzbG90
Pjwvc2xvdD48L3NwYW4+PC9kaXY+JzsKKworICBob3N0MS5hdHRhY2hTaGFkb3coe21vZGU6ICdj
bG9zZWQnfSkuaW5uZXJIVE1MID0KKyAgICAnPGRpdj4gMTIzIDQ1NiA8c3BhbiBkaXI9Imx0ciI+
PHNsb3Q+PC9zbG90Pjwvc3Bhbj48L2Rpdj4nOworCisgIGhvc3QyLmF0dGFjaFNoYWRvdyh7bW9k
ZTogJ2Nsb3NlZCd9KS5pbm5lckhUTUwgPQorICAgICc8ZGl2PiAxMjMgNDU2IDxzcGFuPjxzbG90
IGRpcj0ibHRyIj48L3Nsb3Q+PC9zcGFuPjwvZGl2Pic7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1j
b21wb3NlZC1wYXRoLWFmdGVyLWRvbS1tdXRhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2V2ZW50LWNvbXBvc2VkLXBhdGgtYWZ0ZXItZG9tLW11dGF0aW9uLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQtcGF0aC1hZnRlci1kb20tbXV0YXRpb24tZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIEV2ZW50LmNvbXBv
c2VkUGF0aCgpIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgcmVzdWx0IGV2ZW4gaWYgRE9NIGlzIG11
dGF0ZWQgKDEvMikgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVk
IDMgZ290IDIKK0ZBSUwgRXZlbnQuY29tcG9zZWRQYXRoKCkgc2hvdWxkIHJldHVybiB0aGUgc2Ft
ZSByZXN1bHQgZXZlbiBpZiBET00gaXMgbXV0YXRlZCAoMi8yKSBhc3NlcnRfYXJyYXlfZXF1YWxz
OiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgMgorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQt
cGF0aC1hZnRlci1kb20tbXV0YXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQt
cGF0aC1hZnRlci1kb20tbXV0YXRpb24uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9z
ZWQtcGF0aC1hZnRlci1kb20tbXV0YXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDU5IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5TaGFkb3cgRE9NOiBFdmVudC5jb21wb3Nl
ZFBhdGgoKSBzaG91bGQgcmV0dXJuIHRoZSBzYW1lIHJlc3VsdCBldmVuIGlmIERPTSBpcyBtdXRh
dGVkPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IkhheWF0byBJdG8iIGhyZWY9
Im1haWx0bzpoYXlhdG9AZ29vZ2xlLmNvbSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy1kb20u
anMiPjwvc2NyaXB0PgorCis8ZGl2IGlkPSJ0ZXN0MSI+CisgIDxkaXYgaWQ9Imhvc3QiPgorICAg
IDx0ZW1wbGF0ZSBpZD0ic3IiIGRhdGEtbW9kZT0iY2xvc2VkIj4KKyAgICAgIDxkaXYgaWQ9InRh
cmdldCI+PC9kaXY+CisgICAgPC90ZW1wbGF0ZT4KKyAgPC9kaXY+Cis8L2Rpdj4KKworPHNjcmlw
dD4KK2FzeW5jX3Rlc3QoKHQpID0+IHsKKyAgY29uc3QgbiA9IGNyZWF0ZVRlc3RUcmVlKGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJyN0ZXN0MScpKTsKKyAgbi5ob3N0LmFkZEV2ZW50TGlzdGVuZXIo
J215LWV2ZW50JywgdC5zdGVwX2Z1bmMoKGUpID0+IHsKKyAgICBjb25zdCBwYXRoX2JlZm9yZSA9
IGUuY29tcG9zZWRQYXRoKCk7CisgICAgLy8gTW92ZSB0aGUgdGFyZ2V0IG91dCBvZiBhIGNsb3Nl
ZCBzaGFkb3cgdHJlZQorICAgIG4uaG9zdC5hcHBlbmQobi50YXJnZXQpOworICAgIGNvbnN0IHBh
dGhfYWZ0ZXIgPSBlLmNvbXBvc2VkUGF0aCgpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMocGF0
aF9iZWZvcmUsIHBhdGhfYWZ0ZXIpOworICAgIHQuZG9uZSgpOworICB9KSk7CisgIGNvbnN0IGV2
ZW50ID0gbmV3IEV2ZW50KCdteS1ldmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRy
dWUgfSk7CisgIG4udGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfSwgJ0V2ZW50LmNvbXBv
c2VkUGF0aCgpIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgcmVzdWx0IGV2ZW4gaWYgRE9NIGlzIG11
dGF0ZWQgKDEvMiknKTsKKzwvc2NyaXB0PgorCis8ZGl2IGlkPSJ0ZXN0MiI+CisgIDxkaXYgaWQ9
Imhvc3QxIj4KKyAgICA8dGVtcGxhdGUgaWQ9InNyMSIgZGF0YS1tb2RlPSJjbG9zZWQiPgorICAg
ICAgPGRpdiBpZD0iaG9zdDIiPgorICAgICAgICA8dGVtcGxhdGUgaWQ9InNyMiIgZGF0YS1tb2Rl
PSJvcGVuIj4KKyAgICAgICAgICA8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PgorICAgICAgICA8L3Rl
bXBsYXRlPgorICAgICAgPC9kaXY+CisgICAgPC90ZW1wbGF0ZT4KKyAgPC9kaXY+Cis8L2Rpdj4K
KworPHNjcmlwdD4KK2FzeW5jX3Rlc3QoKHQpID0+IHsKKyAgY29uc3QgbiA9IGNyZWF0ZVRlc3RU
cmVlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0ZXN0MicpKTsKKyAgbi5ob3N0MS5hZGRFdmVu
dExpc3RlbmVyKCdteS1ldmVudCcsIHQuc3RlcF9mdW5jKChlKSA9PiB7CisgICAgY29uc3QgcGF0
aF9iZWZvcmUgPSBlLmNvbXBvc2VkUGF0aCgpOworICAgIC8vIE1vdmUgbm9kZXMgb3V0IG9mIGEg
Y2xvc2VkIHNoYWRvdyB0cmVlCisgICAgbi5ob3N0MS5hcHBlbmQobi5ob3N0Mik7CisgICAgbi5o
b3N0MS5hcHBlbmQobi50YXJnZXQpOworICAgIGNvbnN0IHBhdGhfYWZ0ZXIgPSBlLmNvbXBvc2Vk
UGF0aCgpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMocGF0aF9iZWZvcmUsIHBhdGhfYWZ0ZXIp
OworICAgIHQuZG9uZSgpOworICB9KSk7CisgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdteS1l
dmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSk7CisgIG4udGFyZ2V0LmRp
c3BhdGNoRXZlbnQoZXZlbnQpOworfSwgJ0V2ZW50LmNvbXBvc2VkUGF0aCgpIHNob3VsZCByZXR1
cm4gdGhlIHNhbWUgcmVzdWx0IGV2ZW4gaWYgRE9NIGlzIG11dGF0ZWQgKDIvMiknKTsKKzwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2Zvcm0tY29udHJvbC1mb3JtLWF0dHJpYnV0ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9m
b3JtLWNvbnRyb2wtZm9ybS1hdHRyaWJ1dGUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9ybS1jb250
cm9sLWZvcm0tYXR0cmlidXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MCBAQAor
PCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkZvcm0gY29udHJv
bHMnIGZvcm0gYXR0cmlidXRlPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0idGVzdGNvbnRlbnQiPgorICA8Zm9ybSBpZD0iZm9y
bSI+Zm9ybTwvZm9ybT4KKyAgPGlucHV0IGlkPSJpbnB1dCIgZm9ybT0iZm9ybSI+Cis8L2Rpdj4K
KworPHNjcmlwdD4KKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2lucHV0JykuZm9ybSwKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZm9ybScpKTsKK30sICJGb3JtIGNvbnRyb2wncyBmb3JtIGF0dHJpYnV0ZSBz
aG91bGQgcG9pbnQgdG8gdGhlIGZvcm0gZWxlbWVudC4iKTsKKwordGVzdCgoKSA9PiB7CisgIHZh
ciB0ZXN0Y29udGVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Y29udGVudCIpOwor
ICB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICB2YXIgc3IgPSBo
b3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogIm9wZW4ifSk7CisgIHNyLmlubmVySFRNTCA9IHRlc3Rj
b250ZW50LmlubmVySFRNTDsKKyAgdmFyIGlucHV0ID0gc3IuZ2V0RWxlbWVudEJ5SWQoImlucHV0
Iik7CisgIHZhciBmb3JtID0gc3IuZ2V0RWxlbWVudEJ5SWQoImZvcm0iKTsKKworICAvLyBTaG91
bGQgaGF2ZSBudWxsIGZvcm0gd2hlbiBzaGFkb3cgRE9NIGlzbid0IGNvbm5lY3RlZC4KKyAgYXNz
ZXJ0X2VxdWFscyhpbnB1dC5mb3JtLCBudWxsKTsKKworICB0ZXN0Y29udGVudC5hcHBlbmRDaGls
ZChob3N0KTsKKyAgYXNzZXJ0X2VxdWFscyhpbnB1dC5mb3JtLCBmb3JtKTsKKworICBob3N0LnJl
bW92ZSgpOworICBhc3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIG51bGwpOworCisgIHRlc3Rjb250
ZW50LmFwcGVuZENoaWxkKGhvc3QpOworICBhc3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIGZvcm0p
OworCisgIGlucHV0LnJlbW92ZSgpOworICBhc3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIG51bGwp
OworCisgIHNyLmFwcGVuZENoaWxkKGlucHV0KTsKKyAgYXNzZXJ0X2VxdWFscyhpbnB1dC5mb3Jt
LCBmb3JtKTsKKworICBmb3JtLmlkID0gImZvb2JhciI7CisgIGFzc2VydF9lcXVhbHMoaW5wdXQu
Zm9ybSwgbnVsbCk7CisKKyAgZm9ybS5pZCA9ICJmb3JtIjsKKyAgYXNzZXJ0X2VxdWFscyhpbnB1
dC5mb3JtLCBmb3JtKTsKKworICBmb3JtLnJlbW92ZSgpOworICBhc3NlcnRfZXF1YWxzKGlucHV0
LmZvcm0sIG51bGwpOworCisgIHNyLmFwcGVuZENoaWxkKGZvcm0pOworICBhc3NlcnRfZXF1YWxz
KGlucHV0LmZvcm0sIGZvcm0pOworCisgIGhvc3QucmVtb3ZlKCk7Cit9LCAiU2hhZG93IGZvcm0g
Y29udHJvbCdzIGZvcm0gYXR0cmlidXRlIHNob3VsZCB3b3JrIGFsc28gaW4gc2hhZG93IERPTS4i
KTsKKwordGVzdCgoKSA9PiB7CisgIHZhciB0ZXN0Y29udGVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0Y29udGVudCIpOworICB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOworICB2YXIgc3IgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogIm9wZW4ifSk7
CisgIHNyLmlubmVySFRNTCA9ICI8Zm9ybSBpZD0nZm9ybSc+PGlucHV0IGlkPSdpbnB1dCc+PC9m
b3JtPiI7CisgIHZhciBpbnB1dCA9IHNyLmdldEVsZW1lbnRCeUlkKCJpbnB1dCIpOworICB2YXIg
Zm9ybSA9IHNyLmdldEVsZW1lbnRCeUlkKCJmb3JtIik7CisKKyAgYXNzZXJ0X2VxdWFscyhpbnB1
dC5mb3JtLCBmb3JtKTsKKworICBpbnB1dC5yZW1vdmUoKTsKKyAgYXNzZXJ0X2VxdWFscyhpbnB1
dC5mb3JtLCBudWxsKTsKKworICBmb3JtLmFwcGVuZENoaWxkKGlucHV0KTsKKyAgYXNzZXJ0X2Vx
dWFscyhpbnB1dC5mb3JtLCBmb3JtKTsKKworICBmb3JtLnJlbW92ZSgpOworICBhc3NlcnRfZXF1
YWxzKGlucHV0LmZvcm0sIGZvcm0pOworCisgIGhvc3QucmVtb3ZlKCk7Cit9LCAiRm9ybSBlbGVt
ZW50IGFzIGZvcm0gY29udHJvbCdzIGFuY2VzdG9yIHNob3VsZCB3b3JrIGFsc28gaW4gc2hhZG93
IERPTS4iKTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2dldEVsZW1lbnRCeUlkLWR5bmFtaWMtMDAxLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZ2V0RWxlbWVudEJ5SWQtZHluYW1pYy0wMDEtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9nZXRFbGVtZW50QnlJZC1keW5hbWljLTAwMS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgU2hhZG93Um9vdC5nZXRF
bGVtZW50QnlJZCBrZWVwcyB3b3JraW5nIGFmdGVyIGhvc3QgaGFzIGJlZW4gcmVtb3ZlZCAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2dldEVsZW1lbnRCeUlkLWR5bmFtaWMtMDAxLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2dldEVsZW1l
bnRCeUlkLWR5bmFtaWMtMDAxLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2dldEVsZW1lbnRCeUlkLWR5
bmFtaWMtMDAxLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8dGl0bGU+U2hhZG93IERPTTogU2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCBpbiBz
aGFkb3cgdHJlZXMga2VlcHMgd29ya2luZyBhZnRlciBob3N0IGlzIHJlbW92ZWQgZnJvbSB0cmVl
PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cu
b3JnLyNkb20tbm9uZWxlbWVudHBhcmVudG5vZGUtZ2V0ZWxlbWVudGJ5aWQiPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL2J1Z3ppbC5sYS8xNDc1MjAzIj4KKzxsaW5rIHJlbD0iYXV0
aG9yIiBuYW1lPSJFbWlsaW8gQ29ib3Mgw4FsdmFyZXoiIGhyZWY9ImVtaWxpb0BjcmlzYWwuaW8i
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0iaG9zdCI+PC9kaXY+Cis8c2NyaXB0PgordGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGhv
c3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOworICBob3N0LmF0dGFjaFNoYWRv
dyh7IG1vZGU6ICJvcGVuIiB9KS5pbm5lckhUTUwgPSBgPGRpdiBpZD0idGVzdC1pZCI+PC9kaXY+
YDsKKworICBsZXQgZWxlbWVudCA9IGhvc3Quc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgidGVz
dC1pZCIpOworICBhc3NlcnRfdHJ1ZSghIWVsZW1lbnQpOworCisgIGhvc3QucmVtb3ZlKCk7Cisg
IGFzc2VydF9lcXVhbHMoaG9zdC5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LWlkIiks
IGVsZW1lbnQpOworCisgIGVsZW1lbnQucmVtb3ZlKCk7CisgIGFzc2VydF9lcXVhbHMoaG9zdC5z
aGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LWlkIiksIG51bGwpOworfSwgIlNoYWRvd1Jv
b3QuZ2V0RWxlbWVudEJ5SWQga2VlcHMgd29ya2luZyBhZnRlciBob3N0IGhhcyBiZWVuIHJlbW92
ZWQiKTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lucHV0LWVsZW1lbnQtbGlzdC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2lucHV0LWVsZW1lbnQtbGlzdC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2lucHV0LWVsZW1lbnQtbGlzdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw1IEBACisKKworRkFJTCBJbnB1dCBlbGVtZW50J3MgbGlzdCBhdHRyaWJ1dGUgc2hvdWxkIHBv
aW50IHRvIHRoZSBkYXRhbGlzdCBlbGVtZW50LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2Jq
ZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIElucHV0IGVsZW1l
bnQncyBsaXN0IGF0dHJpYnV0ZSBzaG91bGQgcG9pbnQgdG8gdGhlIGRhdGFsaXN0IGVsZW1lbnQg
aW4gU2hhZG93IERPTS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtZWxlbWVudC1saXN0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2lucHV0LWVsZW1lbnQtbGlzdC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbnB1
dC1lbGVtZW50LWxpc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+SW5wdXQubGlzdDwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxkaXYg
aWQ9InRlc3Rjb250ZW50Ij4KKyAgPGlucHV0IGlkPSJpbnB1dCIgbGlzdD0iZGF0YWxpc3QiPgor
PC9kaXY+Cis8c2NyaXB0PgorCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKS5saXN0LCBudWxsKTsKKyAgdmFyIGRsID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGF0YWxpc3QiKTsKKyAgZGwuaWQgPSAiZGF0YWxpc3QiOworICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdGNvbnRlbnQiKS5hcHBlbmRDaGlsZChkbCk7Cisg
IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0JykubGlzdCwgZGwp
OworfSwgIklucHV0IGVsZW1lbnQncyBsaXN0IGF0dHJpYnV0ZSBzaG91bGQgcG9pbnQgdG8gdGhl
IGRhdGFsaXN0IGVsZW1lbnQuIik7CisKKwordGVzdCgoKSA9PiB7CisgIHZhciBob3N0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXN0Y29udGVudCIpLmFwcGVuZENoaWxkKGhvc3QpOworICB2YXIgc3IgPSBob3N0LmF0dGFjaFNo
YWRvdyh7bW9kZTogIm9wZW4ifSk7CisgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlucHV0Iik7CisgIGlucHV0LnNldEF0dHJpYnV0ZSgibGlzdCIsICJkYXRhbGlzdCIpOwor
ICBzci5hcHBlbmRDaGlsZChpbnB1dCk7CisgIGFzc2VydF9lcXVhbHMoaW5wdXQubGlzdCwgbnVs
bCk7CisKKyAgdmFyIGRsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGF0YWxpc3QiKTsKKyAg
ZGwuaWQgPSAiZGF0YWxpc3QiOworICBzci5hcHBlbmRDaGlsZChkbCk7CisgIGFzc2VydF9lcXVh
bHMoaW5wdXQubGlzdCwgZGwpOworCisgIGRsLnJlbW92ZSgpOworICBhc3NlcnRfZXF1YWxzKGlu
cHV0Lmxpc3QsIG51bGwpOworfSwgIklucHV0IGVsZW1lbnQncyBsaXN0IGF0dHJpYnV0ZSBzaG91
bGQgcG9pbnQgdG8gdGhlIGRhdGFsaXN0IGVsZW1lbnQgaW4gU2hhZG93IERPTS4iKTsKKworCis8
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItYXNzaWduZWQtZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWFzc2lnbmVkLWV4cGVjdGVkLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2xheW91dC1zbG90LW5vLWxvbmdlci1hc3NpZ25lZC1leHBlY3Rl
ZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhRE9DVFlQRSBodG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2xheW91dC1zbG90LW5vLWxvbmdlci1hc3NpZ25lZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlvdXQt
c2xvdC1uby1sb25nZXItYXNzaWduZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qt
bm8tbG9uZ2VyLWFzc2lnbmVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+TGF5b3V0IHVzaW5nIHNsb3QgZWxlbWVudHM8L3RpdGxl
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJIYXlhdG8gSXRvIiBocmVmPSJtYWlsdG86aGF5
YXRvQGdvb2dsZS5jb20iLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kb20uc3Bl
Yy53aGF0d2cub3JnLyNzaGFkb3ctdHJlZS1zbG90cyI+Cis8bGluayByZWw9Im1hdGNoIiBocmVm
PSJyZWZlcmVuY2UvZW1wdHkuaHRtbCIvPgorPGRpdiBpZD0iaG9zdCI+PC9kaXY+Cis8c2NyaXB0
PgorY29uc3QgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNob3N0Jyk7Citjb25zdCBz
ciA9IGhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOworc3IuaW5uZXJIVE1MID0g
JzxzbG90IG5hbWU9czE+PC9zbG90PicKK2hvc3QuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ZDEgc2xv
dD1zMT48L2Rpdj4nOworCitkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7Citkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCcjZDEnKS5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnczInKTsKKzwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2xheW91dC1zbG90LW5vLWxvbmdlci1mYWxsYmFjay1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItZmFsbGJhY2stZXhwZWN0ZWQuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWZhbGxiYWNrLWV4cGVjdGVkLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCFET0NUWVBFIGh0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNs
b3Qtbm8tbG9uZ2VyLWZhbGxiYWNrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xheW91dC1zbG90LW5vLWxv
bmdlci1mYWxsYmFjay5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXIt
ZmFsbGJhY2suaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzx0aXRsZT5MYXlvdXQgdXNpbmcgc2xvdCBlbGVtZW50czwvdGl0bGU+Cis8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9IkhheWF0byBJdG8iIGhyZWY9Im1haWx0bzpoYXlhdG9AZ29vZ2xl
LmNvbSIvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5v
cmcvI3NoYWRvdy10cmVlLXNsb3RzIj4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlZmVyZW5j
ZS9lbXB0eS5odG1sIi8+Cis8ZGl2IGlkPSJob3N0Ij48L2Rpdj4KKzxzY3JpcHQ+Citjb25zdCBo
b3N0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hvc3QnKTsKK2NvbnN0IHNyID0gaG9zdC5h
dHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7CisKK3NyLmlubmVySFRNTCA9ICc8c2xvdD48
ZGl2IGlkPSJmYWxsYmFjayI+U2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQ8L2Rpdj48L3Nsb3Q+Jwor
Citkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7Citob3N0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpKTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3czYy1pbXBvcnQubG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS93M2MtaW1wb3J0LmxvZwkocmV2aXNpb24gMjM1ODgwKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3czYy1pbXBvcnQubG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CiAKQEAgLTE3LDE2ICsxNywyMSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVu
dC1wcm90b3R5cGUtYWRvcHROb2RlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnQtcHJvdG90eXBlLWN1cnJlbnRTY3Jp
cHQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9Eb2N1bWVudC1wcm90b3R5cGUtaW1wb3J0Tm9kZS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFk
b3dSb290LXByb3RvdHlwZS1lbGVtZW50RnJvbVBvaW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2Ut
YXR0YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNo
U2hhZG93Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2Utc2hhZG93Um9vdC1hdHRyaWJ1dGUuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9F
eHRlbnNpb25zLXRvLUV2ZW50LUludGVyZmFjZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0hUTUxTbG90RWxlbWVudC1pbnRlcmZh
Y2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9NRVRBLnltbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9Nb3VzZUV2ZW50LXByb3RvdHlwZS1vZmZzZXRYLW9mZnNldFkuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9Ob2RlLXByb3RvdHlwZS1jbG9uZU5vZGUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9PV05FUlMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vUmFuZ2UtcHJvdG90eXBlLWlu
c2VydE5vZGUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9TaGFkb3dSb290LWludGVyZmFjZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL1Nsb3RhYmxlLWludGVyZmFj
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50YXRpdmUtZXhwZWN0ZWQuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rp
b25hbGl0eS0wMDEudGVudGF0aXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQtcGF0aC1hZnRlci1kb20t
bXV0YXRpb24uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9ldmVudC1jb21wb3NlZC1wYXRoLXdpdGgtcmVsYXRlZC10YXJnZXQuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9ldmVudC1jb21wb3NlZC1wYXRoLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQuaHRtbApAQCAtMzQsNyAr
MzksMTQgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtaW5zaWRlLXNsb3R0ZWQtbm9kZS5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2
ZW50LXBvc3QtZGlzcGF0Y2guaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC13aXRoLXJlbGF0ZWQtdGFyZ2V0Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9y
bS1jb250cm9sLWZvcm0tYXR0cmlidXRlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZ2V0RWxlbWVudEJ5SWQtZHluYW1pYy0wMDEu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9oaXN0b3JpY2FsLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtZWxlbWVudC1saXN0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qt
bm8tbG9uZ2VyLWFzc2lnbmVkLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWFz
c2lnbmVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWZhbGxiYWNrLWV4cGVjdGVkLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
bGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWZhbGxiYWNrLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2Nyb2xsLXRvLXRoZS1mcmFnbWVu
dC1pbi1zaGFkb3ctdHJlZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RjaGFuZ2UtY3VzdG9tZWxlbWVudHMuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90
Y2hhbmdlLWV2ZW50Lmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sZWFrdGVzdHMvZ2V0LWVsZW1lbnRzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vbGVha3Rlc3RzL2dldC1lbGVtZW50cy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9sZWFrdGVzdHMvZ2V0LWVsZW1lbnRzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIAogUEFTUyBnZXRFbGVtZW50c0J5SWQoKSBzaG91bGQg
bm90IGxlYWsgbm9kZXMgaW4gc2hhZG93IHRyZWUgCi1GQUlMIGdldEVsZW1lbnRzQnlDbGFzc05h
bWUoKSBzaG91bGQgbm90IGxlYWsgbm9kZXMgaW4gc2hhZG93IHRyZWUgYXNzZXJ0X2FycmF5X2Vx
dWFsczogdmFsdWUgaXMgMCwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgZ2V0RWxlbWVudHNCeU5hbWUo
KSBzaG91bGQgbm90IGxlYWsgbm9kZXMgaW4gc2hhZG93IHRyZWUgYXNzZXJ0X2FycmF5X2VxdWFs
czogdmFsdWUgaXMgMCwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgZ2V0RWxlbWVudHNCeVRhZ05hbWUo
KSBzaG91bGQgbm90IGxlYWsgbm9kZXMgaW4gc2hhZG93IHRyZWUgYXNzZXJ0X2FycmF5X2VxdWFs
czogdmFsdWUgaXMgMCwgZXhwZWN0ZWQgYXJyYXkKK1BBU1MgZ2V0RWxlbWVudHNCeUNsYXNzTmFt
ZSgpIHNob3VsZCBub3QgbGVhayBub2RlcyBpbiBzaGFkb3cgdHJlZSAKK1BBU1MgZ2V0RWxlbWVu
dHNCeU5hbWUoKSBzaG91bGQgbm90IGxlYWsgbm9kZXMgaW4gc2hhZG93IHRyZWUgCitQQVNTIGdl
dEVsZW1lbnRzQnlUYWdOYW1lKCkgc2hvdWxkIG5vdCBsZWFrIG5vZGVzIGluIHNoYWRvdyB0cmVl
IAogUEFTUyBnZXRFbGVtZW50c0J5VGFnTmFtZU5TKCkgc2hvdWxkIG5vdCBsZWFrIG5vZGVzIGlu
IHNoYWRvdyB0cmVlIAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vbGVha3Rlc3RzL2dldC1lbGVtZW50cy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9sZWFrdGVzdHMvZ2V0LWVsZW1lbnRzLmh0bWwJKHJldmlzaW9uIDIzNTg4MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sZWFr
dGVzdHMvZ2V0LWVsZW1lbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTg1LDEyICs4NSwxMiBA
QCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHMoZG9jLnF1ZXJ5U2VsZWN0b3JB
bGwoJy5iYXInKS5sZW5ndGgsIDEpOwogICAgIGFzc2VydF9lcXVhbHMoZG9jLmdldEVsZW1lbnRz
QnlDbGFzc05hbWUoJ2JhcicpWzBdLmdldEF0dHJpYnV0ZSgnbGFiZWwnKSwgJ2RvYy1kaXYnKTsK
IAotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaG9zdE9wZW4ucXVlcnlTZWxlY3RvckFsbCgnLmJh
cicpLmxlbmd0aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhob3N0T3Blbi5xdWVyeVNlbGVjdG9y
QWxsKCcuYmFyJykubGVuZ3RoLCAwKTsKIAogICAgIGFzc2VydF9lcXVhbHMoc2hhZG93T3Blbi5x
dWVyeVNlbGVjdG9yQWxsKCcuYmFyJykubGVuZ3RoLCAxKTsKICAgICBhc3NlcnRfZXF1YWxzKHNo
YWRvd09wZW4ucXVlcnlTZWxlY3RvckFsbCgnLmJhcicpWzBdLmdldEF0dHJpYnV0ZSgnbGFiZWwn
KSwgJ3NoYWRvdy1vcGVuLWRpdicpOwogCi0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhob3N0Q2xv
c2VkLnF1ZXJ5U2VsZWN0b3JBbGwoJy5iYXInKS5sZW5ndGgsIDApOworICAgIGFzc2VydF9lcXVh
bHMoaG9zdENsb3NlZC5xdWVyeVNlbGVjdG9yQWxsKCcuYmFyJykubGVuZ3RoLCAwKTsKIAogICAg
IGFzc2VydF9lcXVhbHMoc2hhZG93Q2xvc2VkLnF1ZXJ5U2VsZWN0b3JBbGwoJy5iYXInKS5sZW5n
dGgsIDEpOwogICAgIGFzc2VydF9lcXVhbHMoc2hhZG93Q2xvc2VkLnF1ZXJ5U2VsZWN0b3JBbGwo
Jy5iYXInKVswXS5nZXRBdHRyaWJ1dGUoJ2xhYmVsJyksICdzaGFkb3ctY2xvc2VkLWRpdicpOwpA
QCAtMTA2LDExICsxMDYsMTEgQEAgdGVzdChmdW5jdGlvbigpIHsKIAogICAgIGFzc2VydF9lcXVh
bHMoZG9jLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tuYW1lPWJhel0nKS5sZW5ndGgsIDEpOwogCi0gICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhob3N0T3Blbi5xdWVyeVNlbGVjdG9yQWxsKCdbbmFtZT1iYXpd
JykubGVuZ3RoLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGhvc3RPcGVuLnF1ZXJ5U2VsZWN0b3JB
bGwoJ1tuYW1lPWJhel0nKS5sZW5ndGgsIDApOwogICAgIGFzc2VydF9lcXVhbHMoc2hhZG93T3Bl
bi5xdWVyeVNlbGVjdG9yQWxsKCdbbmFtZT1iYXpdJykubGVuZ3RoLCAxKTsKICAgICBhc3NlcnRf
ZXF1YWxzKHNoYWRvd09wZW4ucXVlcnlTZWxlY3RvckFsbCgnW25hbWU9YmF6XScpWzBdLmdldEF0
dHJpYnV0ZSgnbGFiZWwnKSwgJ3NoYWRvdy1vcGVuLWZvcm0nKTsKIAotICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoaG9zdENsb3NlZC5xdWVyeVNlbGVjdG9yQWxsKCdbbmFtZT1iYXpdJykubGVuZ3Ro
LCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGhvc3RDbG9zZWQucXVlcnlTZWxlY3RvckFsbCgnW25h
bWU9YmF6XScpLmxlbmd0aCwgMCk7CiAgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3dDbG9zZWQucXVl
cnlTZWxlY3RvckFsbCgnW25hbWU9YmF6XScpLmxlbmd0aCwgMSk7CiAgICAgYXNzZXJ0X2VxdWFs
cyhzaGFkb3dDbG9zZWQucXVlcnlTZWxlY3RvckFsbCgnW25hbWU9YmF6XScpWzBdLmdldEF0dHJp
YnV0ZSgnbGFiZWwnKSwgJ3NoYWRvdy1jbG9zZWQtZm9ybScpOwogfSwgJ2dldEVsZW1lbnRzQnlO
YW1lKCkgc2hvdWxkIG5vdCBsZWFrIG5vZGVzIGluIHNoYWRvdyB0cmVlJyk7CkBAIC0xMjYsMTIg
KzEyNiwxMiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHMoZG9jLnF1ZXJ5
U2VsZWN0b3JBbGwoJ215LWVsZW1lbnQnKS5sZW5ndGgsIDEpOwogICAgIGFzc2VydF9lcXVhbHMo
ZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdteS1lbGVtZW50JylbMF0uZ2V0QXR0cmlidXRlKCds
YWJlbCcpLCAnZG9jLW15LWVsZW1lbnQnKTsKIAotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaG9z
dE9wZW4ucXVlcnlTZWxlY3RvckFsbCgnbXktZWxlbWVudCcpLmxlbmd0aCwgMCk7CisgICAgYXNz
ZXJ0X2VxdWFscyhob3N0T3Blbi5xdWVyeVNlbGVjdG9yQWxsKCdteS1lbGVtZW50JykubGVuZ3Ro
LCAwKTsKICAgICAvLyBTaGFkb3dSb290IGlzbid0IGFuIEVsZW1lbnQsIGRvZXMgbm90IGhhdmUg
Z2V0RWxlbWVudHNCeVRhZ05hbWUoKS4KICAgICBhc3NlcnRfZXF1YWxzKHNoYWRvd09wZW4ucXVl
cnlTZWxlY3RvckFsbCgnbXktZWxlbWVudCcpLmxlbmd0aCwgMSk7CiAgICAgYXNzZXJ0X2VxdWFs
cyhzaGFkb3dPcGVuLnF1ZXJ5U2VsZWN0b3JBbGwoJ215LWVsZW1lbnQnKVswXS5nZXRBdHRyaWJ1
dGUoJ2xhYmVsJyksICdzaGFkb3ctb3Blbi1teS1lbGVtZW50Jyk7CiAKLSAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGhvc3RDbG9zZWQucXVlcnlTZWxlY3RvckFsbCgnbXktZWxlbWVudCcpLmxlbmd0
aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhob3N0Q2xvc2VkLnF1ZXJ5U2VsZWN0b3JBbGwoJ215
LWVsZW1lbnQnKS5sZW5ndGgsIDApOwogICAgIGFzc2VydF9lcXVhbHMoc2hhZG93Q2xvc2VkLnF1
ZXJ5U2VsZWN0b3JBbGwoJ215LWVsZW1lbnQnKS5sZW5ndGgsIDEpOwogICAgIGFzc2VydF9lcXVh
bHMoc2hhZG93Q2xvc2VkLnF1ZXJ5U2VsZWN0b3JBbGwoJ215LWVsZW1lbnQnKVswXS5nZXRBdHRy
aWJ1dGUoJ2xhYmVsJyksICdzaGFkb3ctY2xvc2VkLW15LWVsZW1lbnQnKTsKIH0sICdnZXRFbGVt
ZW50c0J5VGFnTmFtZSgpIHNob3VsZCBub3QgbGVhayBub2RlcyBpbiBzaGFkb3cgdHJlZScpOwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2xlYWt0ZXN0cy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGVha3Rlc3RzL3czYy1p
bXBvcnQubG9nCShyZXZpc2lvbiAyMzU4ODApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGVha3Rlc3RzL3czYy1pbXBvcnQubG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAK
IFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRv
IHJlaW1wb3J0CiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9yZXNvdXJjZXMvZXZlbnQtcGF0aC10ZXN0LWhlbHBlcnMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL3Jlc291cmNlcy9ldmVudC1wYXRoLXRlc3QtaGVscGVycy5qcwkocmV2aXNpb24g
MjM1ODgwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL3Jlc291cmNlcy9ldmVudC1wYXRoLXRlc3QtaGVscGVycy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMTYsOSArMTYsNiBAQCBmdW5jdGlvbiBkaXNwYXRjaEV2ZW50V2l0aEV2ZW50TG9n
KHNoYWRvCiAgICAgICAgICAgICAgICAgZXZlbnRQYXRoLnB1c2godGhpcy5sYWJlbCk7CiAgICAg
ICAgICAgICAgICAgcmVsYXRlZFRhcmdldHMucHVzaChldmVudC5yZWxhdGVkVGFyZ2V0ID8gZXZl
bnQucmVsYXRlZFRhcmdldC5sYWJlbCA6IG51bGwpOwogCi0gICAgICAgICAgICAgICAgaWYgKCFl
dmVudC5jb21wb3NlZFBhdGgpIC8vIERvbid0IGZhaWwgYWxsIHRlc3RzIGp1c3QgZm9yIHRoZSBs
YWNrIG9mIGNvbXBvc2VkUGF0aC4KLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotCiAgICAg
ICAgICAgICAgICAgcGF0aEF0VGFyZ2V0cy5wdXNoKGV2ZW50LmNvbXBvc2VkUGF0aCgpLm1hcChm
dW5jdGlvbiAobm9kZSkgeyByZXR1cm4gbm9kZS5sYWJlbDsgfSkpOwogICAgICAgICAgICAgICAg
IHRhcmdldHMucHVzaChldmVudC50YXJnZXQpOwogICAgICAgICAgICAgfSkuYmluZChub2RlKSk7
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vcmVzb3VyY2VzL3NoYWRvdy1kb20tdXRpbHMuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Jlc291cmNl
cy9zaGFkb3ctZG9tLXV0aWxzLmpzCShyZXZpc2lvbiAyMzU4ODApCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vcmVzb3VyY2VzL3NoYWRv
dy1kb20tdXRpbHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDggQEAgdmFyIEhUTUw1
X0VMRU1FTlRfTkFNRVMgPSBbCiAgICAgJ3dicicKIF07CiAKK3ZhciBBVFRBQ0hTSEFET1dfRElT
QUxMT1dFRF9FTEVNRU5UUyA9IEhUTUw1X0VMRU1FTlRfTkFNRVMuZmlsdGVyKGVsID0+ICFBVFRB
Q0hTSEFET1dfU0FGRUxJU1RFRF9FTEVNRU5UUy5pbmNsdWRlcyhlbCkpOworCiBmdW5jdGlvbiB1
bml0KGYpIHsKICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICB2YXIgY3R4ID0gbmV3
Q29udGV4dCgpOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyMzU4ODApCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vcmVzb3VyY2VzL3czYy1p
bXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349375</attachid>
            <date>2018-09-10 20:42:53 -0700</date>
            <delta_ts>2018-09-10 20:46:49 -0700</delta_ts>
            <desc>Added the missing expected.txt</desc>
            <filename>bug-189494-20180910204252.patch</filename>
            <type>text/plain</type>
            <size>80759</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA5LTEwICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVwZGF0ZSBzaGFkb3cgRE9NIGFuZCBjdXN0b20g
ZWxlbWVudHMgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4OTQ5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGEgQ1JBU0ggdGVzdCBleHBlY3RhdGlvbiB3aGljaCBoaXRzIGEgZGVidWcg
YXNzc2VydGlvbi4KKyAgICAgICAgVGhlIGZhaWx1cmUgaXMgdHJhY2tlZCBieSB0aGUgYnVnIDE4
OTQ5My4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDktMTAgIFRydWl0
dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lIHRlc3Qg
YWZ0ZXIgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIzNTg2Ni93ZWJraXQuCklu
ZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTIyMzcsNiArMjIzNyw4IEBAIHdlYmtp
dC5vcmcvYi8xODcyNjkgWyBEZWJ1ZyBdIGltcG9ydGVkL3cKIAogd2Via2l0Lm9yZy9iLzE4NTMw
OCBsZWdhY3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL2NvbWJvLXRyYW5zZm9ybS10cmFu
c2xhdGUrc2NhbGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKK3dlYmtpdC5vcmcvYi8xODk0OTMg
WyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlv
dXQtc2xvdC1uby1sb25nZXItYXNzaWduZWQuaHRtbCBbIENyYXNoIF0KKwogZmFzdC9ncmFkaWVu
dHMvY29uaWMtcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KIGZhc3QvZ3JhZGllbnRzL2NvbmljLmh0
bWwgWyBTa2lwIF0KIGZhc3QvZ3JhZGllbnRzL2NvbmljLW9mZi1jZW50ZXIuaHRtbCBbIFNraXAg
XQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzU4ODApCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNTAgQEAKKzIwMTgtMDktMTAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgVXBkYXRlIHNoYWRvdyBET00gYW5kIGN1c3RvbSBlbGVtZW50cyB0ZXN0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDk0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmUtaW1wb3J0
ZWQgV1BUIHRlc3RzIGZvciBzaGFkb3cgRE9NIGFuZCBjdXN0b20gZWxlbWVudHMuCisKKyAgICAg
ICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmFuZ2UtYW5kLWNvbnN0cnVjdG9ycy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvcmFuZ2UtYW5kLWNvbnN0cnVjdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50LXByb3RvdHlwZS1jdXJyZW50
U2NyaXB0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9Eb2N1bWVudC1wcm90b3R5cGUtY3VycmVudFNjcmlwdC5odG1sOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlw
ZS1lbGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnRPclNoYWRvd1Jvb3QtcHJvdG90eXBlLWVs
ZW1lbnRGcm9tUG9pbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQt
aW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93Lmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRXh0ZW5zaW9ucy10by1F
dmVudC1JbnRlcmZhY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL0V4dGVuc2lvbnMtdG8tRXZlbnQtSW50ZXJmYWNlLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vT1dORVJTOiBSZW1vdmVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50
YXRpdmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2ZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1jb21wb3NlZC1wYXRo
LWFmdGVyLWRvbS1tdXRhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWNvbXBvc2VkLXBhdGgtYWZ0ZXItZG9tLW11
dGF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2Zvcm0tY29udHJvbC1mb3JtLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zvcm0tY29udHJvbC1mb3JtLWF0
dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9nZXRFbGVtZW50QnlJZC1keW5hbWljLTAwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2dldEVsZW1lbnRCeUlkLWR5bmFt
aWMtMDAxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2lucHV0LWVsZW1lbnQtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lucHV0LWVsZW1lbnQtbGlzdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1u
by1sb25nZXItYXNzaWduZWQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWFzc2lnbmVkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xheW91
dC1zbG90LW5vLWxvbmdlci1mYWxsYmFjay1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItZmFs
bGJhY2suaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vbGVha3Rlc3RzL2dldC1lbGVtZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGVha3Rlc3RzL2dldC1lbGVtZW50cy5odG1sOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xlYWt0ZXN0cy93M2MtaW1wb3J0
LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9yZXNvdXJjZXMv
ZXZlbnQtcGF0aC10ZXN0LWhlbHBlcnMuanM6CisgICAgICAgIChkaXNwYXRjaEV2ZW50V2l0aEV2
ZW50TG9nKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9yZXNvdXJj
ZXMvc2hhZG93LWRvbS11dGlscy5qczoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5sb2c6CisKIDIwMTgtMDktMTAgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IHRoZSBlcnJvcm5vdXMg
Y2hhbmdlIHRvIHRoZSB0ZXN0IGluIHIyMzU4NjQuCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
bgkocmV2aXNpb24gMjM1ODgwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw3IEBA
CiB7CiAgICAgImNzcy9nZW9tZXRyeSI6ICJpbXBvcnQiLCAKKyAgICAiY3VzdG9tLWVsZW1lbnRz
IjogImltcG9ydCIsIAorICAgICJzaGFkb3ctZG9tIjogImltcG9ydCIsIAogICAgICJ0b29scyI6
ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dCI6ICJza2lwIiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAiOiAiaW1wb3J0
IiwgCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yYW5nZS1hbmQtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yYW5nZS1hbmQtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yYW5nZS1hbmQtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQgQEAKKworRkFJTCBSYW5nZS5jbG9uZUNvbnRlbnRzIHNob3VsZCBp
bnZva2UgY29uc3RydWN0b3IgaW4gdHJlZSBvcmRlciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9w
ZXJ0eSAwLCBleHBlY3RlZCAicm9vdC0wIiBidXQgZ290ICJyb290LTAtMCIKK0ZBSUwgUmFuZ2Uu
ZXh0cmFjdENvbnRlbnRzIHNob3VsZCBpbnZva2UgY29uc3RydWN0b3IgaW4gdHJlZSBvcmRlciBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAwLCBleHBlY3RlZCAicm9vdC0wIiBidXQgZ290
ICJyb290LTAtMCIKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmFuZ2UtYW5kLWNvbnN0cnVjdG9ycy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JhbmdlLWFuZC1jb25zdHJ1Y3RvcnMuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yYW5nZS1hbmQtY29uc3RydWN0b3JzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkN1c3RvbSBl
bGVtZW50czogUmFuZ2UgQVBJcyBzaG91bGQgaW52b2tlIGNvbnN0cnVjdG9yIGluIHRyZWUgb3Jk
ZXI8L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iRWRnYXIgQ2hlbiIgaHJlZj0i
bWFpbHRvOmVjaGVuQG1vemlsbGEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjY29uY2VwdC11
cGdyYWRlLWFuLWVsZW1lbnQiPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RvbS5z
cGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtY3JlYXRlLWVsZW1lbnQiPgorPGxpbmUgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtcmFuZ2UtZXh0cmFj
dCI+Cis8bGluZSByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8j
Y29uY2VwdC1yYW5nZS1jbG9uZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+CisK
KzxjLWUgZGF0YS1pbmRleD0icm9vdCI+CisgIDxjLWUgZGF0YS1pbmRleD0icm9vdC0wIj4KKyAg
ICA8Yy1lIGRhdGEtaW5kZXg9InJvb3QtMC0wIj4KKyAgICAgIDxjLWUgZGF0YS1pbmRleD0icm9v
dC0wLTAtMCI+PC9jLWU+CisgICAgICA8c3BhbiBpZD0ic3RhcnQiPjwvc3Bhbj4KKyAgICA8L2Mt
ZT4KKyAgPC9jLWU+CisgIDxjLWUgZGF0YS1pbmRleD0icm9vdC0xIj48L2MtZT4KKyAgPHNwYW4g
aWQ9ImVuZCI+PC9zcGFuPgorPC9jLWU+CisKKzxzY3JpcHQ+CisKK3ZhciBsb2dzID0gW107Citj
bGFzcyBDRSBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgY29uc3RydWN0b3IoKSB7CisgICAgc3Vw
ZXIoKTsKKyAgICBsb2dzLnB1c2godGhpcy5kYXRhc2V0LmluZGV4KTsKKyAgfQorfQorY3VzdG9t
RWxlbWVudHMuZGVmaW5lKCdjLWUnLCBDRSk7CisKK2Z1bmN0aW9uIGdldFJhbmdlKCkgeworICBj
b25zdCByYW5nZSA9IG5ldyBSYW5nZSgpOworICByYW5nZS5zZXRTdGFydChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnc3RhcnQnKSwgMCk7CisgIHJhbmdlLnNldEVuZChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZW5kJyksIDApOworICByZXR1cm4gcmFuZ2U7Cit9CisKK3Rlc3QoZnVuY3Rpb24g
KCkgeworICAvLyBDbGVhciBsb2cgZm9yIHRlc3RpbmcuCisgIGxvZ3MgPSBbXTsKKyAgZ2V0UmFu
Z2UoKS5jbG9uZUNvbnRlbnRzKCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMobG9ncywgWydyb290
LTAnLCAncm9vdC0wLTAnLCAncm9vdC0xJ10pOworfSwgJ1JhbmdlLmNsb25lQ29udGVudHMgc2hv
dWxkIGludm9rZSBjb25zdHJ1Y3RvciBpbiB0cmVlIG9yZGVyJyk7CisKK3Rlc3QoZnVuY3Rpb24g
KCkgeworICAvLyBDbGVhciBsb2cgZm9yIHRlc3RpbmcuCisgIGxvZ3MgPSBbXTsKKyAgZ2V0UmFu
Z2UoKS5leHRyYWN0Q29udGVudHMoKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dzLCBbJ3Jv
b3QtMCcsICdyb290LTAtMCddKTsKK30sICdSYW5nZS5leHRyYWN0Q29udGVudHMgc2hvdWxkIGlu
dm9rZSBjb25zdHJ1Y3RvciBpbiB0cmVlIG9yZGVyJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvdzNjLWlt
cG9ydC5sb2cJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3czYy1pbXBvcnQubG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw1ICszMCw2IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvaGlzdG9yaWNhbC5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvbWljcm90YXNrcy1hbmQtY29uc3RydWN0b3JzLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wc2V1ZG8tY2xh
c3MtZGVmaW5lZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcmFuZ2UtYW5kLWNvbnN0cnVjdG9ycy5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb24tdGltaW5nLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy91cGdyYWRpbmcuaHRtbApJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50LXByb3Rv
dHlwZS1jdXJyZW50U2NyaXB0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnQtcHJv
dG90eXBlLWN1cnJlbnRTY3JpcHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMzU4ODApCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9j
dW1lbnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDEwICsxLDggQEAKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSAxIGR1
cGxpY2F0ZSB0ZXN0IG5hbWU6ICJkb2N1bWVudC5jdXJyZW50U2NyaXB0IG11c3QgYmUgc2V0IHRv
IGEgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2FkcyBhbiBleHRlcm5hbCBzY3JpcHQgaW4gYSBkb2N1
bWVudCB0cmVlIgotCiBQQVNTIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgbXVzdCBub3QgdG8gYmUg
c2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgaW4gYSBzaGFkb3cgdHJlZSBpbiBvcGVuIG1vZGUgCiBQ
QVNTIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgbXVzdCBub3QgdG8gYmUgc2V0IHRvIGEgc2NyaXB0
IGVsZW1lbnQgaW4gYSBzaGFkb3cgdHJlZSBpbiBjbG9zZWQgbW9kZSAKIFBBU1MgZG9jdW1lbnQu
Y3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBhIHNjcmlwdCBlbGVtZW50IHRoYXQgbG9hZHMg
YW4gZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1lbnQgdHJlZSAKLVBBU1MgZG9jdW1lbnQuY3Vy
cmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBhIHNjcmlwdCBlbGVtZW50IHRoYXQgbG9hZHMgYW4g
ZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1lbnQgdHJlZSAKK1BBU1MgZG9jdW1lbnQuY3VycmVu
dFNjcmlwdCBtdXN0IGJlIHNldCB0byBhIHNjcmlwdCBlbGVtZW50IHRoYXQgbG9hZHMgYW4gZXh0
ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1lbnQgdHJlZSAoMikgCiBQQVNTIGRvY3VtZW50LmN1cnJl
bnRTY3JpcHQgbXVzdCBub3QgYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2FkcyBh
biBleHRlcm5hbCBzY3JpcHQgaW4gYW4gb3BlbiBzaGFkb3cgdHJlZSAKIFBBU1MgZG9jdW1lbnQu
Y3VycmVudFNjcmlwdCBtdXN0IG5vdCBiZSBzZXQgdG8gYSBzY3JpcHQgZWxlbWVudCB0aGF0IGxv
YWRzIGFuIGV4dGVybmFsIHNjcmlwdCBpbiBhIGNsb3NlZCBzaGFkb3cgdHJlZSAKIFBBU1MgZG9j
dW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBhIHNjcmlwdCBlbGVtZW50IHRoYXQg
bG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IHRoYXQgd2FzIGluIGFuIG9wZW4gc2hhZG93IHRyZWUg
YW5kIHRoZW4gcmVtb3ZlZCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1wcm90b3R5cGUtY3VycmVudFNjcmlwdC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1wcm90b3R5cGUtY3VycmVudFNjcmlwdC5odG1sCShy
ZXZpc2lvbiAyMzU4ODApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+CiA8dGl0bGU+SFRNTDogRG9jdW1lbnQucHJvdG90
eXBlLmN1cnJlbnRTY3JpcHQ8L3RpdGxlPgogPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlv
c3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+CiA8bWV0YSBuYW1lPSJh
c3NlcnQiIGNvbnRlbnQ9IklmIHRoZSBzY3JpcHQgZWxlbWVudCBpcyBpbiBhIGRvY3VtZW50LCB0
aGVuIHNldCB0aGUgc2NyaXB0IGVsZW1lbnQncyBub2RlIGRvY3VtZW50J3MgY3VycmVudFNjcmlw
dCBhdHRyaWJ1dGUgdG8gdGhlIHNjcmlwdCBlbGVtZW50LiI+CkBAIC0xMiwxMSArMTMsMTYgQEAK
IDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8c2NyaXB0IGlkPSJvdXRlclNjcmlwdEVsZW1lbnQiPgog
CitmdW5jdGlvbiBhc3NlcnRfc2hhZG93ZG9tX3N1cHBvcnRlZCgpIHsKKyAgYXNzZXJ0X3RydWUo
J2F0dGFjaFNoYWRvdycgaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksICdTaGFkb3cg
RE9NIGlzIG5vdCBzdXBwb3J0ZWQnKTsKK30KKwogdmFyIG91dGVyU2NyaXB0RWxlbWVudCA9IGRv
Y3VtZW50LmN1cnJlbnRTY3JpcHQ7CiAKIGZ1bmN0aW9uIHRlc3RJbmxpbmVTY3JpcHQobW9kZSkK
IHsKICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X3NoYWRvd2RvbV9zdXBw
b3J0ZWQoKTsKICAgICAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKICAgICAgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogbW9k
ZX0pOwogICAgICAgICB2YXIgc2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3NjcmlwdCcpOwpAQCAtNDAsMTEgKzQ2LDE2IEBAIHZhciB0ZXN0ZWRTY3JpcHRFbGVtZW50ID0g
bnVsbDsKIGZ1bmN0aW9uIGV4ZWN1dGVOZXh0VGVzdCgpCiB7CiAgICAgdmFyIHRlc3RDYXNlID0g
YXN5bmNTY3JpcHRUZXN0cy5zaGlmdCgpOwotICAgIHZhciBtb2RlID0gdGVzdENhc2UubW9kZTsK
ICAgICBpZiAoIXRlc3RDYXNlKQogICAgICAgICByZXR1cm47CiAKKyAgICB2YXIgbW9kZSA9IHRl
c3RDYXNlLm1vZGU7CisKKyAgICB0ZXN0Q2FzZS50ZXN0LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAg
ICAgICAgc2V0VGltZW91dChleGVjdXRlTmV4dFRlc3QsIDEpOworICAgIH0pOwogICAgIHRlc3RD
YXNlLnRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9zaGFkb3dkb21fc3Vw
cG9ydGVkKCk7CiAgICAgICAgIHRlc3RlZFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgdGVzdGVkU2NyaXB0RWxlbWVudC5zcmMgPSAncmVz
b3VyY2VzL0RvY3VtZW50LXByb3RvdHlwZS1jdXJyZW50U2NyaXB0LWhlbHBlci5qcyc7CiAKQEAg
LTY2LDcgKzc3LDYgQEAgZnVuY3Rpb24gZXhlY3V0ZU5leHRUZXN0KCkKICAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoZG9jdW1lbnQuY3VycmVudFNjcmlwdCwgdGVzdENhc2UuZXhwZWN0ZWQoKSk7
CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0Q2FzZS50ZXN0LmRvbmUoKTsKLSAgICAgICAgc2V0
VGltZW91dChleGVjdXRlTmV4dFRlc3QsIDEpOwogICAgIH0KIH0KIApAQCAtNzUsNyArODUsNyBA
QCB2YXIgYXN5bmNTY3JpcHRUZXN0cyA9IFsKICAgICAgICAgdGVzdDogYXN5bmNfdGVzdCgnZG9j
dW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBhIHNjcmlwdCBlbGVtZW50IHRoYXQg
bG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1lbnQgdHJlZScpLAogICAgICAgICBt
b2RlOiBudWxsLCByZW1vdmU6IGZhbHNlLCBleHBlY3RlZDogZnVuY3Rpb24gKCkgeyByZXR1cm4g
dGVzdGVkU2NyaXB0RWxlbWVudDsgfX0sCiAgICAgewotICAgICAgICB0ZXN0OiBhc3luY190ZXN0
KCdkb2N1bWVudC5jdXJyZW50U2NyaXB0IG11c3QgYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQg
dGhhdCBsb2FkcyBhbiBleHRlcm5hbCBzY3JpcHQgaW4gYSBkb2N1bWVudCB0cmVlJyksCisgICAg
ICAgIHRlc3Q6IGFzeW5jX3Rlc3QoJ2RvY3VtZW50LmN1cnJlbnRTY3JpcHQgbXVzdCBiZSBzZXQg
dG8gYSBzY3JpcHQgZWxlbWVudCB0aGF0IGxvYWRzIGFuIGV4dGVybmFsIHNjcmlwdCBpbiBhIGRv
Y3VtZW50IHRyZWUgKDIpJyksCiAgICAgICAgIG1vZGU6IG51bGwsIHJlbW92ZTogdHJ1ZSwgZXhw
ZWN0ZWQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRlc3RlZFNjcmlwdEVsZW1lbnQ7IH19LAogICAg
IHsKICAgICAgICAgdGVzdDogYXN5bmNfdGVzdCgnZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0
IG5vdCBiZSBzZXQgdG8gYSBzY3JpcHQgZWxlbWVudCB0aGF0IGxvYWRzIGFuIGV4dGVybmFsIHNj
cmlwdCBpbiBhbiBvcGVuIHNoYWRvdyB0cmVlJyksCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnRPclNoYWRvd1Jvb3Qt
cHJvdG90eXBlLWVsZW1lbnRGcm9tUG9pbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1
bWVudE9yU2hhZG93Um9vdC1wcm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50T3JTaGFkb3dSb290LXByb3RvdHlwZS1lbGVtZW50RnJv
bVBvaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACisKK1BB
U1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93LkVsZW1lbnRGcm9tUG9pbnQg
bXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB3
aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0aGUgcm9v
dCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZSAKK1BBU1MgZG9jdW1lbnQuZWxlbWVu
dEZyb21Qb2ludCBhbmQgc2hhZG93LkVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNo
YWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVk
IHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiB0aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFz
IGRpc3BsYXk6IGJsb2NrIAorUEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50IGFuZCBzaGFk
b3cuRWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIGhp
dC10ZXN0ZWQgdGV4dCBub2RlIHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGEgZGly
ZWN0IGNoaWxkIG9mIHRoZSByb290IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogaW5saW5lLWJs
b2NrIAorRkFJTCBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50IGFuZCBzaGFkb3dSb290LmVsZW1l
bnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IHdoZW4gdGhlIGhpdC10ZXN0
ZWQgdGV4dCBub2RlIGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3Bs
YXk6IGlubGluZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPHRlc3QtZWxl
bWVudCBzdHlsZT0iZGlzcGxheTogaW5saW5lOyI+dGV4dDwvdGVzdC1lbGVtZW50PiBidXQgZ290
IEVsZW1lbnQgbm9kZSA8c2xvdD48L3Nsb3Q+CitGQUlMIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9p
bnQgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93
IGhvc3Qgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYXNzaWduZWQgdG8gYSBzbG90
IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogYmxvY2sgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
RWxlbWVudCBub2RlIDx0ZXN0LWVsZW1lbnQgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyI+dGV4dDwv
dGVzdC1lbGVtZW50PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8c2xvdD48L3Nsb3Q+CitGQUlMIGRv
Y3VtZW50LmVsZW1lbnRGcm9tUG9pbnQgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCBt
dXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3Qgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUg
aXMgYXNzaWduZWQgdG8gYSBzbG90IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogaW5saW5lLWJs
b2NrIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8dGVzdC1lbGVtZW50IHN0
eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij50ZXh0PC90ZXN0LWUuLi4gYnV0IGdvdCBFbGVt
ZW50IG5vZGUgPHNsb3Q+PC9zbG90PgorUEFTUyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50IGFu
ZCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIGVsZW1lbnQgYXNz
aWduZWQgdG8gYSBzbG90IHdoZW4gaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgYW4gZWxlbWVu
dCBpcyBhc3NpZ25lZCB0byBhIHNsb3QgaW4gdGhlIHNoYWRvdyB0cmVlIGFuZCB0aGUgc2hhZG93
IGhvc3Qgb2YgdGhlIHNsb3QgaGFzIGRpc3BsYXk6IGlubGluZSAKK1BBU1MgZG9jdW1lbnQuZWxl
bWVudEZyb21Qb2ludCBhbmQgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJu
IHRoZSBlbGVtZW50IGFzc2lnbmVkIHRvIGEgc2xvdCB3aGVuIGhpdC10ZXN0ZWQgdGV4dCBub2Rl
IHVuZGVyIGFuIGVsZW1lbnQgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRoZSBzaGFkb3cgdHJl
ZSBhbmQgdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBzbG90IGhhcyBkaXNwbGF5OiBibG9jayAKK1BB
U1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBv
aW50IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50IGFzc2lnbmVkIHRvIGEgc2xvdCB3aGVuIGhpdC10
ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIGFuIGVsZW1lbnQgaXMgYXNzaWduZWQgdG8gYSBzbG90IGlu
IHRoZSBzaGFkb3cgdHJlZSBhbmQgdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBzbG90IGhhcyBkaXNw
bGF5OiBpbmxpbmUtYmxvY2sgCitQQVNTIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCBy
ZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVkIGVsZW1lbnQgdW5kZXIgYSBz
aGFkb3cgcm9vdCBhbmQgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRo
ZSBlbGVtZW50IHBhcmVudCBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgdGhlIHBv
aW50IHdoZW4gdGhlIHNoYWRvdyBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUgCitQQVNTIGRvY3Vt
ZW50LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBo
aXQtdGVzdGVkIGVsZW1lbnQgdW5kZXIgYSBzaGFkb3cgcm9vdCBhbmQgc2hhZG93Um9vdC5lbGVt
ZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50IHBhcmVudCBvZiB0aGUgaGl0LXRl
c3RlZCB0ZXh0IG5vZGUgdW5kZXIgdGhlIHBvaW50IHdoZW4gdGhlIHNoYWRvdyBob3N0IGhhcyBk
aXNwbGF5OiBibG9jayAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVy
biB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIGhpdC10ZXN0ZWQgZWxlbWVudCB1bmRlciBhIHNoYWRv
dyByb290IGFuZCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIGVs
ZW1lbnQgcGFyZW50IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB1bmRlciB0aGUgcG9pbnQg
d2hlbiB0aGUgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZS1ibG9jayAKK1BBU1MgZG9j
dW1lbnQuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3QgYW5kIHNo
YWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2xvdCBwYXJlbnQgb2Yg
dGhlIGZhbGxiYWNrIHRleHQgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYSBmYWxs
YmFjayBjb250ZW50IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogaW5saW5lIAorUEFTUyBkb2N1
bWVudC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgc2hh
ZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzbG90IHBhcmVudCBvZiB0
aGUgZmFsbGJhY2sgdGV4dCB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGZhbGxi
YWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiBibG9jayAKK1BBU1MgZG9jdW1l
bnQuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3QgYW5kIHNoYWRv
d1Jvb3QuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2xvdCBwYXJlbnQgb2YgdGhl
IGZhbGxiYWNrIHRleHQgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYSBmYWxsYmFj
ayBjb250ZW50IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTogaW5saW5lLWJsb2NrIAorRkFJTCBk
b2N1bWVudC5lbGVtZW50RnJvbVBvaW50LCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQsIGlu
bmVyU2hhZG93LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gYSBjaGlsZCBlbGVtZW50IGFz
c2lnbmVkIHRvIGEgc2xvdCB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhc3NpZ25l
ZCB0byBhIHNsb3QgaW4gdGhlIHNoYWRvdyB0cmVlIG9mIHRoZSBjaGlsZCBlbGVtZW50IGFuZCB0
aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBFbGVtZW50IG5vZGUgPGlubmVyLWhvc3Q+aGVsbG88L2lubmVyLWhvc3Q+IGJ1dCBn
b3QgRWxlbWVudCBub2RlIDxzbG90Pjwvc2xvdD4KK0ZBSUwgZG9jdW1lbnQuZWxlbWVudEZyb21Q
b2ludCwgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50LCBpbm5lclNoYWRvdy5lbGVtZW50RnJv
bVBvaW50IG11c3QgcmV0dXJuIGEgY2hpbGQgZWxlbWVudCBhc3NpZ25lZCB0byBhIHNsb3Qgd2hl
biB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRoZSBz
aGFkb3cgdHJlZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBhbmQgdGhlIG91dGVyIHNoYWRvdyBob3N0
IGhhcyBkaXNwbGF5OiBibG9jayBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUg
PGlubmVyLWhvc3Q+aGVsbG88L2lubmVyLWhvc3Q+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzbG90
Pjwvc2xvdD4KK0ZBSUwgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCwgc2hhZG93Um9vdC5lbGVt
ZW50RnJvbVBvaW50LCBpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIGEg
Y2hpbGQgZWxlbWVudCBhc3NpZ25lZCB0byBhIHNsb3Qgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0
IG5vZGUgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRoZSBzaGFkb3cgdHJlZSBvZiB0aGUgY2hp
bGQgZWxlbWVudCBhbmQgdGhlIG91dGVyIHNoYWRvdyBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUt
YmxvY2sgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbm5lci1ob3N0Pmhl
bGxvPC9pbm5lci1ob3N0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8c2xvdD48L3Nsb3Q+CitQQVNT
IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQsIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCwg
aW5uZXJTaGFkb3cuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiBhIGNoaWxkIGVsZW1lbnQg
d2l0aCBpdHMgb3duIHNoYWRvdyB0cmVlIGFzc2lnbmVkIHRvIGEgc2xvdCB3aGVuIHRoZSBoaXQt
dGVzdGVkIHRleHQgbm9kZSBpcyBpdHMgZGlyZWN0IGNoaWxkIGFuZCB0aGUgb3V0ZXIgc2hhZG93
IGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZSAKK1BBU1MgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2lu
dCwgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50LCBpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBv
aW50IG11c3QgcmV0dXJuIGEgY2hpbGQgZWxlbWVudCB3aXRoIGl0cyBvd24gc2hhZG93IHRyZWUg
YXNzaWduZWQgdG8gYSBzbG90IHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGl0cyBk
aXJlY3QgY2hpbGQgYW5kIHRoZSBvdXRlciBzaGFkb3cgaG9zdCBoYXMgZGlzcGxheTogYmxvY2sg
CitQQVNTIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQsIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Q
b2ludCwgaW5uZXJTaGFkb3cuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiBhIGNoaWxkIGVs
ZW1lbnQgd2l0aCBpdHMgb3duIHNoYWRvdyB0cmVlIGFzc2lnbmVkIHRvIGEgc2xvdCB3aGVuIHRo
ZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBpdHMgZGlyZWN0IGNoaWxkIGFuZCB0aGUgb3V0ZXIg
c2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZS1ibG9jayAKK1BBU1MgZG9jdW1lbnQuZWxl
bWVudEZyb21Qb2ludCwgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIGEg
Y2hpbGQgZWxlbWVudCB3aXRoIGl0cyBvd24gc2hhZG93IHRyZWUgYXNzaWduZWQgdG8gYSBzbG90
IHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGEgY2hpbGQgb2YgYW5vdGhlciBlbGVt
ZW50IGFuZCBpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBwYXJl
bnQgZWxlbWVudCBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgaXQgd2hlbiB0aGUg
b3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZSAKK1BBU1MgZG9jdW1lbnQuZWxl
bWVudEZyb21Qb2ludCwgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIGEg
Y2hpbGQgZWxlbWVudCB3aXRoIGl0cyBvd24gc2hhZG93IHRyZWUgYXNzaWduZWQgdG8gYSBzbG90
IHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGEgY2hpbGQgb2YgYW5vdGhlciBlbGVt
ZW50IGFuZCBpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBwYXJl
bnQgZWxlbWVudCBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgaXQgd2hlbiB0aGUg
b3V0ZXIgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGJsb2NrIAorUEFTUyBkb2N1bWVudC5lbGVt
ZW50RnJvbVBvaW50LCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gYSBj
aGlsZCBlbGVtZW50IHdpdGggaXRzIG93biBzaGFkb3cgdHJlZSBhc3NpZ25lZCB0byBhIHNsb3Qg
d2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYSBjaGlsZCBvZiBhbm90aGVyIGVsZW1l
bnQgYW5kIGlubmVyU2hhZG93LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHBhcmVu
dCBlbGVtZW50IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB1bmRlciBpdCB3aGVuIHRoZSBv
dXRlciBzaGFkb3cgaG9zdCBoYXMgZGlzcGxheTogaW5saW5lLWJsb2NrIAorUEFTUyBkb2N1bWVu
dC5lbGVtZW50c0Zyb21Qb2ludCBhbmQgc2hhZG93LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0
dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFuY2VzdG9ycyBvZiB0aGUgaGl0LXRlc3RlZCB0
ZXh0IG5vZGUgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYSBkaXJlY3QgY2hpbGQg
b2YgdGhlIHJvb3QgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUgCitQQVNTIGRvY3Vt
ZW50LmVsZW1lbnRzRnJvbVBvaW50IGFuZCBzaGFkb3cuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCBy
ZXR1cm4gdGhlIHNoYWRvdyBob3N0IGFuZCBpdHMgYW5jZXN0b3JzIG9mIHRoZSBoaXQtdGVzdGVk
IHRleHQgbm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGls
ZCBvZiB0aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6IGJsb2NrIAorUEFTUyBkb2N1
bWVudC5lbGVtZW50c0Zyb21Qb2ludCBhbmQgc2hhZG93LmVsZW1lbnRzRnJvbVBvaW50IG11c3Qg
cmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFuY2VzdG9ycyBvZiB0aGUgaGl0LXRlc3Rl
ZCB0ZXh0IG5vZGUgd2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYSBkaXJlY3QgY2hp
bGQgb2YgdGhlIHJvb3QgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgCitG
QUlMIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IGFuZCBzaGFkb3dSb290LmVsZW1lbnRzRnJv
bVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFuY2VzdG9ycyB3aGVu
IHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhc3NpZ25lZCB0byBhIHNsb3QgYW5kIHRoZSBo
b3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMCwg
ZXhwZWN0ZWQgRWxlbWVudCBub2RlIDx0ZXN0LWVsZW1lbnQgc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZTsiPnRleHQ8L3Rlc3QtZWxlbWVudD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPHNsb3Q+PC9zbG90
PgorRkFJTCBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBhbmQgc2hhZG93Um9vdC5lbGVtZW50
c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMg
d2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYXNzaWduZWQgdG8gYSBzbG90IGFuZCB0
aGUgaG9zdCBoYXMgZGlzcGxheTogYmxvY2sgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBk
aWZmZXIsIGV4cGVjdGVkIDQgZ290IDUKK0ZBSUwgZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQg
YW5kIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBo
b3N0IGFuZCBpdHMgYW5jZXN0b3JzIHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIGlzIGFz
c2lnbmVkIHRvIGEgc2xvdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6IGlubGluZS1ibG9jayBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNCBnb3QgNQorUEFT
UyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBhbmQgc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Q
b2ludCBtdXN0IHJldHVybiB0aGUgZWxlbWVudCBhc3NpZ25lZCB0byBhIHNsb3QgYW5kIGl0cyBu
b24tc2hhZG93IGFuY2VzdG9ycyB3aGVuIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIGFuIGVs
ZW1lbnQgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRoZSBzaGFkb3cgdHJlZSBhbmQgdGhlIHNo
YWRvdyBob3N0IG9mIHRoZSBzbG90IGhhcyBkaXNwbGF5OiBpbmxpbmUgCitQQVNTIGRvY3VtZW50
LmVsZW1lbnRzRnJvbVBvaW50IGFuZCBzaGFkb3dSb290LmVsZW1lbnRzRnJvbVBvaW50IG11c3Qg
cmV0dXJuIHRoZSBlbGVtZW50IGFzc2lnbmVkIHRvIGEgc2xvdCBhbmQgaXRzIG5vbi1zaGFkb3cg
YW5jZXN0b3JzIHdoZW4gaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgYW4gZWxlbWVudCBpcyBh
c3NpZ25lZCB0byBhIHNsb3QgaW4gdGhlIHNoYWRvdyB0cmVlIGFuZCB0aGUgc2hhZG93IGhvc3Qg
b2YgdGhlIHNsb3QgaGFzIGRpc3BsYXk6IGJsb2NrIAorUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zy
b21Qb2ludCBhbmQgc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUg
ZWxlbWVudCBhc3NpZ25lZCB0byBhIHNsb3QgYW5kIGl0cyBub24tc2hhZG93IGFuY2VzdG9ycyB3
aGVuIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIGFuIGVsZW1lbnQgaXMgYXNzaWduZWQgdG8g
YSBzbG90IGluIHRoZSBzaGFkb3cgdHJlZSBhbmQgdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBzbG90
IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgCitGQUlMIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBv
aW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFuY2VzdG9ycyBvZiB0aGUg
aGl0LXRlc3RlZCBlbGVtZW50IHVuZGVyIGEgc2hhZG93IHJvb3QgYW5kc2hhZG93Um9vdC5lbGVt
ZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgZWxlbWVudCBwYXJlbnQgYW5kIGl0cyBub24t
c2hhZG93IGFuY2VzdG9ycyBvZiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgdGhlIHBv
aW50IHdoZW4gdGhlIHNoYWRvdyBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUgYXNzZXJ0X2FycmF5
X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDUgZ290IDQKK1BBU1MgZG9jdW1lbnQu
ZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IGFuZCBpdHMgYW5j
ZXN0b3JzIG9mIHRoZSBoaXQtdGVzdGVkIGVsZW1lbnQgdW5kZXIgYSBzaGFkb3cgcm9vdCBhbmRz
aGFkb3dSb290LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50IHBhcmVu
dCBhbmQgaXRzIG5vbi1zaGFkb3cgYW5jZXN0b3JzIG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9k
ZSB1bmRlciB0aGUgcG9pbnQgd2hlbiB0aGUgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6IGJsb2Nr
IAorUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93
IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMgb2YgdGhlIGhpdC10ZXN0ZWQgZWxlbWVudCB1bmRlciBh
IHNoYWRvdyByb290IGFuZHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4g
dGhlIGVsZW1lbnQgcGFyZW50IGFuZCBpdHMgbm9uLXNoYWRvdyBhbmNlc3RvcnMgb2YgdGhlIGhp
dC10ZXN0ZWQgdGV4dCBub2RlIHVuZGVyIHRoZSBwb2ludCB3aGVuIHRoZSBzaGFkb3cgaG9zdCBo
YXMgZGlzcGxheTogaW5saW5lLWJsb2NrIAorUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2lu
dCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMgYW5kIHNoYWRv
d1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNsb3QgcGFyZW50IG9mIHRo
ZSBmYWxsYmFjayB0ZXh0IGFuZCBpdHMgbm9uLXNoYWRvdyBhbmNlc3RvcnMgd2hlbiB0aGUgaGl0
LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYSBmYWxsYmFjayBjb250ZW50IGFuZCB0aGUgaG9zdCBoYXMg
ZGlzcGxheTogaW5saW5lIAorUEFTUyBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJl
dHVybiB0aGUgc2hhZG93IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMgYW5kIHNoYWRvd1Jvb3QuZWxl
bWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNsb3QgcGFyZW50IG9mIHRoZSBmYWxsYmFj
ayB0ZXh0IGFuZCBpdHMgbm9uLXNoYWRvdyBhbmNlc3RvcnMgd2hlbiB0aGUgaGl0LXRlc3RlZCB0
ZXh0IG5vZGUgaXMgYSBmYWxsYmFjayBjb250ZW50IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTog
YmxvY2sgCitQQVNTIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBz
aGFkb3cgaG9zdCBhbmQgaXRzIGFuY2VzdG9ycyBhbmQgc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Q
b2ludCBtdXN0IHJldHVybiB0aGUgc2xvdCBwYXJlbnQgb2YgdGhlIGZhbGxiYWNrIHRleHQgYW5k
IGl0cyBub24tc2hhZG93IGFuY2VzdG9ycyB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBp
cyBhIGZhbGxiYWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiBpbmxpbmUtYmxv
Y2sgCitGQUlMIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCBiZWhhdmUgdGhlIHNh
bWUgd2l0aCBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCByZWdhcmRpbmcgSFRNTCBlbGVtZW50
IGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9vdC1wcm90b3R5cGUtZWxlbWVudEZyb21Qb2ludC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9vdC1wcm90b3R5cGUtZWxlbWVudEZyb21Q
b2ludC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudE9yU2hhZG93Um9vdC1wcm90b3R5cGUt
ZWxlbWVudEZyb21Qb2ludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjU2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+U2hhZG93IERPTSBh
bmQgQ1NTT00gVmlldzogRG9jdW1lbnQucHJvdG90eXBlLmVsZW1lbnRGcm9tUG9pbnQ8L3RpdGxl
PgorICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFp
bHRvOnJuaXdhQHdlYmtpdC5vcmciPgorICAgIDxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0i
RG9jdW1lbnRPclNoYWRvd1Jvb3QgbXVzdCBoYXZlIGVsZW1lbnRGcm9tUG9pbnQgYW5kIG11c3Qg
cmV0dXJuIHJldGFyZ2V0IHRoZSByZXN1bHQgYWdhaW5zdCB0aGUgY29udGV4dCBvYmplY3QuIj4K
KyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3NvbS12
aWV3LTEvI2RvbS1kb2N1bWVudC1lbGVtZW50ZnJvbXBvaW50Ij4KKyAgICA8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9zaGFkb3ctZG9tLyNleHRlbnNpb25zLXRv
LXRoZS1kb2N1bWVudG9yc2hhZG93cm9vdC1taXhpbiI+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4K
KyAgICA8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgorICAgIDxzdHlsZT4KK3Rlc3QtZWxlbWVu
dCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0KKyAgICA8
L3N0eWxlPgorICAgIDxzY3JpcHQ+CisKK2Z1bmN0aW9uIHBvaW50SW5FbGVtZW50KG5vZGUpIHsK
KyAgbGV0IHggPSA1OworICBsZXQgeSA9IDU7CisgIGRvIHsKKyAgICB4ICs9IG5vZGUub2Zmc2V0
TGVmdDsKKyAgICB5ICs9IG5vZGUub2Zmc2V0VG9wOworICAgIG5vZGUgPSBub2RlLm9mZnNldFBh
cmVudDsKKyAgfSB3aGlsZSAobm9kZSk7CisgIHJldHVybiBbeCwgeV07Cit9CisKK2NvbnN0IGRp
c3BsYXlWYWx1ZXMgPSBbJ2lubGluZScsICdibG9jaycsICdpbmxpbmUtYmxvY2snXTsKK3ZhciBj
b250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CitjdXN0b21F
bGVtZW50cy5kZWZpbmUoJ3Rlc3QtZWxlbWVudCcsIGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQg
eworICBjb25zdHJ1Y3RvcigpIHsKKyAgICBzdXBlcigpOworICB9Cit9KTsKKworZGlzcGxheVZh
bHVlcy5mb3JFYWNoKGZ1bmN0aW9uIChkaXNwbGF5VmFsdWUpIHsKKyAgdGVzdChmdW5jdGlvbiAo
KSB7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworICAgIGxldCBob3N0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgndGVzdC1lbGVtZW50Jyk7CisgICAgaG9zdC5zdHlsZS5kaXNwbGF5
ID0gZGlzcGxheVZhbHVlOworICAgIGxldCBzaGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9k
ZTogJ2Nsb3NlZCd9KTsKKyAgICBzaGFkb3cuaW5uZXJIVE1MID0gJ2hlbGxvJzsKKyAgICBjb250
YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5lbGVt
ZW50RnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgaG9zdCk7CisgICAgYXNzZXJ0
X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSks
IGhvc3QpOworICB9LCAnZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93LkVsZW1l
bnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IG9mIHRoZSBoaXQtdGVzdGVk
IHRleHQgbm9kZSB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGRpcmVjdCBjaGls
ZCBvZiB0aGUgcm9vdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUp
OworfSk7CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7
CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKKyAg
ICBsZXQgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICAg
IGhvc3Quc3R5bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9z
dC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgc2hhZG93LmlubmVySFRNTCA9
ICc8c2xvdD48L3Nsb3Q+JzsKKyAgICBob3N0LmlubmVySFRNTCA9ICd0ZXh0JzsKKyAgICBjb250
YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5lbGVt
ZW50RnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgaG9zdCk7CisgICAgYXNzZXJ0
X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSks
IGhvc3QpOworICB9LCAnZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBhbmQgc2hhZG93Um9vdC5l
bGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCB3aGVuIHRoZSBoaXQt
dGVzdGVkIHRleHQgbm9kZSBpcyBhc3NpZ25lZCB0byBhIHNsb3QgYW5kIHRoZSBob3N0IGhhcyBk
aXNwbGF5OiAnICsgZGlzcGxheVZhbHVlKTsKK30pOworCitkaXNwbGF5VmFsdWVzLmZvckVhY2go
ZnVuY3Rpb24gKGRpc3BsYXlWYWx1ZSkgeworICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICBjb250
YWluZXIuaW5uZXJIVE1MID0gJyc7CisgICAgbGV0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCd0ZXN0LWVsZW1lbnQnKTsKKyAgICBob3N0LnN0eWxlLmRpc3BsYXkgPSBkaXNwbGF5VmFs
dWU7CisgICAgbGV0IHNoYWRvdyA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAnY2xvc2VkJ30p
OworICAgIHNoYWRvdy5pbm5lckhUTUwgPSAnPHNsb3Q+PC9zbG90Pic7CisgICAgaG9zdC5pbm5l
ckhUTUwgPSAnPHNwYW4+dGV4dDwvc3Bhbj4nOworICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCho
b3N0KTsKKyAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoLi4ucG9p
bnRJbkVsZW1lbnQoaG9zdCkpLCBob3N0LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKSk7CisgICAgYXNz
ZXJ0X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0
KSksIGhvc3QucXVlcnlTZWxlY3Rvcignc3BhbicpKTsKKyAgfSwgJ2RvY3VtZW50LmVsZW1lbnRG
cm9tUG9pbnQgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUg
ZWxlbWVudCBhc3NpZ25lZCB0byBhIHNsb3Qgd2hlbiBoaXQtdGVzdGVkIHRleHQgbm9kZSB1bmRl
ciBhbiBlbGVtZW50IGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBpbiB0aGUgc2hhZG93IHRyZWUgYW5k
IHRoZSBzaGFkb3cgaG9zdCBvZiB0aGUgc2xvdCBoYXMgZGlzcGxheTogJyArIGRpc3BsYXlWYWx1
ZSk7Cit9KTsKKworZGlzcGxheVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uIChkaXNwbGF5VmFsdWUp
IHsKKyAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOwor
ICAgIGxldCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVzdC1lbGVtZW50Jyk7Cisg
ICAgaG9zdC5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheVZhbHVlOworICAgIGxldCBzaGFkb3cgPSBo
b3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBzaGFkb3cuaW5uZXJIVE1M
ID0gJzxzcGFuPnRleHQ8L3NwYW4+JzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7
CisgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KC4uLnBvaW50SW5F
bGVtZW50KGhvc3QpKSwgaG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3cuZWxlbWVudEZy
b21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSksIHNoYWRvdy5xdWVyeVNlbGVjdG9yKCdz
cGFuJykpOworICB9LCAnZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCBtdXN0IHJldHVybiB0aGUg
c2hhZG93IGhvc3Qgb2YgdGhlIGhpdC10ZXN0ZWQgZWxlbWVudCB1bmRlciBhIHNoYWRvdyByb290
IGFuZCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIGVsZW1lbnQg
cGFyZW50IG9mIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSB1bmRlciB0aGUgcG9pbnQgd2hlbiB0
aGUgc2hhZG93IGhvc3QgaGFzIGRpc3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7CisKK2Rp
c3BsYXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRlc3QoZnVu
Y3Rpb24gKCkgeworICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQgaG9zdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Quc3R5bGUu
ZGlzcGxheSA9IGRpc3BsYXlWYWx1ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hTaGFk
b3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgc2hhZG93LmlubmVySFRNTCA9ICc8c2xvdD5mYWxs
YmFjazwvc2xvdD4nOworICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChob3N0KTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9z
dCkpLCBob3N0KTsKKyAgICBhc3NlcnRfZXF1YWxzKHNoYWRvdy5lbGVtZW50RnJvbVBvaW50KC4u
LnBvaW50SW5FbGVtZW50KGhvc3QpKSwgc2hhZG93LnF1ZXJ5U2VsZWN0b3IoJ3Nsb3QnKSk7Cisg
IH0sICdkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9z
dCBhbmQgc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBzbG90IHBh
cmVudCBvZiB0aGUgZmFsbGJhY2sgdGV4dCB3aGVuIHRoZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBp
cyBhIGZhbGxiYWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0IGhhcyBkaXNwbGF5OiAnICsgZGlzcGxh
eVZhbHVlKTsKK30pOworCisKKworZGlzcGxheVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uIChkaXNw
bGF5VmFsdWUpIHsKKyAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgY29udGFpbmVyLmlubmVySFRN
TCA9ICcnOworICAgIGxldCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVzdC1lbGVt
ZW50Jyk7CisgICAgaG9zdC5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheVZhbHVlOworICAgIGxldCBz
aGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBzaGFkb3cu
aW5uZXJIVE1MID0gJzxzbG90Pjwvc2xvdD4nOworICAgIGhvc3QuaW5uZXJIVE1MID0gJzxpbm5l
ci1ob3N0PmhlbGxvPC9pbm5lci1ob3N0Pic7CisgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGhv
c3QpOworCisgICAgbGV0IGlubmVySG9zdCA9IGhvc3QucXVlcnlTZWxlY3RvcignaW5uZXItaG9z
dCcpOworICAgIGxldCBpbm5lclNoYWRvdyA9IGlubmVySG9zdC5hdHRhY2hTaGFkb3coe21vZGU6
ICdjbG9zZWQnfSk7CisgICAgaW5uZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxzbG90Pjwvc2xvdD4n
OworICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludElu
RWxlbWVudChob3N0KSksIGlubmVySG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3cuZWxl
bWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSksIGlubmVySG9zdCk7CisgICAg
YXNzZXJ0X2VxdWFscyhpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBvaW50KC4uLnBvaW50SW5FbGVt
ZW50KGhvc3QpKSwgaW5uZXJIb3N0KTsKKyAgfSwgJ2RvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQs
IHNoYWRvd1Jvb3QuZWxlbWVudEZyb21Qb2ludCwgaW5uZXJTaGFkb3cuZWxlbWVudEZyb21Qb2lu
dCBtdXN0IHJldHVybiBhIGNoaWxkIGVsZW1lbnQgYXNzaWduZWQgdG8gYSBzbG90JworICArICcg
d2hlbiB0aGUgaGl0LXRlc3RlZCB0ZXh0IG5vZGUgaXMgYXNzaWduZWQgdG8gYSBzbG90IGluIHRo
ZSBzaGFkb3cgdHJlZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBhbmQgdGhlIG91dGVyIHNoYWRvdyBo
b3N0IGhhcyBkaXNwbGF5OiAnICsgZGlzcGxheVZhbHVlKTsKK30pOworCitkaXNwbGF5VmFsdWVz
LmZvckVhY2goZnVuY3Rpb24gKGRpc3BsYXlWYWx1ZSkgeworICB0ZXN0KGZ1bmN0aW9uICgpIHsK
KyAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7CisgICAgbGV0IGhvc3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCd0ZXN0LWVsZW1lbnQnKTsKKyAgICBob3N0LnN0eWxlLmRpc3BsYXkgPSBk
aXNwbGF5VmFsdWU7CisgICAgbGV0IHNoYWRvdyA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAn
Y2xvc2VkJ30pOworICAgIHNoYWRvdy5pbm5lckhUTUwgPSAnPHNsb3Q+PC9zbG90Pic7CisgICAg
aG9zdC5pbm5lckhUTUwgPSAnPGlubmVyLWhvc3Q+PC9pbm5lci1ob3N0Pic7CisgICAgY29udGFp
bmVyLmFwcGVuZENoaWxkKGhvc3QpOworCisgICAgbGV0IGlubmVySG9zdCA9IGhvc3QucXVlcnlT
ZWxlY3RvcignaW5uZXItaG9zdCcpOworICAgIGxldCBpbm5lclNoYWRvdyA9IGlubmVySG9zdC5h
dHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgaW5uZXJTaGFkb3cuaW5uZXJIVE1M
ID0gJ2hlbGxvJzsKKyAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQo
Li4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBpbm5lckhvc3QpOworICAgIGFzc2VydF9lcXVhbHMo
c2hhZG93LmVsZW1lbnRGcm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBpbm5lckhv
c3QpOworICAgIGFzc2VydF9lcXVhbHMoaW5uZXJTaGFkb3cuZWxlbWVudEZyb21Qb2ludCguLi5w
b2ludEluRWxlbWVudChob3N0KSksIGlubmVySG9zdCk7CisgIH0sICdkb2N1bWVudC5lbGVtZW50
RnJvbVBvaW50LCBzaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQsIGlubmVyU2hhZG93LmVsZW1l
bnRGcm9tUG9pbnQgbXVzdCByZXR1cm4gYSBjaGlsZCBlbGVtZW50IHdpdGggaXRzIG93biBzaGFk
b3cgdHJlZSBhc3NpZ25lZCB0byBhIHNsb3QnCisgICsgJyB3aGVuIHRoZSBoaXQtdGVzdGVkIHRl
eHQgbm9kZSBpcyBpdHMgZGlyZWN0IGNoaWxkIGFuZCB0aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFz
IGRpc3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFj
aChmdW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIGNv
bnRhaW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Quc3R5bGUuZGlzcGxheSA9IGRpc3BsYXlW
YWx1ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQn
fSk7CisgICAgc2hhZG93LmlubmVySFRNTCA9ICc8c2xvdD48L3Nsb3Q+JzsKKyAgICBob3N0Lmlu
bmVySFRNTCA9ICc8aW5uZXItaG9zdD48L2lubmVyLWhvc3Q+JzsKKyAgICBjb250YWluZXIuYXBw
ZW5kQ2hpbGQoaG9zdCk7CisKKyAgICBsZXQgaW5uZXJIb3N0ID0gaG9zdC5xdWVyeVNlbGVjdG9y
KCdpbm5lci1ob3N0Jyk7CisgICAgbGV0IGlubmVyU2hhZG93ID0gaW5uZXJIb3N0LmF0dGFjaFNo
YWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBpbm5lclNoYWRvdy5pbm5lckhUTUwgPSAnPHNw
YW4+aGVsbG88L3NwYW4+JzsKKworICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZWxlbWVudEZy
b21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSksIGlubmVySG9zdCk7CisgICAgYXNzZXJ0
X2VxdWFscyhzaGFkb3cuZWxlbWVudEZyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSks
IGlubmVySG9zdCk7CisgICAgYXNzZXJ0X2VxdWFscyhpbm5lclNoYWRvdy5lbGVtZW50RnJvbVBv
aW50KC4uLnBvaW50SW5FbGVtZW50KGhvc3QpKSwgaW5uZXJTaGFkb3cucXVlcnlTZWxlY3Rvcign
c3BhbicpKTsKKyAgfSwgJ2RvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQsIHNoYWRvd1Jvb3QuZWxl
bWVudEZyb21Qb2ludCBtdXN0IHJldHVybiBhIGNoaWxkIGVsZW1lbnQgd2l0aCBpdHMgb3duIHNo
YWRvdyB0cmVlIGFzc2lnbmVkIHRvIGEgc2xvdCcKKyAgKyAnIHdoZW4gdGhlIGhpdC10ZXN0ZWQg
dGV4dCBub2RlIGlzIGEgY2hpbGQgb2YgYW5vdGhlciBlbGVtZW50IGFuZCBpbm5lclNoYWRvdy5l
bGVtZW50RnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBwYXJlbnQgZWxlbWVudCBvZiB0aGUgaGl0
LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgaXQgd2hlbiB0aGUgb3V0ZXIgc2hhZG93IGhvc3QgaGFz
IGRpc3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFj
aChmdW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIGNv
bnRhaW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Quc3R5bGUuZGlzcGxheSA9IGRpc3BsYXlW
YWx1ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQn
fSk7CisgICAgc2hhZG93LmlubmVySFRNTCA9ICdoZWxsbyc7CisgICAgY29udGFpbmVyLmFwcGVu
ZENoaWxkKGhvc3QpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZG9jdW1lbnQuZWxlbWVudHNG
cm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBbaG9zdCwgY29udGFpbmVyLCBkb2N1
bWVudC5ib2R5LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTsKKyAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHNoYWRvdy5lbGVtZW50c0Zyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSks
IFtob3N0LCBjb250YWluZXIsIGRvY3VtZW50LmJvZHksIGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dF0pOworICB9LCAnZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQgYW5kIHNoYWRvdy5lbGVtZW50
c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2hhZG93IGhvc3QgYW5kIGl0cyBhbmNlc3RvcnMg
b2YgdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2RlIHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBub2Rl
IGlzIGEgZGlyZWN0IGNoaWxkIG9mIHRoZSByb290IGFuZCB0aGUgaG9zdCBoYXMgZGlzcGxheTog
JyArIGRpc3BsYXlWYWx1ZSk7Cit9KTsKKworZGlzcGxheVZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9u
IChkaXNwbGF5VmFsdWUpIHsKKyAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgY29udGFpbmVyLmlu
bmVySFRNTCA9ICcnOworICAgIGxldCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVz
dC1lbGVtZW50Jyk7CisgICAgaG9zdC5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheVZhbHVlOworICAg
IGxldCBzaGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBz
aGFkb3cuaW5uZXJIVE1MID0gJzxzbG90Pjwvc2xvdD4nOworICAgIGhvc3QuaW5uZXJIVE1MID0g
J3RleHQnOworICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChob3N0KTsKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KC4uLnBvaW50SW5FbGVtZW50KGhv
c3QpKSwgW2hvc3QsIGNvbnRhaW5lciwgZG9jdW1lbnQuYm9keSwgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50XSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzaGFkb3cuZWxlbWVudHNGcm9tUG9p
bnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBbaG9zdCwgY29udGFpbmVyLCBkb2N1bWVudC5i
b2R5LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTsKKyAgfSwnZG9jdW1lbnQuZWxlbWVudHNG
cm9tUG9pbnQgYW5kIHNoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhl
IHNoYWRvdyBob3N0IGFuZCBpdHMgYW5jZXN0b3JzIHdoZW4gdGhlIGhpdC10ZXN0ZWQgdGV4dCBu
b2RlIGlzIGFzc2lnbmVkIHRvIGEgc2xvdCBhbmQgdGhlIGhvc3QgaGFzIGRpc3BsYXk6ICcgKyBk
aXNwbGF5VmFsdWUpOworfSk7CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGlz
cGxheVZhbHVlKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIGNvbnRhaW5lci5pbm5lckhU
TUwgPSAnJzsKKyAgICBsZXQgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxl
bWVudCcpOworICAgIGhvc3Quc3R5bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1ZTsKKyAgICBsZXQg
c2hhZG93ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgc2hhZG93
LmlubmVySFRNTCA9ICc8ZGl2PjxzbG90Pjwvc2xvdD48L2Rpdj4nOworICAgIGhvc3QuaW5uZXJI
VE1MID0gJzxzcGFuPnRleHQ8L3NwYW4+JzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9z
dCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCgu
Li5wb2ludEluRWxlbWVudChob3N0KSksIFtob3N0LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKSwgaG9z
dCwgY29udGFpbmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTsK
KyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNoYWRvdy5lbGVtZW50c0Zyb21Qb2ludCguLi5wb2lu
dEluRWxlbWVudChob3N0KSksIFtob3N0LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKSwgc2hhZG93LnF1
ZXJ5U2VsZWN0b3IoJ2RpdicpLCAgaG9zdCwgY29udGFpbmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnRdKTsKKyAgfSwgJ2RvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50
IGFuZCBzaGFkb3dSb290LmVsZW1lbnRzRnJvbVBvaW50IG11c3QgcmV0dXJuIHRoZSBlbGVtZW50
IGFzc2lnbmVkIHRvIGEgc2xvdCBhbmQgaXRzIG5vbi1zaGFkb3cgYW5jZXN0b3JzIHdoZW4gaGl0
LXRlc3RlZCB0ZXh0IG5vZGUgdW5kZXIgYW4gZWxlbWVudCBpcyBhc3NpZ25lZCB0byBhIHNsb3Qg
aW4gdGhlIHNoYWRvdyB0cmVlIGFuZCB0aGUgc2hhZG93IGhvc3Qgb2YgdGhlIHNsb3QgaGFzIGRp
c3BsYXk6ICcgKyBkaXNwbGF5VmFsdWUpOworfSk7CisKK2Rpc3BsYXlWYWx1ZXMuZm9yRWFjaChm
dW5jdGlvbiAoZGlzcGxheVZhbHVlKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIGNvbnRh
aW5lci5pbm5lckhUTUwgPSAnJzsKKyAgICBsZXQgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3Rlc3QtZWxlbWVudCcpOworICAgIGhvc3Quc3R5bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1
ZTsKKyAgICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7
CisgICAgc2hhZG93LmlubmVySFRNTCA9ICc8c3Bhbj50ZXh0PC9zcGFuPic7CisgICAgY29udGFp
bmVyLmFwcGVuZENoaWxkKGhvc3QpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZG9jdW1lbnQu
ZWxlbWVudHNGcm9tUG9pbnQoLi4ucG9pbnRJbkVsZW1lbnQoaG9zdCkpLCBbaG9zdCwgY29udGFp
bmVyLCBkb2N1bWVudC5ib2R5LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTsKKyAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKHNoYWRvdy5lbGVtZW50c0Zyb21Qb2ludCguLi5wb2ludEluRWxlbWVu
dChob3N0KSksIFtzaGFkb3cucXVlcnlTZWxlY3Rvcignc3BhbicpLCBob3N0LCBjb250YWluZXIs
IGRvY3VtZW50LmJvZHksIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOworICB9LCAnZG9jdW1l
bnQuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIHNoYWRvdyBob3N0IGFuZCBpdHMg
YW5jZXN0b3JzIG9mIHRoZSBoaXQtdGVzdGVkIGVsZW1lbnQgdW5kZXIgYSBzaGFkb3cgcm9vdCBh
bmQnCisgICsgJ3NoYWRvd1Jvb3QuZWxlbWVudHNGcm9tUG9pbnQgbXVzdCByZXR1cm4gdGhlIGVs
ZW1lbnQgcGFyZW50IGFuZCBpdHMgbm9uLXNoYWRvdyBhbmNlc3RvcnMgb2YgdGhlIGhpdC10ZXN0
ZWQgdGV4dCBub2RlIHVuZGVyIHRoZSBwb2ludCB3aGVuIHRoZSBzaGFkb3cgaG9zdCBoYXMgZGlz
cGxheTogJyArIGRpc3BsYXlWYWx1ZSk7Cit9KTsKKworZGlzcGxheVZhbHVlcy5mb3JFYWNoKGZ1
bmN0aW9uIChkaXNwbGF5VmFsdWUpIHsKKyAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgY29udGFp
bmVyLmlubmVySFRNTCA9ICcnOworICAgIGxldCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndGVzdC1lbGVtZW50Jyk7CisgICAgaG9zdC5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheVZhbHVl
OworICAgIGxldCBzaGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsK
KyAgICBzaGFkb3cuaW5uZXJIVE1MID0gJzxkaXY+PHNsb3Q+ZmFsbGJhY2s8L3Nsb3Q+PC9kaXY+
JzsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCguLi5wb2ludEluRWxlbWVudChob3N0KSks
IFtob3N0LCBjb250YWluZXIsIGRvY3VtZW50LmJvZHksIGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dF0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoc2hhZG93LmVsZW1lbnRzRnJvbVBvaW50KC4u
LnBvaW50SW5FbGVtZW50KGhvc3QpKSwgW3NoYWRvdy5xdWVyeVNlbGVjdG9yKCdzbG90JyksIHNo
YWRvdy5xdWVyeVNlbGVjdG9yKCdkaXYnKSwgaG9zdCwgY29udGFpbmVyLCBkb2N1bWVudC5ib2R5
LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTsKKyAgfSwgJ2RvY3VtZW50LmVsZW1lbnRzRnJv
bVBvaW50IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgaG9zdCBhbmQgaXRzIGFuY2VzdG9ycyBhbmQg
c2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IHJldHVybiB0aGUgc2xvdCBwYXJlbnQg
b2YgdGhlIGZhbGxiYWNrIHRleHQgYW5kIGl0cyBub24tc2hhZG93IGFuY2VzdG9ycyB3aGVuIHRo
ZSBoaXQtdGVzdGVkIHRleHQgbm9kZSBpcyBhIGZhbGxiYWNrIGNvbnRlbnQgYW5kIHRoZSBob3N0
IGhhcyBkaXNwbGF5OiAnICsgZGlzcGxheVZhbHVlKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uICgp
IHsKKyAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworICBsZXQgaG9zdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpOworICBob3N0LnN0eWxlLmRpc3BsYXkgPSAnYmxv
Y2snOworICBsZXQgc2hhZG93ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7
CisgIHNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdiBzdHlsZT0ibWFyZ2luOiAycHg7Ij5ub3QgaGl0
PC9kaXY+JzsKKyAgbGV0IGFib3ZlSG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICBhYm92ZUhvc3QuYXBwZW5kQ2hpbGQoaG9zdCk7CisgIGNvbnRhaW5lci5hcHBlbmRDaGls
ZChhYm92ZUhvc3QpOworICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUgPSAnYmFja2dy
b3VuZC1hdHRhY2htZW50OiBzY3JvbGw7IGhlaWdodDogMnB4Oyc7CisgIGxldCBib3VuZGluZ1Jl
Y3QgPSBob3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KGJvdW5kaW5nUmVjdC54LCBib3VuZGluZ1JlY3Qu
eSksIFtob3N0LCBhYm92ZUhvc3QsIGNvbnRhaW5lciwgZG9jdW1lbnQuYm9keSwgZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50XSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoc2hhZG93LmVsZW1lbnRz
RnJvbVBvaW50KGJvdW5kaW5nUmVjdC54LCBib3VuZGluZ1JlY3QueSksIFtob3N0LCBhYm92ZUhv
c3QsIGNvbnRhaW5lciwgZG9jdW1lbnQuYm9keSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk7
Cit9LCAnc2hhZG93Um9vdC5lbGVtZW50c0Zyb21Qb2ludCBtdXN0IGJlaGF2ZSB0aGUgc2FtZSB3
aXRoIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50IHJlZ2FyZGluZyBIVE1MIGVsZW1lbnQnKTsK
KworY29udGFpbmVyLmlubmVySFRNTCA9ICcnOworCisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4K
KzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxl
bWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50ZXJmYWNlLWF0dGFjaFNo
YWRvdy1jdXN0b20tZWxlbWVudC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQt
aW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVudC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgRWxlbWVudC5hdHRhY2hTaGFkb3cgbXVz
dCBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgU2hhZG93Um9vdCBmb3IgYXV0b25vbW91cyBjdXN0b20g
ZWxlbWVudHMgCitQQVNTIEVsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgdGhyb3cgYSBOb3RTdXBw
b3J0ZWRFcnJvciBmb3IgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50cyAKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1l
bnQtaW50ZXJmYWNlLWF0dGFjaFNoYWRvdy1jdXN0b20tZWxlbWVudC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctY3VzdG9tLWVsZW1lbnQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2UtYXR0YWNoU2hhZG93LWN1c3RvbS1lbGVtZW50
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
dGl0bGU+U2hhZG93IERPTTogQXR0YWNoaW5nIGEgU2hhZG93Um9vdCBmb3IgY3VzdG9tIGVsZW1l
bnRzPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IkhheWF0byBJdG8iIGhyZWY9
Im1haWx0bzpoYXlhdG9AY2hyb21pdW0ub3JnIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tZWxlbWVudC1hdHRhY2hzaGFkb3ciPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2NsYXNzIE15QXV0b25vbW91c0N1c3RvbUVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7Cit9
CisKK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgnbXktY3VzdG9tJywgTXlBdXRvbm9tb3VzQ3VzdG9t
RWxlbWVudCk7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfdHJ1ZShkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdteS1jdXN0b20nKS5hdHRhY2hTaGFkb3coe21vZGU6ICJvcGVuIn0pIGluc3RhbmNl
b2YgU2hhZG93Um9vdCk7Cit9LCAnRWxlbWVudC5hdHRhY2hTaGFkb3cgbXVzdCBjcmVhdGUgYW4g
aW5zdGFuY2Ugb2YgU2hhZG93Um9vdCBmb3IgYXV0b25vbW91cyBjdXN0b20gZWxlbWVudHMnKTsK
KworY2xhc3MgTXlDdXN0b21pemVkQnVpbHRpbkVsZW1lbnQgZXh0ZW5kcyBIVE1MSW5wdXRFbGVt
ZW50IHsKK30KKworY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdteS1pbnB1dCcsIE15Q3VzdG9taXpl
ZEJ1aWx0aW5FbGVtZW50LCB7IGV4dGVuZHM6ICdpbnB1dCcgfSk7CisKK3Rlc3QoKCkgPT4gewor
ICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdOb3RTdXBwb3J0ZWRFcnJvcid9LCAoKSA9PiB7Cisg
ICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnLCB7aXM6ICdteS1pbnB1dCd9KS5hdHRh
Y2hTaGFkb3coe21vZGU6ICJvcGVuIn0pOworICB9KTsKK30sICdFbGVtZW50LmF0dGFjaFNoYWRv
dyBtdXN0IHRocm93IGEgTm90U3VwcG9ydGVkRXJyb3IgZm9yIGN1c3RvbWl6ZWQgYnVpbHQtaW4g
ZWxlbWVudHMnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50
ZXJmYWNlLWF0dGFjaFNoYWRvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0VsZW1lbnQtaW50
ZXJmYWNlLWF0dGFjaFNoYWRvdy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIzNTg4MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FbGVt
ZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC00LDUgKzQsNSBAQCBQQVNTIE5vZGVzIG90aGVyIHRoYW4gRWxlbWVudCBzaG91bGQgbm90CiBQ
QVNTIEVsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgdGhyb3cgYSBUeXBlRXJyb3IgaWYgbW9kZSBp
cyBub3QgIm9wZW4iIG9yICJjbG9zZWQiIAogUEFTUyBFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0
IGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiBTaGFkb3dSb290IAogUEFTUyBFbGVtZW50LmF0dGFjaFNo
YWRvdyBtdXN0IHRocm93IGEgSW52YWxpZFN0YXRlRXJyb3IgaWYgdGhlIGNvbnRleHQgb2JqZWN0
IGFscmVhZHkgaG9zdHMgYSBzaGFkb3cgdHJlZSAKLVBBU1MgRWxlbWVudC5hdHRhY2hTaGFkb3cg
bXVzdCB0aHJvdyBhIE5vdFN1cHBvcnRlZEVycm9yIGZvciBidXR0b24sIGRldGFpbHMsIGlucHV0
LCBtYXJxdWVlLCBtZXRlciwgcHJvZ3Jlc3MsIHNlbGVjdCwgdGV4dGFyZWEsIGFuZCBrZXlnZW4g
ZWxlbWVudHMgCitQQVNTIEVsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgdGhyb3cgYSBOb3RTdXBw
b3J0ZWRFcnJvciBmb3Igbm9uLXNhZmVsaXN0ZWQgZWxlbWVudHMgCiAKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWlu
dGVyZmFjZS1hdHRhY2hTaGFkb3cuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRWxlbWVudC1pbnRlcmZhY2Ut
YXR0YWNoU2hhZG93Lmh0bWwJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1h
dHRhY2hTaGFkb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw2ICs3LDcgQEAKIDxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmNvbXBvbmVudHMvc3BlYy9z
aGFkb3cvI3dpZGwtRWxlbWVudC1hdHRhY2hTaGFkb3ctU2hhZG93Um9vdC1TaGFkb3dSb290SW5p
dC1zaGFkb3dSb290SW5pdERpY3QiPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLXV0aWxz
LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBpZD0ibG9nIj48L2Rpdj4KQEAg
LTc4LDcgKzc5LDcgQEAgdGVzdChmdW5jdGlvbiAoKSB7CiB9LCAnRWxlbWVudC5hdHRhY2hTaGFk
b3cgbXVzdCB0aHJvdyBhIEludmFsaWRTdGF0ZUVycm9yIGlmIHRoZSBjb250ZXh0IG9iamVjdCBh
bHJlYWR5IGhvc3RzIGEgc2hhZG93IHRyZWUnKTsKIAogdGVzdChmdW5jdGlvbiAoKSB7Ci0gICAg
Zm9yICh2YXIgZWxlbWVudE5hbWUgb2YgWydidXR0b24nLCAnZGV0YWlscycsICdpbnB1dCcsICdt
YXJxdWVlJywgJ21ldGVyJywgJ3Byb2dyZXNzJywgJ3NlbGVjdCcsICd0ZXh0YXJlYScsICdrZXln
ZW4nXSkgeworICAgIGZvciAodmFyIGVsZW1lbnROYW1lIG9mIEFUVEFDSFNIQURPV19ESVNBTExP
V0VEX0VMRU1FTlRTKSB7CiAgICAgICAgIGFzc2VydF90aHJvd3MoeyduYW1lJzogJ05vdFN1cHBv
cnRlZEVycm9yJ30sIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoZWxlbWVudE5hbWUpLmF0dGFjaFNoYWRvdyh7bW9kZTogIm9wZW4ifSk7CiAgICAgICAg
IH0sICdDYWxsaW5nIGF0dGFjaFNoYWRvdyh7bW9kZTogIm9wZW4ifSkgb24gJyArIGVsZW1lbnRO
YW1lICsgJyBlbGVtZW50IG11c3QgdGhyb3cnKTsKQEAgLTg3LDcgKzg4LDcgQEAgdGVzdChmdW5j
dGlvbiAoKSB7CiAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnROYW1l
KS5hdHRhY2hTaGFkb3coe21vZGU6ICJjbG9zZWQifSk7CiAgICAgICAgIH0sICdDYWxsaW5nIGF0
dGFjaFNoYWRvdyh7bW9kZTogImNsb3NlZCJ9KSBvbiAnICsgZWxlbWVudE5hbWUgKyAnIGVsZW1l
bnQgbXVzdCB0aHJvdycpOwogICAgIH0KLX0sICdFbGVtZW50LmF0dGFjaFNoYWRvdyBtdXN0IHRo
cm93IGEgTm90U3VwcG9ydGVkRXJyb3IgZm9yIGJ1dHRvbiwgZGV0YWlscywgaW5wdXQsIG1hcnF1
ZWUsIG1ldGVyLCBwcm9ncmVzcywgc2VsZWN0LCB0ZXh0YXJlYSwgYW5kIGtleWdlbiBlbGVtZW50
cycpOworfSwgJ0VsZW1lbnQuYXR0YWNoU2hhZG93IG11c3QgdGhyb3cgYSBOb3RTdXBwb3J0ZWRF
cnJvciBmb3Igbm9uLXNhZmVsaXN0ZWQgZWxlbWVudHMnKTsKIAogPC9zY3JpcHQ+CiA8L2JvZHk+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vRXh0ZW5zaW9ucy10by1FdmVudC1JbnRlcmZhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9FeHRlbnNpb25zLXRvLUV2ZW50LUludGVyZmFjZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIzNTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9FeHRlbnNpb25zLXRvLUV2ZW50LUludGVyZmFjZS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsMjAgKzEsMTggQEAKIAotUEFTUyBjb21wb3NlZFBhdGgoKSBtdXN0
IGV4aXN0IG9uIEV2ZW50IAogUEFTUyBjb21wb3NlZFBhdGgoKSBtdXN0IHJldHVybiBhbiBlbXB0
eSBhcnJheSB3aGVuIHRoZSBldmVudCBoYXMgbm90IGJlZW4gZGlzcGF0Y2hlZCAKIFBBU1MgY29t
cG9zZWRQYXRoKCkgbXVzdCByZXR1cm4gYW4gZW1wdHkgYXJyYXkgd2hlbiB0aGUgZXZlbnQgaXMg
bm8gbG9uZ2VyIGRpc3BhdGNoZWQgCi1QQVNTIGNvbXBvc2VkIG11c3QgZXhpc3Qgb24gRXZlbnQg
CiBQQVNTIGNvbXBvc2VkIG9uIEV2ZW50SW5pdCBtdXN0IGRlZmF1bHQgdG8gZmFsc2UgCiBQQVNT
IGNvbXBvc2VkIG9uIEV2ZW50SW5pdCBtdXN0IHNldCB0aGUgY29tcG9zZWQgZmxhZyAKLUZBSUwg
VGhlIGV2ZW50IG11c3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUgc2hhZG93IGJvdW5kYXJp
ZXMgd2hlbiB0aGUgY29tcG9zZWQgZmxhZyBpcyBzZXQgYXNzZXJ0X2FycmF5X2VxdWFsczogdmFs
dWUgaXMgNSwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgVGhlIGV2ZW50IG11c3QgcHJvcGFnYXRlIG91
dCBvZiBjbG9zZWQgbW9kZSBzaGFkb3cgYm91bmRhcmllcyB3aGVuIHRoZSBjb21wb3NlZCBmbGFn
IGlzIHNldCBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyA1LCBleHBlY3RlZCBhcnJheQot
RkFJTCBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUgc2hhZG93
IGJvdW5kYXJpZXMgd2hlbiB0aGUgY29tcG9zZWQgZmxhZyBpcyB1bnNldCBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiB2YWx1ZSBpcyAyLCBleHBlY3RlZCBhcnJheQotRkFJTCBUaGUgZXZlbnQgbXVzdCBu
b3QgcHJvcGFnYXRlIG91dCBvZiBjbG9zZWQgbW9kZSBzaGFkb3cgYm91bmRhcmllcyB3aGVuIHRo
ZSBjb21wb3NlZCBmbGFnIGlzIHVuc2V0IGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIDIs
IGV4cGVjdGVkIGFycmF5Ci1GQUlMIFRoZSBldmVudCBtdXN0IG5vdCBwcm9wYWdhdGUgb3V0IG9m
IG9wZW4gbW9kZSBzaGFkb3cgYm91bmRhcmllcyB3aGVuIHRoZSBjb21wb3NlZCBmbGFnIGlzIHVu
c2V0IG9uIGFuIGV2ZW50IHdpdGggcmVsYXRlZFRhcmdldCBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2
YWx1ZSBpcyAyLCBleHBlY3RlZCBhcnJheQotRkFJTCBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFn
YXRlIG91dCBvZiBjbG9zZWQgbW9kZSBzaGFkb3cgYm91bmRhcmllcyB3aGVuIHRoZSBjb21wb3Nl
ZCBmbGFnIGlzIHVuc2V0IG9uIGFuIGV2ZW50IHdpdGggcmVsYXRlZFRhcmdldCBhc3NlcnRfYXJy
YXlfZXF1YWxzOiB2YWx1ZSBpcyAyLCBleHBlY3RlZCBhcnJheQotRkFJTCBUaGUgZXZlbnQgbXVz
dCBub3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUgc2hhZG93IHRyZWUgb2YgdGhlIHRhcmdl
dCBidXQgbXVzdCBwcm9wYWdhdGUgb3V0IG9mIGlubmVyIHNoYWRvdyB0cmVlcyB3aGVuIHRoZSBz
Y29wZWQgZmxhZyBpcyBzZXQgYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgNSwgZXhwZWN0
ZWQgYXJyYXkKLUZBSUwgVGhlIGV2ZW50IG11c3Qgbm90IHByb3BhZ2F0ZSBvdXQgb2YgY2xvc2Vk
IG1vZGUgc2hhZG93IHRyZWUgb2YgdGhlIHRhcmdldCBidXQgbXVzdCBwcm9wYWdhdGUgb3V0IG9m
IGlubmVyIHNoYWRvdyB0cmVlcyB3aGVuIHRoZSBzY29wZWQgZmxhZyBpcyBzZXQgYXNzZXJ0X2Fy
cmF5X2VxdWFsczogdmFsdWUgaXMgNSwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgVGhlIGV2ZW50IG11
c3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUgc2hhZG93IHRyZWUgaW4gd2hpY2ggdGhlIHJl
bGF0aXZlIHRhcmdldCBhbmQgdGhlIHJlbGF0aXZlIHJlbGF0ZWQgdGFyZ2V0IGFyZSB0aGUgc2Ft
ZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyA0LCBleHBlY3RlZCBhcnJheQotRkFJTCBU
aGUgZXZlbnQgbXVzdCBwcm9wYWdhdGUgb3V0IG9mIGNsb3NlZCBtb2RlIHNoYWRvdyB0cmVlIGlu
IHdoaWNoIHRoZSByZWxhdGl2ZSB0YXJnZXQgYW5kIHRoZSByZWxhdGl2ZSByZWxhdGVkIHRhcmdl
dCBhcmUgdGhlIHNhbWUgYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgNCwgZXhwZWN0ZWQg
YXJyYXkKLUZBSUwgY29tcG9zZWRQYXRoKCkgbXVzdCBjb250YWluIGFuZCBvbmx5IGNvbnRhaW4g
dGhlIHVuY2xvc2VkIG5vZGVzIG9mIHRhcmdldCBpbiBvcGVuIG1vZGUgc2hhZG93IHRyZWVzIGFz
c2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIDksIGV4cGVjdGVkIGFycmF5Ci1GQUlMIGNvbXBv
c2VkUGF0aCgpIG11c3QgY29udGFpbiBhbmQgb25seSBjb250YWluIHRoZSB1bmNsb3NlZCBub2Rl
cyBvZiB0YXJnZXQgaW4gY2xvc2VkIG1vZGUgc2hhZG93IHRyZWVzIGFzc2VydF9hcnJheV9lcXVh
bHM6IHZhbHVlIGlzIDksIGV4cGVjdGVkIGFycmF5CitQQVNTIFRoZSBldmVudCBtdXN0IHByb3Bh
Z2F0ZSBvdXQgb2Ygb3BlbiBtb2RlIHNoYWRvdyBib3VuZGFyaWVzIHdoZW4gdGhlIGNvbXBvc2Vk
IGZsYWcgaXMgc2V0IAorUEFTUyBUaGUgZXZlbnQgbXVzdCBwcm9wYWdhdGUgb3V0IG9mIGNsb3Nl
ZCBtb2RlIHNoYWRvdyBib3VuZGFyaWVzIHdoZW4gdGhlIGNvbXBvc2VkIGZsYWcgaXMgc2V0IAor
UEFTUyBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUgc2hhZG93
IGJvdW5kYXJpZXMgd2hlbiB0aGUgY29tcG9zZWQgZmxhZyBpcyB1bnNldCAKK1BBU1MgVGhlIGV2
ZW50IG11c3Qgbm90IHByb3BhZ2F0ZSBvdXQgb2YgY2xvc2VkIG1vZGUgc2hhZG93IGJvdW5kYXJp
ZXMgd2hlbiB0aGUgY29tcG9zZWQgZmxhZyBpcyB1bnNldCAKK1BBU1MgVGhlIGV2ZW50IG11c3Qg
bm90IHByb3BhZ2F0ZSBvdXQgb2Ygb3BlbiBtb2RlIHNoYWRvdyBib3VuZGFyaWVzIHdoZW4gdGhl
IGNvbXBvc2VkIGZsYWcgaXMgdW5zZXQgb24gYW4gZXZlbnQgd2l0aCByZWxhdGVkVGFyZ2V0IAor
UEFTUyBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRlIG91dCBvZiBjbG9zZWQgbW9kZSBzaGFk
b3cgYm91bmRhcmllcyB3aGVuIHRoZSBjb21wb3NlZCBmbGFnIGlzIHVuc2V0IG9uIGFuIGV2ZW50
IHdpdGggcmVsYXRlZFRhcmdldCAKK1BBU1MgVGhlIGV2ZW50IG11c3Qgbm90IHByb3BhZ2F0ZSBv
dXQgb2Ygb3BlbiBtb2RlIHNoYWRvdyB0cmVlIG9mIHRoZSB0YXJnZXQgYnV0IG11c3QgcHJvcGFn
YXRlIG91dCBvZiBpbm5lciBzaGFkb3cgdHJlZXMgd2hlbiB0aGUgc2NvcGVkIGZsYWcgaXMgc2V0
IAorUEFTUyBUaGUgZXZlbnQgbXVzdCBub3QgcHJvcGFnYXRlIG91dCBvZiBjbG9zZWQgbW9kZSBz
aGFkb3cgdHJlZSBvZiB0aGUgdGFyZ2V0IGJ1dCBtdXN0IHByb3BhZ2F0ZSBvdXQgb2YgaW5uZXIg
c2hhZG93IHRyZWVzIHdoZW4gdGhlIHNjb3BlZCBmbGFnIGlzIHNldCAKK1BBU1MgVGhlIGV2ZW50
IG11c3QgcHJvcGFnYXRlIG91dCBvZiBvcGVuIG1vZGUgc2hhZG93IHRyZWUgaW4gd2hpY2ggdGhl
IHJlbGF0aXZlIHRhcmdldCBhbmQgdGhlIHJlbGF0aXZlIHJlbGF0ZWQgdGFyZ2V0IGFyZSB0aGUg
c2FtZSAKK1BBU1MgVGhlIGV2ZW50IG11c3QgcHJvcGFnYXRlIG91dCBvZiBjbG9zZWQgbW9kZSBz
aGFkb3cgdHJlZSBpbiB3aGljaCB0aGUgcmVsYXRpdmUgdGFyZ2V0IGFuZCB0aGUgcmVsYXRpdmUg
cmVsYXRlZCB0YXJnZXQgYXJlIHRoZSBzYW1lIAorUEFTUyBjb21wb3NlZFBhdGgoKSBtdXN0IGNv
bnRhaW4gYW5kIG9ubHkgY29udGFpbiB0aGUgdW5jbG9zZWQgbm9kZXMgb2YgdGFyZ2V0IGluIG9w
ZW4gbW9kZSBzaGFkb3cgdHJlZXMgCitQQVNTIGNvbXBvc2VkUGF0aCgpIG11c3QgY29udGFpbiBh
bmQgb25seSBjb250YWluIHRoZSB1bmNsb3NlZCBub2RlcyBvZiB0YXJnZXQgaW4gY2xvc2VkIG1v
ZGUgc2hhZG93IHRyZWVzIAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRXh0ZW5zaW9ucy10by1FdmVudC1JbnRlcmZhY2UuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vRXh0ZW5zaW9ucy10by1FdmVudC1JbnRlcmZhY2UuaHRtbAkocmV2aXNp
b24gMjM1ODgwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL0V4dGVuc2lvbnMtdG8tRXZlbnQtSW50ZXJmYWNlLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTE0LDExICsxNCw2IEBACiA8c2NyaXB0PgogCiB0ZXN0KGZ1bmN0aW9uICgpIHsK
LSAgICBhc3NlcnRfdHJ1ZSgnY29tcG9zZWRQYXRoJyBpbiBFdmVudC5wcm90b3R5cGUpOwotICAg
IGFzc2VydF90cnVlKCdjb21wb3NlZFBhdGgnIGluIG5ldyBFdmVudCgnbXktZXZlbnQnKSk7Ci19
LCAnY29tcG9zZWRQYXRoKCkgbXVzdCBleGlzdCBvbiBFdmVudCcpOwotCi10ZXN0KGZ1bmN0aW9u
ICgpIHsKICAgICB2YXIgZXZlbnQgPSBuZXcgRXZlbnQoJ215LWV2ZW50Jyk7CiAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhldmVudC5jb21wb3NlZFBhdGgoKSwgW10pOwogfSwgJ2NvbXBvc2VkUGF0
aCgpIG11c3QgcmV0dXJuIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIGV2ZW50IGhhcyBub3QgYmVl
biBkaXNwYXRjaGVkJyk7CkBAIC0zMCwxMSArMjUsNiBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKIH0s
ICdjb21wb3NlZFBhdGgoKSBtdXN0IHJldHVybiBhbiBlbXB0eSBhcnJheSB3aGVuIHRoZSBldmVu
dCBpcyBubyBsb25nZXIgZGlzcGF0Y2hlZCcpOwogCiB0ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICBh
c3NlcnRfdHJ1ZSgnY29tcG9zZWQnIGluIEV2ZW50LnByb3RvdHlwZSk7Ci0gICAgYXNzZXJ0X3Ry
dWUoJ2NvbXBvc2VkJyBpbiBuZXcgRXZlbnQoJ215LWV2ZW50JykpOwotfSwgJ2NvbXBvc2VkIG11
c3QgZXhpc3Qgb24gRXZlbnQnKTsKLQotdGVzdChmdW5jdGlvbiAoKSB7CiAgICAgdmFyIGV2ZW50
ID0gbmV3IEV2ZW50KCdteS1ldmVudCcpOwogICAgIGFzc2VydF9mYWxzZShldmVudC5jb21wb3Nl
ZCk7CiB9LCAnY29tcG9zZWQgb24gRXZlbnRJbml0IG11c3QgZGVmYXVsdCB0byBmYWxzZScpOwpA
QCAtNjQsNyArNTQsNyBAQCBmdW5jdGlvbiB0ZXN0Q29tcG9zZWRFdmVudChtb2RlKSB7CiAKICAg
ICAgICAgdmFyIGV4cGVjdGVkUGF0aCA9IFsnQTFhJywgJ0ExLVNSJywgJ0ExJywgJ0EtU1InLCAn
QSddOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5ldmVudFBhdGgsIGV4cGVjdGVk
UGF0aCk7Ci0gICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLmV2ZW50UGF0aC5sZW5ndGgs
IGxvZy5wYXRoQXRUYXJnZXRzLmxlbmd0aCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMobG9nLmV2
ZW50UGF0aC5sZW5ndGgsIGxvZy5wYXRoQXRUYXJnZXRzLmxlbmd0aCk7CiAgICAgICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMobG9nLnBhdGhBdFRhcmdldHNbMF0sIGV4cGVjdGVkUGF0aCk7CiAgICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLnBhdGhBdFRhcmdldHNbMV0sIGV4cGVjdGVkUGF0
aCk7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLnBhdGhBdFRhcmdldHNbMl0sIG1v
ZGUgPT0gJ29wZW4nID8gZXhwZWN0ZWRQYXRoIDogWydBMScsICdBLVNSJywgJ0EnXSwKQEAgLTky
LDcgKzgyLDcgQEAgZnVuY3Rpb24gdGVzdE5vbkNvbXBvc2VkRXZlbnQobW9kZSkgewogCiAgICAg
ICAgIHZhciBleHBlY3RlZFBhdGggPSBbJ0ExYScsICdBMS1TUiddOwogICAgICAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKGxvZy5ldmVudFBhdGgsIGV4cGVjdGVkUGF0aCk7Ci0gICAgICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMobG9nLmV2ZW50UGF0aC5sZW5ndGgsIGxvZy5wYXRoQXRUYXJnZXRzLmxl
bmd0aCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMobG9nLmV2ZW50UGF0aC5sZW5ndGgsIGxvZy5w
YXRoQXRUYXJnZXRzLmxlbmd0aCk7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLnBh
dGhBdFRhcmdldHNbMF0sIGV4cGVjdGVkUGF0aCk7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMobG9nLnBhdGhBdFRhcmdldHNbMV0sIGV4cGVjdGVkUGF0aCk7CiAgICAgfSwgJ1RoZSBldmVu
dCBtdXN0IG5vdCBwcm9wYWdhdGUgb3V0IG9mICcgKyBtb2RlICsgJyBtb2RlIHNoYWRvdyBib3Vu
ZGFyaWVzIHdoZW4gdGhlIGNvbXBvc2VkIGZsYWcgaXMgdW5zZXQnKTsKQEAgLTExOCw3ICsxMDgs
NyBAQCBmdW5jdGlvbiB0ZXN0Tm9uQ29tcG9zZWRFdmVudFdpdGhSZWxhdGVkCiAKICAgICAgICAg
dmFyIGV4cGVjdGVkUGF0aCA9IFsnQTFhJywgJ0ExLVNSJ107CiAgICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMobG9nLmV2ZW50UGF0aCwgZXhwZWN0ZWRQYXRoKTsKLSAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhsb2cuZXZlbnRQYXRoLmxlbmd0aCwgbG9nLnBhdGhBdFRhcmdldHMubGVuZ3Ro
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhsb2cuZXZlbnRQYXRoLmxlbmd0aCwgbG9nLnBhdGhB
dFRhcmdldHMubGVuZ3RoKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cucGF0aEF0
VGFyZ2V0c1swXSwgZXhwZWN0ZWRQYXRoKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhs
b2cucGF0aEF0VGFyZ2V0c1sxXSwgZXhwZWN0ZWRQYXRoKTsKICAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhsb2cucmVsYXRlZFRhcmdldHMsIFsnQTItUycsICdBMi1TJ10pOwpAQCAtMTQ2LDcg
KzEzNiw3IEBAIGZ1bmN0aW9uIHRlc3RTY29wZWRFdmVudFdpdGhVbnNjb3BlZFJlbGEKICAgICAg
ICAgdmFyIGV4cGVjdGVkUGF0aCA9IFsnQjFhJywgJ0IxYy1TJywgJ0IxLVNSJywgJ0IxJywgJ0It
U1InXTsKICAgICAgICAgdmFyIHBhdGhFeHBvc2VkVG9CMWEgPSBbJ0IxYScsICdCMScsICdCLVNS
J107CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nLmV2ZW50UGF0aCwgZXhwZWN0ZWRQ
YXRoKTsKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2cuZXZlbnRQYXRoLmxlbmd0aCwg
bG9nLnBhdGhBdFRhcmdldHMubGVuZ3RoKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhsb2cuZXZl
bnRQYXRoLmxlbmd0aCwgbG9nLnBhdGhBdFRhcmdldHMubGVuZ3RoKTsKICAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1swXSwgbW9kZSA9PSAnb3BlbicgPyBleHBl
Y3RlZFBhdGggOiBwYXRoRXhwb3NlZFRvQjFhKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhsb2cucGF0aEF0VGFyZ2V0c1sxXSwgZXhwZWN0ZWRQYXRoKTsKICAgICAgICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1syXSwgZXhwZWN0ZWRQYXRoKTsKQEAgLTE3Nyw3
ICsxNjcsNyBAQCBmdW5jdGlvbiB0ZXN0Q29tcG9zZWRFdmVudFdpdGhSZWxhdGVkVGFyCiAgICAg
ICAgIHZhciBleHBlY3RlZFBhdGggPSBbJ0ExYScsICdBMS1TUicsICdBMScsICdBLVNSJ107CiAg
ICAgICAgIHZhciBwYXRoRXhwb3NlZFRvQTEgPSBbJ0ExJywgJ0EtU1InXTsKICAgICAgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhsb2cuZXZlbnRQYXRoLCBleHBlY3RlZFBhdGgpOwotICAgICAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5ldmVudFBhdGgubGVuZ3RoLCBsb2cucGF0aEF0VGFyZ2V0
cy5sZW5ndGgpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGxvZy5ldmVudFBhdGgubGVuZ3RoLCBs
b2cucGF0aEF0VGFyZ2V0cy5sZW5ndGgpOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxv
Zy5wYXRoQXRUYXJnZXRzWzBdLCBleHBlY3RlZFBhdGgpOwogICAgICAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKGxvZy5wYXRoQXRUYXJnZXRzWzFdLCBleHBlY3RlZFBhdGgpOwogICAgICAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKGxvZy5wYXRoQXRUYXJnZXRzWzJdLCBtb2RlID09ICdvcGVuJyA/IGV4
cGVjdGVkUGF0aCA6IHBhdGhFeHBvc2VkVG9BMSk7CkBAIC0yMTIsNyArMjAyLDcgQEAgZnVuY3Rp
b24gdGVzdENvbXBvc2VkRXZlbnRUaHJvdWdoU2xvdChtbwogICAgICAgICB2YXIgcGF0aEV4cG9z
ZWRUb0ExID0gICAgICAgWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdC
JywgJ0EyLVMnLCAnQS1TUicsICdBJ107CiAKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhs
b2cuZXZlbnRQYXRoLCBleHBlY3RlZFBhdGgpOwotICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGxvZy5ldmVudFBhdGgubGVuZ3RoLCBsb2cucGF0aEF0VGFyZ2V0cy5sZW5ndGgpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGxvZy5ldmVudFBhdGgubGVuZ3RoLCBsb2cucGF0aEF0VGFyZ2V0cy5s
ZW5ndGgpOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5wYXRoQXRUYXJnZXRzWzBd
LCBtb2RlID09ICdvcGVuJyA/IGV4cGVjdGVkUGF0aCA6IHBhdGhFeHBvc2VkVG9CMWEpOwogICAg
ICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZy5wYXRoQXRUYXJnZXRzWzFdLCBtb2RlID09ICdv
cGVuJyA/IGV4cGVjdGVkUGF0aCA6IHBhdGhFeHBvc2VkVG9CMWNTKTsKICAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhsb2cucGF0aEF0VGFyZ2V0c1syXSwgbW9kZSA9PSAnb3BlbicgPyBleHBl
Y3RlZFBhdGggOiBwYXRoRXhwb3NlZFRvQjFjUyk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vT1dORVJTCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9P
V05FUlMJKHJldmlzaW9uIDIzNTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9PV05FUlMJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICsw
LDAgQEAKLUBrb2ppaXNoaQotQHJuaXdhCi1AdGFrYXlvc2hpa29jaGkKLUBoYXlhdG9pdG8KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kaXJlY3Rpb25hbGl0eS0wMDEudGVudGF0aXZlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50YXRpdmUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2ZS1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+Q1NTIFRlc3QgUmVm
ZXJlbmNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJtYWlsdG86ZW1pbGlvQGNy
aXNhbC5pbyIgdGl0bGU9IkVtaWxpbyBDb2JvcyDDgWx2YXJleiI+Cis8ZGl2IGRpcj0icnRsIj4g
MTIzIDQ1NiA8c3Bhbj48c3Bhbj4gNzg5IDEwMTExMiA8L3NwYW4+PC9zcGFuPjwvZGl2PgorPGRp
diBkaXI9InJ0bCI+IDEyMyA0NTYgPHNwYW4gZGlyPSJsdHIiPjxzcGFuPiA3ODkgMTAxMTEyIDwv
c3Bhbj48L3NwYW4+PC9kaXY+Cis8ZGl2IGRpcj0icnRsIj4gMTIzIDQ1NiA8c3Bhbj48c3Bhbj4g
Nzg5IDEwMTExMiA8L3NwYW4+PC9zcGFuPjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50
ZW50YXRpdmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2ZS5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0wMDEudGVudGF0aXZlLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxOSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+VGVz
dDogZGlyZWN0aW9uYWxpdHkgcHJvcGFnYXRpb24gaW4gU2hhZG93IERPTS48L3RpdGxlPgorPGxp
bmsgcmVsPSJhdXRob3IiIGhyZWY9Im1haWx0bzplbWlsaW9AY3Jpc2FsLmlvIiB0aXRsZT0iRW1p
bGlvIENvYm9zIMOBbHZhcmV6Ij4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy8jdGhlLWRpci1hdHRyaWJ1dGUiPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzM2OTkiPgorPGxpbmsg
cmVsPSJtYXRjaCIgaHJlZj0iZGlyZWN0aW9uYWxpdHktMDAxLXJlZi5odG1sIj4KKzxkaXYgaWQ9
Imhvc3QwIiBkaXI9InJ0bCI+PHNwYW4+IDc4OSAxMDExMTIgPC9zcGFuPjwvZGl2PgorPGRpdiBp
ZD0iaG9zdDEiIGRpcj0icnRsIj48c3Bhbj4gNzg5IDEwMTExMiA8L3NwYW4+PC9kaXY+Cis8ZGl2
IGlkPSJob3N0MiIgZGlyPSJydGwiPjxzcGFuPiA3ODkgMTAxMTEyIDwvc3Bhbj48L2Rpdj4KKzxz
Y3JpcHQ+CisgIGhvc3QwLmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KS5pbm5lckhUTUwg
PQorICAgICc8ZGl2PiAxMjMgNDU2IDxzcGFuPjxzbG90Pjwvc2xvdD48L3NwYW4+PC9kaXY+JzsK
KworICBob3N0MS5hdHRhY2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSkuaW5uZXJIVE1MID0KKyAg
ICAnPGRpdj4gMTIzIDQ1NiA8c3BhbiBkaXI9Imx0ciI+PHNsb3Q+PC9zbG90Pjwvc3Bhbj48L2Rp
dj4nOworCisgIGhvc3QyLmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KS5pbm5lckhUTUwg
PQorICAgICc8ZGl2PiAxMjMgNDU2IDxzcGFuPjxzbG90IGRpcj0ibHRyIj48L3Nsb3Q+PC9zcGFu
PjwvZGl2Pic7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1jb21wb3NlZC1wYXRoLWFmdGVyLWRvbS1t
dXRhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWNvbXBvc2VkLXBhdGgtYWZ0
ZXItZG9tLW11dGF0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9z
ZWQtcGF0aC1hZnRlci1kb20tbXV0YXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNCBAQAorCitGQUlMIEV2ZW50LmNvbXBvc2VkUGF0aCgpIHNob3VsZCByZXR1cm4g
dGhlIHNhbWUgcmVzdWx0IGV2ZW4gaWYgRE9NIGlzIG11dGF0ZWQgKDEvMikgYXNzZXJ0X2FycmF5
X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMgZ290IDIKK0ZBSUwgRXZlbnQuY29t
cG9zZWRQYXRoKCkgc2hvdWxkIHJldHVybiB0aGUgc2FtZSByZXN1bHQgZXZlbiBpZiBET00gaXMg
bXV0YXRlZCAoMi8yKSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0
ZWQgNSBnb3QgMgorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQtcGF0aC1hZnRlci1kb20tbXV0YXRpb24u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQtcGF0aC1hZnRlci1kb20tbXV0YXRpb24u
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtY29tcG9zZWQtcGF0aC1hZnRlci1kb20tbXV0YXRp
b24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU5IEBACis8IURPQ1RZUEUgaHRtbD4K
Kzx0aXRsZT5TaGFkb3cgRE9NOiBFdmVudC5jb21wb3NlZFBhdGgoKSBzaG91bGQgcmV0dXJuIHRo
ZSBzYW1lIHJlc3VsdCBldmVuIGlmIERPTSBpcyBtdXRhdGVkPC90aXRsZT4KKzxtZXRhIG5hbWU9
ImF1dGhvciIgdGl0bGU9IkhheWF0byBJdG8iIGhyZWY9Im1haWx0bzpoYXlhdG9AZ29vZ2xlLmNv
bSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy1kb20uanMiPjwvc2NyaXB0PgorCis8ZGl2IGlk
PSJ0ZXN0MSI+CisgIDxkaXYgaWQ9Imhvc3QiPgorICAgIDx0ZW1wbGF0ZSBpZD0ic3IiIGRhdGEt
bW9kZT0iY2xvc2VkIj4KKyAgICAgIDxkaXYgaWQ9InRhcmdldCI+PC9kaXY+CisgICAgPC90ZW1w
bGF0ZT4KKyAgPC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2FzeW5jX3Rlc3QoKHQpID0+IHsK
KyAgY29uc3QgbiA9IGNyZWF0ZVRlc3RUcmVlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0ZXN0
MScpKTsKKyAgbi5ob3N0LmFkZEV2ZW50TGlzdGVuZXIoJ215LWV2ZW50JywgdC5zdGVwX2Z1bmMo
KGUpID0+IHsKKyAgICBjb25zdCBwYXRoX2JlZm9yZSA9IGUuY29tcG9zZWRQYXRoKCk7CisgICAg
Ly8gTW92ZSB0aGUgdGFyZ2V0IG91dCBvZiBhIGNsb3NlZCBzaGFkb3cgdHJlZQorICAgIG4uaG9z
dC5hcHBlbmQobi50YXJnZXQpOworICAgIGNvbnN0IHBhdGhfYWZ0ZXIgPSBlLmNvbXBvc2VkUGF0
aCgpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMocGF0aF9iZWZvcmUsIHBhdGhfYWZ0ZXIpOwor
ICAgIHQuZG9uZSgpOworICB9KSk7CisgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdteS1ldmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSk7CisgIG4udGFyZ2V0LmRpc3Bh
dGNoRXZlbnQoZXZlbnQpOworfSwgJ0V2ZW50LmNvbXBvc2VkUGF0aCgpIHNob3VsZCByZXR1cm4g
dGhlIHNhbWUgcmVzdWx0IGV2ZW4gaWYgRE9NIGlzIG11dGF0ZWQgKDEvMiknKTsKKzwvc2NyaXB0
PgorCis8ZGl2IGlkPSJ0ZXN0MiI+CisgIDxkaXYgaWQ9Imhvc3QxIj4KKyAgICA8dGVtcGxhdGUg
aWQ9InNyMSIgZGF0YS1tb2RlPSJjbG9zZWQiPgorICAgICAgPGRpdiBpZD0iaG9zdDIiPgorICAg
ICAgICA8dGVtcGxhdGUgaWQ9InNyMiIgZGF0YS1tb2RlPSJvcGVuIj4KKyAgICAgICAgICA8ZGl2
IGlkPSJ0YXJnZXQiPjwvZGl2PgorICAgICAgICA8L3RlbXBsYXRlPgorICAgICAgPC9kaXY+Cisg
ICAgPC90ZW1wbGF0ZT4KKyAgPC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2FzeW5jX3Rlc3Qo
KHQpID0+IHsKKyAgY29uc3QgbiA9IGNyZWF0ZVRlc3RUcmVlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJyN0ZXN0MicpKTsKKyAgbi5ob3N0MS5hZGRFdmVudExpc3RlbmVyKCdteS1ldmVudCcsIHQu
c3RlcF9mdW5jKChlKSA9PiB7CisgICAgY29uc3QgcGF0aF9iZWZvcmUgPSBlLmNvbXBvc2VkUGF0
aCgpOworICAgIC8vIE1vdmUgbm9kZXMgb3V0IG9mIGEgY2xvc2VkIHNoYWRvdyB0cmVlCisgICAg
bi5ob3N0MS5hcHBlbmQobi5ob3N0Mik7CisgICAgbi5ob3N0MS5hcHBlbmQobi50YXJnZXQpOwor
ICAgIGNvbnN0IHBhdGhfYWZ0ZXIgPSBlLmNvbXBvc2VkUGF0aCgpOworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMocGF0aF9iZWZvcmUsIHBhdGhfYWZ0ZXIpOworICAgIHQuZG9uZSgpOworICB9KSk7
CisgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdteS1ldmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y29tcG9zZWQ6IHRydWUgfSk7CisgIG4udGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfSwg
J0V2ZW50LmNvbXBvc2VkUGF0aCgpIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgcmVzdWx0IGV2ZW4g
aWYgRE9NIGlzIG11dGF0ZWQgKDIvMiknKTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zvcm0tY29udHJvbC1m
b3JtLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zvcm0tY29udHJvbC1mb3Jt
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zvcm0tY29udHJvbC1mb3Jt
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBACitm
b3JtCisKKworUEFTUyBGb3JtIGNvbnRyb2wncyBmb3JtIGF0dHJpYnV0ZSBzaG91bGQgcG9pbnQg
dG8gdGhlIGZvcm0gZWxlbWVudC4gCitGQUlMIFNoYWRvdyBmb3JtIGNvbnRyb2wncyBmb3JtIGF0
dHJpYnV0ZSBzaG91bGQgd29yayBhbHNvIGluIHNoYWRvdyBET00uIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPGZvcm0gaWQ9ImZvcm0iPmZvcm08L2Zv
cm0+CitQQVNTIEZvcm0gZWxlbWVudCBhcyBmb3JtIGNvbnRyb2wncyBhbmNlc3RvciBzaG91bGQg
d29yayBhbHNvIGluIHNoYWRvdyBET00uIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9ybS1jb250cm9sLWZvcm0tYXR0cmli
dXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zvcm0tY29udHJvbC1mb3JtLWF0dHJpYnV0ZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb3JtLWNvbnRyb2wtZm9ybS1hdHRyaWJ1dGUuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDgwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTg+Cis8dGl0bGU+Rm9ybSBjb250cm9scycgZm9ybSBhdHRyaWJ1dGU8L3RpdGxlPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJ0ZXN0Y29u
dGVudCI+CisgIDxmb3JtIGlkPSJmb3JtIj5mb3JtPC9mb3JtPgorICA8aW5wdXQgaWQ9ImlucHV0
IiBmb3JtPSJmb3JtIj4KKzwvZGl2PgorCis8c2NyaXB0PgorCit0ZXN0KCgpID0+IHsKKyAgYXNz
ZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKS5mb3JtLAorICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtJykpOworfSwgIkZvcm0gY29u
dHJvbCdzIGZvcm0gYXR0cmlidXRlIHNob3VsZCBwb2ludCB0byB0aGUgZm9ybSBlbGVtZW50LiIp
OworCit0ZXN0KCgpID0+IHsKKyAgdmFyIHRlc3Rjb250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3Rjb250ZW50Iik7CisgIHZhciBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgIHZhciBzciA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAib3BlbiJ9KTsK
KyAgc3IuaW5uZXJIVE1MID0gdGVzdGNvbnRlbnQuaW5uZXJIVE1MOworICB2YXIgaW5wdXQgPSBz
ci5nZXRFbGVtZW50QnlJZCgiaW5wdXQiKTsKKyAgdmFyIGZvcm0gPSBzci5nZXRFbGVtZW50QnlJ
ZCgiZm9ybSIpOworCisgIC8vIFNob3VsZCBoYXZlIG51bGwgZm9ybSB3aGVuIHNoYWRvdyBET00g
aXNuJ3QgY29ubmVjdGVkLgorICBhc3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIG51bGwpOworCisg
IHRlc3Rjb250ZW50LmFwcGVuZENoaWxkKGhvc3QpOworICBhc3NlcnRfZXF1YWxzKGlucHV0LmZv
cm0sIGZvcm0pOworCisgIGhvc3QucmVtb3ZlKCk7CisgIGFzc2VydF9lcXVhbHMoaW5wdXQuZm9y
bSwgbnVsbCk7CisKKyAgdGVzdGNvbnRlbnQuYXBwZW5kQ2hpbGQoaG9zdCk7CisgIGFzc2VydF9l
cXVhbHMoaW5wdXQuZm9ybSwgZm9ybSk7CisKKyAgaW5wdXQucmVtb3ZlKCk7CisgIGFzc2VydF9l
cXVhbHMoaW5wdXQuZm9ybSwgbnVsbCk7CisKKyAgc3IuYXBwZW5kQ2hpbGQoaW5wdXQpOworICBh
c3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIGZvcm0pOworCisgIGZvcm0uaWQgPSAiZm9vYmFyIjsK
KyAgYXNzZXJ0X2VxdWFscyhpbnB1dC5mb3JtLCBudWxsKTsKKworICBmb3JtLmlkID0gImZvcm0i
OworICBhc3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIGZvcm0pOworCisgIGZvcm0ucmVtb3ZlKCk7
CisgIGFzc2VydF9lcXVhbHMoaW5wdXQuZm9ybSwgbnVsbCk7CisKKyAgc3IuYXBwZW5kQ2hpbGQo
Zm9ybSk7CisgIGFzc2VydF9lcXVhbHMoaW5wdXQuZm9ybSwgZm9ybSk7CisKKyAgaG9zdC5yZW1v
dmUoKTsKK30sICJTaGFkb3cgZm9ybSBjb250cm9sJ3MgZm9ybSBhdHRyaWJ1dGUgc2hvdWxkIHdv
cmsgYWxzbyBpbiBzaGFkb3cgRE9NLiIpOworCit0ZXN0KCgpID0+IHsKKyAgdmFyIHRlc3Rjb250
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3Rjb250ZW50Iik7CisgIHZhciBob3N0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIHZhciBzciA9IGhvc3QuYXR0YWNo
U2hhZG93KHttb2RlOiAib3BlbiJ9KTsKKyAgc3IuaW5uZXJIVE1MID0gIjxmb3JtIGlkPSdmb3Jt
Jz48aW5wdXQgaWQ9J2lucHV0Jz48L2Zvcm0+IjsKKyAgdmFyIGlucHV0ID0gc3IuZ2V0RWxlbWVu
dEJ5SWQoImlucHV0Iik7CisgIHZhciBmb3JtID0gc3IuZ2V0RWxlbWVudEJ5SWQoImZvcm0iKTsK
KworICBhc3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIGZvcm0pOworCisgIGlucHV0LnJlbW92ZSgp
OworICBhc3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIG51bGwpOworCisgIGZvcm0uYXBwZW5kQ2hp
bGQoaW5wdXQpOworICBhc3NlcnRfZXF1YWxzKGlucHV0LmZvcm0sIGZvcm0pOworCisgIGZvcm0u
cmVtb3ZlKCk7CisgIGFzc2VydF9lcXVhbHMoaW5wdXQuZm9ybSwgZm9ybSk7CisKKyAgaG9zdC5y
ZW1vdmUoKTsKK30sICJGb3JtIGVsZW1lbnQgYXMgZm9ybSBjb250cm9sJ3MgYW5jZXN0b3Igc2hv
dWxkIHdvcmsgYWxzbyBpbiBzaGFkb3cgRE9NLiIpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZ2V0RWxlbWVu
dEJ5SWQtZHluYW1pYy0wMDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9nZXRFbGVtZW50QnlJ
ZC1keW5hbWljLTAwMS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2dldEVsZW1lbnRCeUlk
LWR5bmFtaWMtMDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBTaGFkb3dSb290LmdldEVsZW1lbnRCeUlkIGtlZXBzIHdvcmtpbmcgYWZ0ZXIgaG9z
dCBoYXMgYmVlbiByZW1vdmVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZ2V0RWxlbWVudEJ5SWQtZHluYW1pYy0wMDEuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZ2V0RWxlbWVudEJ5SWQtZHluYW1pYy0wMDEuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZ2V0RWxlbWVudEJ5SWQtZHluYW1pYy0wMDEuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDIzIEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5TaGFkb3cgRE9NOiBTaGFkb3dS
b290LmdldEVsZW1lbnRCeUlkIGluIHNoYWRvdyB0cmVlcyBrZWVwcyB3b3JraW5nIGFmdGVyIGhv
c3QgaXMgcmVtb3ZlZCBmcm9tIHRyZWU8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2RvbS1ub25lbGVtZW50cGFyZW50bm9kZS1nZXRl
bGVtZW50YnlpZCI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vYnVnemlsLmxhLzE0
NzUyMDMiPgorPGxpbmsgcmVsPSJhdXRob3IiIG5hbWU9IkVtaWxpbyBDb2JvcyDDgWx2YXJleiIg
aHJlZj0iZW1pbGlvQGNyaXNhbC5pbyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJob3N0Ij48L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0
KGZ1bmN0aW9uKCkgeworICBsZXQgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
Iik7CisgIGhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0pLmlubmVySFRNTCA9IGA8
ZGl2IGlkPSJ0ZXN0LWlkIj48L2Rpdj5gOworCisgIGxldCBlbGVtZW50ID0gaG9zdC5zaGFkb3dS
b290LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LWlkIik7CisgIGFzc2VydF90cnVlKCEhZWxlbWVudCk7
CisKKyAgaG9zdC5yZW1vdmUoKTsKKyAgYXNzZXJ0X2VxdWFscyhob3N0LnNoYWRvd1Jvb3QuZ2V0
RWxlbWVudEJ5SWQoInRlc3QtaWQiKSwgZWxlbWVudCk7CisKKyAgZWxlbWVudC5yZW1vdmUoKTsK
KyAgYXNzZXJ0X2VxdWFscyhob3N0LnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoInRlc3QtaWQi
KSwgbnVsbCk7Cit9LCAiU2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCBrZWVwcyB3b3JraW5nIGFm
dGVyIGhvc3QgaGFzIGJlZW4gcmVtb3ZlZCIpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtZWxlbWVu
dC1saXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtZWxlbWVudC1saXN0LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtZWxlbWVudC1saXN0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKKworCitGQUlMIElucHV0IGVsZW1lbnQncyBs
aXN0IGF0dHJpYnV0ZSBzaG91bGQgcG9pbnQgdG8gdGhlIGRhdGFsaXN0IGVsZW1lbnQuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKK0ZBSUwgSW5wdXQgZWxlbWVudCdzIGxpc3QgYXR0cmlidXRlIHNob3VsZCBwb2ludCB0
byB0aGUgZGF0YWxpc3QgZWxlbWVudCBpbiBTaGFkb3cgRE9NLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9p
bnB1dC1lbGVtZW50LWxpc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtZWxlbWVudC1saXN0Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2lucHV0LWVsZW1lbnQtbGlzdC5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzkgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4K
Kzx0aXRsZT5JbnB1dC5saXN0PC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0idGVzdGNvbnRlbnQiPgorICA8aW5wdXQgaWQ9Imlu
cHV0IiBsaXN0PSJkYXRhbGlzdCI+Cis8L2Rpdj4KKzxzY3JpcHQ+CisKK3Rlc3QoKCkgPT4gewor
ICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dCcpLmxpc3QsIG51
bGwpOworICB2YXIgZGwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkYXRhbGlzdCIpOworICBk
bC5pZCA9ICJkYXRhbGlzdCI7CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Y29udGVu
dCIpLmFwcGVuZENoaWxkKGRsKTsKKyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaW5wdXQnKS5saXN0LCBkbCk7Cit9LCAiSW5wdXQgZWxlbWVudCdzIGxpc3QgYXR0cmli
dXRlIHNob3VsZCBwb2ludCB0byB0aGUgZGF0YWxpc3QgZWxlbWVudC4iKTsKKworCit0ZXN0KCgp
ID0+IHsKKyAgdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3Rjb250ZW50IikuYXBwZW5kQ2hpbGQoaG9zdCk7Cisg
IHZhciBzciA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAib3BlbiJ9KTsKKyAgdmFyIGlucHV0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKKyAgaW5wdXQuc2V0QXR0cmlidXRl
KCJsaXN0IiwgImRhdGFsaXN0Iik7CisgIHNyLmFwcGVuZENoaWxkKGlucHV0KTsKKyAgYXNzZXJ0
X2VxdWFscyhpbnB1dC5saXN0LCBudWxsKTsKKworICB2YXIgZGwgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkYXRhbGlzdCIpOworICBkbC5pZCA9ICJkYXRhbGlzdCI7CisgIHNyLmFwcGVuZENo
aWxkKGRsKTsKKyAgYXNzZXJ0X2VxdWFscyhpbnB1dC5saXN0LCBkbCk7CisKKyAgZGwucmVtb3Zl
KCk7CisgIGFzc2VydF9lcXVhbHMoaW5wdXQubGlzdCwgbnVsbCk7Cit9LCAiSW5wdXQgZWxlbWVu
dCdzIGxpc3QgYXR0cmlidXRlIHNob3VsZCBwb2ludCB0byB0aGUgZGF0YWxpc3QgZWxlbWVudCBp
biBTaGFkb3cgRE9NLiIpOworCisKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xheW91dC1zbG90LW5vLWxvbmdl
ci1hc3NpZ25lZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25n
ZXItYXNzaWduZWQtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8t
bG9uZ2VyLWFzc2lnbmVkLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBA
QAorPCFET0NUWVBFIGh0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWFzc2lnbmVkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2xheW91dC1zbG90LW5vLWxvbmdlci1hc3NpZ25lZC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItYXNzaWduZWQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5MYXlvdXQgdXNp
bmcgc2xvdCBlbGVtZW50czwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkhheWF0
byBJdG8iIGhyZWY9Im1haWx0bzpoYXlhdG9AZ29vZ2xlLmNvbSIvPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI3NoYWRvdy10cmVlLXNsb3RzIj4K
KzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlZmVyZW5jZS9lbXB0eS5odG1sIi8+Cis8ZGl2IGlk
PSJob3N0Ij48L2Rpdj4KKzxzY3JpcHQ+Citjb25zdCBob3N0ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignI2hvc3QnKTsKK2NvbnN0IHNyID0gaG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3Bl
bicgfSk7Citzci5pbm5lckhUTUwgPSAnPHNsb3QgbmFtZT1zMT48L3Nsb3Q+JworaG9zdC5pbm5l
ckhUTUwgPSAnPGRpdiBpZD1kMSBzbG90PXMxPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkub2Zm
c2V0TGVmdDsKK2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkMScpLnNldEF0dHJpYnV0ZSgnc2xv
dCcsICdzMicpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWZhbGxiYWNr
LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xheW91dC1zbG90LW5vLWxvbmdlci1mYWxsYmFj
ay1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItZmFs
bGJhY2stZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IURPQ1RZ
UEUgaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItZmFsbGJhY2suaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vbGF5b3V0LXNsb3Qtbm8tbG9uZ2VyLWZhbGxiYWNrLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2xheW91dC1zbG90LW5vLWxvbmdlci1mYWxsYmFjay5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkxheW91dCB1c2luZyBzbG90IGVs
ZW1lbnRzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSGF5YXRvIEl0byIgaHJl
Zj0ibWFpbHRvOmhheWF0b0Bnb29nbGUuY29tIi8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jc2hhZG93LXRyZWUtc2xvdHMiPgorPGxpbmsgcmVs
PSJtYXRjaCIgaHJlZj0icmVmZXJlbmNlL2VtcHR5Lmh0bWwiLz4KKzxkaXYgaWQ9Imhvc3QiPjwv
ZGl2PgorPHNjcmlwdD4KK2NvbnN0IGhvc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaG9z
dCcpOworY29uc3Qgc3IgPSBob3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTsKKwor
c3IuaW5uZXJIVE1MID0gJzxzbG90PjxkaXYgaWQ9ImZhbGxiYWNrIj5TaG91bGQgbm90IGJlIGRp
c3BsYXllZDwvZGl2Pjwvc2xvdD4nCisKK2RvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKK2hvc3Qu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOworPC9zY3JpcHQ+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAy
MzU4ODApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgog
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTcsMTYgKzE3LDIxIEBA
IExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50LXByb3RvdHlwZS1hZG9wdE5vZGUuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVu
dC1wcm90b3R5cGUtY3VycmVudFNjcmlwdC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50LXByb3RvdHlwZS1pbXBvcnRO
b2RlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vRG9jdW1lbnRPclNoYWRvd1Jvb3QtcHJvdG90eXBlLWVsZW1lbnRGcm9tUG9pbnQu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9FbGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3ctY3VzdG9tLWVsZW1lbnQuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9F
bGVtZW50LWludGVyZmFjZS1hdHRhY2hTaGFkb3cuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9FbGVtZW50LWludGVyZmFjZS1zaGFk
b3dSb290LWF0dHJpYnV0ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0V4dGVuc2lvbnMtdG8tRXZlbnQtSW50ZXJmYWNlLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
SFRNTFNsb3RFbGVtZW50LWludGVyZmFjZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL01vdXNlRXZlbnQtcHJvdG90
eXBlLW9mZnNldFgtb2Zmc2V0WS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL05vZGUtcHJvdG90eXBlLWNsb25lTm9kZS5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL09X
TkVSUwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9SYW5nZS1wcm90b3R5cGUtaW5zZXJ0Tm9kZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL1NoYWRvd1Jvb3QtaW50ZXJmYWNl
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vU2xvdGFibGUtaW50ZXJmYWNlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2
ZS1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50YXRpdmUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1j
b21wb3NlZC1wYXRoLWFmdGVyLWRvbS1tdXRhdGlvbi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWNvbXBvc2VkLXBhdGgt
d2l0aC1yZWxhdGVkLXRhcmdldC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWNvbXBvc2VkLXBhdGguaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1j
b21wb3NlZC5odG1sCkBAIC0zNCw3ICszOSwxNCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1pbnNp
ZGUtc2xvdHRlZC1ub2RlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtcG9zdC1kaXNwYXRjaC5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LXdpdGgt
cmVsYXRlZC10YXJnZXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9mb3JtLWNvbnRyb2wtZm9ybS1hdHRyaWJ1dGUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9nZXRF
bGVtZW50QnlJZC1keW5hbWljLTAwMS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2hpc3RvcmljYWwuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbnB1dC1lbGVtZW50
LWxpc3QuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItYXNzaWduZWQtZXhwZWN0ZWQuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9s
YXlvdXQtc2xvdC1uby1sb25nZXItYXNzaWduZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXIt
ZmFsbGJhY2stZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sYXlvdXQtc2xvdC1uby1sb25nZXItZmFsbGJhY2suaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9zY3JvbGwtdG8tdGhlLWZyYWdtZW50LWluLXNoYWRvdy10cmVlLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdGNoYW5nZS1j
dXN0b21lbGVtZW50cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RjaGFuZ2UtZXZlbnQuaHRtbApJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xlYWt0ZXN0cy9n
ZXQtZWxlbWVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sZWFrdGVzdHMvZ2V0LWVsZW1l
bnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjM1ODgwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xlYWt0ZXN0cy9nZXQtZWxlbWVu
dHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIGdl
dEVsZW1lbnRzQnlJZCgpIHNob3VsZCBub3QgbGVhayBub2RlcyBpbiBzaGFkb3cgdHJlZSAKLUZB
SUwgZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgpIHNob3VsZCBub3QgbGVhayBub2RlcyBpbiBzaGFk
b3cgdHJlZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAwLCBleHBlY3RlZCBhcnJheQot
RkFJTCBnZXRFbGVtZW50c0J5TmFtZSgpIHNob3VsZCBub3QgbGVhayBub2RlcyBpbiBzaGFkb3cg
dHJlZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAwLCBleHBlY3RlZCBhcnJheQotRkFJ
TCBnZXRFbGVtZW50c0J5VGFnTmFtZSgpIHNob3VsZCBub3QgbGVhayBub2RlcyBpbiBzaGFkb3cg
dHJlZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyAwLCBleHBlY3RlZCBhcnJheQorUEFT
UyBnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCkgc2hvdWxkIG5vdCBsZWFrIG5vZGVzIGluIHNoYWRv
dyB0cmVlIAorUEFTUyBnZXRFbGVtZW50c0J5TmFtZSgpIHNob3VsZCBub3QgbGVhayBub2RlcyBp
biBzaGFkb3cgdHJlZSAKK1BBU1MgZ2V0RWxlbWVudHNCeVRhZ05hbWUoKSBzaG91bGQgbm90IGxl
YWsgbm9kZXMgaW4gc2hhZG93IHRyZWUgCiBQQVNTIGdldEVsZW1lbnRzQnlUYWdOYW1lTlMoKSBz
aG91bGQgbm90IGxlYWsgbm9kZXMgaW4gc2hhZG93IHRyZWUgCiAKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sZWFrdGVzdHMvZ2V0
LWVsZW1lbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2xlYWt0ZXN0cy9nZXQtZWxlbWVudHMuaHRtbAko
cmV2aXNpb24gMjM1ODgwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2xlYWt0ZXN0cy9nZXQtZWxlbWVudHMuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtODUsMTIgKzg1LDEyIEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgYXNzZXJ0X2Vx
dWFscyhkb2MucXVlcnlTZWxlY3RvckFsbCgnLmJhcicpLmxlbmd0aCwgMSk7CiAgICAgYXNzZXJ0
X2VxdWFscyhkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnYmFyJylbMF0uZ2V0QXR0cmlidXRl
KCdsYWJlbCcpLCAnZG9jLWRpdicpOwogCi0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhob3N0T3Bl
bi5xdWVyeVNlbGVjdG9yQWxsKCcuYmFyJykubGVuZ3RoLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGhvc3RPcGVuLnF1ZXJ5U2VsZWN0b3JBbGwoJy5iYXInKS5sZW5ndGgsIDApOwogCiAgICAgYXNz
ZXJ0X2VxdWFscyhzaGFkb3dPcGVuLnF1ZXJ5U2VsZWN0b3JBbGwoJy5iYXInKS5sZW5ndGgsIDEp
OwogICAgIGFzc2VydF9lcXVhbHMoc2hhZG93T3Blbi5xdWVyeVNlbGVjdG9yQWxsKCcuYmFyJylb
MF0uZ2V0QXR0cmlidXRlKCdsYWJlbCcpLCAnc2hhZG93LW9wZW4tZGl2Jyk7CiAKLSAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKGhvc3RDbG9zZWQucXVlcnlTZWxlY3RvckFsbCgnLmJhcicpLmxlbmd0
aCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhob3N0Q2xvc2VkLnF1ZXJ5U2VsZWN0b3JBbGwoJy5i
YXInKS5sZW5ndGgsIDApOwogCiAgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3dDbG9zZWQucXVlcnlT
ZWxlY3RvckFsbCgnLmJhcicpLmxlbmd0aCwgMSk7CiAgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3dD
bG9zZWQucXVlcnlTZWxlY3RvckFsbCgnLmJhcicpWzBdLmdldEF0dHJpYnV0ZSgnbGFiZWwnKSwg
J3NoYWRvdy1jbG9zZWQtZGl2Jyk7CkBAIC0xMDYsMTEgKzEwNiwxMSBAQCB0ZXN0KGZ1bmN0aW9u
KCkgewogCiAgICAgYXNzZXJ0X2VxdWFscyhkb2MucXVlcnlTZWxlY3RvckFsbCgnW25hbWU9YmF6
XScpLmxlbmd0aCwgMSk7CiAKLSAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGhvc3RPcGVuLnF1ZXJ5
U2VsZWN0b3JBbGwoJ1tuYW1lPWJhel0nKS5sZW5ndGgsIDApOworICAgIGFzc2VydF9lcXVhbHMo
aG9zdE9wZW4ucXVlcnlTZWxlY3RvckFsbCgnW25hbWU9YmF6XScpLmxlbmd0aCwgMCk7CiAgICAg
YXNzZXJ0X2VxdWFscyhzaGFkb3dPcGVuLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tuYW1lPWJhel0nKS5s
ZW5ndGgsIDEpOwogICAgIGFzc2VydF9lcXVhbHMoc2hhZG93T3Blbi5xdWVyeVNlbGVjdG9yQWxs
KCdbbmFtZT1iYXpdJylbMF0uZ2V0QXR0cmlidXRlKCdsYWJlbCcpLCAnc2hhZG93LW9wZW4tZm9y
bScpOwogCi0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhob3N0Q2xvc2VkLnF1ZXJ5U2VsZWN0b3JB
bGwoJ1tuYW1lPWJhel0nKS5sZW5ndGgsIDApOworICAgIGFzc2VydF9lcXVhbHMoaG9zdENsb3Nl
ZC5xdWVyeVNlbGVjdG9yQWxsKCdbbmFtZT1iYXpdJykubGVuZ3RoLCAwKTsKICAgICBhc3NlcnRf
ZXF1YWxzKHNoYWRvd0Nsb3NlZC5xdWVyeVNlbGVjdG9yQWxsKCdbbmFtZT1iYXpdJykubGVuZ3Ro
LCAxKTsKICAgICBhc3NlcnRfZXF1YWxzKHNoYWRvd0Nsb3NlZC5xdWVyeVNlbGVjdG9yQWxsKCdb
bmFtZT1iYXpdJylbMF0uZ2V0QXR0cmlidXRlKCdsYWJlbCcpLCAnc2hhZG93LWNsb3NlZC1mb3Jt
Jyk7CiB9LCAnZ2V0RWxlbWVudHNCeU5hbWUoKSBzaG91bGQgbm90IGxlYWsgbm9kZXMgaW4gc2hh
ZG93IHRyZWUnKTsKQEAgLTEyNiwxMiArMTI2LDEyIEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAg
YXNzZXJ0X2VxdWFscyhkb2MucXVlcnlTZWxlY3RvckFsbCgnbXktZWxlbWVudCcpLmxlbmd0aCwg
MSk7CiAgICAgYXNzZXJ0X2VxdWFscyhkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ215LWVsZW1l
bnQnKVswXS5nZXRBdHRyaWJ1dGUoJ2xhYmVsJyksICdkb2MtbXktZWxlbWVudCcpOwogCi0gICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhob3N0T3Blbi5xdWVyeVNlbGVjdG9yQWxsKCdteS1lbGVtZW50
JykubGVuZ3RoLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGhvc3RPcGVuLnF1ZXJ5U2VsZWN0b3JB
bGwoJ215LWVsZW1lbnQnKS5sZW5ndGgsIDApOwogICAgIC8vIFNoYWRvd1Jvb3QgaXNuJ3QgYW4g
RWxlbWVudCwgZG9lcyBub3QgaGF2ZSBnZXRFbGVtZW50c0J5VGFnTmFtZSgpLgogICAgIGFzc2Vy
dF9lcXVhbHMoc2hhZG93T3Blbi5xdWVyeVNlbGVjdG9yQWxsKCdteS1lbGVtZW50JykubGVuZ3Ro
LCAxKTsKICAgICBhc3NlcnRfZXF1YWxzKHNoYWRvd09wZW4ucXVlcnlTZWxlY3RvckFsbCgnbXkt
ZWxlbWVudCcpWzBdLmdldEF0dHJpYnV0ZSgnbGFiZWwnKSwgJ3NoYWRvdy1vcGVuLW15LWVsZW1l
bnQnKTsKIAotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoaG9zdENsb3NlZC5xdWVyeVNlbGVjdG9y
QWxsKCdteS1lbGVtZW50JykubGVuZ3RoLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGhvc3RDbG9z
ZWQucXVlcnlTZWxlY3RvckFsbCgnbXktZWxlbWVudCcpLmxlbmd0aCwgMCk7CiAgICAgYXNzZXJ0
X2VxdWFscyhzaGFkb3dDbG9zZWQucXVlcnlTZWxlY3RvckFsbCgnbXktZWxlbWVudCcpLmxlbmd0
aCwgMSk7CiAgICAgYXNzZXJ0X2VxdWFscyhzaGFkb3dDbG9zZWQucXVlcnlTZWxlY3RvckFsbCgn
bXktZWxlbWVudCcpWzBdLmdldEF0dHJpYnV0ZSgnbGFiZWwnKSwgJ3NoYWRvdy1jbG9zZWQtbXkt
ZWxlbWVudCcpOwogfSwgJ2dldEVsZW1lbnRzQnlUYWdOYW1lKCkgc2hvdWxkIG5vdCBsZWFrIG5v
ZGVzIGluIHNoYWRvdyB0cmVlJyk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbGVha3Rlc3RzL3czYy1pbXBvcnQubG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9sZWFrdGVzdHMvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDIzNTg4MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9sZWFr
dGVzdHMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Jlc291cmNlcy9ldmVudC1w
YXRoLXRlc3QtaGVscGVycy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vcmVzb3VyY2VzL2V2ZW50LXBhdGgtdGVz
dC1oZWxwZXJzLmpzCShyZXZpc2lvbiAyMzU4ODApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vcmVzb3VyY2VzL2V2ZW50LXBhdGgtdGVz
dC1oZWxwZXJzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw5ICsxNiw2IEBAIGZ1bmN0aW9uIGRp
c3BhdGNoRXZlbnRXaXRoRXZlbnRMb2coc2hhZG8KICAgICAgICAgICAgICAgICBldmVudFBhdGgu
cHVzaCh0aGlzLmxhYmVsKTsKICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0cy5wdXNoKGV2
ZW50LnJlbGF0ZWRUYXJnZXQgPyBldmVudC5yZWxhdGVkVGFyZ2V0LmxhYmVsIDogbnVsbCk7CiAK
LSAgICAgICAgICAgICAgICBpZiAoIWV2ZW50LmNvbXBvc2VkUGF0aCkgLy8gRG9uJ3QgZmFpbCBh
bGwgdGVzdHMganVzdCBmb3IgdGhlIGxhY2sgb2YgY29tcG9zZWRQYXRoLgotICAgICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0KICAgICAgICAgICAgICAgICBwYXRoQXRUYXJnZXRzLnB1c2goZXZl
bnQuY29tcG9zZWRQYXRoKCkubWFwKGZ1bmN0aW9uIChub2RlKSB7IHJldHVybiBub2RlLmxhYmVs
OyB9KSk7CiAgICAgICAgICAgICAgICAgdGFyZ2V0cy5wdXNoKGV2ZW50LnRhcmdldCk7CiAgICAg
ICAgICAgICB9KS5iaW5kKG5vZGUpKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9yZXNvdXJjZXMvc2hhZG93LWRvbS11dGlscy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vcmVzb3VyY2VzL3NoYWRvdy1kb20tdXRpbHMuanMJKHJldmlzaW9uIDIz
NTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9yZXNvdXJjZXMvc2hhZG93LWRvbS11dGlscy5qcwkod29ya2luZyBjb3B5KQpAQCAt
NTksNiArNTksOCBAQCB2YXIgSFRNTDVfRUxFTUVOVF9OQU1FUyA9IFsKICAgICAnd2JyJwogXTsK
IAordmFyIEFUVEFDSFNIQURPV19ESVNBTExPV0VEX0VMRU1FTlRTID0gSFRNTDVfRUxFTUVOVF9O
QU1FUy5maWx0ZXIoZWwgPT4gIUFUVEFDSFNIQURPV19TQUZFTElTVEVEX0VMRU1FTlRTLmluY2x1
ZGVzKGVsKSk7CisKIGZ1bmN0aW9uIHVuaXQoZikgewogICAgIHJldHVybiBmdW5jdGlvbiAoKSB7
CiAgICAgICAgIHZhciBjdHggPSBuZXdDb250ZXh0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vcmVzb3VyY2VzL3czYy1pbXBv
cnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDIz
NTg4MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNyAr
MSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIAo=
</data>
<flag name="review"
          id="366944"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
      

    </bug>

</bugzilla>