<?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>222142</bug_id>
          
          <creation_ts>2021-02-18 16:37:28 -0800</creation_ts>
          <short_desc>[test262] test/built-ins/RegExp/match-indices needs updating for &apos;d&apos; flag</short_desc>
          <delta_ts>2021-02-25 15:46:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1731091</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2021-02-18 16:37:28 -0800</bug_when>
    <thetext>The current ToT test262 tests for the regexp-match-indices feature in the directory test/built-ins/RegExp/match-indices need updating for the recently approved &apos;d&apos; flag.

This bug is to track when that gets done so we can enable the feature in JSTests/test262/config.yaml.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731199</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2021-02-18 20:57:03 -0800</bug_when>
    <thetext>There is a Pull request https://github.com/tc39/test262/pull/2934. with updated tests.  I downloaded that PR and found two bugs in the test, which I added comments for in the PR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733424</commentid>
    <comment_count>2</comment_count>
      <attachid>421547</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2021-02-25 11:10:12 -0800</bug_when>
    <thetext>Created attachment 421547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733426</commentid>
    <comment_count>3</comment_count>
      <attachid>421547</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-25 11:11:45 -0800</bug_when>
    <thetext>Comment on attachment 421547
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733562</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-25 15:45:26 -0800</bug_when>
    <thetext>Committed r273518: &lt;https://commits.webkit.org/r273518&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421547.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733563</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-25 15:46:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/74764286&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421547</attachid>
            <date>2021-02-25 11:10:12 -0800</date>
            <delta_ts>2021-02-25 15:45:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>222142.patch</filename>
            <type>text/plain</type>
            <size>82048</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNzM0OTUpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDY2IEBACisyMDIxLTAyLTI1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIFt0ZXN0MjYyXSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gt
aW5kaWNlcyBuZWVkcyB1cGRhdGluZyBmb3IgJ2QnIGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjE0MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgV2ViS2l0J3MgY29weSBvZiBUZXN0
MjYyIHRvIHRoZSBsYXRlc3QuICBBbGwgb2YgdGhlIGNoYW5nZXMgYXJlIHJlbGF0ZWQgdG8KKyAg
ICAgICAgdGhlIFJlZ0V4cCBtYXRjaCBpbmRpY2VzIHN0YWdlIDMgcHJvcG9zYWwgKGh0dHBzOi8v
Z2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLXJlZ2V4cC1tYXRjaC1pbmRpY2VzKS4KKyAgICAgICAg
UmVtb3ZlZCB0aGUgbG9jYWwgY29waWVzIG9mIHRoZSBidWlsdC1pbnMvUmVnRXhwL21hdGNoLWlu
ZGljZXMvIHRlc3RzIG5vdyB0aGF0IHRoZXkgCisgICAgICAgIGhhdmUgYmVlbiBtZXJnZWQuCisK
KyAgICAgICAgRW5hYmxlZCB0aGUgdGVzdGluZyBvZiB0aGUgInJlZ2V4cC1tYXRjaC1pbmRpY2Vz
IiBmZWF0dXJlIGluIGNvbmZpZy55YW1sIGFzIHdlIHBhc3MKKyAgICAgICAgYWxsIG9mIHRoZSBh
c3NvY2lhdGVkIHRlc3RzLgorCisgICAgICAgICogc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJh
eS1lbGVtZW50LmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy90ZXN0MjYyLWluZGljZXMt
YXJyYXktbWF0Y2hlZC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBzdHJlc3MvdGVzdDI2Mi1pbmRp
Y2VzLWFycmF5LW5vbi11bmljb2RlLW1hdGNoLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVz
cy90ZXN0MjYyLWluZGljZXMtYXJyYXktcHJvcGVydGllcy5qczogUmVtb3ZlZC4KKyAgICAgICAg
KiBzdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWFycmF5LXVuaWNvZGUtbWF0Y2guanM6IFJlbW92ZWQu
CisgICAgICAgICogc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJheS11bmljb2RlLXByb3BlcnR5
LW5hbWVzLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy90ZXN0MjYyLWluZGljZXMtYXJy
YXktdW5tYXRjaGVkLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy90ZXN0MjYyLWluZGlj
ZXMtYXJyYXkuanM6IFJlbW92ZWQuCisgICAgICAgICogc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1n
cm91cHMtb2JqZWN0LXVuZGVmaW5lZC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBzdHJlc3MvdGVz
dDI2Mi1pbmRpY2VzLWdyb3Vwcy1vYmplY3QtdW5tYXRjaGVkLmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIHN0cmVzcy90ZXN0MjYyLWluZGljZXMtZ3JvdXBzLW9iamVjdC5qczogUmVtb3ZlZC4KKyAg
ICAgICAgKiBzdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWdyb3Vwcy1wcm9wZXJ0aWVzLmpzOiBSZW1v
dmVkLgorICAgICAgICAqIHN0cmVzcy90ZXN0MjYyLWluZGljZXMtcHJvcGVydHkuanM6IFJlbW92
ZWQuCisgICAgICAgICogdGVzdDI2Mi9jb25maWcueWFtbDoKKyAgICAgICAgKiB0ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9kdXBsaWNhdGUtZmxhZ3MuanM6CisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LWVsZW1l
bnQuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5k
aWNlcy9pbmRpY2VzLWFycmF5LW1hdGNoZWQuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LW5vbi11bmljb2RlLW1h
dGNoLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWlu
ZGljZXMvaW5kaWNlcy1hcnJheS1wcm9wZXJ0aWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJheS11bmljb2RlLW1h
dGNoLmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWlu
ZGljZXMvaW5kaWNlcy1hcnJheS11bmljb2RlLXByb3BlcnR5LW5hbWVzLmpzOgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJh
eS11bm1hdGNoZWQuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
bWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LmpzOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0LXVuZGVm
aW5lZC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1p
bmRpY2VzL2luZGljZXMtZ3JvdXBzLW9iamVjdC11bm1hdGNoZWQuanM6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1v
YmplY3QuanM6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gt
aW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1wcm9wZXJ0aWVzLmpzOgorICAgICAgICAqIHRlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1wcm9wZXJ0eS5qczoK
KyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL25v
LWluZGljZXMtYXJyYXkuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9mbGFncy9jb2VyY2lvbi1oYXNJbmRpY2VzLmpzOiBBZGRlZC4K
KyAgICAgICAgKGdldCBPYmplY3QpOgorICAgICAgICAoYXNzZXJ0LnNhbWVWYWx1ZS5nZXQgY2Fs
bCk6CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2Zs
YWdzL2dldC1vcmRlci5qczoKKyAgICAgICAgKHJlLmdldCBoYXNJbmRpY2VzKToKKyAgICAgICAg
KiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZmxhZ3MvcmV0aHJvdy5q
czoKKyAgICAgICAgKGdldCBPYmplY3QpOgorICAgICAgICAqIHRlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9mbGFncy9yZXR1cm4tb3JkZXIuanM6CisgICAgICAgICogdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2ZsYWdzL3RoaXMtdmFsLXJlZ2V4
cC5qczoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
aGFzSW5kaWNlczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL2hhc0luZGljZXMvY3Jvc3MtcmVhbG0uanM6IEFkZGVkLgorICAgICAgICAq
IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9oYXNJbmRpY2VzL2xlbmd0
aC5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL2hhc0luZGljZXMvbmFtZS5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0luZGljZXMvcHJvcC1kZXNjLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaGFz
SW5kaWNlcy90aGlzLXZhbC1pbnZhbGlkLW9iai5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0luZGljZXMvdGhpcy12YWwtbm9u
LW9iai5qczogQWRkZWQuCisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL2hhc0luZGljZXMvdGhpcy12YWwtcmVnZXhwLXByb3RvdHlwZS5qczogQWRkZWQu
CisgICAgICAgICogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0lu
ZGljZXMvdGhpcy12YWwtcmVnZXhwLmpzOiBBZGRlZC4KKwogMjAyMS0wMi0yMyAgTWljaGFlbCBT
YWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBbWUFSUiBKSVRdIENyYXNoIG9u
IG92ZXJmbG93IHdoZW4gY29tcGlsaW5nIC8oYXsxMDAwMDAwMDAwfWJ7MTAwMDAwMDAwMH18Y3sx
MDAwMDAwMDAwfXwpZHsxMDAwMDAwMDAwfWV7MTAwMDAwMDAwMH0vLnRlc3QoKTsKSW5kZXg6IEpT
VGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJheS1lbGVtZW50LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJheS1lbGVtZW50LmpzCShyZXZp
c2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3N0cmVzcy90ZXN0MjYyLWluZGljZXMtYXJyYXktZWxl
bWVudC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDMzICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE5
IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0t
LQotZGVzY3JpcHRpb246IEEgbWF0Y2hpbmcgZWxlbWVudCBvZiBpbmRpY2VzIGlzIGFuIEFycmF5
IHdpdGggZXhhY3RseSB0d28gbnVtYmVyIHByb3BlcnRpZXMuCi1lc2lkOiBzZWMtZ2V0bWF0Y2hp
bmRpY2VzYXJyYXkKLWZlYXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNdCi1pbmZvOiB8Ci0g
IEdldE1hdGNoSW5kaWNlc0FycmF5ICggUywgbWF0Y2ggKQotICAgIDUuIFJldHVybiBDcmVhdGVB
cnJheUZyb21MaXN0KMKrIF9tYXRjaF8uW1tTdGFydEluZGV4XV0sIF9tYXRjaF8uW1tFbmRJbmRl
eF1dIMK7KS4KLS0tLSovCi0KLWZ1bmN0aW9uIGFzc2VydFNhbWVWYWx1ZShhLCBiKQotewotICAg
IGlmIChhICE9PSBiKQotICAgICAgICB0aHJvdyAiVmFsdWVzIG5vdCBzYW1lIjsKLX0KLQotbGV0
IGlucHV0ID0gImFiY2QiOwotbGV0IG1hdGNoID0gL2IoYykvZC5leGVjKGlucHV0KTsKLWxldCBp
bmRpY2VzID0gbWF0Y2guaW5kaWNlczsKLQotLy8gYGluZGljZXNbMF1gIGlzIGFuIGFycmF5Ci1h
c3NlcnRTYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKGluZGljZXNbMF0pLCBBcnJheS5w
cm90b3R5cGUpOwotYXNzZXJ0U2FtZVZhbHVlKGluZGljZXNbMF0ubGVuZ3RoLCAyKTsKLWFzc2Vy
dFNhbWVWYWx1ZSh0eXBlb2YgaW5kaWNlc1swXVswXSwgIm51bWJlciIpOwotYXNzZXJ0U2FtZVZh
bHVlKHR5cGVvZiBpbmRpY2VzWzBdWzFdLCAibnVtYmVyIik7Ci0KLS8vIGBpbmRpY2VzWzFdYCBp
cyBhbiBhcnJheQotYXNzZXJ0U2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihpbmRpY2Vz
WzFdKSwgQXJyYXkucHJvdG90eXBlKTsKLWFzc2VydFNhbWVWYWx1ZShpbmRpY2VzWzFdLmxlbmd0
aCwgMik7Ci1hc3NlcnRTYW1lVmFsdWUodHlwZW9mIGluZGljZXNbMV1bMF0sICJudW1iZXIiKTsK
LWFzc2VydFNhbWVWYWx1ZSh0eXBlb2YgaW5kaWNlc1sxXVsxXSwgIm51bWJlciIpOwpJbmRleDog
SlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWFycmF5LW1hdGNoZWQuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWFycmF5LW1hdGNoZWQuanMJKHJl
dmlzaW9uIDI3MzQ5MykKKysrIEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJheS1t
YXRjaGVkLmpzCShub25leGlzdGVudCkKQEAgLTEsNjAgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIw
MTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8q
LS0tCi1kZXNjcmlwdGlvbjogVGhlIHByb3BlcnRpZXMgb2YgdGhlICJpbmRpY2VzIiBhcnJheSBj
b3JyZXNwb25kIHRvIHRoZSBzdGFydC9lbmQgaW5kaWNlcyBvZiB0aGUgc2FtZSB2YWx1ZXMgaW4g
dGhlIG1hdGNoLgotaW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCi1lc2lkOiBzZWMtbWFrZWlu
ZGljZXNhcnJheQotZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KLWluZm86IHwKLSAg
TWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMsIGhhc0luZGljZXMgKQot
ICAgIDQuIExldCBfbl8gYmUgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBfaW5kaWNlc18uCi0g
ICAgLi4uCi0gICAgOC4gU2V0IF9BXyB0byAhIEFycmF5Q3JlYXRlKF9uXykuCi0gICAgLi4uCi0g
ICAgMTMuIEZvciBlYWNoIGludGVnZXIgX2lfIHN1Y2ggdGhhdCBfaV8gPj0gMCBhbmQgX2lfIDwg
X25fLCBkbwotICAgICAgYS4gTGV0IF9tYXRjaEluZGljZXNfIGJlIF9pbmRpY2VzX1tfaV9dLgot
ICAgICAgYi4gSWYgX21hdGNoSW5kaWNlc18gaXMgbm90ICp1bmRlZmluZWQqLCB0aGVuCi0gICAg
ICAgIGkuIExldCBfbWF0Y2hJbmRpY2VzQXJyYXlfIGJlICEgR2V0TWF0Y2hJbmRpY2VzQXJyYXko
X1NfLCBfbWF0Y2hJbmRpY2VzXykuCi0gICAgICBjLiBFbHNlLAotICAgICAgICBpLiBMZXQgX21h
dGNoSW5kaWNlc0FycmF5XyBiZSAqdW5kZWZpbmVkKi4KLSAgICAgIGQuIFBlcmZvcm0gISBDcmVh
dGVEYXRhUHJvcGVydHkoX0FfLCAhIFRvU3RyaW5nKF9uXyksIF9tYXRjaEluZGljZXNBcnJheV8p
LgotICAgICAgICAuLi4KLS0tLSovCi0KLWZ1bmN0aW9uIGFzc2VydFNhbWVWYWx1ZShhLCBiKQot
ewotICAgIGlmIChhICE9PSBiKQotICAgICAgICB0aHJvdyAiVmFsdWVzIG5vdCBzYW1lIjsKLX0K
LQotZnVuY3Rpb24gYXNzZXJ0Q29tcGFyZUFycmF5KGEsIGIpCi17Ci0gICAgaWYgKCFhIGluc3Rh
bmNlb2YgQXJyYXkpCi0gICAgICAgIHRocm93ICJhIG5vdCBhcnJheSI7Ci0KLSAgICBpZiAoIWIg
aW5zdGFuY2VvZiBBcnJheSkKLSAgICAgICAgdGhyb3cgImIgbm90IGFycmF5IjsKLQotICAgIGlm
IChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpCi0gICAgICAgIHRocm93ICJBcnJheXMgZGlmZmVyIGlu
IGxlbmd0aCI7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyArK2kpCi0gICAg
ICAgIGlmIChhW2ldICE9PSBiW2ldKQotICAgICAgICAgICAgdGhyb3cgIkFycmF5IGVsZW1lbnQg
IiArIGkgKyAiIGRpZmZlciI7Ci19Ci0KLWxldCBpbnB1dCA9ICJhYmNkIjsKLWxldCBtYXRjaCA9
IC9iKGMpL2QuZXhlYyhpbnB1dCk7Ci1sZXQgaW5kaWNlcyA9IG1hdGNoLmluZGljZXM7Ci0KLS8v
IGBpbmRpY2VzYCBoYXMgdGhlIHNhbWUgbGVuZ3RoIGFzIG1hdGNoCi1hc3NlcnRTYW1lVmFsdWUo
aW5kaWNlcy5sZW5ndGgsIG1hdGNoLmxlbmd0aCk7Ci0KLS8vIFRoZSBmaXJzdCBlbGVtZW50IG9m
IGBpbmRpY2VzYCBjb250YWlucyB0aGUgc3RhcnQvZW5kIGluZGljZXMgb2YgdGhlIG1hdGNoCi1h
c3NlcnRDb21wYXJlQXJyYXkoaW5kaWNlc1swXSwgWzEsIDNdKTsKLWFzc2VydFNhbWVWYWx1ZShp
bnB1dC5zbGljZShpbmRpY2VzWzBdWzBdLCBpbmRpY2VzWzBdWzFdKSwgbWF0Y2hbMF0pOwotCi0v
LyBUaGUgc2Vjb25kIGVsZW1lbnQgb2YgYGluZGljZXNgIGNvbnRhaW5zIHRoZSBzdGFydC9lbmQg
aW5kaWNlcyBvZiB0aGUgZmlyc3QgY2FwdHVyZQotYXNzZXJ0Q29tcGFyZUFycmF5KGluZGljZXNb
MV0sIFsyLCAzXSk7Ci1hc3NlcnRTYW1lVmFsdWUoaW5wdXQuc2xpY2UoaW5kaWNlc1sxXVswXSwg
aW5kaWNlc1sxXVsxXSksIG1hdGNoWzFdKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjIt
aW5kaWNlcy1hcnJheS1ub24tdW5pY29kZS1tYXRjaC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy90ZXN0MjYyLWluZGljZXMtYXJyYXktbm9uLXVuaWNvZGUtbWF0Y2guanMJKHJldmlz
aW9uIDI3MzQ5MykKKysrIEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJheS1ub24t
dW5pY29kZS1tYXRjaC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDEyOSArMCwwIEBACi0vLyBDb3B5
cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotLyotLS0KLWRlc2NyaXB0aW9uOiBCYXNpYyBtYXRjaGluZyBjYXNlcyB3aXRoIG5vbi11
bmljb2RlIG1hdGNoZXMuCi1pbmNsdWRlczogW2NvbXBhcmVBcnJheS5qcywgcHJvcGVydHlIZWxw
ZXIuanMsIGRlZXBFcXVhbC5qc10KLWVzaWQ6IHNlYy1yZWdleHBidWlsdGluZXhlYwotZmVhdHVy
ZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KLWluZm86IHwKLSAgUnVudGltZSBTZW1hbnRpY3M6
IFJlZ0V4cEJ1aWx0aW5FeGVjICggUiwgUyApCi0gICAgLi4uCi0gICAgNC4gTGV0IF9sYXN0SW5k
ZXhfIGJlID8gVG9MZW5ndGgoPyBHZXQoX1JfLCBgImxhc3RJbmRleCIpKS4KLSAgICAuLi4KLSAg
ICA4LiBJZiBfZmxhZ3NfIGNvbnRhaW5zIGAiZCJgLCBsZXQgX2hhc0luZGljZXNfIGJlICp0cnVl
KiwgZWxzZSBsZXQgX2hhc0luZGljZXNfIGJlICpmYWxzZSouCi0gICAgLi4uCi0gICAgMjYuIExl
dCBfbWF0Y2hfIGJlIHRoZSBNYXRjaCB7IFtbU3RhcnRJbmRleF1dOiBfbGFzdEluZGV4XywgW1tF
bmRJbmRleF1dOiBfZV8gfS4KLSAgICAyNy4gTGV0IF9pbmRpY2VzXyBiZSBhIG5ldyBlbXB0eSBM
aXN0LgotICAgIDI5LiBBZGQgX21hdGNoXyBhcyB0aGUgbGFzdCBlbGVtZW50IG9mIF9pbmRpY2Vz
Xy4KLSAgICAuLi4KLSAgICAzNS4gRm9yIGVhY2ggaW50ZWdlciBfaV8gc3VjaCB0aGF0IF9pXyA+
IDAgYW5kIF9pXyA8PSBfbl8sIGluIGFzY2VuZGluZyBvcmRlciwgZG8KLSAgICAgIC4uLgotICAg
ICAgZi4gRWxzZSwKLSAgICAgICAgaS4gTGV0IF9jYXB0dXJlU3RhcnRfIGJlIF9jYXB0dXJlSV8n
cyBfc3RhcnRJbmRleF8uCi0gICAgICAgIGlpLiBMZXQgX2NhcHR1cmVFbmRfIGJlIF9jYXB0dXJl
SV8ncyBfZW5kSW5kZXhfLgotICAgICAgICAuLi4KLSAgICAgICAgaXYuIExldCBfY2FwdHVyZV8g
YmUgdGhlIE1hdGNoICB7IFtbU3RhcnRJbmRleF1dOiBfY2FwdHVyZVN0YXJ0XywgW1tFbmRJbmRl
eF1dOiBfY2FwdHVyZUVuZF8gfS4KLSAgICAgICAgdi4gQXBwZW5kIF9jYXB0dXJlXyB0byBfaW5k
aWNlc18uCi0gICAgICAgIC4uLgotICAgIDM2LiBJZiBfaGFzSW5kaWNlc18gaXMgKnRydWUqLCB0
aGVuCi0gICAgICBhLiBMZXQgX2luZGljZXNBcnJheV8gYmUgTWFrZUluZGljZXNBcnJheSggX1Nf
LCBfaW5kaWNlc18sIF9ncm91cE5hbWVzXykuCi0gICAgICBiLiBQZXJmb3JtICEgQ3JlYXRlRGF0
YVByb3BlcnR5KF9BXywgYCJpbmRpY2VzImAsIF9pbmRpY2VzQXJyYXlfKS4KLS0tLSovCi0KLWZ1
bmN0aW9uIGFzc2VydFNhbWVWYWx1ZShhLCBiKQotewotICAgIGlmIChhICE9PSBiKQotICAgICAg
ICB0aHJvdyAiVmFsdWVzIG5vdCBzYW1lIjsKLX0KLQotZnVuY3Rpb24gYXNzZXJ0Q29tcGFyZUFy
cmF5KGEsIGIpCi17Ci0gICAgaWYgKCFhIGluc3RhbmNlb2YgQXJyYXkpCi0gICAgICAgIHRocm93
ICJhIG5vdCBhcnJheSI7Ci0KLSAgICBpZiAoIWIgaW5zdGFuY2VvZiBBcnJheSkKLSAgICAgICAg
dGhyb3cgImIgbm90IGFycmF5IjsKLQotICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpCi0g
ICAgICAgIHRocm93ICJBcnJheXMgZGlmZmVyIGluIGxlbmd0aCI7Ci0KLSAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IGEubGVuZ3RoOyArK2kpCi0gICAgICAgIGlmIChhW2ldICE9PSBiW2ldKQotICAg
ICAgICAgICAgdGhyb3cgIkFycmF5IGVsZW1lbnQgIiArIGkgKyAiIGRpZmZlciI7Ci19Ci0KLWZ1
bmN0aW9uIGFzc2VydERlZXBFcXVhbChhLCBiKQotewotICAgIGlmICghYSBpbnN0YW5jZW9mIEFy
cmF5KQotICAgICAgICB0aHJvdyAiYSBub3QgYXJyYXkiOwotCi0gICAgaWYgKCFiIGluc3RhbmNl
b2YgQXJyYXkpCi0gICAgICAgIHRocm93ICJiIG5vdCBhcnJheSI7Ci0KLSAgICBpZiAoYS5sZW5n
dGggIT09IGIubGVuZ3RoKQotICAgICAgICB0aHJvdyAiQXJyYXlzIGRpZmZlciBpbiBsZW5ndGgi
OwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIGlm
IChhW2ldIGluc3RhbmNlb2YgQXJyYXkpCi0gICAgICAgICAgICBhc3NlcnREZWVwRXF1YWwoYVtp
XSwgYltpXSk7Ci0gICAgICAgIGVsc2UgaWYgKGFbaV0gIT09IGJbaV0pCi0gICAgICAgICAgICB0
aHJvdyAiQXJyYXkgZWxlbWVudCAiICsgaSArICIgZGlmZmVyIjsKLSAgICB9Ci19Ci0KLWZ1bmN0
aW9uIHZlcmlmeVByb3BlcnR5KG9iaiwgcHJvcCwgZXhwZWN0KQotewotICAgIGxldCBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHByb3ApOwotCi0gICAgZm9yIChj
b25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZXhwZWN0KSkKLSAgICAgICAgaWYg
KGRlc2Nba2V5XSAhPSB2YWx1ZSkKLSAgICAgICAgICAgIHRocm93ICJvYmouIiArIHByb3AgKyAi
ICIgKyBrZXkgKyAiOiBpcyBub3QgIiArIHZhbHVlOwotfQotCi1hc3NlcnREZWVwRXF1YWwoW1sx
LCAyXSwgWzEsIDJdXSwgImJhYiIubWF0Y2goLyhhKS9kKS5pbmRpY2VzKTsKLWFzc2VydERlZXBF
cXVhbChbWzAsIDNdLCBbMSwgMl1dLCAiYmFiIi5tYXRjaCgvLihhKS4vZCkuaW5kaWNlcyk7Ci1h
c3NlcnREZWVwRXF1YWwoW1swLCAzXSwgWzEsIDJdLCBbMiwgM11dLCAiYmFiIi5tYXRjaCgvLihh
KSguKS9kKS5pbmRpY2VzKTsKLWFzc2VydERlZXBFcXVhbChbWzAsIDNdLCBbMSwgM11dLCAiYmFi
Ii5tYXRjaCgvLihcd1x3KS9kKS5pbmRpY2VzKTsKLWFzc2VydERlZXBFcXVhbChbWzAsIDNdLCBb
MCwgM11dLCAiYmFiIi5tYXRjaCgvKFx3XHdcdykvZCkuaW5kaWNlcyk7Ci1hc3NlcnREZWVwRXF1
YWwoW1swLCAzXSwgWzAsIDJdLCBbMiwgM11dLCAiYmFiIi5tYXRjaCgvKFx3XHcpKFx3KS9kKS5p
bmRpY2VzKTsKLWFzc2VydERlZXBFcXVhbChbWzAsIDJdLCBbMCwgMl0sIHVuZGVmaW5lZF0sICJi
YWIiLm1hdGNoKC8oXHdcdykoXFcpPy9kKS5pbmRpY2VzKTsKLQotbGV0IGdyb3VwcyA9IC8oPzxh
Pi4pKD88Yj4uKSg/PGM+LilcazxjPlxrPGI+XGs8YT4vZC5leGVjKCJhYmNjYmEiKS5pbmRpY2Vz
Lmdyb3VwczsKLWFzc2VydENvbXBhcmVBcnJheShbMCwgMV0sIGdyb3Vwcy5hKTsKLWFzc2VydENv
bXBhcmVBcnJheShbMSwgMl0sIGdyb3Vwcy5iKTsKLWFzc2VydENvbXBhcmVBcnJheShbMiwgM10s
IGdyb3Vwcy5jKTsKLXZlcmlmeVByb3BlcnR5KGdyb3VwcywgImEiLCB7Ci0gICAgZW51bWVyYWJs
ZTogdHJ1ZSwKLSAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICBjb25maWd1cmFibGU6IHRydWUKLX0p
OwotdmVyaWZ5UHJvcGVydHkoZ3JvdXBzLCAiYiIsIHsKLSAgICBlbnVtZXJhYmxlOiB0cnVlLAot
ICAgIHdyaXRhYmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7Ci12ZXJpZnlQ
cm9wZXJ0eShncm91cHMsICJjIiwgewotICAgIGVudW1lcmFibGU6IHRydWUsCi0gICAgd3JpdGFi
bGU6IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlCi19KTsKLQotLy8gIvCdkIEiIGlzIFUr
MWQ0MDEgTUFUSEVNQVRJQ0FMIEJPTEQgQ0FQSVRBTCBCCi0vLyAtIEFsc28gcmVwcmVzZW50YWJs
ZSBhcyB0aGUgY29kZSBwb2ludCAiXHV7MWQ0MDF9IgotLy8gLSBBbHNvIHJlcHJlc2VudGFibGUg
YXMgdGhlIHN1cnJvZ2F0ZSBwYWlyICJcdUQ4MzVcdURDMDEiCi0KLS8vIFZlcmlmeSBhc3N1bXB0
aW9uczoKLWFzc2VydFNhbWVWYWx1ZSgi8J2QgSIubGVuZ3RoLCAyLCAnVGhlIGxlbmd0aCBvZiAi
8J2QgSIgaXMgMicpOwotYXNzZXJ0U2FtZVZhbHVlKCJcdXsxZDQwMX0iLmxlbmd0aCwgMiwgJ1Ro
ZSBsZW5ndGggb2YgIlxcdXsxZDQwMX0iIGlzIDInKTsKLWFzc2VydFNhbWVWYWx1ZSgiXHVEODM1
XHVEQzAxIi5sZW5ndGgsIDIsICdUaGUgbGVuZ3RoIG9mICJcXHVEODM1XFx1REMwMSIgaXMgMicp
OwotYXNzZXJ0U2FtZVZhbHVlKCLwnZCBIi5tYXRjaCgvLi8pWzBdLmxlbmd0aCwgMSwgJ1RoZSBs
ZW5ndGggb2YgYSBzaW5nbGUgY29kZSB1bml0IG1hdGNoIGFnYWluc3QgIvCdkIEiIGlzIDEgKHdp
dGhvdXQgL3UgZmxhZyknKTsKLWFzc2VydFNhbWVWYWx1ZSgiXHV7MWQ0MDF9Ii5tYXRjaCgvLi8p
WzBdLmxlbmd0aCwgMSwgJ1RoZSBsZW5ndGggb2YgYSBzaW5nbGUgY29kZSB1bml0IG1hdGNoIGFn
YWluc3QgIlxcdXsxZDQwMX0iIGlzIDEgKHdpdGhvdXQgL3UgZmxhZyknKTsKLWFzc2VydFNhbWVW
YWx1ZSgiXHVEODM1XHVEQzAxIi5tYXRjaCgvLi8pWzBdLmxlbmd0aCwgMSwgJ1RoZSBsZW5ndGgg
b2YgYSBzaW5nbGUgY29kZSB1bml0IG1hdGNoIGFnYWluc3QgIlxcdWQ4MzVcXHVkYzAxIiBpcyAx
ICh3aXRob3V0IC91IGZsYWcpJyk7Ci0KLWFzc2VydENvbXBhcmVBcnJheShbMCwgMV0sICLwnZCB
Ii5tYXRjaCgvLi9kKS5pbmRpY2VzWzBdLCAnSW5kaWNlcyBmb3Igbm9uLXVuaWNvZGUgbWF0Y2gg
YWdhaW5zdCAi8J2QgSIgKHdpdGhvdXQgL3UgZmxhZyknKTsKLWFzc2VydENvbXBhcmVBcnJheShb
MCwgMV0sICJcdXsxZDQwMX0iLm1hdGNoKC8uL2QpLmluZGljZXNbMF0sICdJbmRpY2VzIGZvciBu
b24tdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICJcXHV7MWQ0MDF9IiAod2l0aG91dCAvdSBmbGFnKScp
OwotYXNzZXJ0Q29tcGFyZUFycmF5KFswLCAxXSwgIlx1RDgzNVx1REMwMSIubWF0Y2goLy4vZCku
aW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIG5vbi11bmljb2RlIG1hdGNoIGFnYWluc3QgIlxcdWQ4
MzVcXHVkYzAxIiAod2l0aG91dCAvdSBmbGFnKScpOwotYXNzZXJ0Q29tcGFyZUFycmF5KFswLCAx
XSwgIvCdkIEiLm1hdGNoKC8oPzxhPi4pL2QpLmluZGljZXMuZ3JvdXBzLmEsICdJbmRpY2VzIGZv
ciBub24tdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICLwnZCBIiBpbiBncm91cHMuYSAod2l0aG91dCAv
dSBmbGFnKScpOwotYXNzZXJ0Q29tcGFyZUFycmF5KFswLCAxXSwgIlx1ezFkNDAxfSIubWF0Y2go
Lyg/PGE+LikvZCkuaW5kaWNlcy5ncm91cHMuYSwgJ0luZGljZXMgZm9yIG5vbi11bmljb2RlIG1h
dGNoIGFnYWluc3QgIlxcdXsxZDQwMX0iIGluIGdyb3Vwcy5hICh3aXRob3V0IC91IGZsYWcpJyk7
Ci1hc3NlcnRDb21wYXJlQXJyYXkoWzAsIDFdLCAiXHVEODM1XHVEQzAxIi5tYXRjaCgvKD88YT4u
KS9kKS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3Igbm9uLXVuaWNvZGUgbWF0Y2ggYWdh
aW5zdCAiXFx1ZDgzNVxcdWRjMDEiIGluIGdyb3Vwcy5hICh3aXRob3V0IC91IGZsYWcpJyk7Cklu
ZGV4OiBKU1Rlc3RzL3N0cmVzcy90ZXN0MjYyLWluZGljZXMtYXJyYXktcHJvcGVydGllcy5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90ZXN0MjYyLWluZGljZXMtYXJyYXktcHJvcGVy
dGllcy5qcwkocmV2aXNpb24gMjczNDkzKQorKysgSlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRp
Y2VzLWFycmF5LXByb3BlcnRpZXMuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOCArMCwwIEBACi0v
LyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KLQotLyotLS0KLWRlc2NyaXB0aW9uOiBUaGUgcHJvcGVydGllcyBvZiB0aGUgImlu
ZGljZXMiIGFycmF5IGFyZSBjcmVhdGVkIHdpdGggQ3JlYXRlRGF0YVByb3BlcnR5LgotaW5jbHVk
ZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLWVzaWQ6IHNlYy1tYWtlaW5kaWNlc2FycmF5Ci1mZWF0
dXJlczogW3JlZ2V4cC1tYXRjaC1pbmRpY2VzXQotaW5mbzogfAotICBNYWtlSW5kaWNlc0FycmF5
ICggUywgaW5kaWNlcywgZ3JvdXBOYW1lcywgaGFzR3JvdXBzICkKLSAgICAxMy4gRm9yIGVhY2gg
aW50ZWdlciBfaV8gc3VjaCB0aGF0IF9pXyA+PSAwIGFuZCBfaV8gPCBfbl8sIGRvCi0gICAgICBk
LiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5KF9BXywgISBUb1N0cmluZyhfbl8pLCBfbWF0
Y2hJbmRpY2VzQXJyYXlfKS4KLS0tLSovCi0KLWxldCBpbnB1dCA9ICJhYmNkIjsKLWxldCBtYXRj
aCA9IC9iKGMpL2QuZXhlYyhpbnB1dCk7Ci1sZXQgaW5kaWNlcyA9IG1hdGNoLmluZGljZXM7Ci0K
LWZ1bmN0aW9uIHZlcmlmeVByb3BlcnR5KG9iaiwgcHJvcCwgZXhwZWN0KQotewotICAgIGxldCBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHByb3ApOwotCi0gICAg
Zm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZXhwZWN0KSkKLSAgICAg
ICAgaWYgKGRlc2Nba2V5XSAhPSB2YWx1ZSkKLSAgICAgICAgICAgIHRocm93ICJvYmouIiArIHBy
b3AgKyAiICIgKyBrZXkgKyAiOiBpcyBub3QgIiArIHZhbHVlOwotfQotCi12ZXJpZnlQcm9wZXJ0
eShpbmRpY2VzLCAnMCcsIHsKLSAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgY29uZmlndXJhYmxlOiB0
cnVlLAotICB3cml0YWJsZTogdHJ1ZQotfSk7Ci0KLXZlcmlmeVByb3BlcnR5KGluZGljZXMsICcx
JywgewotICBlbnVtZXJhYmxlOiB0cnVlLAotICBjb25maWd1cmFibGU6IHRydWUsCi0gIHdyaXRh
YmxlOiB0cnVlCi19KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJh
eS11bmljb2RlLW1hdGNoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjIt
aW5kaWNlcy1hcnJheS11bmljb2RlLW1hdGNoLmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rl
c3RzL3N0cmVzcy90ZXN0MjYyLWluZGljZXMtYXJyYXktdW5pY29kZS1tYXRjaC5qcwkobm9uZXhp
c3RlbnQpCkBAIC0xLDEzNyArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWRlc2NyaXB0aW9u
OiBCYXNpYyBtYXRjaGluZyBjYXNlcyB3aXRoIG5vbi11bmljb2RlIG1hdGNoZXMuCi1pbmNsdWRl
czogW2NvbXBhcmVBcnJheS5qcywgcHJvcGVydHlIZWxwZXIuanMsIGRlZXBFcXVhbC5qc10KLWVz
aWQ6IHNlYy1yZWdleHBidWlsdGluZXhlYwotZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNl
c10KLWluZm86IHwKLSAgUnVudGltZSBTZW1hbnRpY3M6IFJlZ0V4cEJ1aWx0aW5FeGVjICggUiwg
UyApCi0gICAgLi4uCi0gICAgNC4gTGV0IF9sYXN0SW5kZXhfIGJlID8gVG9MZW5ndGgoPyBHZXQo
X1JfLCBgImxhc3RJbmRleCIpKS4KLSAgICAuLi4KLSAgICAxNi4gSWYgX2Z1bGxVbmljb2RlXyBp
cyAqdHJ1ZSosIHNldCBfZV8gdG8gISBHZXRTdHJpbmdJbmRleChfU18sIF9JbnB1dF8sIF9lXyku
Ci0gICAgLi4uCi0gICAgMjYuIExldCBfbWF0Y2hfIGJlIHRoZSBNYXRjaCB7IFtbU3RhcnRJbmRl
eF1dOiBfbGFzdEluZGV4XywgW1tFbmRJbmRleF1dOiBfZV8gfS4KLSAgICAyNy4gTGV0IF9pbmRp
Y2VzXyBiZSBhIG5ldyBlbXB0eSBMaXN0LgotICAgIC4uLgotICAgIDI5LiBBZGQgX21hdGNoXyBh
cyB0aGUgbGFzdCBlbGVtZW50IG9mIF9pbmRpY2VzXy4KLSAgICAuLi4KLSAgICAzNS4gRm9yIGVh
Y2ggaW50ZWdlciBfaV8gc3VjaCB0aGF0IF9pXyA+IDAgYW5kIF9pXyA8PSBfbl8sIGluIGFzY2Vu
ZGluZyBvcmRlciwgZG8KLSAgICAgIC4uLgotICAgICAgZi4gRWxzZSwKLSAgICAgICAgaS4gTGV0
IF9jYXB0dXJlU3RhcnRfIGJlIF9jYXB0dXJlSV8ncyBfc3RhcnRJbmRleF8uCi0gICAgICAgIGlp
LiBMZXQgX2NhcHR1cmVFbmRfIGJlIF9jYXB0dXJlSV8ncyBfZW5kSW5kZXhfLgotICAgICAgICBp
aWkuIElmIF9mdWxsVW5pY29kZV8gaXMgKnRydWUqLCB0aGVuCi0gICAgICAgICAgMS4gU2V0IF9j
YXB0dXJlU3RhcnRfIHRvICEgR2V0U3RyaW5nSW5kZXgoX1NfLCBfSW5wdXRfLCBfY2FwdHVyZVN0
YXJ0XykuCi0gICAgICAgICAgMS4gU2V0IF9jYXB0dXJlRW5kXyB0byAhIEdldFN0cmluZ0luZGV4
KF9TXywgX0lucHV0XywgX2NhcHR1cmVFbmRfKS4KLSAgICAgICAgaXYuIExldCBfY2FwdHVyZV8g
YmUgdGhlIE1hdGNoICB7IFtbU3RhcnRJbmRleF1dOiBfY2FwdHVyZVN0YXJ0XywgW1tFbmRJbmRl
eF1dOiBfY2FwdHVyZUVuZF8gfS4KLSAgICAgICAgdi4gQXBwZW5kIF9jYXB0dXJlXyB0byBfaW5k
aWNlc18uCi0gICAgICAgIC4uLgotICAgIDM2LiBJZiBfaGFzSW5kaWNlc18gaXMgKnRydWUqLCB0
aGVuCi0gICAgICBhLiBMZXQgX2luZGljZXNBcnJheV8gYmUgTWFrZUluZGljZXNBcnJheShfU18s
IF9pbmRpY2VzXywgX2dyb3VwTmFtZXNfLCBfaGFzR3JvdXBzXykuCi0gICAgICBiLiBQZXJmb3Jt
ICEgQ3JlYXRlRGF0YVByb3BlcnR5KF9BXywgYCJpbmRpY2VzImAsIF9pbmRpY2VzQXJyYXlfKS4K
LQotICBHZXRTdHJpbmdJbmRleCAoIFMsIElucHV0LCBlICkKLSAgICAuLi4KLSAgICA0LiBMZXQg
X2VVVEZfIGJlIHRoZSBzbWFsbGVzdCBpbmRleCBpbnRvIF9TXyB0aGF0IGNvcnJlc3BvbmRzIHRv
IHRoZSBjaGFyYWN0ZXIgYXQgZWxlbWVudCBfZV8gb2YgX0lucHV0Xy4gSWYgX2VfIGlzIGdyZWF0
ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIF9JbnB1dF8sIHRo
ZW4gX2VVVEZfIGlzIHRoZSBudW1iZXIgb2YgY29kZSB1bml0cyBpbiBfU18uCi0gICAgNS4gUmV0
dXJuIF9lVVRGXy4KLS0tLSovCi0KLWZ1bmN0aW9uIGFzc2VydFNhbWVWYWx1ZShhLCBiKQotewot
ICAgIGlmIChhICE9PSBiKQotICAgICAgICB0aHJvdyAiVmFsdWVzIG5vdCBzYW1lIjsKLX0KLQot
ZnVuY3Rpb24gYXNzZXJ0Q29tcGFyZUFycmF5KGEsIGIpCi17Ci0gICAgaWYgKCFhIGluc3RhbmNl
b2YgQXJyYXkpCi0gICAgICAgIHRocm93ICJhIG5vdCBhcnJheSI7Ci0KLSAgICBpZiAoIWIgaW5z
dGFuY2VvZiBBcnJheSkKLSAgICAgICAgdGhyb3cgImIgbm90IGFycmF5IjsKLQotICAgIGlmIChh
Lmxlbmd0aCAhPT0gYi5sZW5ndGgpCi0gICAgICAgIHRocm93ICJBcnJheXMgZGlmZmVyIGluIGxl
bmd0aCI7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyArK2kpCi0gICAgICAg
IGlmIChhW2ldICE9PSBiW2ldKQotICAgICAgICAgICAgdGhyb3cgIkFycmF5IGVsZW1lbnQgIiAr
IGkgKyAiIGRpZmZlciI7Ci19Ci0KLWZ1bmN0aW9uIGFzc2VydERlZXBFcXVhbChhLCBiKQotewot
ICAgIGlmICghYSBpbnN0YW5jZW9mIEFycmF5KQotICAgICAgICB0aHJvdyAiYSBub3QgYXJyYXki
OwotCi0gICAgaWYgKCFiIGluc3RhbmNlb2YgQXJyYXkpCi0gICAgICAgIHRocm93ICJiIG5vdCBh
cnJheSI7Ci0KLSAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKQotICAgICAgICB0aHJvdyAi
QXJyYXlzIGRpZmZlciBpbiBsZW5ndGgiOwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxl
bmd0aDsgKytpKSB7Ci0gICAgICAgIGlmIChhW2ldIGluc3RhbmNlb2YgQXJyYXkpCi0gICAgICAg
ICAgICBhc3NlcnREZWVwRXF1YWwoYVtpXSwgYltpXSk7Ci0gICAgICAgIGVsc2UgaWYgKGFbaV0g
IT09IGJbaV0pCi0gICAgICAgICAgICB0aHJvdyAiQXJyYXkgZWxlbWVudCAiICsgaSArICIgZGlm
ZmVyIjsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeVByb3BlcnR5KG9iaiwgcHJvcCwgZXhw
ZWN0KQotewotICAgIGxldCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihv
YmosIHByb3ApOwotCi0gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJp
ZXMoZXhwZWN0KSkKLSAgICAgICAgaWYgKGRlc2Nba2V5XSAhPSB2YWx1ZSkKLSAgICAgICAgICAg
IHRocm93ICJvYmouIiArIHByb3AgKyAiICIgKyBrZXkgKyAiOiBpcyBub3QgIiArIHZhbHVlOwot
fQotCi1hc3NlcnREZWVwRXF1YWwoW1sxLCAyXSwgWzEsIDJdXSwgImJhYiIubWF0Y2goLyhhKS9k
dSkuaW5kaWNlcyk7Ci1hc3NlcnREZWVwRXF1YWwoW1swLCAzXSwgWzEsIDJdXSwgImJhYiIubWF0
Y2goLy4oYSkuL2R1KS5pbmRpY2VzKTsKLWFzc2VydERlZXBFcXVhbChbWzAsIDNdLCBbMSwgMl0s
IFsyLCAzXV0sICJiYWIiLm1hdGNoKC8uKGEpKC4pL2R1KS5pbmRpY2VzKTsKLWFzc2VydERlZXBF
cXVhbChbWzAsIDNdLCBbMSwgM11dLCAiYmFiIi5tYXRjaCgvLihcd1x3KS9kdSkuaW5kaWNlcyk7
Ci1hc3NlcnREZWVwRXF1YWwoW1swLCAzXSwgWzAsIDNdXSwgImJhYiIubWF0Y2goLyhcd1x3XHcp
L2R1KS5pbmRpY2VzKTsKLWFzc2VydERlZXBFcXVhbChbWzAsIDNdLCBbMCwgMl0sIFsyLCAzXV0s
ICJiYWIiLm1hdGNoKC8oXHdcdykoXHcpL2R1KS5pbmRpY2VzKTsKLWFzc2VydERlZXBFcXVhbChb
WzAsIDJdLCBbMCwgMl0sIHVuZGVmaW5lZF0sICJiYWIiLm1hdGNoKC8oXHdcdykoXFcpPy9kdSku
aW5kaWNlcyk7Ci0KLWxldCBncm91cHMgPSAvKD88YT4uKSg/PGI+LikoPzxjPi4pXGs8Yz5cazxi
PlxrPGE+L2R1LmV4ZWMoImFiY2NiYSIpLmluZGljZXMuZ3JvdXBzOwotYXNzZXJ0Q29tcGFyZUFy
cmF5KFswLCAxXSwgZ3JvdXBzLmEpOwotYXNzZXJ0Q29tcGFyZUFycmF5KFsxLCAyXSwgZ3JvdXBz
LmIpOwotYXNzZXJ0Q29tcGFyZUFycmF5KFsyLCAzXSwgZ3JvdXBzLmMpOwotdmVyaWZ5UHJvcGVy
dHkoZ3JvdXBzLCAiYSIsIHsKLSAgICBlbnVtZXJhYmxlOiB0cnVlLAotICAgIHdyaXRhYmxlOiB0
cnVlLAotICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7Ci12ZXJpZnlQcm9wZXJ0eShncm91cHMs
ICJiIiwgewotICAgIGVudW1lcmFibGU6IHRydWUsCi0gICAgd3JpdGFibGU6IHRydWUsCi0gICAg
Y29uZmlndXJhYmxlOiB0cnVlCi19KTsKLXZlcmlmeVByb3BlcnR5KGdyb3VwcywgImMiLCB7Ci0g
ICAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgICB3cml0YWJsZTogdHJ1ZSwKLSAgICBjb25maWd1cmFi
bGU6IHRydWUKLX0pOwotCi0vLyAi8J2QgSIgaXMgVSsxZDQwMSBNQVRIRU1BVElDQUwgQk9MRCBD
QVBJVEFMIEIKLS8vIC0gQWxzbyByZXByZXNlbnRhYmxlIGFzIHRoZSBjb2RlIHBvaW50ICJcdXsx
ZDQwMX0iCi0vLyAtIEFsc28gcmVwcmVzZW50YWJsZSBhcyB0aGUgc3Vycm9nYXRlIHBhaXIgIlx1
RDgzNVx1REMwMSIKLQotLy8gVmVyaWZ5IGFzc3VtcHRpb25zOgotYXNzZXJ0U2FtZVZhbHVlKCLw
nZCBIi5sZW5ndGgsIDIsICdUaGUgbGVuZ3RoIG9mICLwnZCBIiBpcyAyJyk7Ci1hc3NlcnRTYW1l
VmFsdWUoIlx1ezFkNDAxfSIubGVuZ3RoLCAyLCAnVGhlIGxlbmd0aCBvZiAiXFx1ezFkNDAxfSIg
aXMgMicpOwotYXNzZXJ0U2FtZVZhbHVlKCJcdUQ4MzVcdURDMDEiLmxlbmd0aCwgMiwgJ1RoZSBs
ZW5ndGggb2YgIlxcdUQ4MzVcXHVEQzAxIiBpcyAyJyk7Ci1hc3NlcnRTYW1lVmFsdWUoMiwgIvCd
kIEiLm1hdGNoKC8uL3UpWzBdLmxlbmd0aCwgJ1RoZSBsZW5ndGggb2YgYSBzaW5nbGUgY29kZSBw
b2ludCBtYXRjaCBhZ2FpbnN0ICLwnZCBIiBpcyAyICh3aXRoIC9kdSBmbGFnKScpOwotYXNzZXJ0
U2FtZVZhbHVlKDIsICJcdXsxZDQwMX0iLm1hdGNoKC8uL3UpWzBdLmxlbmd0aCwgJ1RoZSBsZW5n
dGggb2YgYSBzaW5nbGUgY29kZSBwb2ludCBtYXRjaCBhZ2FpbnN0ICJcXHV7MWQ0MDF9IiBpcyAy
ICh3aXRoIC9kdSBmbGFnKScpOwotYXNzZXJ0U2FtZVZhbHVlKDIsICJcdUQ4MzVcdURDMDEiLm1h
dGNoKC8uL3UpWzBdLmxlbmd0aCwgJ1RoZSBsZW5ndGggb2YgYSBzaW5nbGUgY29kZSBwb2ludCBt
YXRjaCBhZ2FpbnN0ICJcXHVkODM1XFx1ZGMwMSIgaXMgMiAod2l0aCAvZHUgZmxhZyknKTsKLQot
YXNzZXJ0Q29tcGFyZUFycmF5KFswLCAyXSwgIvCdkIEiLm1hdGNoKC8uL2R1KS5pbmRpY2VzWzBd
LCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICLwnZCBIiAod2l0aCAvZHUgZmxh
ZyknKTsKLWFzc2VydENvbXBhcmVBcnJheShbMCwgMl0sICJcdXsxZDQwMX0iLm1hdGNoKC8uL2R1
KS5pbmRpY2VzWzBdLCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0IFxcdXsxZDQw
MX0gKHdpdGggL2R1IGZsYWcpJyk7Ci1hc3NlcnRDb21wYXJlQXJyYXkoWzAsIDJdLCAiXHVEODM1
XHVEQzAxIi5tYXRjaCgvLi9kdSkuaW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIHVuaWNvZGUgbWF0
Y2ggYWdhaW5zdCBcXHVkODM1XFx1ZGMwMSAod2l0aCAvZHUgZmxhZyknKTsKLWFzc2VydENvbXBh
cmVBcnJheShbMCwgMl0sICLwnZCBIi5tYXRjaCgvKD88YT4uKS9kdSkuaW5kaWNlcy5ncm91cHMu
YSwgJ0luZGljZXMgZm9yIHVuaWNvZGUgbWF0Y2ggYWdhaW5zdCDwnZCBIGluIGdyb3Vwcy5hICh3
aXRoIC9kdSBmbGFnKScpOwotYXNzZXJ0Q29tcGFyZUFycmF5KFswLCAyXSwgIlx1ezFkNDAxfSIu
bWF0Y2goLyg/PGE+LikvZHUpLmluZGljZXMuZ3JvdXBzLmEsICdJbmRpY2VzIGZvciB1bmljb2Rl
IG1hdGNoIGFnYWluc3QgXFx1ezFkNDAxfSBpbiBncm91cHMuYSAod2l0aCAvZHUgZmxhZyknKTsK
LWFzc2VydENvbXBhcmVBcnJheShbMCwgMl0sICJcdUQ4MzVcdURDMDEiLm1hdGNoKC8oPzxhPi4p
L2R1KS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0
IFxcdWQ4MzVcXHVkYzAxIGluIGdyb3Vwcy5hICh3aXRoIC9kdSBmbGFnKScpOwpJbmRleDogSlNU
ZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWFycmF5LXVuaWNvZGUtcHJvcGVydHktbmFtZXMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWFycmF5LXVu
aWNvZGUtcHJvcGVydHktbmFtZXMuanMJKHJldmlzaW9uIDI3MzQ5MykKKysrIEpTVGVzdHMvc3Ry
ZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJheS11bmljb2RlLXByb3BlcnR5LW5hbWVzLmpzCShub25l
eGlzdGVudCkKQEAgLTEsMzYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1kZXNjcmlwdGlv
bjogQmFzaWMgbWF0Y2hpbmcgY2FzZXMgd2l0aCBub24tdW5pY29kZSBtYXRjaGVzLgotaW5jbHVk
ZXM6IFtjb21wYXJlQXJyYXkuanNdCi1lc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQotZmVhdHVy
ZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KLS0tLSovCi0KLWZ1bmN0aW9uIGFzc2VydENvbXBh
cmVBcnJheShhLCBiKQotewotICAgIGlmICghYSBpbnN0YW5jZW9mIEFycmF5KQotICAgICAgICB0
aHJvdyAiYSBub3QgYXJyYXkiOwotCi0gICAgaWYgKCFiIGluc3RhbmNlb2YgQXJyYXkpCi0gICAg
ICAgIHRocm93ICJiIG5vdCBhcnJheSI7Ci0KLSAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3Ro
KQotICAgICAgICB0aHJvdyAiQXJyYXlzIGRpZmZlciBpbiBsZW5ndGgiOwotCi0gICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKQotICAgICAgICBpZiAoYVtpXSAhPT0gYltpXSkK
LSAgICAgICAgICAgIHRocm93ICJBcnJheSBlbGVtZW50ICIgKyBpICsgIiBkaWZmZXIiOwotfQot
Ci1hc3NlcnRDb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88z4A+YSkvZHUuZXhlYygiYmFiIikuaW5k
aWNlcy5ncm91cHMuz4ApOwotYXNzZXJ0Q29tcGFyZUFycmF5KFsxLCAyXSwgLyg/PFx1ezAzQzB9
PmEpL2R1LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBzLs+AKTsKLWFzc2VydENvbXBhcmVBcnJh
eShbMSwgMl0sIC8oPzzPgD5hKS9kdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy5cdTAzQzAp
OwotYXNzZXJ0Q29tcGFyZUFycmF5KFsxLCAyXSwgLyg/PFx1ezAzQzB9PmEpL2R1LmV4ZWMoImJh
YiIpLmluZGljZXMuZ3JvdXBzLlx1MDNDMCk7Ci1hc3NlcnRDb21wYXJlQXJyYXkoWzEsIDJdLCAv
KD88JD5hKS9kdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy4kKTsKLWFzc2VydENvbXBhcmVB
cnJheShbMSwgMl0sIC8oPzxfPmEpL2R1LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBzLl8pOwot
YXNzZXJ0Q29tcGFyZUFycmF5KFsxLCAyXSwgLyg/PCTwkJKkPmEpL2R1LmV4ZWMoImJhYiIpLmlu
ZGljZXMuZ3JvdXBzLiTwkJKkKTsKLWFzc2VydENvbXBhcmVBcnJheShbMSwgMl0sIC8oPzxfXHUy
MDBDPmEpL2R1LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBzLl9cdTIwMEMpOwotYXNzZXJ0Q29t
cGFyZUFycmF5KFsxLCAyXSwgLyg/PF9cdTIwMEQ+YSkvZHUuZXhlYygiYmFiIikuaW5kaWNlcy5n
cm91cHMuX1x1MjAwRCk7Ci1hc3NlcnRDb21wYXJlQXJyYXkoWzEsIDJdLCAvKD884LKgX+CyoD5h
KS9kdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy7gsqBf4LKgKTsKSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1hcnJheS11bm1hdGNoZWQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWFycmF5LXVubWF0Y2hlZC5qcwkocmV2aXNp
b24gMjczNDkzKQorKysgSlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWFycmF5LXVubWF0
Y2hlZC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDM4ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE5
IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0t
LQotZGVzY3JpcHRpb246IEFuIHVubWF0Y2hlZCBjYXB0dXJlIGluIGEgbWF0Y2ggY29ycmVzcG9u
ZHMgdG8gYW4gdW5tYXRjaGVkIGNhcHR1cmUgaW4gImluZGljZXMiCi1lc2lkOiBzZWMtbWFrZWlu
ZGljZXNhcnJheQotZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KLWluZm86IHwKLSAg
TWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMgKQotICAgIDQuIExldCBf
bl8gYmUgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBfaW5kaWNlc18uCi0gICAgLi4uCi0gICAg
Ni4gU2V0IF9BXyB0byAhIEFycmF5Q3JlYXRlKF9uXykuCi0gICAgLi4uCi0gICAgMTEuIEZvciBl
YWNoIGludGVnZXIgX2lfIHN1Y2ggdGhhdCBfaV8gPj0gMCBhbmQgX2lfIDwgX25fLCBkbwotICAg
ICAgYS4gTGV0IF9tYXRjaEluZGljZXNfIGJlIF9pbmRpY2VzX1tfaV9dLgotICAgICAgYi4gSWYg
X21hdGNoSW5kaWNlc18gaXMgbm90ICp1bmRlZmluZWQqLCB0aGVuCi0gICAgICAgIGkuIExldCBf
bWF0Y2hJbmRpY2VzQXJyYXlfIGJlICEgR2V0TWF0Y2hJbmRpY2VzQXJyYXkoX1NfLCBfbWF0Y2hJ
bmRpY2VzXykuCi0gICAgICBjLiBFbHNlLAotICAgICAgICBpLiBMZXQgX21hdGNoSW5kaWNlc0Fy
cmF5XyBiZSAqdW5kZWZpbmVkKi4KLSAgICAgIGQuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVy
dHkoX0FfLCAhIFRvU3RyaW5nKF9uXyksIF9tYXRjaEluZGljZXNBcnJheV8pLgotICAgICAgICAu
Li4KLS0tLSovCi0KLWZ1bmN0aW9uIGFzc2VydFNhbWVWYWx1ZShhLCBiKQotewotICAgIGlmIChh
ICE9PSBiKQotICAgICAgICB0aHJvdyAiVmFsdWVzIG5vdCBzYW1lIjsKLX0KLQotbGV0IGlucHV0
ID0gImFiZCI7Ci1sZXQgbWF0Y2ggPSAvYihjKT8vZC5leGVjKGlucHV0KTsKLWxldCBpbmRpY2Vz
ID0gbWF0Y2guaW5kaWNlczsKLQotLy8gYGluZGljZXNgIGhhcyB0aGUgc2FtZSBsZW5ndGggYXMg
bWF0Y2gKLWFzc2VydFNhbWVWYWx1ZShpbmRpY2VzLmxlbmd0aCwgbWF0Y2gubGVuZ3RoKTsKLQot
Ly8gVGhlIHNlY29uZCBlbGVtZW50IG9mIGBpbmRpY2VzYCBzaG91bGQgYmUgdW5kZWZpbmVkLgot
YXNzZXJ0U2FtZVZhbHVlKGluZGljZXNbMV0sIHVuZGVmaW5lZCk7CkluZGV4OiBKU1Rlc3RzL3N0
cmVzcy90ZXN0MjYyLWluZGljZXMtYXJyYXkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJl
c3MvdGVzdDI2Mi1pbmRpY2VzLWFycmF5LmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3Rz
L3N0cmVzcy90ZXN0MjYyLWluZGljZXMtYXJyYXkuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMCAr
MCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWRlc2NyaXB0aW9uOiBUaGUgImluZGljZXMiIHBy
b3BlcnR5IGlzIGFuIEFycmF5LgotZXNpZDogc2VjLW1ha2VpbmRpY2VzYXJyYXkKLWZlYXR1cmVz
OiBbcmVnZXhwLW1hdGNoLWluZGljZXNdCi1pbmZvOiB8Ci0gIE1ha2VJbmRpY2VzQXJyYXkgKCBT
LCBpbmRpY2VzLCBncm91cE5hbWVzLCBoYXNHcm91cHMgKQotICAgIDYuIFNldCBfQV8gdG8gISBB
cnJheUNyZWF0ZShfbl8pLgotLS0tKi8KLQotZnVuY3Rpb24gYXNzZXJ0KGEpCi17Ci0gICAgaWYg
KCFhKQotICAgICAgICB0aHJvdyAiVmFsdWVzIG5vdCB0cnVlIjsKLX0KLQotZnVuY3Rpb24gYXNz
ZXJ0U2FtZVZhbHVlKGEsIGIpCi17Ci0gICAgaWYgKGEgIT09IGIpCi0gICAgICAgIHRocm93ICJW
YWx1ZXMgbm90IHNhbWUiOwotfQotCi1sZXQgbWF0Y2ggPSAvYS9kLmV4ZWMoImEiKTsKLWxldCBp
bmRpY2VzID0gbWF0Y2guaW5kaWNlczsKLQotLy8gYGluZGljZXNgIGlzIGFuIGFycmF5Ci1hc3Nl
cnRTYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKGluZGljZXMpLCBBcnJheS5wcm90b3R5
cGUpOwotYXNzZXJ0KEFycmF5LmlzQXJyYXkoaW5kaWNlcykpOwpJbmRleDogSlNUZXN0cy9zdHJl
c3MvdGVzdDI2Mi1pbmRpY2VzLWdyb3Vwcy1vYmplY3QtdW5kZWZpbmVkLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1ncm91cHMtb2JqZWN0LXVuZGVmaW5l
ZC5qcwkocmV2aXNpb24gMjczNDkzKQorKysgSlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2Vz
LWdyb3Vwcy1vYmplY3QtdW5kZWZpbmVkLmpzCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBA
QAotLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1kZXNjcmlwdGlvbjogVGhlIGdyb3VwcyBvYmplY3Qgb2Yg
aW5kaWNlcyBpcyBjcmVhdGVkIHVuY29uZGl0aW9uYWxseS4KLWluY2x1ZGVzOiBbcHJvcGVydHlI
ZWxwZXIuanNdCi1lc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQotZmVhdHVyZXM6IFtyZWdleHAt
bmFtZWQtZ3JvdXBzLCByZWdleHAtbWF0Y2gtaW5kaWNlc10KLWluZm86IHwKLSAgTWFrZUluZGlj
ZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMsIGhhc0dyb3VwcyApCi0gICAgMTAuIElm
IF9oYXNHcm91cHNfIGlzICp0cnVlKiwgdGhlbgotICAgICAgYS4gTGV0IF9ncm91cHNfIGJlICEg
T2JqZWN0Q3JlYXRlKCpudWxsKikuCi0gICAgMTEuIEVsc2UsCi0gICAgICBhLiBMZXQgX2dyb3Vw
c18gYmUgKnVuZGVmaW5lZCouCi0gICAgMTIuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHko
X0FfLCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuCi0tLS0qLwotCi1mdW5jdGlvbiB2ZXJpZnlQcm9w
ZXJ0eShvYmosIHByb3AsIGV4cGVjdCkKLXsKLSAgICBsZXQgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBwcm9wKTsKLQotICAgIGZvciAoY29uc3QgW2tleSwgdmFs
dWVdIG9mIE9iamVjdC5lbnRyaWVzKGV4cGVjdCkpCi0gICAgICAgIGlmIChkZXNjW2tleV0gIT0g
dmFsdWUpCi0gICAgICAgICAgICB0aHJvdyAib2JqLiIgKyBwcm9wICsgIiAiICsga2V5ICsgIjog
aXMgbm90ICIgKyB2YWx1ZTsKLX0KLQotY29uc3QgcmUgPSAvLi9kOwotY29uc3QgaW5kaWNlcyA9
IHJlLmV4ZWMoImEiKS5pbmRpY2VzOwotdmVyaWZ5UHJvcGVydHkoaW5kaWNlcywgJ2dyb3Vwcycs
IHsKLSAgd3JpdGFibGU6IHRydWUsCi0gIGVudW1lcmFibGU6IHRydWUsCi0gIGNvbmZpZ3VyYWJs
ZTogdHJ1ZSwKLSAgdmFsdWU6IHVuZGVmaW5lZAotfSk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy90
ZXN0MjYyLWluZGljZXMtZ3JvdXBzLW9iamVjdC11bm1hdGNoZWQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWdyb3Vwcy1vYmplY3QtdW5tYXRjaGVkLmpz
CShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3N0cmVzcy90ZXN0MjYyLWluZGljZXMtZ3Jv
dXBzLW9iamVjdC11bm1hdGNoZWQuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MSArMCwwIEBACi0v
LyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KLQotLyotLS0KLWRlc2NyaXB0aW9uOiBUZXN0IHRoZSBncm91cHMgb2JqZWN0IG9m
IGluZGljZXMgd2l0aCBtYXRjaGVkIGFuZCB1bm1hdGNoZWQgbmFtZWQgY2FwdHVyZXMuCi1pbmNs
dWRlczogW2NvbXBhcmVBcnJheS5qc10KLWVzaWQ6IHNlYy1tYWtlaW5kaWNlc2FycmF5Ci1mZWF0
dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHMsIHJlZ2V4cC1tYXRjaC1pbmRpY2VzXQotaW5mbzog
fAotICBNYWtlSW5kaWNlc0FycmF5ICggUywgaW5kaWNlcywgZ3JvdXBOYW1lcywgaGFzR3JvdXBz
ICkKLSAgICAxMS4gRm9yIGVhY2ggaW50ZWdlciBfaV8gc3VjaCB0aGF0IF9pXyA+PSAwIGFuZCBf
aV8gPCBfbl8sIGRvCi0gICAgICBlLiBJZiBfaV8gPiAwIGFuZCBfZ3JvdXBOYW1lc19bX2lfIC0g
MV0gaXMgbm90ICp1bmRlZmluZWQqLCB0aGVuCi0gICAgICAgIGkuIFBlcmZvcm0gISBDcmVhdGVE
YXRhUHJvcGVydHkoX2dyb3Vwc18sIF9ncm91cE5hbWVzX1tfaV8gLSAxXSwgX21hdGNoSW5kaWNl
c0FycmF5XykuCi0tLS0qLwotCi1mdW5jdGlvbiBhc3NlcnRTYW1lVmFsdWUoYSwgYikKLXsKLSAg
ICBpZiAoYSAhPT0gYikKLSAgICAgICAgdGhyb3cgIlZhbHVlcyBub3Qgc2FtZSI7Ci19Ci0KLWZ1
bmN0aW9uIGFzc2VydENvbXBhcmVBcnJheShhLCBiKQotewotICAgIGlmICghYSBpbnN0YW5jZW9m
IEFycmF5KQotICAgICAgICB0aHJvdyAiYSBub3QgYXJyYXkiOwotCi0gICAgaWYgKCFiIGluc3Rh
bmNlb2YgQXJyYXkpCi0gICAgICAgIHRocm93ICJiIG5vdCBhcnJheSI7Ci0KLSAgICBpZiAoYS5s
ZW5ndGggIT09IGIubGVuZ3RoKQotICAgICAgICB0aHJvdyAiQXJyYXlzIGRpZmZlciBpbiBsZW5n
dGgiOwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKQotICAgICAgICBp
ZiAoYVtpXSAhPT0gYltpXSkKLSAgICAgICAgICAgIHRocm93ICJBcnJheSBlbGVtZW50ICIgKyBp
ICsgIiBkaWZmZXIiOwotfQotCi1jb25zdCByZSA9IC8oPzxhPmEpLnwoPzx4PngpL2Q7Ci1jb25z
dCByZXN1bHQgPSByZS5leGVjKCJhYiIpLmluZGljZXM7Ci1hc3NlcnRDb21wYXJlQXJyYXkoWzAs
IDFdLCByZXN1bHQuZ3JvdXBzLmEpOwotYXNzZXJ0U2FtZVZhbHVlKHVuZGVmaW5lZCwgcmVzdWx0
Lmdyb3Vwcy54KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1ncm91cHMt
b2JqZWN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1n
cm91cHMtb2JqZWN0LmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3N0cmVzcy90ZXN0
MjYyLWluZGljZXMtZ3JvdXBzLW9iamVjdC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDcwICswLDAg
QEAKLS8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotCi0vKi0tLQotZGVzY3JpcHRpb246IFRoZSBncm91cHMgb2JqZWN0IG9m
IGluZGljZXMgaXMgY3JlYXRlZCB3aXRoIENyZWF0ZURhdGFQcm9wZXJ0eQotaW5jbHVkZXM6IFtw
cm9wZXJ0eUhlbHBlci5qcywgY29tcGFyZUFycmF5LmpzXQotZXNpZDogc2VjLW1ha2VpbmRpY2Vz
YXJyYXkKLWZlYXR1cmVzOiBbcmVnZXhwLW5hbWVkLWdyb3VwcywgcmVnZXhwLW1hdGNoLWluZGlj
ZXNdCi1pbmZvOiB8Ci0gIE1ha2VJbmRpY2VzQXJyYXkgKCBTLCBpbmRpY2VzLCBncm91cE5hbWVz
LCBoYXNJbmRpY2VzICkKLSAgICAxMC4gSWYgX2hhc0luZGljZXNfIGlzICp0cnVlKiwgdGhlbgot
ICAgICAgYS4gTGV0IF9ncm91cHNfIGJlICEgT2JqZWN0Q3JlYXRlKCpudWxsKikuCi0gICAgMTEu
IEVsc2UsCi0gICAgICBhLiBMZXQgX2dyb3Vwc18gYmUgKnVuZGVmaW5lZCouCi0gICAgMTIuIFBl
cmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHkoX0FfLCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuCi0t
LS0qLwotCi1mdW5jdGlvbiBhc3NlcnRTYW1lVmFsdWUoYSwgYikKLXsKLSAgICBpZiAoYSAhPT0g
YikKLSAgICAgICAgdGhyb3cgIlZhbHVlcyBub3Qgc2FtZSI7Ci19Ci0KLWZ1bmN0aW9uIGFzc2Vy
dENvbXBhcmVBcnJheShhLCBiKQotewotICAgIGlmICghYSBpbnN0YW5jZW9mIEFycmF5KQotICAg
ICAgICB0aHJvdyAiYSBub3QgYXJyYXkiOwotCi0gICAgaWYgKCFiIGluc3RhbmNlb2YgQXJyYXkp
Ci0gICAgICAgIHRocm93ICJiIG5vdCBhcnJheSI7Ci0KLSAgICBpZiAoYS5sZW5ndGggIT09IGIu
bGVuZ3RoKQotICAgICAgICB0aHJvdyAiQXJyYXlzIGRpZmZlciBpbiBsZW5ndGgiOwotCi0gICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKQotICAgICAgICBpZiAoYVtpXSAhPT0g
YltpXSkKLSAgICAgICAgICAgIHRocm93ICJBcnJheSBlbGVtZW50ICIgKyBpICsgIiBkaWZmZXIi
OwotfQotCi1mdW5jdGlvbiB2ZXJpZnlQcm9wZXJ0eShvYmosIHByb3AsIGV4cGVjdCkKLXsKLSAg
ICBsZXQgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBwcm9wKTsK
LQotICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGV4cGVjdCkp
Ci0gICAgICAgIGlmIChkZXNjW2tleV0gIT0gdmFsdWUpCi0gICAgICAgICAgICB0aHJvdyAib2Jq
LiIgKyBwcm9wICsgIiAiICsga2V5ICsgIjogaXMgbm90ICIgKyB2YWx1ZTsKLX0KLQotLy8gYGdy
b3Vwc2AgaXMgY3JlYXRlZCB3aXRoIERlZmluZSwgbm90IFNldC4KLWxldCBjb3VudGVyID0gMDsK
LU9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJncm91cHMiLCB7Ci0gIHNl
dCgpIHsgY291bnRlcisrOyB9Ci19KTsKLQotbGV0IGluZGljZXMgPSAvKD88eD4uKS9kLmV4ZWMo
ImEiKS5pbmRpY2VzOwotYXNzZXJ0U2FtZVZhbHVlKGNvdW50ZXIsIDApOwotCi0vLyBgZ3JvdXBz
YCBpcyB3cml0YWJsZSwgZW51bWVyYWJsZSBhbmQgY29uZmlndXJhYmxlCi0vLyAoZnJvbSBDcmVh
dGVEYXRhUHJvcGVydHkpLgotdmVyaWZ5UHJvcGVydHkoaW5kaWNlcywgJ2dyb3VwcycsIHsKLSAg
ICB3cml0YWJsZTogdHJ1ZSwKLSAgICBlbnVtZXJhYmxlOiB0cnVlLAotICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZQotfSk7Ci0KLS8vIFRoZSBgX19wcm90b19fYCBwcm9wZXJ0eSBvbiB0aGUgZ3JvdXBz
IG9iamVjdCBpcyBub3Qgc3BlY2lhbCwKLS8vIGFuZCBkb2VzIG5vdCBhZmZlY3QgdGhlIFtbUHJv
dG90eXBlXV0gb2YgdGhlIHJlc3VsdGluZyBncm91cHMgb2JqZWN0LgotbGV0IHtncm91cHN9ID0g
Lyg/PF9fcHJvdG9fXz4uKS9kLmV4ZWMoImEiKS5pbmRpY2VzOwotYXNzZXJ0Q29tcGFyZUFycmF5
KFswLCAxXSwgZ3JvdXBzLl9fcHJvdG9fXyk7Ci1hc3NlcnRTYW1lVmFsdWUobnVsbCwgT2JqZWN0
LmdldFByb3RvdHlwZU9mKGdyb3VwcykpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1p
bmRpY2VzLWdyb3Vwcy1wcm9wZXJ0aWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3Rlc3QyNjItaW5kaWNlcy1ncm91cHMtcHJvcGVydGllcy5qcwkocmV2aXNpb24gMjczNDkzKQor
KysgSlNUZXN0cy9zdHJlc3MvdGVzdDI2Mi1pbmRpY2VzLWdyb3Vwcy1wcm9wZXJ0aWVzLmpzCShu
b25leGlzdGVudCkKQEAgLTEsNTkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1kZXNjcmlw
dGlvbjogUHJvcGVydGllcyBvZiB0aGUgZ3JvdXBzIG9iamVjdCBvZiBpbmRpY2VzIGFyZSBjcmVh
dGVkIHdpdGggQ3JlYXRlRGF0YVByb3BlcnR5Ci1pbmNsdWRlczogW2NvbXBhcmVBcnJheS5qcywg
cHJvcGVydHlIZWxwZXIuanNdCi1lc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQotZmVhdHVyZXM6
IFtyZWdleHAtbmFtZWQtZ3JvdXBzLCByZWdleHAtbWF0Y2gtaW5kaWNlc10KLWluZm86IHwKLSAg
TWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMsIGhhc0luZGljZXMgKQot
ICAgIDEzLiBGb3IgZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRoYXQgX2lfID49IDAgYW5kIF9pXyA8
IF9uXywgZG8KLSAgICAgIGUuIElmIF9pXyA+IDAgYW5kIF9ncm91cE5hbWVzX1tfaV8gLSAxXSBp
cyBub3QgKnVuZGVmaW5lZCosIHRoZW4KLSAgICAgICAgaS4gUGVyZm9ybSAhIENyZWF0ZURhdGFQ
cm9wZXJ0eShfZ3JvdXBzXywgX2dyb3VwTmFtZXNfW19pXyAtIDFdLCBfbWF0Y2hJbmRpY2VzQXJy
YXlfKS4KLS0tLSovCi0KLWZ1bmN0aW9uIGFzc2VydENvbXBhcmVBcnJheShhLCBiKQotewotICAg
IGlmICghYSBpbnN0YW5jZW9mIEFycmF5KQotICAgICAgICB0aHJvdyAiYSBub3QgYXJyYXkiOwot
Ci0gICAgaWYgKCFiIGluc3RhbmNlb2YgQXJyYXkpCi0gICAgICAgIHRocm93ICJiIG5vdCBhcnJh
eSI7Ci0KLSAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKQotICAgICAgICB0aHJvdyAiQXJy
YXlzIGRpZmZlciBpbiBsZW5ndGgiOwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0
aDsgKytpKQotICAgICAgICBpZiAoYVtpXSAhPT0gYltpXSkKLSAgICAgICAgICAgIHRocm93ICJB
cnJheSBlbGVtZW50ICIgKyBpICsgIiBkaWZmZXIiOwotfQotCi1mdW5jdGlvbiB2ZXJpZnlQcm9w
ZXJ0eShvYmosIHByb3AsIGV4cGVjdCkKLXsKLSAgICBsZXQgZGVzYyA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBwcm9wKTsKLQotICAgIGZvciAoY29uc3QgW2tleSwgdmFs
dWVdIG9mIE9iamVjdC5lbnRyaWVzKGV4cGVjdCkpCi0gICAgICAgIGlmIChkZXNjW2tleV0gIT0g
dmFsdWUpCi0gICAgICAgICAgICB0aHJvdyAib2JqLiIgKyBwcm9wICsgIiAiICsga2V5ICsgIjog
aXMgbm90ICIgKyB2YWx1ZTsKLX0KLQotLy8gUHJvcGVydGllcyBjcmVhdGVkIG9uIHJlc3VsdC5n
cm91cHMgaW4gdGV4dHVhbCBvcmRlci4KLWxldCBncm91cE5hbWVzID0gT2JqZWN0LmdldE93blBy
b3BlcnR5TmFtZXMoLyg/PGZzdD4uKXwoPzxzbmQ+LikvZHUuZXhlYygiYWJjZCIpLmluZGljZXMu
Z3JvdXBzKTsKLWFzc2VydENvbXBhcmVBcnJheShncm91cE5hbWVzLCBbImZzdCIsICJzbmQiXSk7
Ci0KLS8vIC8vIFByb3BlcnRpZXMgYXJlIGNyZWF0ZWQgd2l0aCBEZWZpbmUsIG5vdCBTZXQKLS8v
IGxldCBjb3VudGVyID0gMDsKLS8vIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90
eXBlLCAneCcsIHtzZXQoKSB7IGNvdW50ZXIrKzsgfX0pOwotCi1sZXQgaW5kaWNlcyA9IC8oPzx4
Pi4pL2QuZXhlYygnYScpLmluZGljZXM7Ci1sZXQgZ3JvdXBzID0gaW5kaWNlcy5ncm91cHM7Ci0v
LyBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDApOwotCi0vLyBQcm9wZXJ0aWVzIGFyZSB3cml0
YWJsZSwgZW51bWVyYWJsZSBhbmQgY29uZmlndXJhYmxlCi0vLyAoZnJvbSBDcmVhdGVEYXRhUHJv
cGVydHkpCi12ZXJpZnlQcm9wZXJ0eShncm91cHMsICd4JywgewotICAgIHdyaXRhYmxlOiB0cnVl
LAotICAgIGVudW1lcmFibGU6IHRydWUsCi0gICAgY29uZmlndXJhYmxlOiB0cnVlCi19KTsKSW5k
ZXg6IEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1wcm9wZXJ0eS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3N0cmVzcy90ZXN0MjYyLWluZGljZXMtcHJvcGVydHkuanMJKHJldmlzaW9u
IDI3MzQ5MykKKysrIEpTVGVzdHMvc3RyZXNzL3Rlc3QyNjItaW5kaWNlcy1wcm9wZXJ0eS5qcwko
bm9uZXhpc3RlbnQpCkBAIC0xLDQ3ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNr
dG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZGVzY3Jp
cHRpb246IFRoZSAiaW5kaWNlcyIgcHJvcGVydHkgaXMgY3JlYXRlZCB3aXRoIERlZmluZVByb3Bl
cnR5T3JUaHJvdwotaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLWVzaWQ6IHNlYy1yZWdl
eHBidWlsdGluZXhlYwotZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KLWluZm86IHwK
LSAgUnVudGltZSBTZW1hbnRpY3M6IFJlZ0V4cEJ1aWx0aW5FeGVjICggUiwgUyApCi0gICAgOC4g
SWYgX2ZsYWdzXyBjb250YWlucyBgImQiYCwgbGV0IF9oYXNJbmRpY2VzXyBiZSAqdHJ1ZSosIGVs
c2UgbGV0IF9oYXNJbmRpY2VzXyBiZSAqZmFsc2UqLgotICAgIC4uLgotICAgIDM2LiBJZiBfaGFz
SW5kaWNlc18gaXMgKnRydWUqLCB0aGVuCi0gICAgICBhLiBMZXQgX2luZGljZXNBcnJheV8gYmUg
TWFrZUluZGljZXNBcnJheShfU18sIF9pbmRpY2VzXywgX2dyb3VwTmFtZXNfLCBfaGFzR3JvdXBz
XykuCi0gICAgICBiLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5KF9BXywgYCJpbmRpY2Vz
ImAsIF9pbmRpY2VzQXJyYXlfKS4KLS0tLSovCi0KLWZ1bmN0aW9uIGFzc2VydFNhbWVWYWx1ZShh
LCBiKQotewotICAgIGlmIChhICE9PSBiKQotICAgICAgICB0aHJvdyAiVmFsdWVzIG5vdCBzYW1l
IjsKLX0KLQotZnVuY3Rpb24gdmVyaWZ5UHJvcGVydHkob2JqLCBwcm9wLCBleHBlY3QpCi17Ci0g
ICAgbGV0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgcHJvcCk7
Ci0KLSAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhleHBlY3Qp
KQotICAgICAgICBpZiAoZGVzY1trZXldICE9IHZhbHVlKQotICAgICAgICAgICAgdGhyb3cgIm9i
ai4iICsgcHJvcCArICIgIiArIGtleSArICI6IGlzIG5vdCAiICsgdmFsdWU7Ci19Ci0KLS8vIGBp
bmRpY2VzYCBpcyBjcmVhdGVkIHdpdGggRGVmaW5lLCBub3QgU2V0LgotbGV0IGNvdW50ZXIgPSAw
OwotT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImluZGljZXMiLCB7Ci0g
IHNldCgpIHsgY291bnRlcisrOyB9Ci19KTsKLQotbGV0IG1hdGNoID0gL2EvZC5leGVjKCJhIik7
Ci1hc3NlcnRTYW1lVmFsdWUoY291bnRlciwgMCk7Ci0KLS8vIGBpbmRpY2VzYCBpcyBhIG5vbi13
cml0YWJsZSwgbm9uLWVudW1lcmFibGUsIGFuZCBjb25maWd1cmFibGUgZGF0YS1wcm9wZXJ0eS4K
LXZlcmlmeVByb3BlcnR5KG1hdGNoLCAnaW5kaWNlcycsIHsKLSAgd3JpdGFibGU6IHRydWUsCi0g
IGVudW1lcmFibGU6IHRydWUsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL2Nv
bmZpZy55YW1sCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlh
bWwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDkgKzI0LDYgQEAgc2tpcDoKIAogICAgIC0gY2xlYW51
cFNvbWUKICAgICAtIGhvc3QtZ2MtcmVxdWlyZWQKLQotICAgICMgRklYTUU6IGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjIxNDIKLSAgICAtIHJlZ2V4cC1tYXRjaC1p
bmRpY2VzCiAgIHBhdGhzOgogICBmaWxlczoKICAgICAjIFNsaWdodGx5IGRpZmZlcmVudCBmb3Jt
YXR0aW5nLiBXZSBzaG91bGQgdXBkYXRlIHRlc3QyNjIgc2lkZS4KSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvZHVwbGljYXRlLWZsYWdzLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvZHVwbGljYXRlLWZsYWdz
LmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL2R1cGxpY2F0ZS1mbGFncy5qcwkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAg
aW5mbzogfAogICAgICAgNS4gSWYgRiBjb250YWlucyBhbnkgY29kZSB1bml0IG90aGVyIHRoYW4g
ImciLCAiaSIsICJtIiwgInMiLCAidSIsIG9yICJ5IiBvciBpZiBpdCBjb250YWlucyB0aGUgc2Ft
ZSBjb2RlIHVuaXQgbW9yZSB0aGFuIG9uY2UsIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9u
LgogZXNpZDogc2VjLXJlZ2V4cGluaXRpYWxpemUKIGRlc2NyaXB0aW9uOiBDaGVjayB0aGF0IGR1
cGxpY2F0ZSBSZWdFeHAgZmxhZ3MgYXJlIGRpc2FsbG93ZWQKLWZlYXR1cmVzOiBbcmVnZXhwLWRv
dGFsbF0KK2ZlYXR1cmVzOiBbcmVnZXhwLWRvdGFsbCwgcmVnZXhwLW1hdGNoLWluZGljZXNdCiAt
LS0qLwogCiBuZXcgUmVnRXhwKCIiLCAibWlnIik7IC8vIHNpbmdsZSBnIHdpbGwgbm90IHRocm93
IFN5bnRheEVycm9yCkBAIC0yNywzICsyNyw2IEBAIGFzc2VydC50aHJvd3MoU3ludGF4RXJyb3Is
ICgpID0+IG5ldyBSZWcKIAogbmV3IFJlZ0V4cCgiIiwgInkiKTsgLy8gc2luZ2xlIHkgd2lsbCBu
b3QgdGhyb3cgU3ludGF4RXJyb3IKIGFzc2VydC50aHJvd3MoU3ludGF4RXJyb3IsICgpID0+IG5l
dyBSZWdFeHAoIiIsICJ5eSIpLCAiZHVwbGljYXRlIHkiKTsKKworbmV3IFJlZ0V4cCgiIiwgImQi
KTsgLy8gc2luZ2xlIGQgd2lsbCBub3QgdGhyb3cgU3ludGF4RXJyb3IKK2Fzc2VydC50aHJvd3Mo
U3ludGF4RXJyb3IsICgpID0+IG5ldyBSZWdFeHAoIiIsICJkZCIpLCAiZHVwbGljYXRlIGQiKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNl
cy9pbmRpY2VzLWFycmF5LWVsZW1lbnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktZWxlbWVu
dC5qcwkocmV2aXNpb24gMjczNDkzKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktZWxlbWVudC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMTEsNyArMTEsNyBAQCBpbmZvOiB8CiAtLS0qLwogCiBsZXQgaW5wdXQgPSAiYWJj
ZCI7Ci1sZXQgbWF0Y2ggPSAvYihjKS8uZXhlYyhpbnB1dCk7CitsZXQgbWF0Y2ggPSAvYihjKS9k
LmV4ZWMoaW5wdXQpOwogbGV0IGluZGljZXMgPSBtYXRjaC5pbmRpY2VzOwogCiAvLyBgaW5kaWNl
c1swXWAgaXMgYW4gYXJyYXkKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWFycmF5LW1hdGNoZWQuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2lu
ZGljZXMtYXJyYXktbWF0Y2hlZC5qcwkocmV2aXNpb24gMjczNDkzKQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktbWF0
Y2hlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtNywxMiArNywxMiBAQCBpbmNsdWRlczogW2NvbXBh
cmVBcnJheS5qc10KIGVzaWQ6IHNlYy1tYWtlaW5kaWNlc2FycmF5CiBmZWF0dXJlczogW3JlZ2V4
cC1tYXRjaC1pbmRpY2VzXQogaW5mbzogfAotICBNYWtlSW5kaWNlc0FycmF5ICggUywgaW5kaWNl
cywgZ3JvdXBOYW1lcyApCisgIE1ha2VJbmRpY2VzQXJyYXkgKCBTLCBpbmRpY2VzLCBncm91cE5h
bWVzLCBoYXNJbmRpY2VzICkKICAgICA0LiBMZXQgX25fIGJlIHRoZSBudW1iZXIgb2YgZWxlbWVu
dHMgaW4gX2luZGljZXNfLgogICAgIC4uLgotICAgIDYuIFNldCBfQV8gdG8gISBBcnJheUNyZWF0
ZShfbl8pLgorICAgIDguIFNldCBfQV8gdG8gISBBcnJheUNyZWF0ZShfbl8pLgogICAgIC4uLgot
ICAgIDExLiBGb3IgZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRoYXQgX2lfID49IDAgYW5kIF9pXyA8
IF9uXywgZG8KKyAgICAxMy4gRm9yIGVhY2ggaW50ZWdlciBfaV8gc3VjaCB0aGF0IF9pXyA+PSAw
IGFuZCBfaV8gPCBfbl8sIGRvCiAgICAgICBhLiBMZXQgX21hdGNoSW5kaWNlc18gYmUgX2luZGlj
ZXNfW19pX10uCiAgICAgICBiLiBJZiBfbWF0Y2hJbmRpY2VzXyBpcyBub3QgKnVuZGVmaW5lZCos
IHRoZW4KICAgICAgICAgaS4gTGV0IF9tYXRjaEluZGljZXNBcnJheV8gYmUgISBHZXRNYXRjaElu
ZGljZXNBcnJheShfU18sIF9tYXRjaEluZGljZXNfKS4KQEAgLTIzLDcgKzIzLDcgQEAgaW5mbzog
fAogLS0tKi8KIAogbGV0IGlucHV0ID0gImFiY2QiOwotbGV0IG1hdGNoID0gL2IoYykvLmV4ZWMo
aW5wdXQpOworbGV0IG1hdGNoID0gL2IoYykvZC5leGVjKGlucHV0KTsKIGxldCBpbmRpY2VzID0g
bWF0Y2guaW5kaWNlczsKIAogLy8gYGluZGljZXNgIGhhcyB0aGUgc2FtZSBsZW5ndGggYXMgbWF0
Y2gKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5k
aWNlcy9pbmRpY2VzLWFycmF5LW5vbi11bmljb2RlLW1hdGNoLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2Vz
LWFycmF5LW5vbi11bmljb2RlLW1hdGNoLmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJh
eS1ub24tdW5pY29kZS1tYXRjaC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTEsMTEgKzExLDEzIEBA
IGluZm86IHwKICAgICAuLi4KICAgICA0LiBMZXQgX2xhc3RJbmRleF8gYmUgPyBUb0xlbmd0aCg/
IEdldChfUl8sIGAibGFzdEluZGV4IikpLgogICAgIC4uLgotICAgIDI1LiBMZXQgX2luZGljZXNf
IGJlIGEgbmV3IGVtcHR5IExpc3QuCisgICAgOC4gSWYgX2ZsYWdzXyBjb250YWlucyBgImQiYCwg
bGV0IF9oYXNJbmRpY2VzXyBiZSAqdHJ1ZSosIGVsc2UgbGV0IF9oYXNJbmRpY2VzXyBiZSAqZmFs
c2UqLgorICAgIC4uLgogICAgIDI2LiBMZXQgX21hdGNoXyBiZSB0aGUgTWF0Y2ggeyBbW1N0YXJ0
SW5kZXhdXTogX2xhc3RJbmRleF8sIFtbRW5kSW5kZXhdXTogX2VfIH0uCi0gICAgMjcuIEFkZCBf
bWF0Y2hfIGFzIHRoZSBsYXN0IGVsZW1lbnQgb2YgX2luZGljZXNfLgorICAgIDI3LiBMZXQgX2lu
ZGljZXNfIGJlIGEgbmV3IGVtcHR5IExpc3QuCisgICAgMjkuIEFkZCBfbWF0Y2hfIGFzIHRoZSBs
YXN0IGVsZW1lbnQgb2YgX2luZGljZXNfLgogICAgIC4uLgotICAgIDMzLiBGb3IgZWFjaCBpbnRl
Z2VyIF9pXyBzdWNoIHRoYXQgX2lfID4gMCBhbmQgX2lfIDw9IF9uXywgaW4gYXNjZW5kaW5nIG9y
ZGVyLCBkbworICAgIDM1LiBGb3IgZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRoYXQgX2lfID4gMCBh
bmQgX2lfIDw9IF9uXywgaW4gYXNjZW5kaW5nIG9yZGVyLCBkbwogICAgICAgLi4uCiAgICAgICBm
LiBFbHNlLAogICAgICAgICBpLiBMZXQgX2NhcHR1cmVTdGFydF8gYmUgX2NhcHR1cmVJXydzIF9z
dGFydEluZGV4Xy4KQEAgLTI0LDE4ICsyNiwyMCBAQCBpbmZvOiB8CiAgICAgICAgIGl2LiBMZXQg
X2NhcHR1cmVfIGJlIHRoZSBNYXRjaCAgeyBbW1N0YXJ0SW5kZXhdXTogX2NhcHR1cmVTdGFydF8s
IFtbRW5kSW5kZXhdXTogX2NhcHR1cmVFbmRfIH0uCiAgICAgICAgIHYuIEFwcGVuZCBfY2FwdHVy
ZV8gdG8gX2luZGljZXNfLgogICAgICAgICAuLi4KLSAgICAzNC4gTGV0IF9pbmRpY2VzQXJyYXlf
IGJlIE1ha2VJbmRpY2VzQXJyYXkoIF9TXywgX2luZGljZXNfLCBfZ3JvdXBOYW1lc18pLgorICAg
IDM2LiBJZiBfaGFzSW5kaWNlc18gaXMgKnRydWUqLCB0aGVuCisgICAgICBhLiBMZXQgX2luZGlj
ZXNBcnJheV8gYmUgTWFrZUluZGljZXNBcnJheSggX1NfLCBfaW5kaWNlc18sIF9ncm91cE5hbWVz
XykuCisgICAgICBiLiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5KF9BXywgYCJpbmRpY2Vz
ImAsIF9pbmRpY2VzQXJyYXlfKS4KIC0tLSovCiAKLWFzc2VydC5kZWVwRXF1YWwoW1sxLCAyXSwg
WzEsIDJdXSwgImJhYiIubWF0Y2goLyhhKS8pLmluZGljZXMpOwotYXNzZXJ0LmRlZXBFcXVhbChb
WzAsIDNdLCBbMSwgMl1dLCAiYmFiIi5tYXRjaCgvLihhKS4vKS5pbmRpY2VzKTsKLWFzc2VydC5k
ZWVwRXF1YWwoW1swLCAzXSwgWzEsIDJdLCBbMiwgM11dLCAiYmFiIi5tYXRjaCgvLihhKSguKS8p
LmluZGljZXMpOwotYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDNdLCBbMSwgM11dLCAiYmFiIi5tYXRj
aCgvLihcd1x3KS8pLmluZGljZXMpOwotYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDNdLCBbMCwgM11d
LCAiYmFiIi5tYXRjaCgvKFx3XHdcdykvKS5pbmRpY2VzKTsKLWFzc2VydC5kZWVwRXF1YWwoW1sw
LCAzXSwgWzAsIDJdLCBbMiwgM11dLCAiYmFiIi5tYXRjaCgvKFx3XHcpKFx3KS8pLmluZGljZXMp
OwotYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDJdLCBbMCwgMl0sIHVuZGVmaW5lZF0sICJiYWIiLm1h
dGNoKC8oXHdcdykoXFcpPy8pLmluZGljZXMpOworYXNzZXJ0LmRlZXBFcXVhbChbWzEsIDJdLCBb
MSwgMl1dLCAiYmFiIi5tYXRjaCgvKGEpL2QpLmluZGljZXMpOworYXNzZXJ0LmRlZXBFcXVhbChb
WzAsIDNdLCBbMSwgMl1dLCAiYmFiIi5tYXRjaCgvLihhKS4vZCkuaW5kaWNlcyk7Cithc3NlcnQu
ZGVlcEVxdWFsKFtbMCwgM10sIFsxLCAyXSwgWzIsIDNdXSwgImJhYiIubWF0Y2goLy4oYSkoLikv
ZCkuaW5kaWNlcyk7Cithc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10sIFsxLCAzXV0sICJiYWIiLm1h
dGNoKC8uKFx3XHcpL2QpLmluZGljZXMpOworYXNzZXJ0LmRlZXBFcXVhbChbWzAsIDNdLCBbMCwg
M11dLCAiYmFiIi5tYXRjaCgvKFx3XHdcdykvZCkuaW5kaWNlcyk7Cithc3NlcnQuZGVlcEVxdWFs
KFtbMCwgM10sIFswLCAyXSwgWzIsIDNdXSwgImJhYiIubWF0Y2goLyhcd1x3KShcdykvZCkuaW5k
aWNlcyk7Cithc3NlcnQuZGVlcEVxdWFsKFtbMCwgMl0sIFswLCAyXSwgdW5kZWZpbmVkXSwgImJh
YiIubWF0Y2goLyhcd1x3KShcVyk/L2QpLmluZGljZXMpOwogCi1sZXQgZ3JvdXBzID0gLyg/PGE+
LikoPzxiPi4pKD88Yz4uKVxrPGM+XGs8Yj5cazxhPi8uZXhlYygiYWJjY2JhIikuaW5kaWNlcy5n
cm91cHM7CitsZXQgZ3JvdXBzID0gLyg/PGE+LikoPzxiPi4pKD88Yz4uKVxrPGM+XGs8Yj5cazxh
Pi9kLmV4ZWMoImFiY2NiYSIpLmluZGljZXMuZ3JvdXBzOwogYXNzZXJ0LmNvbXBhcmVBcnJheShb
MCwgMV0sIGdyb3Vwcy5hKTsKIGFzc2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCBncm91cHMuYik7
CiBhc3NlcnQuY29tcGFyZUFycmF5KFsyLCAzXSwgZ3JvdXBzLmMpOwpAQCAtNjcsOSArNzEsOSBA
QCBhc3NlcnQuc2FtZVZhbHVlKCLwnZCBIi5tYXRjaCgvLi8pWzBdLmxlCiBhc3NlcnQuc2FtZVZh
bHVlKCJcdXsxZDQwMX0iLm1hdGNoKC8uLylbMF0ubGVuZ3RoLCAxLCAnVGhlIGxlbmd0aCBvZiBh
IHNpbmdsZSBjb2RlIHVuaXQgbWF0Y2ggYWdhaW5zdCAiXFx1ezFkNDAxfSIgaXMgMSAod2l0aG91
dCAvdSBmbGFnKScpOwogYXNzZXJ0LnNhbWVWYWx1ZSgiXHVEODM1XHVEQzAxIi5tYXRjaCgvLi8p
WzBdLmxlbmd0aCwgMSwgJ1RoZSBsZW5ndGggb2YgYSBzaW5nbGUgY29kZSB1bml0IG1hdGNoIGFn
YWluc3QgIlxcdWQ4MzVcXHVkYzAxIiBpcyAxICh3aXRob3V0IC91IGZsYWcpJyk7CiAKLWFzc2Vy
dC5jb21wYXJlQXJyYXkoWzAsIDFdLCAi8J2QgSIubWF0Y2goLy4vKS5pbmRpY2VzWzBdLCAnSW5k
aWNlcyBmb3Igbm9uLXVuaWNvZGUgbWF0Y2ggYWdhaW5zdCAi8J2QgSIgKHdpdGhvdXQgL3UgZmxh
ZyknKTsKLWFzc2VydC5jb21wYXJlQXJyYXkoWzAsIDFdLCAiXHV7MWQ0MDF9Ii5tYXRjaCgvLi8p
LmluZGljZXNbMF0sICdJbmRpY2VzIGZvciBub24tdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICJcXHV7
MWQ0MDF9IiAod2l0aG91dCAvdSBmbGFnKScpOwotYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0s
ICJcdUQ4MzVcdURDMDEiLm1hdGNoKC8uLykuaW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIG5vbi11
bmljb2RlIG1hdGNoIGFnYWluc3QgIlxcdWQ4MzVcXHVkYzAxIiAod2l0aG91dCAvdSBmbGFnKScp
OwotYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0sICLwnZCBIi5tYXRjaCgvKD88YT4uKS8pLmlu
ZGljZXMuZ3JvdXBzLmEsICdJbmRpY2VzIGZvciBub24tdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICLw
nZCBIiBpbiBncm91cHMuYSAod2l0aG91dCAvdSBmbGFnKScpOwotYXNzZXJ0LmNvbXBhcmVBcnJh
eShbMCwgMV0sICJcdXsxZDQwMX0iLm1hdGNoKC8oPzxhPi4pLykuaW5kaWNlcy5ncm91cHMuYSwg
J0luZGljZXMgZm9yIG5vbi11bmljb2RlIG1hdGNoIGFnYWluc3QgIlxcdXsxZDQwMX0iIGluIGdy
b3Vwcy5hICh3aXRob3V0IC91IGZsYWcpJyk7Ci1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwg
Ilx1RDgzNVx1REMwMSIubWF0Y2goLyg/PGE+LikvKS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNl
cyBmb3Igbm9uLXVuaWNvZGUgbWF0Y2ggYWdhaW5zdCAiXFx1ZDgzNVxcdWRjMDEiIGluIGdyb3Vw
cy5hICh3aXRob3V0IC91IGZsYWcpJyk7Cithc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgIvCd
kIEiLm1hdGNoKC8uL2QpLmluZGljZXNbMF0sICdJbmRpY2VzIGZvciBub24tdW5pY29kZSBtYXRj
aCBhZ2FpbnN0ICLwnZCBIiAod2l0aG91dCAvdSBmbGFnKScpOworYXNzZXJ0LmNvbXBhcmVBcnJh
eShbMCwgMV0sICJcdXsxZDQwMX0iLm1hdGNoKC8uL2QpLmluZGljZXNbMF0sICdJbmRpY2VzIGZv
ciBub24tdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICJcXHV7MWQ0MDF9IiAod2l0aG91dCAvdSBmbGFn
KScpOworYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0sICJcdUQ4MzVcdURDMDEiLm1hdGNoKC8u
L2QpLmluZGljZXNbMF0sICdJbmRpY2VzIGZvciBub24tdW5pY29kZSBtYXRjaCBhZ2FpbnN0ICJc
XHVkODM1XFx1ZGMwMSIgKHdpdGhvdXQgL3UgZmxhZyknKTsKK2Fzc2VydC5jb21wYXJlQXJyYXko
WzAsIDFdLCAi8J2QgSIubWF0Y2goLyg/PGE+LikvZCkuaW5kaWNlcy5ncm91cHMuYSwgJ0luZGlj
ZXMgZm9yIG5vbi11bmljb2RlIG1hdGNoIGFnYWluc3QgIvCdkIEiIGluIGdyb3Vwcy5hICh3aXRo
b3V0IC91IGZsYWcpJyk7Cithc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgIlx1ezFkNDAxfSIu
bWF0Y2goLyg/PGE+LikvZCkuaW5kaWNlcy5ncm91cHMuYSwgJ0luZGljZXMgZm9yIG5vbi11bmlj
b2RlIG1hdGNoIGFnYWluc3QgIlxcdXsxZDQwMX0iIGluIGdyb3Vwcy5hICh3aXRob3V0IC91IGZs
YWcpJyk7Cithc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgIlx1RDgzNVx1REMwMSIubWF0Y2go
Lyg/PGE+LikvZCkuaW5kaWNlcy5ncm91cHMuYSwgJ0luZGljZXMgZm9yIG5vbi11bmljb2RlIG1h
dGNoIGFnYWluc3QgIlxcdWQ4MzVcXHVkYzAxIiBpbiBncm91cHMuYSAod2l0aG91dCAvdSBmbGFn
KScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1p
bmRpY2VzL2luZGljZXMtYXJyYXktcHJvcGVydGllcy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJh
eS1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJheS1wcm9wZXJ0aWVz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC03LDEzICs3LDEzIEBAIGluY2x1ZGVzOiBbcHJvcGVydHlI
ZWxwZXIuanNdCiBlc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQogZmVhdHVyZXM6IFtyZWdleHAt
bWF0Y2gtaW5kaWNlc10KIGluZm86IHwKLSAgTWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMs
IGdyb3VwTmFtZXMgKQotICAgIDExLiBGb3IgZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRoYXQgX2lf
ID49IDAgYW5kIF9pXyA8IF9uXywgZG8KKyAgTWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMs
IGdyb3VwTmFtZXMsIGhhc0dyb3VwcyApCisgICAgMTMuIEZvciBlYWNoIGludGVnZXIgX2lfIHN1
Y2ggdGhhdCBfaV8gPj0gMCBhbmQgX2lfIDwgX25fLCBkbwogICAgICAgZC4gUGVyZm9ybSAhIENy
ZWF0ZURhdGFQcm9wZXJ0eShfQV8sICEgVG9TdHJpbmcoX25fKSwgX21hdGNoSW5kaWNlc0FycmF5
XykuCiAtLS0qLwogCiBsZXQgaW5wdXQgPSAiYWJjZCI7Ci1sZXQgbWF0Y2ggPSAvYihjKS8uZXhl
YyhpbnB1dCk7CitsZXQgbWF0Y2ggPSAvYihjKS9kLmV4ZWMoaW5wdXQpOwogbGV0IGluZGljZXMg
PSBtYXRjaC5pbmRpY2VzOwogCiB2ZXJpZnlQcm9wZXJ0eShpbmRpY2VzLCAnMCcsIHsKSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRp
Y2VzLWFycmF5LXVuaWNvZGUtbWF0Y2guanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktdW5pY29k
ZS1tYXRjaC5qcwkocmV2aXNpb24gMjczNDkzKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktdW5pY29kZS1tYXRjaC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMTMsMTEgKzEzLDEyIEBAIGluZm86IHwKICAgICAuLi4KICAg
ICAxNi4gSWYgX2Z1bGxVbmljb2RlXyBpcyAqdHJ1ZSosIHNldCBfZV8gdG8gISBHZXRTdHJpbmdJ
bmRleChfU18sIF9JbnB1dF8sIF9lXykuCiAgICAgLi4uCi0gICAgMjUuIExldCBfaW5kaWNlc18g
YmUgYSBuZXcgZW1wdHkgTGlzdC4KICAgICAyNi4gTGV0IF9tYXRjaF8gYmUgdGhlIE1hdGNoIHsg
W1tTdGFydEluZGV4XV06IF9sYXN0SW5kZXhfLCBbW0VuZEluZGV4XV06IF9lXyB9LgotICAgIDI3
LiBBZGQgX21hdGNoXyBhcyB0aGUgbGFzdCBlbGVtZW50IG9mIF9pbmRpY2VzXy4KKyAgICAyNy4g
TGV0IF9pbmRpY2VzXyBiZSBhIG5ldyBlbXB0eSBMaXN0LgogICAgIC4uLgotICAgIDMzLiBGb3Ig
ZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRoYXQgX2lfID4gMCBhbmQgX2lfIDw9IF9uXywgaW4gYXNj
ZW5kaW5nIG9yZGVyLCBkbworICAgIDI5LiBBZGQgX21hdGNoXyBhcyB0aGUgbGFzdCBlbGVtZW50
IG9mIF9pbmRpY2VzXy4KKyAgICAuLi4KKyAgICAzNS4gRm9yIGVhY2ggaW50ZWdlciBfaV8gc3Vj
aCB0aGF0IF9pXyA+IDAgYW5kIF9pXyA8PSBfbl8sIGluIGFzY2VuZGluZyBvcmRlciwgZG8KICAg
ICAgIC4uLgogICAgICAgZi4gRWxzZSwKICAgICAgICAgaS4gTGV0IF9jYXB0dXJlU3RhcnRfIGJl
IF9jYXB0dXJlSV8ncyBfc3RhcnRJbmRleF8uCkBAIC0yOCw3ICsyOSw5IEBAIGluZm86IHwKICAg
ICAgICAgaXYuIExldCBfY2FwdHVyZV8gYmUgdGhlIE1hdGNoICB7IFtbU3RhcnRJbmRleF1dOiBf
Y2FwdHVyZVN0YXJ0XywgW1tFbmRJbmRleF1dOiBfY2FwdHVyZUVuZF8gfS4KICAgICAgICAgdi4g
QXBwZW5kIF9jYXB0dXJlXyB0byBfaW5kaWNlc18uCiAgICAgICAgIC4uLgotICAgIDM0LiBMZXQg
X2luZGljZXNBcnJheV8gYmUgTWFrZUluZGljZXNBcnJheSggX1NfLCBfaW5kaWNlc18sIF9ncm91
cE5hbWVzXykuCisgICAgMzYuIElmIF9oYXNJbmRpY2VzXyBpcyAqdHJ1ZSosIHRoZW4KKyAgICAg
IGEuIExldCBfaW5kaWNlc0FycmF5XyBiZSBNYWtlSW5kaWNlc0FycmF5KF9TXywgX2luZGljZXNf
LCBfZ3JvdXBOYW1lc18sIF9oYXNHcm91cHNfKS4KKyAgICAgIGIuIFBlcmZvcm0gISBDcmVhdGVE
YXRhUHJvcGVydHkoX0FfLCBgImluZGljZXMiYCwgX2luZGljZXNBcnJheV8pLgogCiAgIEdldFN0
cmluZ0luZGV4ICggUywgSW5wdXQsIGUgKQogICAgIC4uLgpAQCAtMzYsMTUgKzM5LDE1IEBAIGlu
Zm86IHwKICAgICA1LiBSZXR1cm4gX2VVVEZfLgogLS0tKi8KIAotYXNzZXJ0LmRlZXBFcXVhbChb
WzEsIDJdLCBbMSwgMl1dLCAiYmFiIi5tYXRjaCgvKGEpL3UpLmluZGljZXMpOwotYXNzZXJ0LmRl
ZXBFcXVhbChbWzAsIDNdLCBbMSwgMl1dLCAiYmFiIi5tYXRjaCgvLihhKS4vdSkuaW5kaWNlcyk7
Ci1hc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10sIFsxLCAyXSwgWzIsIDNdXSwgImJhYiIubWF0Y2go
Ly4oYSkoLikvdSkuaW5kaWNlcyk7Ci1hc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10sIFsxLCAzXV0s
ICJiYWIiLm1hdGNoKC8uKFx3XHcpL3UpLmluZGljZXMpOwotYXNzZXJ0LmRlZXBFcXVhbChbWzAs
IDNdLCBbMCwgM11dLCAiYmFiIi5tYXRjaCgvKFx3XHdcdykvdSkuaW5kaWNlcyk7Ci1hc3NlcnQu
ZGVlcEVxdWFsKFtbMCwgM10sIFswLCAyXSwgWzIsIDNdXSwgImJhYiIubWF0Y2goLyhcd1x3KShc
dykvdSkuaW5kaWNlcyk7Ci1hc3NlcnQuZGVlcEVxdWFsKFtbMCwgMl0sIFswLCAyXSwgdW5kZWZp
bmVkXSwgImJhYiIubWF0Y2goLyhcd1x3KShcVyk/L3UpLmluZGljZXMpOworYXNzZXJ0LmRlZXBF
cXVhbChbWzEsIDJdLCBbMSwgMl1dLCAiYmFiIi5tYXRjaCgvKGEpL2R1KS5pbmRpY2VzKTsKK2Fz
c2VydC5kZWVwRXF1YWwoW1swLCAzXSwgWzEsIDJdXSwgImJhYiIubWF0Y2goLy4oYSkuL2R1KS5p
bmRpY2VzKTsKK2Fzc2VydC5kZWVwRXF1YWwoW1swLCAzXSwgWzEsIDJdLCBbMiwgM11dLCAiYmFi
Ii5tYXRjaCgvLihhKSguKS9kdSkuaW5kaWNlcyk7Cithc3NlcnQuZGVlcEVxdWFsKFtbMCwgM10s
IFsxLCAzXV0sICJiYWIiLm1hdGNoKC8uKFx3XHcpL2R1KS5pbmRpY2VzKTsKK2Fzc2VydC5kZWVw
RXF1YWwoW1swLCAzXSwgWzAsIDNdXSwgImJhYiIubWF0Y2goLyhcd1x3XHcpL2R1KS5pbmRpY2Vz
KTsKK2Fzc2VydC5kZWVwRXF1YWwoW1swLCAzXSwgWzAsIDJdLCBbMiwgM11dLCAiYmFiIi5tYXRj
aCgvKFx3XHcpKFx3KS9kdSkuaW5kaWNlcyk7Cithc3NlcnQuZGVlcEVxdWFsKFtbMCwgMl0sIFsw
LCAyXSwgdW5kZWZpbmVkXSwgImJhYiIubWF0Y2goLyhcd1x3KShcVyk/L2R1KS5pbmRpY2VzKTsK
IAotbGV0IGdyb3VwcyA9IC8oPzxhPi4pKD88Yj4uKSg/PGM+LilcazxjPlxrPGI+XGs8YT4vdS5l
eGVjKCJhYmNjYmEiKS5pbmRpY2VzLmdyb3VwczsKK2xldCBncm91cHMgPSAvKD88YT4uKSg/PGI+
LikoPzxjPi4pXGs8Yz5cazxiPlxrPGE+L2R1LmV4ZWMoImFiY2NiYSIpLmluZGljZXMuZ3JvdXBz
OwogYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0sIGdyb3Vwcy5hKTsKIGFzc2VydC5jb21wYXJl
QXJyYXkoWzEsIDJdLCBncm91cHMuYik7CiBhc3NlcnQuY29tcGFyZUFycmF5KFsyLCAzXSwgZ3Jv
dXBzLmMpOwpAQCAtNzIsMTMgKzc1LDEzIEBAIHZlcmlmeVByb3BlcnR5KGdyb3VwcywgImMiLCB7
CiBhc3NlcnQuc2FtZVZhbHVlKCLwnZCBIi5sZW5ndGgsIDIsICdUaGUgbGVuZ3RoIG9mICLwnZCB
IiBpcyAyJyk7CiBhc3NlcnQuc2FtZVZhbHVlKCJcdXsxZDQwMX0iLmxlbmd0aCwgMiwgJ1RoZSBs
ZW5ndGggb2YgIlxcdXsxZDQwMX0iIGlzIDInKTsKIGFzc2VydC5zYW1lVmFsdWUoIlx1RDgzNVx1
REMwMSIubGVuZ3RoLCAyLCAnVGhlIGxlbmd0aCBvZiAiXFx1RDgzNVxcdURDMDEiIGlzIDInKTsK
LWFzc2VydC5zYW1lVmFsdWUoMiwgIvCdkIEiLm1hdGNoKC8uL3UpWzBdLmxlbmd0aCwgJ1RoZSBs
ZW5ndGggb2YgYSBzaW5nbGUgY29kZSBwb2ludCBtYXRjaCBhZ2FpbnN0ICLwnZCBIiBpcyAyICh3
aXRoIC91IGZsYWcpJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKDIsICJcdXsxZDQwMX0iLm1hdGNoKC8u
L3UpWzBdLmxlbmd0aCwgJ1RoZSBsZW5ndGggb2YgYSBzaW5nbGUgY29kZSBwb2ludCBtYXRjaCBh
Z2FpbnN0ICJcXHV7MWQ0MDF9IiBpcyAyICh3aXRoIC91IGZsYWcpJyk7Ci1hc3NlcnQuc2FtZVZh
bHVlKDIsICJcdUQ4MzVcdURDMDEiLm1hdGNoKC8uL3UpWzBdLmxlbmd0aCwgJ1RoZSBsZW5ndGgg
b2YgYSBzaW5nbGUgY29kZSBwb2ludCBtYXRjaCBhZ2FpbnN0ICJcXHVkODM1XFx1ZGMwMSIgaXMg
MiAod2l0aCAvdSBmbGFnKScpOwotCi1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAyXSwgIvCdkIEi
Lm1hdGNoKC8uL3UpLmluZGljZXNbMF0sICdJbmRpY2VzIGZvciB1bmljb2RlIG1hdGNoIGFnYWlu
c3QgIvCdkIEiICh3aXRoIC91IGZsYWcpJyk7Ci1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAyXSwg
Ilx1ezFkNDAxfSIubWF0Y2goLy4vdSkuaW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIHVuaWNvZGUg
bWF0Y2ggYWdhaW5zdCBcXHV7MWQ0MDF9ICh3aXRoIC91IGZsYWcpJyk7Ci1hc3NlcnQuY29tcGFy
ZUFycmF5KFswLCAyXSwgIlx1RDgzNVx1REMwMSIubWF0Y2goLy4vdSkuaW5kaWNlc1swXSwgJ0lu
ZGljZXMgZm9yIHVuaWNvZGUgbWF0Y2ggYWdhaW5zdCBcXHVkODM1XFx1ZGMwMSAod2l0aCAvdSBm
bGFnKScpOwotYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMl0sICLwnZCBIi5tYXRjaCgvKD88YT4u
KS91KS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0
IPCdkIEgaW4gZ3JvdXBzLmEgKHdpdGggL3UgZmxhZyknKTsKLWFzc2VydC5jb21wYXJlQXJyYXko
WzAsIDJdLCAiXHV7MWQ0MDF9Ii5tYXRjaCgvKD88YT4uKS91KS5pbmRpY2VzLmdyb3Vwcy5hLCAn
SW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0IFxcdXsxZDQwMX0gaW4gZ3JvdXBzLmEg
KHdpdGggL3UgZmxhZyknKTsKLWFzc2VydC5jb21wYXJlQXJyYXkoWzAsIDJdLCAiXHVEODM1XHVE
QzAxIi5tYXRjaCgvKD88YT4uKS91KS5pbmRpY2VzLmdyb3Vwcy5hLCAnSW5kaWNlcyBmb3IgdW5p
Y29kZSBtYXRjaCBhZ2FpbnN0IFxcdWQ4MzVcXHVkYzAxIGluIGdyb3Vwcy5hICh3aXRoIC91IGZs
YWcpJyk7Cithc3NlcnQuc2FtZVZhbHVlKDIsICLwnZCBIi5tYXRjaCgvLi91KVswXS5sZW5ndGgs
ICdUaGUgbGVuZ3RoIG9mIGEgc2luZ2xlIGNvZGUgcG9pbnQgbWF0Y2ggYWdhaW5zdCAi8J2QgSIg
aXMgMiAod2l0aCAvZHUgZmxhZyknKTsKK2Fzc2VydC5zYW1lVmFsdWUoMiwgIlx1ezFkNDAxfSIu
bWF0Y2goLy4vdSlbMF0ubGVuZ3RoLCAnVGhlIGxlbmd0aCBvZiBhIHNpbmdsZSBjb2RlIHBvaW50
IG1hdGNoIGFnYWluc3QgIlxcdXsxZDQwMX0iIGlzIDIgKHdpdGggL2R1IGZsYWcpJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKDIsICJcdUQ4MzVcdURDMDEiLm1hdGNoKC8uL3UpWzBdLmxlbmd0aCwgJ1Ro
ZSBsZW5ndGggb2YgYSBzaW5nbGUgY29kZSBwb2ludCBtYXRjaCBhZ2FpbnN0ICJcXHVkODM1XFx1
ZGMwMSIgaXMgMiAod2l0aCAvZHUgZmxhZyknKTsKKworYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwg
Ml0sICLwnZCBIi5tYXRjaCgvLi9kdSkuaW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIHVuaWNvZGUg
bWF0Y2ggYWdhaW5zdCAi8J2QgSIgKHdpdGggL2R1IGZsYWcpJyk7Cithc3NlcnQuY29tcGFyZUFy
cmF5KFswLCAyXSwgIlx1ezFkNDAxfSIubWF0Y2goLy4vZHUpLmluZGljZXNbMF0sICdJbmRpY2Vz
IGZvciB1bmljb2RlIG1hdGNoIGFnYWluc3QgXFx1ezFkNDAxfSAod2l0aCAvZHUgZmxhZyknKTsK
K2Fzc2VydC5jb21wYXJlQXJyYXkoWzAsIDJdLCAiXHVEODM1XHVEQzAxIi5tYXRjaCgvLi9kdSku
aW5kaWNlc1swXSwgJ0luZGljZXMgZm9yIHVuaWNvZGUgbWF0Y2ggYWdhaW5zdCBcXHVkODM1XFx1
ZGMwMSAod2l0aCAvZHUgZmxhZyknKTsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzAsIDJdLCAi8J2Q
gSIubWF0Y2goLyg/PGE+LikvZHUpLmluZGljZXMuZ3JvdXBzLmEsICdJbmRpY2VzIGZvciB1bmlj
b2RlIG1hdGNoIGFnYWluc3Qg8J2QgSBpbiBncm91cHMuYSAod2l0aCAvZHUgZmxhZyknKTsKK2Fz
c2VydC5jb21wYXJlQXJyYXkoWzAsIDJdLCAiXHV7MWQ0MDF9Ii5tYXRjaCgvKD88YT4uKS9kdSku
aW5kaWNlcy5ncm91cHMuYSwgJ0luZGljZXMgZm9yIHVuaWNvZGUgbWF0Y2ggYWdhaW5zdCBcXHV7
MWQ0MDF9IGluIGdyb3Vwcy5hICh3aXRoIC9kdSBmbGFnKScpOworYXNzZXJ0LmNvbXBhcmVBcnJh
eShbMCwgMl0sICJcdUQ4MzVcdURDMDEiLm1hdGNoKC8oPzxhPi4pL2R1KS5pbmRpY2VzLmdyb3Vw
cy5hLCAnSW5kaWNlcyBmb3IgdW5pY29kZSBtYXRjaCBhZ2FpbnN0IFxcdWQ4MzVcXHVkYzAxIGlu
IGdyb3Vwcy5hICh3aXRoIC9kdSBmbGFnKScpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktdW5pY29kZS1wcm9w
ZXJ0eS1uYW1lcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJheS11bmljb2RlLXByb3BlcnR5LW5h
bWVzLmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJheS11bmljb2RlLXByb3BlcnR5LW5h
bWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC04LDEzICs4LDEzIEBAIGVzaWQ6IHNlYy1tYWtlaW5k
aWNlc2FycmF5CiBmZWF0dXJlczogW3JlZ2V4cC1tYXRjaC1pbmRpY2VzXQogLS0tKi8KIAotYXNz
ZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIC8oPzzPgD5hKS91LmV4ZWMoImJhYiIpLmluZGljZXMu
Z3JvdXBzLs+AKTsKLWFzc2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88XHV7MDNDMH0+YSkv
dS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy7PgCk7Ci1hc3NlcnQuY29tcGFyZUFycmF5KFsx
LCAyXSwgLyg/PM+APmEpL3UuZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMuXHUwM0MwKTsKLWFz
c2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88XHV7MDNDMH0+YSkvdS5leGVjKCJiYWIiKS5p
bmRpY2VzLmdyb3Vwcy5cdTAzQzApOwotYXNzZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIC8oPzwk
PmEpL3UuZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMuJCk7Ci1hc3NlcnQuY29tcGFyZUFycmF5
KFsxLCAyXSwgLyg/PF8+YSkvdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy5fKTsKLWFzc2Vy
dC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88JPCQkqQ+YSkvdS5leGVjKCJiYWIiKS5pbmRpY2Vz
Lmdyb3Vwcy4k8JCSpCk7Ci1hc3NlcnQuY29tcGFyZUFycmF5KFsxLCAyXSwgLyg/PF9cdTIwMEM+
YSkvdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy5fXHUyMDBDKTsKLWFzc2VydC5jb21wYXJl
QXJyYXkoWzEsIDJdLCAvKD88X1x1MjAwRD5hKS91LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBz
Ll9cdTIwMEQpOwotYXNzZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIC8oPzzgsqBf4LKgPmEpL3Uu
ZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMu4LKgX+CyoCk7Cithc3NlcnQuY29tcGFyZUFycmF5
KFsxLCAyXSwgLyg/PM+APmEpL2R1LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBzLs+AKTsKK2Fz
c2VydC5jb21wYXJlQXJyYXkoWzEsIDJdLCAvKD88XHV7MDNDMH0+YSkvZHUuZXhlYygiYmFiIiku
aW5kaWNlcy5ncm91cHMuz4ApOworYXNzZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIC8oPzzPgD5h
KS9kdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy5cdTAzQzApOworYXNzZXJ0LmNvbXBhcmVB
cnJheShbMSwgMl0sIC8oPzxcdXswM0MwfT5hKS9kdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vw
cy5cdTAzQzApOworYXNzZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIC8oPzwkPmEpL2R1LmV4ZWMo
ImJhYiIpLmluZGljZXMuZ3JvdXBzLiQpOworYXNzZXJ0LmNvbXBhcmVBcnJheShbMSwgMl0sIC8o
PzxfPmEpL2R1LmV4ZWMoImJhYiIpLmluZGljZXMuZ3JvdXBzLl8pOworYXNzZXJ0LmNvbXBhcmVB
cnJheShbMSwgMl0sIC8oPzwk8JCSpD5hKS9kdS5leGVjKCJiYWIiKS5pbmRpY2VzLmdyb3Vwcy4k
8JCSpCk7Cithc3NlcnQuY29tcGFyZUFycmF5KFsxLCAyXSwgLyg/PF9cdTIwMEM+YSkvZHUuZXhl
YygiYmFiIikuaW5kaWNlcy5ncm91cHMuX1x1MjAwQyk7Cithc3NlcnQuY29tcGFyZUFycmF5KFsx
LCAyXSwgLyg/PF9cdTIwMEQ+YSkvZHUuZXhlYygiYmFiIikuaW5kaWNlcy5ncm91cHMuX1x1MjAw
RCk7Cithc3NlcnQuY29tcGFyZUFycmF5KFsxLCAyXSwgLyg/POCyoF/gsqA+YSkvZHUuZXhlYygi
YmFiIikuaW5kaWNlcy5ncm91cHMu4LKgX+CyoCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJheS11bm1hdGNoZWQu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9t
YXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXktdW5tYXRjaGVkLmpzCShyZXZpc2lvbiAyNzM0OTMp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMv
aW5kaWNlcy1hcnJheS11bm1hdGNoZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcg
QEAgaW5mbzogfAogLS0tKi8KIAogbGV0IGlucHV0ID0gImFiZCI7Ci1sZXQgbWF0Y2ggPSAvYihj
KT8vLmV4ZWMoaW5wdXQpOworbGV0IG1hdGNoID0gL2IoYyk/L2QuZXhlYyhpbnB1dCk7CiBsZXQg
aW5kaWNlcyA9IG1hdGNoLmluZGljZXM7CiAKIC8vIGBpbmRpY2VzYCBoYXMgdGhlIHNhbWUgbGVu
Z3RoIGFzIG1hdGNoCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJheS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1hcnJheS5q
cwkocmV2aXNpb24gMjczNDkzKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtYXJyYXkuanMJKHdvcmtpbmcgY29weSkKQEAgLTYs
MTEgKzYsMTEgQEAgZGVzY3JpcHRpb246IFRoZSAiaW5kaWNlcyIgcHJvcGVydHkgaXMgYQogZXNp
ZDogc2VjLW1ha2VpbmRpY2VzYXJyYXkKIGZlYXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNd
CiBpbmZvOiB8Ci0gIE1ha2VJbmRpY2VzQXJyYXkgKCBTLCBpbmRpY2VzLCBncm91cE5hbWVzICkK
KyAgTWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMsIGhhc0dyb3VwcyAp
CiAgICAgNi4gU2V0IF9BXyB0byAhIEFycmF5Q3JlYXRlKF9uXykuCiAtLS0qLwogCi1sZXQgbWF0
Y2ggPSAvYS8uZXhlYygiYSIpOworbGV0IG1hdGNoID0gL2EvZC5leGVjKCJhIik7CiBsZXQgaW5k
aWNlcyA9IG1hdGNoLmluZGljZXM7CiAKIC8vIGBpbmRpY2VzYCBpcyBhbiBhcnJheQpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGlj
ZXMtZ3JvdXBzLW9iamVjdC11bmRlZmluZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtZ3JvdXBzLW9i
amVjdC11bmRlZmluZWQuanMJKHJldmlzaW9uIDI3MzQ5MykKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1vYmplY3Qt
dW5kZWZpbmVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC03LDE2ICs3LDE2IEBAIGluY2x1ZGVzOiBb
cHJvcGVydHlIZWxwZXIuanNdCiBlc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQogZmVhdHVyZXM6
IFtyZWdleHAtbmFtZWQtZ3JvdXBzLCByZWdleHAtbWF0Y2gtaW5kaWNlc10KIGluZm86IHwKLSAg
TWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMgKQotICAgIDguIElmIF9n
cm91cE5hbWVzXyBpcyBub3QgKnVuZGVmaW5lZCosIHRoZW4KKyAgTWFrZUluZGljZXNBcnJheSAo
IFMsIGluZGljZXMsIGdyb3VwTmFtZXMsIGhhc0dyb3VwcyApCisgICAgMTAuIElmIF9oYXNHcm91
cHNfIGlzICp0cnVlKiwgdGhlbgogICAgICAgYS4gTGV0IF9ncm91cHNfIGJlICEgT2JqZWN0Q3Jl
YXRlKCpudWxsKikuCi0gICAgOS4gRWxzZSwKKyAgICAxMS4gRWxzZSwKICAgICAgIGEuIExldCBf
Z3JvdXBzXyBiZSAqdW5kZWZpbmVkKi4KLSAgICAxMC4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9w
ZXJ0eShfQV8sIGAiZ3JvdXBzImAsIF9ncm91cHNfKS4KKyAgICAxMi4gUGVyZm9ybSAhIENyZWF0
ZURhdGFQcm9wZXJ0eShfQV8sIGAiZ3JvdXBzImAsIF9ncm91cHNfKS4KIC0tLSovCiAKIAotY29u
c3QgcmUgPSAvLi87Citjb25zdCByZSA9IC8uL2Q7CiBjb25zdCBpbmRpY2VzID0gcmUuZXhlYygi
YSIpLmluZGljZXM7CiB2ZXJpZnlQcm9wZXJ0eShpbmRpY2VzLCAnZ3JvdXBzJywgewogICB3cml0
YWJsZTogdHJ1ZSwKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
bWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1vYmplY3QtdW5tYXRjaGVkLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNl
cy9pbmRpY2VzLWdyb3Vwcy1vYmplY3QtdW5tYXRjaGVkLmpzCShyZXZpc2lvbiAyNzM0OTMpCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5k
aWNlcy1ncm91cHMtb2JqZWN0LXVubWF0Y2hlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtNywxNCAr
NywxNCBAQCBpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KIGVzaWQ6IHNlYy1tYWtlaW5kaWNl
c2FycmF5CiBmZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHMsIHJlZ2V4cC1tYXRjaC1pbmRp
Y2VzXQogaW5mbzogfAotICBNYWtlSW5kaWNlc0FycmF5ICggUywgaW5kaWNlcywgZ3JvdXBOYW1l
cyApCisgIE1ha2VJbmRpY2VzQXJyYXkgKCBTLCBpbmRpY2VzLCBncm91cE5hbWVzLCBoYXNHcm91
cHMgKQogICAgIDExLiBGb3IgZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRoYXQgX2lfID49IDAgYW5k
IF9pXyA8IF9uXywgZG8KLSAgICAgIGUuIElmIF9ncm91cE5hbWVzXyBpcyBub3QgKnVuZGZpbmVk
KiBhbmQgX2dyb3VwTmFtZXNfW19pX10gaXMgbm90ICp1bmRlZmluZWQqLCB0aGVuCi0gICAgICAg
IGkuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHkoX2dyb3Vwc18sIF9ncm91cE5hbWVzX1tf
aV9dLCBfbWF0Y2hJbmRpY2VzQXJyYXlfKS4KKyAgICAgIGUuIElmIF9pXyA+IDAgYW5kIF9ncm91
cE5hbWVzX1tfaV8gLSAxXSBpcyBub3QgKnVuZGVmaW5lZCosIHRoZW4KKyAgICAgICAgaS4gUGVy
Zm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eShfZ3JvdXBzXywgX2dyb3VwTmFtZXNfW19pXyAtIDFd
LCBfbWF0Y2hJbmRpY2VzQXJyYXlfKS4KIC0tLSovCiAKIAotY29uc3QgcmUgPSAvKD88YT5hKS58
KD88eD54KS87Citjb25zdCByZSA9IC8oPzxhPmEpLnwoPzx4PngpL2Q7CiBjb25zdCByZXN1bHQg
PSByZS5leGVjKCJhYiIpLmluZGljZXM7CiBhc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgcmVz
dWx0Lmdyb3Vwcy5hKTsKIGFzc2VydC5zYW1lVmFsdWUodW5kZWZpbmVkLCByZXN1bHQuZ3JvdXBz
LngpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1p
bmRpY2VzL2luZGljZXMtZ3JvdXBzLW9iamVjdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMt
b2JqZWN0LmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC03LDEyICs3LDEyIEBAIGluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanMs
IGNvbXBhcmVBcnIKIGVzaWQ6IHNlYy1tYWtlaW5kaWNlc2FycmF5CiBmZWF0dXJlczogW3JlZ2V4
cC1uYW1lZC1ncm91cHMsIHJlZ2V4cC1tYXRjaC1pbmRpY2VzXQogaW5mbzogfAotICBNYWtlSW5k
aWNlc0FycmF5ICggUywgaW5kaWNlcywgZ3JvdXBOYW1lcyApCi0gICAgOC4gSWYgX2dyb3VwTmFt
ZXNfIGlzIG5vdCAqdW5kZWZpbmVkKiwgdGhlbgorICBNYWtlSW5kaWNlc0FycmF5ICggUywgaW5k
aWNlcywgZ3JvdXBOYW1lcywgaGFzSW5kaWNlcyApCisgICAgMTAuIElmIF9oYXNJbmRpY2VzXyBp
cyAqdHJ1ZSosIHRoZW4KICAgICAgIGEuIExldCBfZ3JvdXBzXyBiZSAhIE9iamVjdENyZWF0ZSgq
bnVsbCopLgotICAgIDkuIEVsc2UsCisgICAgMTEuIEVsc2UsCiAgICAgICBhLiBMZXQgX2dyb3Vw
c18gYmUgKnVuZGVmaW5lZCouCi0gICAgMTAuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHko
X0FfLCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuCisgICAgMTIuIFBlcmZvcm0gISBDcmVhdGVEYXRh
UHJvcGVydHkoX0FfLCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuCiAtLS0qLwogCiAvLyBgZ3JvdXBz
YCBpcyBjcmVhdGVkIHdpdGggRGVmaW5lLCBub3QgU2V0LgpAQCAtMjEsNyArMjEsNyBAQCBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiCiAgIHNldCgpIHsgY291bnRlcisr
OyB9CiB9KTsKIAotbGV0IGluZGljZXMgPSAvKD88eD4uKS8uZXhlYygiYSIpLmluZGljZXM7Cits
ZXQgaW5kaWNlcyA9IC8oPzx4Pi4pL2QuZXhlYygiYSIpLmluZGljZXM7CiBhc3NlcnQuc2FtZVZh
bHVlKGNvdW50ZXIsIDApOwogCiAvLyBgZ3JvdXBzYCBpcyB3cml0YWJsZSwgZW51bWVyYWJsZSBh
bmQgY29uZmlndXJhYmxlCkBAIC0zNCw2ICszNCw2IEBAIHZlcmlmeVByb3BlcnR5KGluZGljZXMs
ICdncm91cHMnLCB7CiAKIC8vIFRoZSBgX19wcm90b19fYCBwcm9wZXJ0eSBvbiB0aGUgZ3JvdXBz
IG9iamVjdCBpcyBub3Qgc3BlY2lhbCwKIC8vIGFuZCBkb2VzIG5vdCBhZmZlY3QgdGhlIFtbUHJv
dG90eXBlXV0gb2YgdGhlIHJlc3VsdGluZyBncm91cHMgb2JqZWN0LgotbGV0IHtncm91cHN9ID0g
Lyg/PF9fcHJvdG9fXz4uKS8uZXhlYygiYSIpLmluZGljZXM7CitsZXQge2dyb3Vwc30gPSAvKD88
X19wcm90b19fPi4pL2QuZXhlYygiYSIpLmluZGljZXM7CiBhc3NlcnQuY29tcGFyZUFycmF5KFsw
LCAxXSwgZ3JvdXBzLl9fcHJvdG9fXyk7CiBhc3NlcnQuc2FtZVZhbHVlKG51bGwsIE9iamVjdC5n
ZXRQcm90b3R5cGVPZihncm91cHMpKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1wcm9wZXJ0aWVzLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gt
aW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAyNzM0OTMpCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5k
aWNlcy1ncm91cHMtcHJvcGVydGllcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNywyNCArNywyNCBA
QCBpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qcywgcHJvcGVydHlIZWxwCiBlc2lkOiBzZWMtbWFr
ZWluZGljZXNhcnJheQogZmVhdHVyZXM6IFtyZWdleHAtbmFtZWQtZ3JvdXBzLCByZWdleHAtbWF0
Y2gtaW5kaWNlc10KIGluZm86IHwKLSAgTWFrZUluZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdy
b3VwTmFtZXMgKQotICAgIDExLiBGb3IgZWFjaCBpbnRlZ2VyIF9pXyBzdWNoIHRoYXQgX2lfID49
IDAgYW5kIF9pXyA8IF9uXywgZG8KLSAgICAgIGUuIElmIF9ncm91cE5hbWVzXyBpcyBub3QgKnVu
ZGZpbmVkKiBhbmQgX2dyb3VwTmFtZXNfW19pX10gaXMgbm90ICp1bmRlZmluZWQqLCB0aGVuCi0g
ICAgICAgIGkuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHkoX2dyb3Vwc18sIF9ncm91cE5h
bWVzX1tfaV9dLCBfbWF0Y2hJbmRpY2VzQXJyYXlfKS4KKyAgTWFrZUluZGljZXNBcnJheSAoIFMs
IGluZGljZXMsIGdyb3VwTmFtZXMsIGhhc0luZGljZXMgKQorICAgIDEzLiBGb3IgZWFjaCBpbnRl
Z2VyIF9pXyBzdWNoIHRoYXQgX2lfID49IDAgYW5kIF9pXyA8IF9uXywgZG8KKyAgICAgIGUuIElm
IF9pXyA+IDAgYW5kIF9ncm91cE5hbWVzX1tfaV8gLSAxXSBpcyBub3QgKnVuZGVmaW5lZCosIHRo
ZW4KKyAgICAgICAgaS4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eShfZ3JvdXBzXywgX2dy
b3VwTmFtZXNfW19pXyAtIDFdLCBfbWF0Y2hJbmRpY2VzQXJyYXlfKS4KIC0tLSovCiAKIAogLy8g
UHJvcGVydGllcyBjcmVhdGVkIG9uIHJlc3VsdC5ncm91cHMgaW4gdGV4dHVhbCBvcmRlci4KLWxl
dCBncm91cE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoLyg/PGZzdD4uKXwoPzxz
bmQ+LikvdS5leGVjKCJhYmNkIikuaW5kaWNlcy5ncm91cHMpOworbGV0IGdyb3VwTmFtZXMgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygvKD88ZnN0Pi4pfCg/PHNuZD4uKS9kdS5leGVjKCJh
YmNkIikuaW5kaWNlcy5ncm91cHMpOwogYXNzZXJ0LmNvbXBhcmVBcnJheShncm91cE5hbWVzLCBb
ImZzdCIsICJzbmQiXSk7CiAKLS8vIC8vIFByb3BlcnRpZXMgYXJlIGNyZWF0ZWQgd2l0aCBEZWZp
bmUsIG5vdCBTZXQKLS8vIGxldCBjb3VudGVyID0gMDsKLS8vIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShPYmplY3QucHJvdG90eXBlLCAneCcsIHtzZXQoKSB7IGNvdW50ZXIrKzsgfX0pOworLy8gUHJv
cGVydGllcyBhcmUgY3JlYXRlZCB3aXRoIERlZmluZSwgbm90IFNldAorbGV0IGNvdW50ZXIgPSAw
OworT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICd4Jywge3NldCgpIHsg
Y291bnRlcisrOyB9fSk7CiAKLWxldCBpbmRpY2VzID0gLyg/PHg+LikvLmV4ZWMoJ2EnKS5pbmRp
Y2VzOworbGV0IGluZGljZXMgPSAvKD88eD4uKS9kLmV4ZWMoJ2EnKS5pbmRpY2VzOwogbGV0IGdy
b3VwcyA9IGluZGljZXMuZ3JvdXBzOwotLy8gYXNzZXJ0LnNhbWVWYWx1ZShjb3VudGVyLCAwKTsK
K2Fzc2VydC5zYW1lVmFsdWUoY291bnRlciwgMCk7CiAKIC8vIFByb3BlcnRpZXMgYXJlIHdyaXRh
YmxlLCBlbnVtZXJhYmxlIGFuZCBjb25maWd1cmFibGUKIC8vIChmcm9tIENyZWF0ZURhdGFQcm9w
ZXJ0eSkKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gt
aW5kaWNlcy9pbmRpY2VzLXByb3BlcnR5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLXByb3BlcnR5Lmpz
CShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1wcm9wZXJ0eS5qcwkod29ya2luZyBjb3B5KQpAQCAt
OCw4ICs4LDExIEBAIGVzaWQ6IHNlYy1yZWdleHBidWlsdGluZXhlYwogZmVhdHVyZXM6IFtyZWdl
eHAtbWF0Y2gtaW5kaWNlc10KIGluZm86IHwKICAgUnVudGltZSBTZW1hbnRpY3M6IFJlZ0V4cEJ1
aWx0aW5FeGVjICggUiwgUyApCi0gICAgMzQuIExldCBfaW5kaWNlc0FycmF5XyBiZSBNYWtlSW5k
aWNlc0FycmF5KF9TXywgX2luZGljZXNfLCBfZ3JvdXBOYW1lc18pLgotICAgIDM1LiBQZXJmb3Jt
ICEgRGVmaW5lUHJvcGVydHlPclRocm93KF9BXywgYCJpbmRpY2VzImAsIFByb3BlcnR5RGVzY3Jp
cHRvciB7IFtbVmFsdWVdXTogX2luZGljZXNBcnJheV8sIFtbV3JpdGFibGVdXTogKmZhbHNlKiwg
W1tFbnVtZXJhYmxlXV06ICpmYWxzZSosIFtbQ29uZmlndXJhYmxlXV06ICp0cnVlKiB9KS4KKyAg
ICA4LiBJZiBfZmxhZ3NfIGNvbnRhaW5zIGAiZCJgLCBsZXQgX2hhc0luZGljZXNfIGJlICp0cnVl
KiwgZWxzZSBsZXQgX2hhc0luZGljZXNfIGJlICpmYWxzZSouCisgICAgLi4uCisgICAgMzYuIElm
IF9oYXNJbmRpY2VzXyBpcyAqdHJ1ZSosIHRoZW4KKyAgICAgIGEuIExldCBfaW5kaWNlc0FycmF5
XyBiZSBNYWtlSW5kaWNlc0FycmF5KF9TXywgX2luZGljZXNfLCBfZ3JvdXBOYW1lc18sIF9oYXNH
cm91cHNfKS4KKyAgICAgIGIuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHkoX0FfLCBgImlu
ZGljZXMiYCwgX2luZGljZXNBcnJheV8pLgogLS0tKi8KIAogLy8gYGluZGljZXNgIGlzIGNyZWF0
ZWQgd2l0aCBEZWZpbmUsIG5vdCBTZXQuCkBAIC0xOCw3ICsyMSw3IEBAIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIKICAgc2V0KCkgeyBjb3VudGVyKys7IH0KIH0pOwog
Ci1sZXQgbWF0Y2ggPSAvYS8uZXhlYygiYSIpOworbGV0IG1hdGNoID0gL2EvZC5leGVjKCJhIik7
CiBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDApOwogCiAvLyBgaW5kaWNlc2AgaXMgYSBub24t
d3JpdGFibGUsIG5vbi1lbnVtZXJhYmxlLCBhbmQgY29uZmlndXJhYmxlIGRhdGEtcHJvcGVydHku
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGlj
ZXMvbm8taW5kaWNlcy1hcnJheS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvbm8taW5kaWNlcy1hcnJheS5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNo
LWluZGljZXMvbm8taW5kaWNlcy1hcnJheS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE5
IEBACisvLyBDb3B5cmlnaHQgMjAxOSBSb24gQnVja3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Rlc2NyaXB0aW9uOiBUaGUgImluZGljZXMiIHByb3Bl
cnR5IGlzIGFuIEFycmF5LgorZXNpZDogc2VjLXJlZ2V4cGJ1aWx0aW5leGVjCitmZWF0dXJlczog
W3JlZ2V4cC1tYXRjaC1pbmRpY2VzXQoraW5mbzogfAorICBSZWdFeHBCdWlsdGluRXhlYyAoIFIs
IFMgKQorICAgIAorICAgIDguIElmIF9mbGFnc18gY29udGFpbnMgYCJkImAsIGxldCBfaGFzSW5k
aWNlc18gYmUgKnRydWUqLCBlbHNlIGxldCBfaGFzSW5kaWNlc18gYmUgKmZhbHNlKi4KKyAgICAz
Ni4gSWYgX2hhc0luZGljZXNfIGlzICp0cnVlKiwgdGhlbgorICAgICAgYi4gUGVyZm9ybSAhIENy
ZWF0ZURhdGFQcm9wZXJ0eShfQV8sIGAiaW5kaWNlcyJgLCBfaW5kaWNlc0FycmF5XykuCistLS0q
LworCitsZXQgbWF0Y2ggPSAvYS8uZXhlYygiYSIpOworCisvLyBgaW5kaWNlc2AgaXMgbm90IGRl
ZmluZWQgYnkgZGVmYXVsdAorYXNzZXJ0KCFtYXRjaC5oYXNPd25Qcm9wZXJ0eSgiaW5kaWNlcyIp
KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L2ZsYWdzL2NvZXJjaW9uLWhhc0luZGljZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZmxhZ3MvY29lcmNpb24taGFzSW5k
aWNlcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9mbGFncy9jb2VyY2lvbi1oYXNJbmRpY2VzLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSb24gQnVja3RvbiBh
bmQgQWxla3NleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLWdldC1yZWdleHAucHJvdG90eXBlLmZsYWdzCitkZXNjcmlwdGlv
bjogQm9vbGVhbiBjb2VyY2lvbiBvZiB0aGUgaGFzSW5kaWNlcyBwcm9wZXJ0eQoraW5mbzogfAor
ICBnZXQgUmVnRXhwLnByb3RvdHlwZS5mbGFncworCisgIC4uLgorICAxMC4gTGV0IGhhc0luZGlj
ZXMgYmUgVG9Cb29sZWFuKD8gR2V0KFIsICJoYXNJbmRpY2VzIikpLgorICAuLi4KK2ZlYXR1cmVz
OiBbU3ltYm9sLCByZWdleHAtbWF0Y2gtaW5kaWNlc10KKy0tLSovCisKK3ZhciBnZXQgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJmbGFncyIpLmdl
dDsKKwordmFyIHIgPSB7fTsKKworci5oYXNJbmRpY2VzID0gdW5kZWZpbmVkOworYXNzZXJ0LnNh
bWVWYWx1ZShnZXQuY2FsbChyKSwgIiIsICJoYXNJbmRpY2VzOiB1bmRlZmluZWQiKTsKKworci5o
YXNJbmRpY2VzID0gbnVsbDsKK2Fzc2VydC5zYW1lVmFsdWUoZ2V0LmNhbGwociksICIiLCAiaGFz
SW5kaWNlczogbnVsbCIpOworCityLmhhc0luZGljZXMgPSBOYU47Cithc3NlcnQuc2FtZVZhbHVl
KGdldC5jYWxsKHIpLCAiIiwgImhhc0luZGljZXM6IE5hTiIpOworCityLmhhc0luZGljZXMgPSAi
IjsKK2Fzc2VydC5zYW1lVmFsdWUoZ2V0LmNhbGwociksICIiLCAiaGFzSW5kaWNlczogdGhlIGVt
cHR5IHN0cmluZyIpOworCityLmhhc0luZGljZXMgPSAic3RyaW5nIjsKK2Fzc2VydC5zYW1lVmFs
dWUoZ2V0LmNhbGwociksICJkIiwgImhhc0luZGljZXM6IHN0cmluZyIpOworCityLmhhc0luZGlj
ZXMgPSA4NjsKK2Fzc2VydC5zYW1lVmFsdWUoZ2V0LmNhbGwociksICJkIiwgImhhc0luZGljZXM6
IDg2Iik7CisKK3IuaGFzSW5kaWNlcyA9IFN5bWJvbCgpOworYXNzZXJ0LnNhbWVWYWx1ZShnZXQu
Y2FsbChyKSwgImQiLCAiaGFzSW5kaWNlczogU3ltYm9sKCkiKTsKKworci5oYXNJbmRpY2VzID0g
W107Cithc3NlcnQuc2FtZVZhbHVlKGdldC5jYWxsKHIpLCAiZCIsICJoYXNJbmRpY2VzOiBbXSIp
OworCityLmhhc0luZGljZXMgPSB7fTsKK2Fzc2VydC5zYW1lVmFsdWUoZ2V0LmNhbGwociksICJk
IiwgImhhc0luZGljZXM6IHt9Iik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9mbGFncy9nZXQtb3JkZXIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZmxhZ3MvZ2V0LW9y
ZGVyLmpzCShyZXZpc2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9mbGFncy9nZXQtb3JkZXIuanMJKHdvcmtpbmcgY29weSkKQEAg
LTgsMTcgKzgsMjEgQEAgaW5mbzogfAogICBnZXQgUmVnRXhwLnByb3RvdHlwZS5mbGFncwogCiAg
IFsuLi5dCi0gIDQuIExldCBnbG9iYWwgYmUgVG9Cb29sZWFuKD8gR2V0KFIsICJnbG9iYWwiKSku
Ci0gIDYuIExldCBpZ25vcmVDYXNlIGJlIFRvQm9vbGVhbig/IEdldChSLCAiaWdub3JlQ2FzZSIp
KS4KLSAgOC4gTGV0IG11bHRpbGluZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgIm11bHRpbGluZSIp
KS4KLSAgMTAuIExldCBkb3RBbGwgYmUgVG9Cb29sZWFuKD8gR2V0KFIsICJkb3RBbGwiKSkuCi0g
IDEyLiBMZXQgdW5pY29kZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgInVuaWNvZGUiKSkuCi0gIDE0
LiBMZXQgc3RpY2t5IGJlIFRvQm9vbGVhbig/IEdldChSLCAic3RpY2t5IikpLgotZmVhdHVyZXM6
IFtyZWdleHAtZG90YWxsXQorICA0LiBsZXQgaGFzSW5kaWNlcyBiZSBUb0Jvb2xlYW4oPyBHZXQo
UiwgImhhc0luZGljZXMiKSkKKyAgNi4gTGV0IGdsb2JhbCBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwg
Imdsb2JhbCIpKS4KKyAgOC4gTGV0IGlnbm9yZUNhc2UgYmUgVG9Cb29sZWFuKD8gR2V0KFIsICJp
Z25vcmVDYXNlIikpLgorICAxMC4gTGV0IG11bHRpbGluZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwg
Im11bHRpbGluZSIpKS4KKyAgMTIuIExldCBkb3RBbGwgYmUgVG9Cb29sZWFuKD8gR2V0KFIsICJk
b3RBbGwiKSkuCisgIDE0LiBMZXQgdW5pY29kZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgInVuaWNv
ZGUiKSkuCisgIDE4LiBMZXQgc3RpY2t5IGJlIFRvQm9vbGVhbig/IEdldChSLCAic3RpY2t5Iikp
LgorZmVhdHVyZXM6IFtyZWdleHAtZG90YWxsLCByZWdleHAtbWF0Y2gtaW5kaWNlc10KIC0tLSov
CiAKIHZhciBjYWxscyA9ICcnOwogdmFyIHJlID0geworICBnZXQgaGFzSW5kaWNlcygpIHsKKyAg
ICBjYWxscyArPSAnZCc7CisgIH0sCiAgIGdldCBnbG9iYWwoKSB7CiAgICAgY2FsbHMgKz0gJ2cn
OwogICB9LApAQCAtNDIsNCArNDYsNCBAQCB2YXIgcmUgPSB7CiB2YXIgZ2V0ID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnZmxhZ3MnKS5nZXQ7CiAK
IGdldC5jYWxsKHJlKTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbHMsICdnaW1zdXknKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoY2FsbHMsICdkZ2ltc3V5Jyk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9mbGFncy9yZXRocm93LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2ZsYWdz
L3JldGhyb3cuanMJKHJldmlzaW9uIDI3MzQ5MykKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2ZsYWdzL3JldGhyb3cuanMJKHdvcmtpbmcgY29weSkK
QEAgLTgsMTkgKzgsMjggQEAgaW5mbzogfAogICBnZXQgUmVnRXhwLnByb3RvdHlwZS5mbGFncwog
CiAgIFsuLi5dCi0gIDQuIExldCBnbG9iYWwgYmUgVG9Cb29sZWFuKD8gR2V0KFIsICJnbG9iYWwi
KSkuCi0gIDYuIExldCBpZ25vcmVDYXNlIGJlIFRvQm9vbGVhbig/IEdldChSLCAiaWdub3JlQ2Fz
ZSIpKS4KLSAgOC4gTGV0IG11bHRpbGluZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgIm11bHRpbGlu
ZSIpKS4KLSAgMTAuIExldCBkb3RBbGwgYmUgVG9Cb29sZWFuKD8gR2V0KFIsICJkb3RBbGwiKSku
Ci0gIDEyLiBMZXQgdW5pY29kZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgInVuaWNvZGUiKSkuCi0g
IDE0LiBMZXQgc3RpY2t5IGJlIFRvQm9vbGVhbig/IEdldChSLCAic3RpY2t5IikpLgotZmVhdHVy
ZXM6IFtyZWdleHAtZG90YWxsXQorICA0LiBsZXQgaGFzSW5kaWNlcyBiZSBUb0Jvb2xlYW4oPyBH
ZXQoUiwgImhhc0luZGljZXMiKSkKKyAgNi4gTGV0IGdsb2JhbCBiZSBUb0Jvb2xlYW4oPyBHZXQo
UiwgImdsb2JhbCIpKS4KKyAgOC4gTGV0IGlnbm9yZUNhc2UgYmUgVG9Cb29sZWFuKD8gR2V0KFIs
ICJpZ25vcmVDYXNlIikpLgorICAxMC4gTGV0IG11bHRpbGluZSBiZSBUb0Jvb2xlYW4oPyBHZXQo
UiwgIm11bHRpbGluZSIpKS4KKyAgMTIuIExldCBkb3RBbGwgYmUgVG9Cb29sZWFuKD8gR2V0KFIs
ICJkb3RBbGwiKSkuCisgIDE0LiBMZXQgdW5pY29kZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgInVu
aWNvZGUiKSkuCisgIDE4LiBMZXQgc3RpY2t5IGJlIFRvQm9vbGVhbig/IEdldChSLCAic3RpY2t5
IikpLgorZmVhdHVyZXM6IFtyZWdleHAtZG90YWxsLCByZWdleHAtbWF0Y2gtaW5kaWNlc10KIC0t
LSovCiAKIHZhciBnZXQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5w
cm90b3R5cGUsICdmbGFncycpLmdldDsKIAogYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1
bmN0aW9uKCkgewogICBnZXQuY2FsbCh7CisgICAgZ2V0IGhhc0luZGljZXMoKSB7CisgICAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgfSwKKyAgfSk7Cit9LCAnTGV0IGhhc0luZGlj
ZXMgYmUgVG9Cb29sZWFuKD8gR2V0KFIsICJoYXNJbmRpY2VzIikpJyk7CisKK2Fzc2VydC50aHJv
d3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgZ2V0LmNhbGwoewogICAgIGdldCBnbG9i
YWwoKSB7CiAgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CiAgICAgfSwKSW5kZXg6IEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2ZsYWdzL3JldHVy
bi1vcmRlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9mbGFncy9yZXR1cm4tb3JkZXIuanMJKHJldmlzaW9uIDI3MzQ5MykK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2ZsYWdz
L3JldHVybi1vcmRlci5qcwkod29ya2luZyBjb3B5KQpAQCAtOCwxOCArOCwyMCBAQCBkZXNjcmlw
dGlvbjogPgogaW5mbzogfAogICA0LiBMZXQgZ2xvYmFsIGJlIFRvQm9vbGVhbig/IEdldChSLCAi
Z2xvYmFsIikpLgogICA1LiBJZiBnbG9iYWwgaXMgdHJ1ZSwgYXBwZW5kICJnIiBhcyB0aGUgbGFz
dCBjb2RlIHVuaXQgb2YgcmVzdWx0LgotICA2LiBMZXQgaWdub3JlQ2FzZSBiZSBUb0Jvb2xlYW4o
PyBHZXQoUiwgImlnbm9yZUNhc2UiKSkuCi0gIDcuIElmIGlnbm9yZUNhc2UgaXMgdHJ1ZSwgYXBw
ZW5kICJpIiBhcyB0aGUgbGFzdCBjb2RlIHVuaXQgb2YgcmVzdWx0LgotICA4LiBMZXQgbXVsdGls
aW5lIGJlIFRvQm9vbGVhbig/IEdldChSLCAibXVsdGlsaW5lIikpLgotICA5LiBJZiBtdWx0aWxp
bmUgaXMgdHJ1ZSwgYXBwZW5kICJtIiBhcyB0aGUgbGFzdCBjb2RlIHVuaXQgb2YgcmVzdWx0Lgot
ICAxMC4gTGV0IGRvdEFsbCBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgImRvdEFsbCIpKS4KLSAgMTEu
IElmIGRvdEFsbCBpcyB0cnVlLCBhcHBlbmQgInMiIGFzIHRoZSBsYXN0IGNvZGUgdW5pdCBvZiBy
ZXN1bHQuCi0gIDEyLiBMZXQgdW5pY29kZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgInVuaWNvZGUi
KSkuCi0gIDEzLiBJZiB1bmljb2RlIGlzIHRydWUsIGFwcGVuZCAidSIgYXMgdGhlIGxhc3QgY29k
ZSB1bml0IG9mIHJlc3VsdC4KLSAgMTQuIExldCBzdGlja3kgYmUgVG9Cb29sZWFuKD8gR2V0KFIs
ICJzdGlja3kiKSkuCi0gIDE1LiBJZiBzdGlja3kgaXMgdHJ1ZSwgYXBwZW5kICJ5IiBhcyB0aGUg
bGFzdCBjb2RlIHVuaXQgb2YgcmVzdWx0LgotZmVhdHVyZXM6IFtyZWdleHAtZG90YWxsXQorICA2
LiBMZXQgZ2xvYmFsIGJlIFRvQm9vbGVhbig/IEdldChSLCAiZ2xvYmFsIikpLgorICA3LiBJZiBn
bG9iYWwgaXMgdHJ1ZSwgYXBwZW5kICJnIiBhcyB0aGUgbGFzdCBjb2RlIHVuaXQgb2YgcmVzdWx0
LgorICA4LiBMZXQgaWdub3JlQ2FzZSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgImlnbm9yZUNhc2Ui
KSkuCisgIDkuIElmIGlnbm9yZUNhc2UgaXMgdHJ1ZSwgYXBwZW5kICJpIiBhcyB0aGUgbGFzdCBj
b2RlIHVuaXQgb2YgcmVzdWx0LgorICAxMC4gTGV0IG11bHRpbGluZSBiZSBUb0Jvb2xlYW4oPyBH
ZXQoUiwgIm11bHRpbGluZSIpKS4KKyAgMTEuIElmIG11bHRpbGluZSBpcyB0cnVlLCBhcHBlbmQg
Im0iIGFzIHRoZSBsYXN0IGNvZGUgdW5pdCBvZiByZXN1bHQuCisgIDEyLiBMZXQgZG90QWxsIGJl
IFRvQm9vbGVhbig/IEdldChSLCAiZG90QWxsIikpLgorICAxMy4gSWYgZG90QWxsIGlzIHRydWUs
IGFwcGVuZCAicyIgYXMgdGhlIGxhc3QgY29kZSB1bml0IG9mIHJlc3VsdC4KKyAgMTQuIExldCB1
bmljb2RlIGJlIFRvQm9vbGVhbig/IEdldChSLCAidW5pY29kZSIpKS4KKyAgMTUuIElmIHVuaWNv
ZGUgaXMgdHJ1ZSwgYXBwZW5kICJ1IiBhcyB0aGUgbGFzdCBjb2RlIHVuaXQgb2YgcmVzdWx0Lgor
ICAxNi4gTGV0IHN0aWNreSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwgInN0aWNreSIpKS4KKyAgMTcu
IElmIHN0aWNreSBpcyB0cnVlLCBhcHBlbmQgInkiIGFzIHRoZSBsYXN0IGNvZGUgdW5pdCBvZiBy
ZXN1bHQuCitmZWF0dXJlczogW3JlZ2V4cC1kb3RhbGwsIHJlZ2V4cC1tYXRjaC1pbmRpY2VzXQog
LS0tKi8KIAotYXNzZXJ0LnNhbWVWYWx1ZShuZXcgUmVnRXhwKCIiLCAiZ2ltc3V5IikuZmxhZ3Ms
ICJnaW1zdXkiLCAiZ2ltc3V5ID0+IGdpbXN1eSIpOwotYXNzZXJ0LnNhbWVWYWx1ZShuZXcgUmVn
RXhwKCIiLCAieXVzbWlnIikuZmxhZ3MsICJnaW1zdXkiLCAieXVzbWlnID0+IGdpbXN1eSIpOwor
YXNzZXJ0LnNhbWVWYWx1ZShuZXcgUmVnRXhwKCIiLCAiZGdpbXN1eSIpLmZsYWdzLCAiZGdpbXN1
eSIsICJkZ2ltc3V5ID0+IGRnaW1zdXkiKTsKK2Fzc2VydC5zYW1lVmFsdWUobmV3IFJlZ0V4cCgi
IiwgInl1c21pZ2QiKS5mbGFncywgImRnaW1zdXkiLCAieXVzbWlnZCA9PiBkZ2ltc3V5Iik7Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9mbGFn
cy90aGlzLXZhbC1yZWdleHAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZmxhZ3MvdGhpcy12YWwtcmVnZXhwLmpzCShyZXZp
c2lvbiAyNzM0OTMpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9mbGFncy90aGlzLXZhbC1yZWdleHAuanMJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcg
KzIwLDcgQEAgaW5mbzogfAogICAxNC4gTGV0IHN0aWNreSBiZSBUb0Jvb2xlYW4oPyBHZXQoUiwg
InN0aWNreSIpKS4KICAgMTUuIElmIHN0aWNreSBpcyB0cnVlLCBhcHBlbmQgInkiIGFzIHRoZSBs
YXN0IGNvZGUgdW5pdCBvZiByZXN1bHQuCiAgIDE2LiBSZXR1cm4gcmVzdWx0LgotZmVhdHVyZXM6
IFtyZWdleHAtZG90YWxsXQorZmVhdHVyZXM6IFtyZWdleHAtZG90YWxsLCByZWdleHAtbWF0Y2gt
aW5kaWNlc10KIC0tLSovCiAKIGFzc2VydC5zYW1lVmFsdWUoLy4vLmZsYWdzLCAnJywgJ25vIGZs
YWdzJyk7CkBAIC0zMCwzICszMCw0IEBAIGFzc2VydC5zYW1lVmFsdWUoLy4vbS5mbGFncywgJ20n
LCAnbXVsdGkKIGFzc2VydC5zYW1lVmFsdWUoLy4vcy5mbGFncywgJ3MnLCAnZG90QWxsJyk7CiBh
c3NlcnQuc2FtZVZhbHVlKC8uL3UuZmxhZ3MsICd1JywgJ3VuaWNvZGUnKTsKIGFzc2VydC5zYW1l
VmFsdWUoLy4veS5mbGFncywgJ3knLCAnc3RpY2t5Jyk7Cithc3NlcnQuc2FtZVZhbHVlKC8uL2Qu
ZmxhZ3MsICdkJywgJ2hhc0luZGljZXMnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0luZGljZXMvY3Jvc3MtcmVhbG0uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
aGFzSW5kaWNlcy9jcm9zcy1yZWFsbS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9oYXNJbmRpY2VzL2Nyb3NzLXJlYWxt
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAy
MSBSb24gQnVja3RvbiBhbmQgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXQtcmVnZXhwLnByb3Rv
dHlwZS5oYXNpbmRpY2VzCitkZXNjcmlwdGlvbjogSW52b2tlZCBvbiBhIGNyb3NzLXJlYWxtIG9i
amVjdAoraW5mbzogfAorICAgIGdldCBSZWdFeHAucHJvdG90eXBlLmhhc0luZGljZXMKKworICAg
IDEuIExldCBSIGJlIHRoZSB0aGlzIHZhbHVlLgorICAgIDIuIElmIFR5cGUoUikgaXMgbm90IE9i
amVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIDMuIElmIFIgZG9lcyBub3Qg
aGF2ZSBhbiBbW09yaWdpbmFsRmxhZ3NdXSBpbnRlcm5hbCBzbG90LCB0aGVuCisgICAgICBhLiBJ
ZiBTYW1lVmFsdWUoUiwgJVJlZ0V4cFByb3RvdHlwZSUpIGlzIHRydWUsIHJldHVybiB1bmRlZmlu
ZWQuCisgICAgICBiLiBPdGhlcndpc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KK2Zl
YXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXMsIGNyb3NzLXJlYWxtXQorLS0tKi8KKwordmFy
IGhhc0luZGljZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90
b3R5cGUsICdoYXNJbmRpY2VzJykuZ2V0OwordmFyIG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgp
Lmdsb2JhbDsKK3ZhciBvdGhlclJlZ0V4cFByb3RvID0gb3RoZXIuUmVnRXhwLnByb3RvdHlwZTsK
K3ZhciBvdGhlclJlZ0V4cEdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
b3RoZXJSZWdFeHBQcm90bywgJ2hhc0luZGljZXMnKS5nZXQ7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgaGFzSW5kaWNlcy5jYWxsKG90aGVyUmVnRXhwUHJvdG8p
OworfSwgJ2Nyb3NzLXJlYWxtIFJlZ0V4cC5wcm90b3R5cGUnKTsKKworYXNzZXJ0LnRocm93cyhv
dGhlci5UeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBvdGhlclJlZ0V4cEdldHRlci5jYWxsKFJl
Z0V4cC5wcm90b3R5cGUpOworfSwgJ2Nyb3NzLXJlYWxtIFJlZ0V4cC5wcm90b3R5cGUgZ2V0dGVy
IG1ldGhvZCBhZ2FpbnN0IHByaW1hcnkgcmVhbG0gUmVnRXhwLnByb3RvdHlwZScpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaGFzSW5kaWNl
cy9sZW5ndGguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvaGFzSW5kaWNlcy9sZW5ndGguanMJKG5vbmV4aXN0ZW50KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaGFzSW5kaWNl
cy9sZW5ndGguanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIxIFJvbiBCdWNrdG9uIGFuZCBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXQtcmVnZXhwLnByb3Rv
dHlwZS5oYXNpbmRpY2VzCitkZXNjcmlwdGlvbjogPgorICBnZXQgUmVnRXhwLnByb3RvdHlwZS5o
YXNJbmRpY2VzLmxlbmd0aCBpcyAwLgoraW5mbzogfAorICBnZXQgUmVnRXhwLnByb3RvdHlwZS5o
YXNJbmRpY2VzCisKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmplY3RzOgor
ICAgIEV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9y
cywgaGFzIGEgbGVuZ3RoCisgICAgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4g
VW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMKKyAgICB2YWx1ZSBpcyBlcXVhbCB0byB0
aGUgbGFyZ2VzdCBudW1iZXIgb2YgbmFtZWQgYXJndW1lbnRzIHNob3duIGluIHRoZQorICAgIHN1
YmNsYXVzZSBoZWFkaW5ncyBmb3IgdGhlIGZ1bmN0aW9uIGRlc2NyaXB0aW9uLCBpbmNsdWRpbmcg
b3B0aW9uYWwKKyAgICBwYXJhbWV0ZXJzLiBIb3dldmVyLCByZXN0IHBhcmFtZXRlcnMgc2hvd24g
dXNpbmcgdGhlIGZvcm0g4oCcLi4ubmFtZeKAnQorICAgIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhl
IGRlZmF1bHQgYXJndW1lbnQgY291bnQuCisKKyAgICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCwgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIEZ1bmN0aW9uCisgICAgb2JqZWN0
IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1d
OiBmYWxzZSwKKyAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitpbmNsdWRlczogW3Byb3Bl
cnR5SGVscGVyLmpzXQorZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KKy0tLSovCisK
K3ZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90
eXBlLCAiaGFzSW5kaWNlcyIpOworCithc3NlcnQuc2FtZVZhbHVlKGRlc2MuZ2V0Lmxlbmd0aCwg
MCk7CisKK3ZlcmlmeVByb3BlcnR5KGRlc2MuZ2V0LCAibGVuZ3RoIiwgeworICBlbnVtZXJhYmxl
OiBmYWxzZSwKKyAgd3JpdGFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hh
c0luZGljZXMvbmFtZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9oYXNJbmRpY2VzL25hbWUuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaGFzSW5k
aWNlcy9uYW1lLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMSBSb24gYnVja3RvbiBhbmQgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtZ2V0LXJlZ2V4
cC5wcm90b3R5cGUuaGFzaW5kaWNlcworZGVzY3JpcHRpb246ID4KKyAgUmVnRXhwLnByb3RvdHlw
ZS5oYXNJbmRpY2VzIG5hbWUKK2luZm86IHwKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWls
dC1pbiBPYmplY3RzCisKKyAgRnVuY3Rpb25zIHRoYXQgYXJlIHNwZWNpZmllZCBhcyBnZXQgb3Ig
c2V0IGFjY2Vzc29yIGZ1bmN0aW9ucyBvZiBidWlsdC1pbgorICBwcm9wZXJ0aWVzIGhhdmUgImdl
dCAiIG9yICJzZXQgIiBwcmVwZW5kZWQgdG8gdGhlIHByb3BlcnR5IG5hbWUgc3RyaW5nLgoraW5j
bHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGlj
ZXNdCistLS0qLworCit2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
UmVnRXhwLnByb3RvdHlwZSwgImhhc0luZGljZXMiKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
ZGVzYy5nZXQubmFtZSwKKyAgImdldCBoYXNJbmRpY2VzIgorKTsKKwordmVyaWZ5UHJvcGVydHko
ZGVzYy5nZXQsICJuYW1lIiwgeworICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgd3JpdGFibGU6IGZh
bHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0luZGljZXMvcHJvcC1kZXNjLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL2hhc0luZGljZXMvcHJvcC1kZXNjLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0luZGljZXMvcHJvcC1kZXNj
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAx
NyBSb24gQnVja3RvbiBhbmQgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtZ2V0LXJlZ2V4cC5wcm90b3R5
cGUuaGFzSW5kaWNlcworZGVzY3JpcHRpb246ID4KKyAgYHBlbmRpbmdgIHByb3BlcnR5IGRlc2Ny
aXB0b3IKK2luZm86IHwKKyAgUmVnRXhwLnByb3RvdHlwZS5oYXNJbmRpY2VzIGlzIGFuIGFjY2Vz
c29yIHByb3BlcnR5IHdob3NlIHNldCBhY2Nlc3NvcgorICBmdW5jdGlvbiBpcyB1bmRlZmluZWQu
CisKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmplY3RzCisKKyAgRXZlcnkg
YWNjZXNzb3IgcHJvcGVydHkgZGVzY3JpYmVkIGluIGNsYXVzZXMgMTggdGhyb3VnaCAyNiBhbmQg
aW4gQW5uZXggQi4yIGhhcyB0aGUgYXR0cmlidXRlcworICB7IFtbRW51bWVyYWJsZV1dOiBmYWxz
ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLiBJ
ZiBvbmx5IGEgZ2V0CisgIGFjY2Vzc29yIGZ1bmN0aW9uIGlzIGRlc2NyaWJlZCwgdGhlIHNldCBh
Y2Nlc3NvciBmdW5jdGlvbiBpcyB0aGUgZGVmYXVsdCB2YWx1ZSwgdW5kZWZpbmVkLiBJZgorICBv
bmx5IGEgc2V0IGFjY2Vzc29yIGlzIGRlc2NyaWJlZCB0aGUgZ2V0IGFjY2Vzc29yIGlzIHRoZSBk
ZWZhdWx0IHZhbHVlLCB1bmRlZmluZWQuCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQor
ZmVhdHVyZXM6IFtyZWdleHAtbWF0Y2gtaW5kaWNlc10KKy0tLSovCisKK3ZhciBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAiaGFzSW5kaWNl
cyIpOworCithc3NlcnQuc2FtZVZhbHVlKGRlc2Muc2V0LCB1bmRlZmluZWQpOworYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgZGVzYy5nZXQsICJmdW5jdGlvbiIpOworCit2ZXJpZnlQcm9wZXJ0eShS
ZWdFeHAucHJvdG90eXBlLCAiaGFzSW5kaWNlcyIsIHsKKyAgZW51bWVyYWJsZTogZmFsc2UsCisg
IGNvbmZpZ3VyYWJsZTogdHJ1ZSwKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaGFzSW5kaWNlcy90aGlzLXZhbC1pbnZhbGlkLW9iai5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9oYXNJbmRpY2VzL3RoaXMtdmFsLWludmFsaWQtb2JqLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0lu
ZGljZXMvdGhpcy12YWwtaW52YWxpZC1vYmouanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJvbiBCdWNrdG9uIGFuZCB0aGUgVjggcHJvamVj
dCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQor
ZXNpZDogc2VjLWdldC1yZWdleHAucHJvdG90eXBlLmhhc2luZGljZXMKK2Rlc2NyaXB0aW9uOiBJ
bnZva2VkIG9uIGFuIG9iamVjdCB3aXRob3V0IGFuIFtbT3JpZ2luYWxGbGFnc11dIGludGVybmFs
IHNsb3QKK2luZm86IHwKKyAgICBnZXQgUmVnRXhwLnByb3RvdHlwZS5oYXNJbmRpY2VzCisKKyAg
ICAxLiBMZXQgUiBiZSB0aGUgdGhpcyB2YWx1ZS4KKyAgICAyLiBJZiBUeXBlKFIpIGlzIG5vdCBP
YmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICAzLiBJZiBSIGRvZXMgbm90
IGhhdmUgYW4gW1tPcmlnaW5hbEZsYWdzXV0gaW50ZXJuYWwgc2xvdCwgdGhlbgorICAgICAgYS4g
SWYgU2FtZVZhbHVlKFIsICVSZWdFeHBQcm90b3R5cGUlKSBpcyB0cnVlLCByZXR1cm4gdW5kZWZp
bmVkLgorICAgICAgYi4gT3RoZXJ3aXNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCitm
ZWF0dXJlczogW3JlZ2V4cC1tYXRjaC1pbmRpY2VzXQorLS0tKi8KKwordmFyIGhhc0luZGljZXMg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICdoYXNJ
bmRpY2VzJykuZ2V0OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Cisg
IGhhc0luZGljZXMuY2FsbCh7fSk7Cit9LCAnb3JkaW5hcnkgb2JqZWN0Jyk7CisKK2Fzc2VydC50
aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgaGFzSW5kaWNlcy5jYWxsKFtdKTsKK30s
ICdhcnJheSBleG90aWMgb2JqZWN0Jyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsKKyAgaGFzSW5kaWNlcy5jYWxsKGFyZ3VtZW50cyk7Cit9LCAnYXJndW1lbnRzIG9i
amVjdCcpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvaGFzSW5kaWNlcy90aGlzLXZhbC1ub24tb2JqLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0luZGljZXMvdGhp
cy12YWwtbm9uLW9iai5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9oYXNJbmRpY2VzL3RoaXMtdmFsLW5vbi1vYmouanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJv
biBCdWNrdG9uIGFuZCB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWdldC1yZWdleHAucHJvdG90eXBl
Lmhhc2luZGljZXMKK2Rlc2NyaXB0aW9uOiA+CisgICAgYGhhc0luZGljZXNgIGFjY2Vzc29yIGlu
dm9rZWQgb24gYSBub24tb2JqZWN0IHZhbHVlCitpbmZvOiB8CisgICAgZ2V0IFJlZ0V4cC5wcm90
b3R5cGUuaGFzSW5kaWNlcworCisgICAgMS4gTGV0IFIgYmUgdGhlIHRoaXMgdmFsdWUuCisgICAg
Mi4gSWYgVHlwZShSKSBpcyBub3QgT2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CitmZWF0dXJlczogW1N5bWJvbCwgcmVnZXhwLW1hdGNoLWluZGljZXNdCistLS0qLworCit2YXIg
aGFzSW5kaWNlcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3Rv
dHlwZSwgImhhc0luZGljZXMiKS5nZXQ7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsKKyAgaGFzSW5kaWNlcy5jYWxsKHVuZGVmaW5lZCk7Cit9LCAidW5kZWZpbmVkIik7
CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgaGFzSW5kaWNlcy5j
YWxsKG51bGwpOworfSwgIm51bGwiKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0
aW9uKCkgeworICBoYXNJbmRpY2VzLmNhbGwodHJ1ZSk7Cit9LCAidHJ1ZSIpOworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIGhhc0luZGljZXMuY2FsbCgic3RyaW5n
Iik7Cit9LCAic3RyaW5nIik7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKKyAgaGFzSW5kaWNlcy5jYWxsKFN5bWJvbCgicyIpKTsKK30sICJzeW1ib2wiKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBoYXNJbmRpY2VzLmNhbGwoNCk7
Cit9LCAibnVtYmVyIik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9oYXNJbmRpY2VzL3RoaXMtdmFsLXJlZ2V4cC1wcm90b3R5cGUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvaGFzSW5kaWNlcy90aGlzLXZhbC1yZWdleHAtcHJvdG90eXBlLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2hhc0lu
ZGljZXMvdGhpcy12YWwtcmVnZXhwLXByb3RvdHlwZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDE5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUm9uIEJ1Y2t0b24gYW5kIHRoZSBWOCBw
cm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtZ2V0LXJlZ2V4cC5wcm90b3R5cGUuaGFzSW5kaWNlcworZGVzY3JpcHRp
b246ID4KKyAgUmV0dXJuIHZhbHVlIG9mIGB1bmRlZmluZWRgIHdoZW4gdGhlICJ0aGlzIiB2YWx1
ZSBpcyB0aGUgUmVnRXhwIHByb3RvdHlwZQorICBvYmplY3QKK2luZm86IHwKKyAgMS4gTGV0IFIg
YmUgdGhlIHRoaXMgdmFsdWUuCisgIDIuIElmIFR5cGUoUikgaXMgbm90IE9iamVjdCwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAzLiBJZiBSIGRvZXMgbm90IGhhdmUgYW4gW1tPcmln
aW5hbEZsYWdzXV0gaW50ZXJuYWwgc2xvdCwgdGhlbgorICAgICBhLiBJZiBTYW1lVmFsdWUoUiwg
JVJlZ0V4cFByb3RvdHlwZSUpIGlzIHRydWUsIHJldHVybiB1bmRlZmluZWQuCitmZWF0dXJlczog
W3JlZ2V4cC1tYXRjaC1pbmRpY2VzXQorLS0tKi8KKwordmFyIGdldCA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgImhhc0luZGljZXMiKS5nZXQ7CisK
K2Fzc2VydC5zYW1lVmFsdWUoZ2V0LmNhbGwoUmVnRXhwLnByb3RvdHlwZSksIHVuZGVmaW5lZCk7
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9o
YXNJbmRpY2VzL3RoaXMtdmFsLXJlZ2V4cC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9oYXNJbmRpY2VzL3RoaXMtdmFsLXJl
Z2V4cC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9oYXNJbmRpY2VzL3RoaXMtdmFsLXJlZ2V4cC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQ3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUm9uIEJ1Y2t0b24g
YW5kIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZ2V0LXJlZ2V4cC5wcm90b3R5cGUuaGFzaW5kaWNl
cworZGVzY3JpcHRpb246ID4KKyAgICBgaGFzSW5kaWNlc2AgYWNjZXNzb3IgZnVuY3Rpb24gaW52
b2tlZCBvbiBhIFJlZ0V4cCBpbnN0YW5jZQoraW5mbzogfAorICAgIDIxLjIuNS4xMiBnZXQgUmVn
RXhwLnByb3RvdHlwZS5oYXNJbmRpY2VzCisKKyAgICA0LiBMZXQgZmxhZ3MgYmUgdGhlIHZhbHVl
IG9mIFLigJlzIFtbT3JpZ2luYWxGbGFnc11dIGludGVybmFsIHNsb3QuCisgICAgNS4gSWYgZmxh
Z3MgY29udGFpbnMgdGhlIGNvZGUgdW5pdCAicyIsIHJldHVybiB0cnVlLgorICAgIDYuIFJldHVy
biBmYWxzZS4KK2ZlYXR1cmVzOiBbcmVnZXhwLW1hdGNoLWluZGljZXNdCistLS0qLworCithc3Nl
cnQuc2FtZVZhbHVlKC8uLy5oYXNJbmRpY2VzLCBmYWxzZSwgIi8uLy5oYXNJbmRpY2VzIik7Cith
c3NlcnQuc2FtZVZhbHVlKC8uL2kuaGFzSW5kaWNlcywgZmFsc2UsICIvLi9pLmhhc0luZGljZXMi
KTsKK2Fzc2VydC5zYW1lVmFsdWUoLy4vZy5oYXNJbmRpY2VzLCBmYWxzZSwgIi8uL2cuaGFzSW5k
aWNlcyIpOworYXNzZXJ0LnNhbWVWYWx1ZSgvLi95Lmhhc0luZGljZXMsIGZhbHNlLCAiLy4veS5o
YXNJbmRpY2VzIik7Cithc3NlcnQuc2FtZVZhbHVlKC8uL20uaGFzSW5kaWNlcywgZmFsc2UsICIv
Li9tLmhhc0luZGljZXMiKTsKK2Fzc2VydC5zYW1lVmFsdWUoLy4vcy5oYXNJbmRpY2VzLCBmYWxz
ZSwgIi8uL3MuaGFzSW5kaWNlcyIpOworYXNzZXJ0LnNhbWVWYWx1ZSgvLi91Lmhhc0luZGljZXMs
IGZhbHNlLCAiLy4vdS5oYXNJbmRpY2VzIik7CisKK2Fzc2VydC5zYW1lVmFsdWUoLy4vZC5oYXNJ
bmRpY2VzLCB0cnVlLCAiLy4vZC5oYXNJbmRpY2VzIik7Cithc3NlcnQuc2FtZVZhbHVlKC8uL2Rp
Lmhhc0luZGljZXMsIHRydWUsICIvLi9kaS5oYXNJbmRpY2VzIik7Cithc3NlcnQuc2FtZVZhbHVl
KC8uL2RnLmhhc0luZGljZXMsIHRydWUsICIvLi9kZy5oYXNJbmRpY2VzIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKC8uL2R5Lmhhc0luZGljZXMsIHRydWUsICIvLi9keS5oYXNJbmRpY2VzIik7Cithc3Nl
cnQuc2FtZVZhbHVlKC8uL2RtLmhhc0luZGljZXMsIHRydWUsICIvLi9kbS5oYXNJbmRpY2VzIik7
Cithc3NlcnQuc2FtZVZhbHVlKC8uL2RzLmhhc0luZGljZXMsIHRydWUsICIvLi9kcy5oYXNJbmRp
Y2VzIik7Cithc3NlcnQuc2FtZVZhbHVlKC8uL2R1Lmhhc0luZGljZXMsIHRydWUsICIvLi9kdS5o
YXNJbmRpY2VzIik7CisKK2Fzc2VydC5zYW1lVmFsdWUobmV3IFJlZ0V4cCgiLiIsICIiKS5oYXNJ
bmRpY2VzLCBmYWxzZSwgIm5ldyBSZWdFeHAoJy4nLCAnJykuaGFzSW5kaWNlcyIpOworYXNzZXJ0
LnNhbWVWYWx1ZShuZXcgUmVnRXhwKCIuIiwgImkiKS5oYXNJbmRpY2VzLCBmYWxzZSwgIm5ldyBS
ZWdFeHAoJy4nLCAnaScpLmhhc0luZGljZXMiKTsKK2Fzc2VydC5zYW1lVmFsdWUobmV3IFJlZ0V4
cCgiLiIsICJnIikuaGFzSW5kaWNlcywgZmFsc2UsICJuZXcgUmVnRXhwKCcuJywgJ2cnKS5oYXNJ
bmRpY2VzIik7Cithc3NlcnQuc2FtZVZhbHVlKG5ldyBSZWdFeHAoIi4iLCAieSIpLmhhc0luZGlj
ZXMsIGZhbHNlLCAibmV3IFJlZ0V4cCgnLicsICd5JykuaGFzSW5kaWNlcyIpOworYXNzZXJ0LnNh
bWVWYWx1ZShuZXcgUmVnRXhwKCIuIiwgIm0iKS5oYXNJbmRpY2VzLCBmYWxzZSwgIm5ldyBSZWdF
eHAoJy4nLCAnbScpLmhhc0luZGljZXMiKTsKK2Fzc2VydC5zYW1lVmFsdWUobmV3IFJlZ0V4cCgi
LiIsICJzIikuaGFzSW5kaWNlcywgZmFsc2UsICJuZXcgUmVnRXhwKCcuJywgJ3MnKS5oYXNJbmRp
Y2VzIik7Cithc3NlcnQuc2FtZVZhbHVlKG5ldyBSZWdFeHAoIi4iLCAidSIpLmhhc0luZGljZXMs
IGZhbHNlLCAibmV3IFJlZ0V4cCgnLicsICd1JykuaGFzSW5kaWNlcyIpOworCithc3NlcnQuc2Ft
ZVZhbHVlKG5ldyBSZWdFeHAoIi4iLCAiZCIpLmhhc0luZGljZXMsIHRydWUsICJuZXcgUmVnRXhw
KCcuJywgJ2QnKS5oYXNJbmRpY2VzIik7Cithc3NlcnQuc2FtZVZhbHVlKG5ldyBSZWdFeHAoIi4i
LCAiZGkiKS5oYXNJbmRpY2VzLCB0cnVlLCAibmV3IFJlZ0V4cCgnLicsICdkaScpLmhhc0luZGlj
ZXMiKTsKK2Fzc2VydC5zYW1lVmFsdWUobmV3IFJlZ0V4cCgiLiIsICJkZyIpLmhhc0luZGljZXMs
IHRydWUsICJuZXcgUmVnRXhwKCcuJywgJ2RnJykuaGFzSW5kaWNlcyIpOworYXNzZXJ0LnNhbWVW
YWx1ZShuZXcgUmVnRXhwKCIuIiwgImR5IikuaGFzSW5kaWNlcywgdHJ1ZSwgIm5ldyBSZWdFeHAo
Jy4nLCAnZHknKS5oYXNJbmRpY2VzIik7Cithc3NlcnQuc2FtZVZhbHVlKG5ldyBSZWdFeHAoIi4i
LCAiZG0iKS5oYXNJbmRpY2VzLCB0cnVlLCAibmV3IFJlZ0V4cCgnLicsICdkbScpLmhhc0luZGlj
ZXMiKTsKK2Fzc2VydC5zYW1lVmFsdWUobmV3IFJlZ0V4cCgiLiIsICJkcyIpLmhhc0luZGljZXMs
IHRydWUsICJuZXcgUmVnRXhwKCcuJywgJ2RzJykuaGFzSW5kaWNlcyIpOworYXNzZXJ0LnNhbWVW
YWx1ZShuZXcgUmVnRXhwKCIuIiwgImR1IikuaGFzSW5kaWNlcywgdHJ1ZSwgIm5ldyBSZWdFeHAo
Jy4nLCAnZHUnKS5oYXNJbmRpY2VzIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>